summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2014-05-19 13:18:44 +0200
committerVincent Petry <pvince81@owncloud.com>2014-05-30 10:06:29 +0200
commit279ede33af09c43e03f97458c7fa673ff2b7982a (patch)
treeef6ef82581ef7d2bdaa093b4aa083e7926b8ef8a /apps
parent9baf47c2b457e497914e6ecfe96efb7d92530079 (diff)
downloadnextcloud-server-279ede33af09c43e03f97458c7fa673ff2b7982a.tar.gz
nextcloud-server-279ede33af09c43e03f97458c7fa673ff2b7982a.zip
Improved FileActions with context
A context hash is now passed to file action handlers which makes it possible to have file list specific file actions.
Diffstat (limited to 'apps')
-rw-r--r--apps/files/js/fileactions.js13
-rw-r--r--apps/files/js/filelist.js8
2 files changed, 17 insertions, 4 deletions
diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js
index 085195e961d..9e4aeb2f338 100644
--- a/apps/files/js/fileactions.js
+++ b/apps/files/js/fileactions.js
@@ -98,8 +98,13 @@
* @param parent "td" element of the file for which to display actions
* @param triggerEvent if true, triggers the fileActionsReady on the file
* list afterwards (false by default)
+ * @param fileList OCA.Files.FileList instance on which the action is
+ * done, defaults to OCA.Files.App.fileList
*/
- display: function (parent, triggerEvent) {
+ display: function (parent, triggerEvent, fileList) {
+ if (!fileList) {
+ console.warn('FileActions.display() MUST be called with a OCA.Files.FileList instance');
+ }
this.currentFile = parent;
var self = this;
var actions = this.getActions(this.getCurrentMimeType(), this.getCurrentType(), this.getCurrentPermissions());
@@ -122,7 +127,11 @@
self.currentFile = event.data.elem;
var file = self.getCurrentFile();
- event.data.actionFunc(file);
+ event.data.actionFunc(file, {
+ $file: $(this).closest('tr'),
+ fileList: fileList || OCA.Files.App.fileList,
+ fileActions: self
+ });
};
var addAction = function (name, action, displayName) {
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 7887bdcda55..08f640f6bff 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -248,7 +248,11 @@
var action = this.fileActions.getDefault(mime,type, permissions);
if (action) {
event.preventDefault();
- action(filename);
+ action(filename, {
+ $file: $tr,
+ fileList: this,
+ fileActions: this.fileActions
+ });
}
}
}
@@ -725,7 +729,7 @@
}
// display actions
- this.fileActions.display(filenameTd, false);
+ this.fileActions.display(filenameTd, false, this);
if (fileData.isPreviewAvailable) {
// lazy load / newly inserted td ?