diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/layoutconfig.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/layoutconfig.controller.js
index 4ad857b1e7..876e4cf8f3 100644
--- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/layoutconfig.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/layoutconfig.controller.js
@@ -79,6 +79,12 @@ angular.module("umbraco")
}
}
+ $scope.submit = function () {
+ if ($scope.model.submit) {
+ $scope.model.submit($scope.currentLayout);
+ }
+ }
+
$scope.$watch("currentLayout", function(layout){
if(layout){
var total = 0;
diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/layoutconfig.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/layoutconfig.html
index 4f0b665e24..ce3b2cc29f 100644
--- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/layoutconfig.html
+++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/layoutconfig.html
@@ -150,6 +150,12 @@
shortcut="esc"
action="close()">
+
+
diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/rowconfig.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/rowconfig.controller.js
index 1bb7516f30..263e7c0d9a 100644
--- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/rowconfig.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/rowconfig.controller.js
@@ -90,6 +90,12 @@ function RowConfigController($scope, localizationService) {
}
}
+ $scope.submit = function () {
+ if ($scope.model.submit) {
+ $scope.model.submit($scope.currentRow);
+ }
+ }
+
$scope.nameChanged = false;
var originalName = $scope.currentRow.name;
$scope.$watch("currentRow", function(row) {
diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/rowconfig.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/rowconfig.html
index 10af5ade3c..9e7034688b 100644
--- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/rowconfig.html
+++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/dialogs/rowconfig.html
@@ -135,6 +135,12 @@
shortcut="esc"
action="close()">
+
+
diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.prevalues.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.prevalues.controller.js
index d38697d351..27ea819884 100644
--- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.prevalues.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.prevalues.controller.js
@@ -78,7 +78,7 @@ angular.module("umbraco")
$scope.configureTemplate = function(template) {
- var templatesCopy = angular.copy($scope.model.value.templates);
+ var index = $scope.model.value.templates.indexOf(template);
if (template === undefined) {
template = {
@@ -87,16 +87,20 @@ angular.module("umbraco")
]
};
- $scope.model.value.templates.push(template);
}
var layoutConfigOverlay = {
- currentLayout: template,
+ currentLayout: angular.copy(template),
rows: $scope.model.value.layouts,
columns: $scope.model.value.columns,
view: "views/propertyEditors/grid/dialogs/layoutconfig.html",
size: "small",
- submit: function(model) {
+ submit: function (model) {
+ if (index === -1) {
+ $scope.model.value.templates.push(model);
+ } else {
+ $scope.model.value.templates[index] = model;
+ }
editorService.close();
},
close: function(model) {
@@ -119,8 +123,8 @@ angular.module("umbraco")
$scope.configureLayout = function(layout) {
- var layoutsCopy = angular.copy($scope.model.value.layouts);
-
+ var index = $scope.model.value.layouts.indexOf(layout);
+
if(layout === undefined){
layout = {
name: "",
@@ -128,16 +132,20 @@ angular.module("umbraco")
]
};
- $scope.model.value.layouts.push(layout);
}
var rowConfigOverlay = {
- currentRow: layout,
+ currentRow: angular.copy(layout),
editors: $scope.editors,
columns: $scope.model.value.columns,
view: "views/propertyEditors/grid/dialogs/rowconfig.html",
size: "small",
- submit: function(model) {
+ submit: function (model) {
+ if (index === -1) {
+ $scope.model.value.layouts.push(model);
+ } else {
+ $scope.model.value.layouts[index] = model;
+ }
editorService.close();
},
close: function(model) {