From ef3eebfd3e46276aa58d722e4e8986946872439c Mon Sep 17 00:00:00 2001 From: Arthur Schiwon Date: Mon, 20 Aug 2012 17:24:10 +0200 Subject: Fix deletion for browser that do not support onBeforeUnload, fixes oc-1534. --- apps/files/js/filelist.js | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) (limited to 'apps/files/js/filelist.js') diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index a414c5f8303..6ba3f3555ea 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -151,7 +151,7 @@ FileList={ } }); } - + } tr.attr('data-file', newname); var path = td.children('a.name').attr('href'); @@ -189,7 +189,7 @@ FileList={ FileList.replaceCanceled = false; FileList.replaceOldName = oldName; FileList.replaceNewName = newName; - FileList.lastAction = function() { + FileList.lastAction = function() { FileList.finishReplace(); }; $('#notification').html(t('files', 'replaced')+' '+newName+' '+t('files', 'with')+' '+oldName+''+t('files', 'undo')+''); @@ -236,23 +236,13 @@ FileList={ do_delete:function(files){ // Finish any existing actions if (FileList.lastAction || !FileList.useUndo) { + if(!FileList.deleteFiles) { + FileList.prepareDeletion(files); + } FileList.lastAction(); + return; } - if(files.substr){ - files=[files]; - } - $.each(files,function(index,file){ - var files = $('tr').filterAttr('data-file',file); - files.hide(); - files.find('input[type="checkbox"]').removeAttr('checked'); - files.removeClass('selected'); - }); - procesSelection(); - FileList.deleteCanceled=false; - FileList.deleteFiles=files; - FileList.lastAction = function() { - FileList.finishDelete(null, true); - }; + FileList.prepareDeletion(files); $('#notification').html(t('files', 'deleted')+' '+files+''+t('files', 'undo')+''); $('#notification').fadeIn(); }, @@ -279,6 +269,23 @@ FileList={ } }); } + }, + prepareDeletion:function(files){ + if(files.substr){ + files=[files]; + } + $.each(files,function(index,file){ + var files = $('tr').filterAttr('data-file',file); + files.hide(); + files.find('input[type="checkbox"]').removeAttr('checked'); + files.removeClass('selected'); + }); + procesSelection(); + FileList.deleteCanceled=false; + FileList.deleteFiles=files; + FileList.lastAction = function() { + FileList.finishDelete(null, true); + }; } } -- cgit v1.2.3 From 24a207a8facea698ec445beaf9271419145e152b Mon Sep 17 00:00:00 2001 From: Juan Carlos Cornejo Date: Wed, 22 Aug 2012 16:56:00 -0400 Subject: Fixes a bug where if one tries to delete a file, then clicks undo, and then tries to delete the file again, no questions or undo options were presented. Essentially, just set FileLists.lastAction = null when one clicks undo. --- apps/files/js/filelist.js | 1 + 1 file changed, 1 insertion(+) (limited to 'apps/files/js/filelist.js') diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 6ba3f3555ea..d93781c47f9 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -298,6 +298,7 @@ $(document).ready(function(){ }); FileList.deleteCanceled=true; FileList.deleteFiles=null; + FileList.lastAction = null; } else if (FileList.replaceOldName && FileList.replaceNewName) { $('tr').filterAttr('data-file', FileList.replaceOldName).show(); FileList.replaceCanceled = true; -- cgit v1.2.3 From 0944b4455bd779d432cd0d61f8f55e00f6d34b7a Mon Sep 17 00:00:00 2001 From: Juan Carlos Cornejo Date: Wed, 22 Aug 2012 17:08:10 -0400 Subject: Moves the lastAction=null outside the if so it can include the undo requests from replace --- apps/files/js/filelist.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'apps/files/js/filelist.js') diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index d93781c47f9..e0cf516411a 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -298,13 +298,13 @@ $(document).ready(function(){ }); FileList.deleteCanceled=true; FileList.deleteFiles=null; - FileList.lastAction = null; } else if (FileList.replaceOldName && FileList.replaceNewName) { $('tr').filterAttr('data-file', FileList.replaceOldName).show(); FileList.replaceCanceled = true; FileList.replaceOldName = null; FileList.replaceNewName = null; } + FileList.lastAction = null; $('#notification').fadeOut(); }); $('#notification .replace').live('click', function() { -- cgit v1.2.3