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