diff --git a/files/js/fileactions.js b/files/js/fileactions.js index 3ad417c91c4a12ab6018c9579b6b2b750ea7747d..8c8296894a9b90f826b160d0240c9de401375caa 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='<a href="#" alt="'+name+'">'+name+'</a>'; + if(actions[name]!=defaultAction && name!='Delete'){ + var html='<a href="#" alt="'+name+'">'+name+'</a>'; + 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='<a href="#" alt="Delete" id="action_delete">Delete</a>'; 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');