diff options
author | icewind1991 <robin@icewind.nl> | 2014-06-23 14:42:00 +0200 |
---|---|---|
committer | icewind1991 <robin@icewind.nl> | 2014-06-23 14:42:00 +0200 |
commit | 4d216e8e2abacde86de6acb10d0316b292594882 (patch) | |
tree | 63e44cbd740e9cb49874e5e7aa9aa75dacd3b6bf /apps | |
parent | 65e4348080c81282b1a700f093fc4b880db60c50 (diff) | |
parent | 074d3a8f074e388768853f58de3712293ba3aef1 (diff) | |
download | nextcloud-server-4d216e8e2abacde86de6acb10d0316b292594882.tar.gz nextcloud-server-4d216e8e2abacde86de6acb10d0316b292594882.zip |
Merge pull request #9153 from owncloud/files-unselectafterdelete
Clear file selection when list is repopulated
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files/js/filelist.js | 2 | ||||
-rw-r--r-- | apps/files/tests/js/filelistSpec.js | 34 |
2 files changed, 35 insertions, 1 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 241997be2bc..fb97b2f4595 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -512,6 +512,8 @@ this.fileSummary.calculate(filesArray); + this._selectedFiles = {}; + this._selectionSummary.clear(); this.updateSelectionSummary(); $(window).scrollTop(0); diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js index 011e73d4b30..743ebf9706a 100644 --- a/apps/files/tests/js/filelistSpec.js +++ b/apps/files/tests/js/filelistSpec.js @@ -1368,7 +1368,8 @@ describe('OCA.Files.FileList tests', function() { "Content-Type": "application/json" }, JSON.stringify(data) - ]); + ] + ); fileList.changeDirectory('/'); fakeServer.respond(); expect($('.select-all').prop('checked')).toEqual(false); @@ -1386,6 +1387,37 @@ describe('OCA.Files.FileList tests', function() { expect(selectedFiles.length).toEqual(41); }); + describe('clearing the selection', function() { + it('clears selected files selected individually calling setFiles()', function() { + var selectedFiles; + + fileList.setFiles(generateFiles(0, 41)); + fileList.$fileList.find('tr:eq(5) input:checkbox:first').click(); + fileList.$fileList.find('tr:eq(7) input:checkbox:first').click(); + + selectedFiles = _.pluck(fileList.getSelectedFiles(), 'name'); + expect(selectedFiles.length).toEqual(2); + + fileList.setFiles(generateFiles(0, 2)); + + selectedFiles = _.pluck(fileList.getSelectedFiles(), 'name'); + expect(selectedFiles.length).toEqual(0); + }); + it('clears selected files selected with select all when calling setFiles()', function() { + var selectedFiles; + + fileList.setFiles(generateFiles(0, 41)); + $('.select-all').click(); + + selectedFiles = _.pluck(fileList.getSelectedFiles(), 'name'); + expect(selectedFiles.length).toEqual(42); + + fileList.setFiles(generateFiles(0, 2)); + + selectedFiles = _.pluck(fileList.getSelectedFiles(), 'name'); + expect(selectedFiles.length).toEqual(0); + }); + }); describe('Selection overlay', function() { it('show delete action according to directory permissions', function() { fileList.setFiles(testFiles); |