diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss index 379ef0d7a6e..e62e6a46ec9 100644 --- a/apps/files/css/files.scss +++ b/apps/files/css/files.scss @@ -544,6 +544,9 @@ a.action > img { opacity: .3; &.action-share { padding: 17px 14px; + > span:not(.icon) { + display: none; + } .avatar { display: inline-block; vertical-align: middle; @@ -936,6 +939,18 @@ table.dragshadow td.size { } } + .fileActionsMenu { + // force show the sharing entry in the dropdown menu + .action-share-container.hidden { + display: block !important; + // avatar in shared by user dropdown menu + .action-share img { + padding: 6px; + border-radius: 50%; + } + } + } + form { padding: 3px 14px; border-radius: var(--border-radius); diff --git a/apps/files/js/fileactionsmenu.js b/apps/files/js/fileactionsmenu.js index c3cd8bf8b70..16c4cc0d784 100644 --- a/apps/files/js/fileactionsmenu.js +++ b/apps/files/js/fileactionsmenu.js @@ -84,10 +84,7 @@ ); var items = _.filter(actions, function(actionSpec) { - return ( - actionSpec.type === OCA.Files.FileActions.TYPE_DROPDOWN && - (!defaultAction || actionSpec.name !== defaultAction.name) - ); + return !defaultAction || actionSpec.name !== defaultAction.name; }); items = _.map(items, function(item) { if (_.isFunction(item.displayName)) { @@ -99,6 +96,12 @@ item = _.extend({}, item); item.iconClass = item.iconClass(fileName, self._context); } + if (_.isFunction(item.icon)) { + var fileName = self._context.$file.attr('data-file'); + item = _.extend({}, item); + item.icon = item.icon(fileName, self._context); + } + item.inline = item.type === OCA.Files.FileActions.TYPE_INLINE return item; }); items = items.sort(function(actionA, actionB) { @@ -109,6 +112,7 @@ } return orderA - orderB; }); + items = _.map(items, function(item) { item.nameLowerCase = item.name.toLowerCase(); return item; diff --git a/apps/files/js/templates.js b/apps/files/js/templates.js index be6b255d594..7dd14ac67e8 100644 --- a/apps/files/js/templates.js +++ b/apps/files/js/templates.js @@ -92,32 +92,38 @@ templates['file_action_trigger'] = template({"1":function(container,depth0,helpe templates['fileactionsmenu'] = template({"1":function(container,depth0,helpers,partials,data) { var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression; - return "
p(c.top)||"bottom"===i&&p(u.top)
p(n.right),h=p(u.top)
p(n.bottom),v="left"===i&&f||"right"===i&&A||"top"===i&&h||"bottom"===i&&m,g=-1!==["top","bottom"].indexOf(i),y=!!e.flipVariations&&(g&&"start"===r&&f||g&&"end"===r&&A||!g&&"start"===r&&h||!g&&"end"===r&&m);(d||v||y)&&(t.flipped=!0,(d||v)&&(i=a[l+1]),y&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=E({},t.offsets.popper,L(t.instance.popper,t.offsets.reference,t.placement)),t=j(t.instance.modifiers,t,"flip"))}),t},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[a?"left":"top"]=r[n]-(s?o[a?"width":"height"]:0),t.placement=N(e),t.offsets.popper=C(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!U(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=P(t.instance.modifiers,function(t){return"preventOverflow"===t.name}).boundaries;if(e.bottom