From 61e2d203489fb0183a86dfc54b2bff201a6c95ce Mon Sep 17 00:00:00 2001 From: Quincy Morgan <2046746+quincylvania@users.noreply.github.com> Date: Mon, 28 Sep 2020 17:19:40 -0400 Subject: [PATCH] Support Downgrade and Delete operations at the same time (close #7682) --- modules/modes/select.js | 22 +++++++++------------- modules/operations/downgrade.js | 2 +- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/modules/modes/select.js b/modules/modes/select.js index b10a015de..a3e6fbba8 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -177,19 +177,15 @@ export function modeSelect(context, selectedIDs) { _operations = Object.values(Operations) .map(function(o) { return o(context, selectedIDs); }) - .filter(function(o) { return o.available() && o.id !== 'delete' && o.id !== 'downgrade' && o.id !== 'copy'; }); - - var copyOperation = Operations.operationCopy(context, selectedIDs); - if (copyOperation.available()) { - // group copy operation with delete/downgrade - _operations.push(copyOperation); - } - - var downgradeOperation = Operations.operationDowngrade(context, selectedIDs); - // don't allow delete if downgrade is available - var lastOperation = !context.inIntro() && downgradeOperation.available() ? downgradeOperation : Operations.operationDelete(context, selectedIDs); - - _operations.push(lastOperation); + .filter(function(o) { return o.id !== 'delete' && o.id !== 'downgrade' && o.id !== 'copy'; }) + .concat([ + // group copy/downgrade/delete operation together at the end of the list + Operations.operationCopy(context, selectedIDs), + Operations.operationDowngrade(context, selectedIDs), + Operations.operationDelete(context, selectedIDs) + ]).filter(function(operation) { + return operation.available(); + }); _operations.forEach(function(operation) { if (operation.behavior) { diff --git a/modules/operations/downgrade.js b/modules/operations/downgrade.js index b9cf3800a..c0789069d 100644 --- a/modules/operations/downgrade.js +++ b/modules/operations/downgrade.js @@ -127,7 +127,7 @@ export function operationDowngrade(context, selectedIDs) { operation.id = 'downgrade'; - operation.keys = [uiCmd('⌘⌫'), uiCmd('⌘⌦'), uiCmd('⌦')]; + operation.keys = [uiCmd('⌫')]; operation.title = t('operations.downgrade.title'); operation.behavior = behaviorOperation(context).which(operation);