diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbchildselector.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbchildselector.directive.js index 96ce8735ebe7..9a841e3e4ad3 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbchildselector.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbchildselector.directive.js @@ -21,14 +21,6 @@ Use this directive to render a ui component for selecting child items to a paren on-remove="vm.removeChild"> - - - - @@ -37,7 +29,7 @@ Use this directive to render a ui component for selecting child items to a paren (function () { "use strict"; - function Controller() { + function Controller(overlayService) { var vm = this; @@ -64,23 +56,29 @@ Use this directive to render a ui component for selecting child items to a paren vm.removeChild = removeChild; function addChild($event) { - vm.overlay = { + + const dialog = { view: "itempicker", title: "Choose child", availableItems: vm.availableChildren, selectedItems: vm.selectedChildren, event: $event, - show: true, submit: function(model) { - - // add selected child - vm.selectedChildren.push(model.selectedItem); + + if (model.selectedItem) { + // add selected child + vm.selectedChildren.push(model.selectedItem); + } // close overlay - vm.overlay.show = false; - vm.overlay = null; + overlayService.close(); + }, + close: function() { + overlayService.close(); } }; + + overlayService.open(dialog); } function removeChild($index) { diff --git a/src/Umbraco.Web.UI.Client/src/views/components/umb-child-selector.html b/src/Umbraco.Web.UI.Client/src/views/components/umb-child-selector.html index 1d88c0eb96b9..f038b8c4aaa3 100644 --- a/src/Umbraco.Web.UI.Client/src/views/components/umb-child-selector.html +++ b/src/Umbraco.Web.UI.Client/src/views/components/umb-child-selector.html @@ -3,7 +3,7 @@
- +
{{ parentName }} 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 da8dee8e033c..94e0b443ca1f 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 @@ -14,12 +14,9 @@ /* ----------- SCOPE VARIABLES ----------- */ var vm = this; - var childNodeSelectorOverlayTitle = ""; vm.contentTypes = []; vm.selectedChildren = []; - - vm.overlayTitle = ""; vm.showAllowSegmentationOption = Umbraco.Sys.ServerVariables.umbracoSettings.showAllowSegmentationForDocumentTypes || false; vm.addChild = addChild; @@ -65,16 +62,18 @@ } function addChild($event) { - var childNodeSelectorOverlay = { + + const dialog = { view: "itempicker", - title: childNodeSelectorOverlayTitle, availableItems: vm.contentTypes, selectedItems: vm.selectedChildren, position: "target", event: $event, - submit: function(model) { - vm.selectedChildren.push(model.selectedItem); - $scope.model.allowedContentTypes.push(model.selectedItem.id); + submit: function (model) { + if (model.selectedItem) { + vm.selectedChildren.push(model.selectedItem); + $scope.model.allowedContentTypes.push(model.selectedItem.id); + } overlayService.close(); }, close: function() { @@ -82,8 +81,10 @@ } }; - overlayService.open(childNodeSelectorOverlay); - + localizationService.localize("contentTypeEditor_chooseChildNode").then(value => { + dialog.title = value; + overlayService.open(dialog); + }); } 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 53a098a26e6e..7ff479327240 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 @@ -6,7 +6,6 @@ /* ----------- SCOPE VARIABLES ----------- */ var vm = this; - var childNodeSelectorOverlayTitle = ""; vm.mediaTypes = []; vm.selectedChildren = []; @@ -22,10 +21,6 @@ function init() { - localizationService.localize("contentTypeEditor_chooseChildNode").then(function(value){ - childNodeSelectorOverlayTitle = value; - }); - mediaTypeResource.getAll().then(function(mediaTypes){ vm.mediaTypes = mediaTypes; @@ -44,23 +39,29 @@ } function addChild($event) { - var childNodeSelectorOverlay = { + + var dialog = { view: "itempicker", - title: childNodeSelectorOverlayTitle, availableItems: vm.mediaTypes, selectedItems: vm.selectedChildren, position: "target", event: $event, - submit: function(model) { - vm.selectedChildren.push(model.selectedItem); - $scope.model.allowedContentTypes.push(model.selectedItem.id); + submit: function (model) { + if (model.selectedItem) { + vm.selectedChildren.push(model.selectedItem); + $scope.model.allowedContentTypes.push(model.selectedItem.id); + } overlayService.close(); }, close: function() { overlayService.close(); } }; - overlayService.open(childNodeSelectorOverlay); + + localizationService.localize("contentTypeEditor_chooseChildNode").then(value => { + dialog.title = value; + overlayService.open(dialog); + }); } function removeChild(selectedChild, index) {