summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authoricewind1991 <robin@icewind.nl>2014-06-23 14:42:00 +0200
committericewind1991 <robin@icewind.nl>2014-06-23 14:42:00 +0200
commit4d216e8e2abacde86de6acb10d0316b292594882 (patch)
tree63e44cbd740e9cb49874e5e7aa9aa75dacd3b6bf /apps
parent65e4348080c81282b1a700f093fc4b880db60c50 (diff)
parent074d3a8f074e388768853f58de3712293ba3aef1 (diff)
downloadnextcloud-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.js2
-rw-r--r--apps/files/tests/js/filelistSpec.js34
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);