summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2013-11-06 10:15:05 +0100
committerVincent Petry <pvince81@owncloud.com>2013-11-06 10:15:05 +0100
commit5d9ab6e7ac161a2431d9baca59281c03015b4ff5 (patch)
tree1d15970b881396fbe2879adcf64fd4f9e9dd7765 /apps
parent3e5a5567eb8516f987b2f183980efa6a86be81ba (diff)
downloadnextcloud-server-5d9ab6e7ac161a2431d9baca59281c03015b4ff5.tar.gz
nextcloud-server-5d9ab6e7ac161a2431d9baca59281c03015b4ff5.zip
Update quota value in client after scan and upload
After uploading, the quota value wasn't refreshed. This fix refreshes the quota value after files have been scanned or uploaded.
Diffstat (limited to 'apps')
-rw-r--r--apps/files/js/file-upload.js2
-rw-r--r--apps/files/js/filelist.js1
-rw-r--r--apps/files/js/files.js43
3 files changed, 33 insertions, 13 deletions
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index 94290895ebd..553ca036360 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -404,7 +404,7 @@ $(document).ready(function() {
$('#uploadprogresswrapper input.stop').fadeOut();
$('#uploadprogressbar').fadeOut();
-
+ Files.updateStorageStatistics();
});
fileupload.on('fileuploadfail', function(e, data) {
OC.Upload.log('progress handle fileuploadfail', e, data);
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 3ef3c2c1766..66b4a006f88 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -554,6 +554,7 @@ var FileList={
checkTrashStatus();
FileList.updateFileSummary();
FileList.updateEmptyContent();
+ Files.updateStorageStatistics();
} else {
$.each(files,function(index,file) {
var deleteAction = $('tr[data-file="'+files[i]+'"]').children("td.date").children(".action.delete");
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index eb30ddfda0f..a7aea0957bd 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -1,4 +1,28 @@
Files={
+ // file space size sync
+ _updateStorageStatistics: function() {
+ Files._updateStorageStatisticsTimeout = null;
+ if (Files.updateStorageStatistics.running){
+ return;
+ }
+ Files.updateStorageStatistics.running = true;
+ $.getJSON(OC.filePath('files','ajax','getstoragestats.php'),function(response) {
+ Files.updateStorageStatistics.running = false;
+ Files.updateMaxUploadFilesize(response);
+ });
+ },
+ updateStorageStatistics: function() {
+ if (!OC.currentUser) {
+ return;
+ }
+
+ // debounce to prevent calling too often
+ if (Files._updateStorageStatisticsTimeout) {
+ clearTimeout(Files._updateStorageStatisticsTimeout);
+ }
+ Files._updateStorageStatisticsTimeout = setTimeout(Files._updateStorageStatistics, 1000);
+ },
+
updateMaxUploadFilesize:function(response) {
if (response === undefined) {
return;
@@ -351,29 +375,23 @@ $(document).ready(function() {
setTimeout ( "Files.displayStorageWarnings()", 100 );
OC.Notification.setDefault(Files.displayStorageWarnings);
- // file space size sync
- function update_storage_statistics() {
- $.getJSON(OC.filePath('files','ajax','getstoragestats.php'),function(response) {
- Files.updateMaxUploadFilesize(response);
- });
- }
// only possible at the moment if user is logged in
if (OC.currentUser) {
// start on load - we ask the server every 5 minutes
- var update_storage_statistics_interval = 5*60*1000;
- var update_storage_statistics_interval_id = setInterval(update_storage_statistics, update_storage_statistics_interval);
+ var updateStorageStatisticsInterval = 5*60*1000;
+ var updateStorageStatisticsIntervalId = setInterval(Files.updateStorageStatistics, updateStorageStatisticsInterval);
// Use jquery-visibility to de-/re-activate file stats sync
if ($.support.pageVisibility) {
$(document).on({
'show.visibility': function() {
- if (!update_storage_statistics_interval_id) {
- update_storage_statistics_interval_id = setInterval(update_storage_statistics, update_storage_statistics_interval);
+ if (!updateStorageStatisticsIntervalId) {
+ updateStorageStatisticsIntervalId = setInterval(Files.updateStorageStatistics, updateStorageStatisticsInterval);
}
},
'hide.visibility': function() {
- clearInterval(update_storage_statistics_interval_id);
- update_storage_statistics_interval_id = 0;
+ clearInterval(updateStorageStatisticsIntervalId);
+ updateStorageStatisticsIntervalId = 0;
}
});
}
@@ -417,6 +435,7 @@ function scanFiles(force, dir, users) {
scannerEventSource.listen('done',function(count) {
scanFiles.scanning=false;
console.log('done after ' + count + ' files');
+ Files.updateStorageStatistics();
});
scannerEventSource.listen('user',function(user) {
console.log('scanning files for ' + user);