From f187aa6c93ecc7538875e38629f4efb2c25c3155 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 4 Nov 2012 20:48:38 +0100 Subject: [PATCH 1/3] some more code reuse for fileactions also fixes an issue where some fileactions always worked on the last file in the list --- apps/files/js/fileactions.js | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index 82d990bf78..0b547502bc 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -70,6 +70,16 @@ var FileActions = { } parent.children('a.name').append(''); var defaultAction = FileActions.getDefault(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions()); + var actionHandler = function (parent, action, event) { + event.stopPropagation(); + event.preventDefault(); + if(action) + FileActions.currentFile = parent; + file = FileActions.getCurrentFile(); + console.log(file); + console.log(file); + action(file); + }; for (name in actions) { // NOTE: Temporary fix to prevent rename action in root of Shared directory if (name === 'Rename' && $('#dir').val() === '/Shared') { @@ -87,14 +97,7 @@ var FileActions = { html += t('files', name) + ''; var element = $(html); element.data('action', name); - element.click(function (event) { - FileActions.currentFile = $(this).parent().parent().parent(); - event.stopPropagation(); - event.preventDefault(); - var action = actions[$(this).data('action')]; - var currentFile = FileActions.getCurrentFile(); - action(currentFile); - }); + element.click(actionHandler.bind(null, parent, actions[name])); parent.find('a.name>span.fileactions').append(element); } } @@ -113,14 +116,8 @@ var FileActions = { if (img) { element.append($('')); } - element.data('action', 'Delete'); - element.click(function (event) { - event.stopPropagation(); - event.preventDefault(); - var action = actions[$(this).data('action')]; - var currentFile = FileActions.getCurrentFile(); - action(currentFile); - }); + element.data('action', actions['Delete']); + element.click(actionHandler.bind(null, parent, actions['Delete'])); parent.parent().children().last().append(element); } }, From 4f32f49fb1d4a247558bc44733ed8443974c1701 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 4 Nov 2012 21:00:36 +0100 Subject: [PATCH 2/3] this line shouldn't be here --- apps/files/js/fileactions.js | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index 0b547502bc..d09979fc76 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -73,7 +73,6 @@ var FileActions = { var actionHandler = function (parent, action, event) { event.stopPropagation(); event.preventDefault(); - if(action) FileActions.currentFile = parent; file = FileActions.getCurrentFile(); console.log(file); From 34fee8afaa9161fbc9c608ae87bb19b770110a5c Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 5 Nov 2012 13:52:02 +0100 Subject: [PATCH 3/3] remove debug statements --- apps/files/js/fileactions.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index d09979fc76..40dd9f14a6 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -75,8 +75,6 @@ var FileActions = { event.preventDefault(); FileActions.currentFile = parent; file = FileActions.getCurrentFile(); - console.log(file); - console.log(file); action(file); }; for (name in actions) {