From 7b106ebefb15bc1530f829e1653c089c3fb25423 Mon Sep 17 00:00:00 2001 From: Bjarne Fyrstenborg Date: Thu, 9 Jul 2020 16:48:27 +0200 Subject: [PATCH] Adjust example for overlay in umb-child-selector (#8045) --- .../components/umbchildselector.directive.js | 30 +++++++++---------- .../views/components/umb-child-selector.html | 2 +- .../permissions/permissions.controller.js | 21 ++++++------- .../permissions/permissions.controller.js | 23 +++++++------- 4 files changed, 38 insertions(+), 38 deletions(-) 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 96ce8735eb..9a841e3e4a 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 1d88c0eb96..f038b8c4aa 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 da8dee8e03..94e0b443ca 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 53a098a26e..7ff4793272 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) {