summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-09-21 18:49:15 +0200
committerMorris Jobke <hey@morrisjobke.de>2016-10-25 14:51:44 +0200
commit50b8221255c7fe88a1968419904ff295c4db9613 (patch)
tree3549c46666e332ecae5a1aad3996caccb8c2f08a
parent89574367bcc57da5eda6d13ffcfd8a12de68ea26 (diff)
downloadnextcloud-server-50b8221255c7fe88a1968419904ff295c4db9613.tar.gz
nextcloud-server-50b8221255c7fe88a1968419904ff295c4db9613.zip
Highlight files and update storage stats at end of upload (#26164)
Properly trigger the "stop" even from the uploader. Also update storage stats at the end of all uploads instead of for each upload.
-rw-r--r--apps/files/js/file-upload.js1
-rw-r--r--apps/files/js/filelist.js2
-rw-r--r--apps/files/tests/js/filelistSpec.js17
3 files changed, 15 insertions, 5 deletions
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index 30784528700..8fec7d5c04e 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -1071,6 +1071,7 @@ OC.Uploader.prototype = _.extend({
self.clear();
self._hideProgressBar();
+ self.trigger('stop', e, data);
});
fileupload.on('fileuploadfail', function(e, data) {
self.log('progress handle fileuploadfail', e, data);
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index bf4fd75d4cc..18534db3ee9 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -2810,8 +2810,8 @@
$.when.apply($, promises).then(function() {
// highlight uploaded files
self.highlightFiles(fileNames);
+ self.updateStorageStatistics();
});
- self.updateStorageStatistics();
var uploadText = self.$fileList.find('tr .uploadtext');
self.showFileBusyState(uploadText.closest('tr'), false);
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index 3b0e0b83b82..15dab3b9882 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -2794,13 +2794,22 @@ describe('OCA.Files.FileList tests', function() {
highlightStub.restore();
});
- it('queries storage stats', function() {
+ it('queries storage stats after all fetches are done', function() {
var statStub = sinon.stub(fileList, 'updateStorageStatistics');
- addFile(createUpload('upload.txt', '/subdir'));
- expect(statStub.notCalled).toEqual(true);
+ var highlightStub = sinon.stub(fileList, 'highlightFiles');
+ var def1 = addFile(createUpload('upload.txt', '/subdir'));
+ var def2 = addFile(createUpload('upload2.txt', '/subdir'));
+ var def3 = addFile(createUpload('upload3.txt', '/another'));
uploader.trigger('stop', {});
+
+ expect(statStub.notCalled).toEqual(true);
+ def1.resolve();
+ expect(statStub.notCalled).toEqual(true);
+ def2.resolve();
+ def3.resolve();
expect(statStub.calledOnce).toEqual(true);
- statStub.restore();
+
+ highlightStub.restore();
});
});
});