From 4f73ef69d5b4f95b3459d37ff7598f80e191c791 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Mon, 5 Nov 2018 13:25:05 +0100 Subject: [PATCH] use overlayService for delete confirmation --- .../listview/listview.controller.js | 58 ++++++++++--------- .../listview/overlays/delete.html | 11 ++++ 2 files changed, 43 insertions(+), 26 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/overlays/delete.html diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js index 4a32cc0df9..e90bf7ae7d 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js @@ -373,36 +373,42 @@ function listViewController($scope, $routeParams, $injector, $timeout, currentUs } $scope.delete = function () { - var confirmDeleteText = ""; - localizationService.localize("defaultdialogs_confirmdelete") - .then(function (value) { - confirmDeleteText = value; + const dialog = { + view: "views/propertyeditors/listview/overlays/delete.html", + deletesVariants: selectionHasVariants(), + submitButtonLabelKey: "contentTypeEditor_yesDelete", + submit: function (model) { + performDelete(); + overlayService.close(); + }, + close: function () { + overlayService.close(); + } + }; + + localizationService.localize("general_delete").then(value => { + dialog.title = value; + overlayService.open(dialog); + }); - var attempt = - applySelected( - function (selected, index) { return deleteItemCallback(getIdCallback(selected[index])); }, - function (count, total) { - var key = (total === 1 ? "bulk_deletedItemOfItem" : "bulk_deletedItemOfItems"); - return localizationService.localize(key, [count, total]); - }, - function (total) { - var key = (total === 1 ? "bulk_deletedItem" : "bulk_deletedItems"); - return localizationService.localize(key, [total]); - }, - confirmDeleteText + "?"); - if (attempt) { - attempt.then(function () { - //executes if all is successful, let's sync the tree - var activeNode = appState.getTreeState("selectedNode"); - if (activeNode) { - navigationService.reloadNode(activeNode); - } - }); - } - }); }; + function performDelete() { + applySelected( + function (selected, index) { return deleteItemCallback(getIdCallback(selected[index])); }, + function (count, total) { + var key = (total === 1 ? "bulk_deletedItemOfItem" : "bulk_deletedItemOfItems"); + return localizationService.localize(key, [count, total]); + }, + function (total) { + var key = (total === 1 ? "bulk_deletedItem" : "bulk_deletedItems"); + return localizationService.localize(key, [total]); + }).then(function() { + $scope.reloadView($scope.contentId); + }); + } + function selectionHasVariants() { let variesByCulture = false; diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/overlays/delete.html b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/overlays/delete.html new file mode 100644 index 0000000000..6ae3eba521 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/overlays/delete.html @@ -0,0 +1,11 @@ +
+ +
+ + This will delete the node and all its languages. If you only want to delete one language go and unpublish it instead. + +
+ + ? + +
\ No newline at end of file