Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMorris Jobke <morris.jobke@gmail.com>2013-11-07 01:59:27 +0400
committerMorris Jobke <morris.jobke@gmail.com>2013-11-07 01:59:27 +0400
commita0ee6aef29650e0fb697f00612a02890020bc90b (patch)
tree77b74b932688778d3d9ee542589b4031e6dbaf53
parentf2eef690479ccea86331c3703c7f6f302ca32d49 (diff)
parentb49530f80b7219821f5830a7227cbf9d1715c3bd (diff)
Merge pull request #5399 from frisco82/fixDownloadOverQuota
Do not count the size of shared folder on total
-rw-r--r--apps/files/js/filelist.js65
1 files changed, 30 insertions, 35 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 006bd1f4966..f11cba6230b 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -571,24 +571,12 @@ var FileList={
});
},
createFileSummary: function() {
- if ( $('#fileList tr').exists() ) {
- var totalDirs = 0;
- var totalFiles = 0;
- var totalSize = 0;
-
- // Count types and filesize
- $.each($('tr[data-file]'), function(index, value) {
- if ($(value).data('type') === 'dir') {
- totalDirs++;
- } else if ($(value).data('type') === 'file') {
- totalFiles++;
- }
- totalSize += parseInt($(value).data('size'));
- });
+ if( $('#fileList tr').exists() ) {
+ var summary = this._calculateFileSummary();
// Get translations
- var directoryInfo = n('files', '%n folder', '%n folders', totalDirs);
- var fileInfo = n('files', '%n file', '%n files', totalFiles);
+ var directoryInfo = n('files', '%n folder', '%n folders', summary.totalDirs);
+ var fileInfo = n('files', '%n file', '%n files', summary.totalFiles);
var infoVars = {
dirs: '<span class="dirinfo">'+directoryInfo+'</span><span class="connector">',
@@ -598,10 +586,10 @@ var FileList={
var info = t('files', '{dirs} and {files}', infoVars);
// don't show the filesize column, if filesize is NaN (e.g. in trashbin)
- if (isNaN(totalSize)) {
+ if (isNaN(summary.totalSize)) {
var fileSize = '';
} else {
- var fileSize = '<td class="filesize">'+humanFileSize(totalSize)+'</td>';
+ var fileSize = '<td class="filesize">'+humanFileSize(summary.totalSize)+'</td>';
}
var $summary = $('<tr class="summary"><td><span class="info">'+info+'</span></td>'+fileSize+'<td></td></tr>');
@@ -622,6 +610,26 @@ var FileList={
}
}
},
+ _calculateFileSummary: function() {
+ var result = {
+ totalDirs: 0,
+ totalFiles: 0,
+ totalSize: 0
+ };
+ $.each($('tr[data-file]'), function(index, value) {
+ var $value = $(value);
+ if ($value.data('type') === 'dir') {
+ result.totalDirs++;
+ } else if ($value.data('type') === 'file') {
+ result.totalFiles++;
+ }
+ if ($value.data('size') !== undefined && $value.data('id') !== -1) {
+ //Skip shared as it does not count toward quota
+ result.totalSize += parseInt($value.data('size'));
+ }
+ });
+ return result;
+ },
updateFileSummary: function() {
var $summary = $('.summary');
@@ -635,28 +643,15 @@ var FileList={
}
// There's a summary and data -> Update the summary
else if ($('#fileList tr').length > 1 && $summary.length === 1) {
- var totalDirs = 0;
- var totalFiles = 0;
- var totalSize = 0;
- $.each($('tr[data-file]'), function(index, value) {
- if ($(value).data('type') === 'dir') {
- totalDirs++;
- } else if ($(value).data('type') === 'file') {
- totalFiles++;
- }
- if ($(value).data('size') !== undefined) {
- totalSize += parseInt($(value).data('size'));
- }
- });
-
+ var fileSummary = this._calculateFileSummary();
var $dirInfo = $('.summary .dirinfo');
var $fileInfo = $('.summary .fileinfo');
var $connector = $('.summary .connector');
// Substitute old content with new translations
- $dirInfo.html(n('files', '%n folder', '%n folders', totalDirs));
- $fileInfo.html(n('files', '%n file', '%n files', totalFiles));
- $('.summary .filesize').html(humanFileSize(totalSize));
+ $dirInfo.html(n('files', '%n folder', '%n folders', fileSummary.totalDirs));
+ $fileInfo.html(n('files', '%n file', '%n files', fileSummary.totalFiles));
+ $('.summary .filesize').html(humanFileSize(fileSummary.totalSize));
// Show only what's necessary (may be hidden)
if ($dirInfo.html().charAt(0) === "0") {