From b1554b036ea9e1195853dd2d61b05b5f93a486c8 Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Thu, 12 Jul 2018 07:40:16 +0100 Subject: [PATCH] fix target evaluation for extensions --- src/app/extensions/extension.service.ts | 45 ++++++------------------- 1 file changed, 10 insertions(+), 35 deletions(-) diff --git a/src/app/extensions/extension.service.ts b/src/app/extensions/extension.service.ts index 1cdd32bc2..adcf40f2c 100644 --- a/src/app/extensions/extension.service.ts +++ b/src/app/extensions/extension.service.ts @@ -365,44 +365,19 @@ export class ExtensionService { } if (nodes && nodes.length > 0) { - if (nodes.length === 1) { - if (types.includes('folder')) { - return nodes.every(node => node.entry.isFolder); + return types.some(type => { + if (type === 'folder') { + return action.target.multiple + ? nodes.some(node => node.entry.isFolder) + : nodes.every(node => node.entry.isFolder); } - if (types.includes('file')) { - return nodes.every(node => node.entry.isFile); + if (type === 'file') { + return action.target.multiple + ? nodes.some(node => node.entry.isFile) + : nodes.every(node => node.entry.isFile); } return false; - } else { - if (types.length === 1) { - if (types.includes('folder')) { - if (action.target.multiple) { - return nodes.every(node => node.entry.isFolder); - } - return false; - } - if (types.includes('file')) { - if (action.target.multiple) { - return nodes.every(node => node.entry.isFile); - } - return false; - } - } else { - return types.some(type => { - if (type === 'folder') { - return action.target.multiple - ? nodes.some(node => node.entry.isFolder) - : nodes.every(node => node.entry.isFolder); - } - if (type === 'file') { - return action.target.multiple - ? nodes.some(node => node.entry.isFile) - : nodes.every(node => node.entry.isFile); - } - return false; - }); - } - } + }); } return false;