From cacffecba5f54b6c218a22f3450afd3f15e4126f Mon Sep 17 00:00:00 2001 From: Luka Trovic Date: Tue, 29 Nov 2022 06:37:32 +0100 Subject: feat: update newfilemenu.js for rich-workspace Signed-off-by: Luka Trovic --- apps/files/js/newfilemenu.js | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/apps/files/js/newfilemenu.js b/apps/files/js/newfilemenu.js index 5e6eb110e20..a101eccef29 100644 --- a/apps/files/js/newfilemenu.js +++ b/apps/files/js/newfilemenu.js @@ -81,10 +81,18 @@ if (action === 'upload') { OC.hideMenus(); } else { - event.preventDefault(); - this.$el.find('.menuitem.active').removeClass('active'); - $target.addClass('active'); - this._promptFileName($target); + var actionItem = _.filter(this._menuItems, function(item) { + return item.id === action + }).pop(); + if (typeof actionItem.useInput === 'undefined' || actionItem.useInput === true) { + event.preventDefault(); + this.$el.find('.menuitem.active').removeClass('active'); + $target.addClass('active'); + this._promptFileName($target); + } else { + actionItem.actionHandler(); + OC.hideMenus(); + } } }, @@ -198,8 +206,10 @@ templateName: actionSpec.templateName, iconClass: actionSpec.iconClass, fileType: actionSpec.fileType, + useInput: actionSpec.useInput, actionHandler: actionSpec.actionHandler, - checkFilename: actionSpec.checkFilename + checkFilename: actionSpec.checkFilename, + shouldShow: actionSpec.shouldShow, }); }, @@ -220,10 +230,11 @@ * Renders the menu with the currently set items */ render: function() { + const menuItems = this._menuItems.filter(item => !item.shouldShow || (item.shouldShow instanceof Function && item.shouldShow() === true)) this.$el.html(this.template({ uploadMaxHumanFileSize: 'TODO', uploadLabel: t('files', 'Upload file'), - items: this._menuItems + items: menuItems })); // Trigger upload action also with keyboard navigation on enter -- cgit v1.2.3