Merge pull request #10692 from nextcloud/deleted-share-remove-actions

Do not show action menu if no actions are available
This commit is contained in:
Roeland Jago Douma 2018-08-16 08:32:19 +02:00 committed by GitHub
commit 2b5ec3755e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 6 deletions

View File

@ -558,7 +558,27 @@
} }
}); });
function objectValues(obj) {
var res = [];
for (var i in obj) {
if (obj.hasOwnProperty(i)) {
res.push(obj[i]);
}
}
return res;
}
// polyfill
if (!Object.values) {
Object.values = objectValues;
}
var menuActions = Object.values(this.actions.all).filter(function (action) {
return action.type !== OCA.Files.FileActions.TYPE_INLINE;
});
// do not render the menu if nothing is in it
if (menuActions.length > 0) {
this._renderMenuTrigger($tr, context); this._renderMenuTrigger($tr, context);
}
if (triggerEvent){ if (triggerEvent){
fileList.$fileList.trigger(jQuery.Event("fileActionsReady", {fileList: fileList, $files: $tr})); fileList.$fileList.trigger(jQuery.Event("fileActionsReady", {fileList: fileList, $files: $tr}));

View File

@ -43,13 +43,15 @@
var oldCreateRow = fileList._createRow; var oldCreateRow = fileList._createRow;
fileList._createRow = function(fileData) { fileList._createRow = function(fileData) {
if (fileData.permissions === 0) {
// no permission, disabling sidebar
delete fileActions.actions.all.Details;
}
var tr = oldCreateRow.apply(this, arguments); var tr = oldCreateRow.apply(this, arguments);
var sharePermissions = OCA.Sharing.Util.getSharePermissions(fileData); var sharePermissions = OCA.Sharing.Util.getSharePermissions(fileData);
if (fileData.permissions === 0) {
// no permission, disabling sidebar
delete fileActions.actions.all.Comment;
delete fileActions.actions.all.Details;
delete fileActions.actions.all.Goto;
}
tr.attr('data-share-permissions', sharePermissions); tr.attr('data-share-permissions', sharePermissions);
if (fileData.shareOwner) { if (fileData.shareOwner) {
tr.attr('data-share-owner', fileData.shareOwner); tr.attr('data-share-owner', fileData.shareOwner);