use overlayService for delete confirmation
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user