use overlayService for delete confirmation

This commit is contained in:
Mads Rasmussen
2018-11-05 13:25:05 +01:00
parent 0843badb15
commit 4f73ef69d5
2 changed files with 43 additions and 26 deletions

View File

@@ -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;

View File

@@ -0,0 +1,11 @@
<div>
<div ng-if="model.deletesVariants" class="umb-alert umb-alert--info" style="margin-bottom: 10px;">
<localize key="defaultdialogs_variantdeletewarning">
This will delete the node and all its languages. If you only want to delete one language go and unpublish it instead.
</localize>
</div>
<localize key="defaultdialogs_confirmdelete"></localize>?
</div>