]> source.dussan.org Git - nextcloud-server.git/commitdiff
Fixes two issues if you using IE8. IE8 has problems with .bind actions and since...
authorlibasys <sebastian.doell@libasys.de>
Wed, 14 Nov 2012 15:05:24 +0000 (16:05 +0100)
committerlibasys <sebastian.doell@libasys.de>
Wed, 14 Nov 2012 15:05:24 +0000 (16:05 +0100)
apps/files/js/fileactions.js

index 40dd9f14a69babdc73cc62a18e890c63b622a959..80b9c01f83887176e554ebb72ef29513a88ede99 100644 (file)
@@ -70,34 +70,43 @@ var FileActions = {
                }
                parent.children('a.name').append('<span class="fileactions" />');
                var defaultAction = FileActions.getDefault(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions());
-               var actionHandler = function (parent, action, event) {
+               
+               var actionHandler = function (event) {
                        event.stopPropagation();
                        event.preventDefault();
-                       FileActions.currentFile = parent;
-                       file = FileActions.getCurrentFile();
-                       action(file);
+
+                       FileActions.currentFile = event.data.elem;
+                       var file = FileActions.getCurrentFile();
+                       
+                       event.data.actionFunc(file);
                };
-               for (name in actions) {
+               
+               $.each(actions, function (name, action) {
                        // NOTE: Temporary fix to prevent rename action in root of Shared directory
                        if (name === 'Rename' && $('#dir').val() === '/Shared') {
-                               continue;
+                               return true;
                        }
-                       if ((name === 'Download' || actions[name] !== defaultAction) && name !== 'Delete') {
+                       
+                       if ((name === 'Download' || action !== defaultAction) && name !== 'Delete') {
                                var img = FileActions.icons[name];
                                if (img.call) {
                                        img = img(file);
                                }
                                var html = '<a href="#" class="action" data-action="'+name+'">';
                                if (img) {
-                                       html += '<img class ="svg" src="' + img + '"/> ';
+                                       html += '<img class ="svg" src="' + img + '" /> ';
                                }
                                html += t('files', name) + '</a>';
+                               
                                var element = $(html);
                                element.data('action', name);
-                               element.click(actionHandler.bind(null, parent, actions[name]));
+                               //alert(element);
+                               element.on('click',{a:null, elem:parent, actionFunc:actions[name]},actionHandler);
                                parent.find('a.name>span.fileactions').append(element);
                        }
-               }
+                       
+               });
+               
                if (actions['Delete']) {
                        var img = FileActions.icons['Delete'];
                        if (img.call) {
@@ -114,7 +123,7 @@ var FileActions = {
                                element.append($('<img class ="svg" src="' + img + '"/>'));
                        }
                        element.data('action', actions['Delete']);
-                       element.click(actionHandler.bind(null, parent, actions['Delete']));
+                       element.on('click',{a:null, elem:parent, actionFunc:actions['Delete']},actionHandler);
                        parent.parent().children().last().append(element);
                }
        },