diff --git a/files/js/fileactions.js b/files/js/fileactions.js index 3ad417c91c4..8c8296894a9 100644 --- a/files/js/fileactions.js +++ b/files/js/fileactions.js @@ -52,10 +52,27 @@ FileActions={ $('#file_menu').empty(); parent.append($('#file_menu')); var actions=FileActions.get(FileActions.getCurrentMimeType(),FileActions.getCurrentType()); + var defaultAction=FileActions.getDefault(FileActions.getCurrentMimeType(),FileActions.getCurrentType()); for(name in actions){ - var html=''+name+''; + if(actions[name]!=defaultAction && name!='Delete'){ + var html=''+name+''; + var element=$(html); + element.data('action',name); + element.click(function(event){ + event.stopPropagation(); + event.preventDefault(); + var action=actions[$(this).data('action')]; + var currentFile=FileActions.getCurrentFile(); + FileActions.hide(); + action(currentFile); + }); + $('#file_menu').append(element); + } + } + if(actions['Delete']){ + var html='Delete'; var element=$(html); - element.data('action',name); + element.data('action','Delete'); element.click(function(event){ event.stopPropagation(); event.preventDefault(); @@ -64,7 +81,7 @@ FileActions={ FileActions.hide(); action(currentFile); }); - $('#file_menu').append(element); + parent.parent().children().last().append(element); } $('#file_menu').show(); return false; @@ -72,6 +89,7 @@ FileActions={ hide:function(){ $('#file_menu').hide(); $('#file_menu').empty(); + $('#action_delete').remove(); $('body').append($('#file_menu')); }, getCurrentFile:function(){ @@ -107,4 +125,4 @@ FileActions.register('dir','Open',function(filename){ window.location='index.php?dir='+$('#dir').val()+'/'+filename; }); -FileActions.setDefault('dir','Open'); \ No newline at end of file +FileActions.setDefault('dir','Open');