diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/editor/umbeditorheader.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/editor/umbeditorheader.directive.js
index aa69c76670..bf87d764a6 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/editor/umbeditorheader.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/editor/umbeditorheader.directive.js
@@ -6,32 +6,20 @@
function link(scope, el, attr, ctrl) {
scope.openIconPicker = function() {
-
- scope.dialogModel = {};
- scope.dialogModel.title = "Choose icon";
- scope.dialogModel.view = "iconPicker";
- scope.showDialog = true;
-
- scope.dialogModel.pickIcon = function(icon, color) {
-
- if (color) {
- scope.icon = icon + " " + color;
- } else {
- scope.icon = icon;
- }
-
- scope.showDialog = false;
- scope.dialogModel = null;
-
+ scope.dialogModel = {
+ view: "iconpicker",
+ show: true,
+ submit: function(model) {
+ if (model.color) {
+ scope.icon = model.icon + " " + model.color;
+ } else {
+ scope.icon = model.icon;
+ }
+ scope.dialogModel.show = false;
+ scope.dialogModel = null;
+ }
};
-
- scope.dialogModel.close = function() {
- scope.showDialog = false;
- scope.dialogModel = null;
- };
-
};
-
}
var directive = {
diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js
index feaee97ddf..f8bdb50e32 100644
--- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js
+++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbgridselector.directive.js
@@ -33,32 +33,25 @@
};
scope.openItemPicker = function($event){
- scope.dialogModel = {};
- scope.dialogModel.title = "Choose " + scope.itemLabel;
- scope.dialogModel.availableItems = scope.availableItems;
- scope.dialogModel.selectedItems = scope.selectedItems;
- scope.dialogModel.event = $event;
- scope.dialogModel.view = "itemPicker";
- scope.showDialog = true;
+ scope.dialogModel = {
+ view: "itempicker",
+ title: "Choose " + scope.itemLabel,
+ availableItems: scope.availableItems,
+ selectedItems: scope.selectedItems,
+ event: $event,
+ show: true,
+ submit: function(model) {
+ scope.selectedItems.push(model.selectedItem);
- scope.dialogModel.chooseItem = function(selectedItem) {
+ // if no default item - set item as default
+ if(scope.defaultItem === null) {
+ scope.setAsDefaultItem(model.selectedItem);
+ }
- scope.selectedItems.push(selectedItem);
-
- // if no default item - set item as default
- if(scope.defaultItem === null) {
- scope.setAsDefaultItem(selectedItem);
+ scope.dialogModel.show = false;
+ scope.dialogModel = null;
}
-
- scope.showDialog = false;
- scope.dialogModel = null;
};
-
- scope.dialogModel.close = function(){
- scope.showDialog = false;
- scope.dialogModel = null;
- };
-
};
scope.setAsDefaultItem = function(selectedItem) {
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.controller.js
index 9981f3db4f..9d01c0d579 100644
--- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.controller.js
@@ -9,12 +9,23 @@
function IconPickerOverlay($scope, iconHelper) {
$scope.loading = true;
+ $scope.model.hideSubmitButton = true;
+
+ if(!$scope.model.title) {
+ $scope.model.title = "Select an icon";
+ }
iconHelper.getIcons().then(function(icons) {
$scope.icons = icons;
$scope.loading = false;
});
+ $scope.selectIcon = function(icon, color) {
+ $scope.model.icon = icon;
+ $scope.model.color = color;
+ $scope.submitForm($scope.model);
+ };
+
}
angular.module("umbraco").controller("Umbraco.Overlays.IconPickerOverlay", IconPickerOverlay);
diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.html b/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.html
index ced6abea55..842c205b22 100644
--- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.html
+++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/iconpicker/iconpicker.html
@@ -28,7 +28,7 @@
diff --git a/src/Umbraco.Web.UI.Client/src/views/components/overlays/umb-overlay.html b/src/Umbraco.Web.UI.Client/src/views/components/overlays/umb-overlay.html
index c67cb39f8a..ad115f1afd 100644
--- a/src/Umbraco.Web.UI.Client/src/views/components/overlays/umb-overlay.html
+++ b/src/Umbraco.Web.UI.Client/src/views/components/overlays/umb-overlay.html
@@ -24,7 +24,7 @@
diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-grid-selector.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-grid-selector.html
index 2dfb1b0132..b269972e96 100644
--- a/src/Umbraco.Web.UI.Client/src/views/components/umb-grid-selector.html
+++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-grid-selector.html
@@ -34,12 +34,10 @@
+ ng-if="dialogModel.show"
+ model="dialogModel"
+ position="target"
+ view="dialogModel.view">
diff --git a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/permissions/permissions.controller.js b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/permissions/permissions.controller.js
index 51235278c9..35ac54ae7c 100644
--- a/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/permissions/permissions.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/documenttypes/views/permissions/permissions.controller.js
@@ -45,29 +45,20 @@
}
function addChild($event) {
- vm.childNodeSelectorOverlay = {};
- vm.childNodeSelectorOverlay.view = "itempicker";
- vm.childNodeSelectorOverlay.title = "Choose child node";
- vm.childNodeSelectorOverlay.availableItems = vm.contentTypes;
- vm.childNodeSelectorOverlay.selectedItems = vm.selectedChildren;
- vm.childNodeSelectorOverlay.event = $event;
- vm.childNodeSelectorOverlay.show = true;
-
- vm.childNodeSelectorOverlay.chooseItem = function(item) {
-
- vm.selectedChildren.push(item);
- $scope.model.allowedContentTypes.push(item.id);
-
- vm.childNodeSelectorOverlay.show = false;
- vm.childNodeSelectorOverlay = null;
-
- };
-
- vm.childNodeSelectorOverlay.close = function(oldModel) {
- vm.childNodeSelectorOverlay.show = false;
- vm.childNodeSelectorOverlay = null;
- };
-
+ vm.childNodeSelectorOverlay = {
+ view: "itempicker",
+ title: "Choose child node",
+ availableItems: vm.contentTypes,
+ selectedItems: vm.selectedChildren,
+ event: $event,
+ show: true,
+ submit: function(model) {
+ vm.selectedChildren.push(model.selectedItem);
+ $scope.model.allowedContentTypes.push(model.selectedItem.id);
+ vm.childNodeSelectorOverlay.show = false;
+ vm.childNodeSelectorOverlay = null;
+ }
+ };
}
function removeChild(selectedChild, index) {
diff --git a/src/Umbraco.Web.UI.Client/src/views/mediatypes/views/permissions/permissions.controller.js b/src/Umbraco.Web.UI.Client/src/views/mediatypes/views/permissions/permissions.controller.js
index 7e0b6bcd11..e42d89c6c6 100644
--- a/src/Umbraco.Web.UI.Client/src/views/mediatypes/views/permissions/permissions.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/mediatypes/views/permissions/permissions.controller.js
@@ -37,29 +37,20 @@
}
function addChild($event) {
- vm.childNodeSelectorOverlay = {};
- vm.childNodeSelectorOverlay.view = "itempicker";
- vm.childNodeSelectorOverlay.title = "Choose child node";
- vm.childNodeSelectorOverlay.availableItems = vm.mediaTypes;
- vm.childNodeSelectorOverlay.selectedItems = vm.selectedChildren;
- vm.childNodeSelectorOverlay.event = $event;
- vm.childNodeSelectorOverlay.show = true;
-
- vm.childNodeSelectorOverlay.chooseItem = function(item) {
-
- vm.selectedChildren.push(item);
- $scope.model.allowedContentTypes.push(item.id);
-
- vm.childNodeSelectorOverlay.show = false;
- vm.childNodeSelectorOverlay = null;
-
- };
-
- vm.childNodeSelectorOverlay.close = function(oldModel) {
- vm.childNodeSelectorOverlay.show = false;
- vm.childNodeSelectorOverlay = null;
- };
-
+ vm.childNodeSelectorOverlay = {
+ view: "itempicker",
+ title: "Choose child node",
+ availableItems: vm.mediaTypes,
+ selectedItems: vm.selectedChildren,
+ event: $event,
+ show: true,
+ submit: function(model) {
+ vm.selectedChildren.push(model.selectedItem);
+ $scope.model.allowedContentTypes.push(model.selectedItem.id);
+ vm.childNodeSelectorOverlay.show = false;
+ vm.childNodeSelectorOverlay = null;
+ }
+ };
}
function removeChild(selectedChild, index) {
diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js
index d850a1c782..3845dd16b8 100644
--- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/grid/grid.controller.js
@@ -228,26 +228,19 @@ angular.module("umbraco")
// Add items overlay menu
// *********************************************
$scope.openEditorOverlay = function(event, area, index, key) {
-
- $scope.editorOverlay = {};
- $scope.editorOverlay.view = "itempicker";
- $scope.editorOverlay.filter = false;
- $scope.editorOverlay.title = localizationService.localize("grid_insertControl").then(function (value) {return value;});
- $scope.editorOverlay.availableItems = area.$allowedEditors;
- $scope.editorOverlay.event = event;
- $scope.editorOverlay.show = true;
-
- $scope.editorOverlay.chooseItem = function(item) {
- $scope.addControl(item, area, index);
- $scope.editorOverlay.show = false;
- $scope.editorOverlay = null;
+ $scope.editorOverlay = {
+ view: "itempicker",
+ filter: false,
+ title: localizationService.localize("grid_insertControl").then(function (value) {return value;}),
+ availableItems: area.$allowedEditors,
+ event: event,
+ show: true,
+ submit: function(model) {
+ $scope.addControl(model.selectedItem, area, index);
+ $scope.editorOverlay.show = false;
+ $scope.editorOverlay = null;
+ }
};
-
- $scope.editorOverlay.close = function(oldModel) {
- $scope.editorOverlay.show = false;
- $scope.editorOverlay = null;
- };
-
};
// *********************************************
diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/layouts.prevalues.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/layouts.prevalues.controller.js
index 8f02207161..24ba8edaf6 100644
--- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/layouts.prevalues.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/layouts.prevalues.controller.js
@@ -53,28 +53,20 @@
}
function openIconPicker(layout) {
-
- vm.iconPickerDialog = {};
- vm.iconPickerDialog.view = "iconpicker";
- vm.iconPickerDialog.show = true;
-
- vm.iconPickerDialog.pickIcon = function(icon, color) {
-
- layout.icon = icon;
- vm.focusLayoutName = true;
-
- vm.iconPickerDialog.show = false;
- vm.iconPickerDialog = null;
- };
-
-
- vm.iconPickerDialog.close = function(oldModel) {
-
- vm.iconPickerDialog.show = false;
- vm.iconPickerDialog = null;
- };
-
-
+ vm.iconPickerDialog = {
+ view: "iconpicker",
+ show: true,
+ submit: function(model) {
+ if (model.color) {
+ layout.icon = model.icon + " " + model.color;
+ } else {
+ layout.icon = model.icon;
+ }
+ vm.focusLayoutName = true;
+ vm.iconPickerDialog.show = false;
+ vm.iconPickerDialog = null;
+ }
+ };
}
activate();