diff options
author | Morris Jobke <morris.jobke@gmail.com> | 2013-11-06 13:59:27 -0800 |
---|---|---|
committer | Morris Jobke <morris.jobke@gmail.com> | 2013-11-06 13:59:27 -0800 |
commit | a0ee6aef29650e0fb697f00612a02890020bc90b (patch) | |
tree | 77b74b932688778d3d9ee542589b4031e6dbaf53 /apps | |
parent | f2eef690479ccea86331c3703c7f6f302ca32d49 (diff) | |
parent | b49530f80b7219821f5830a7227cbf9d1715c3bd (diff) | |
download | nextcloud-server-a0ee6aef29650e0fb697f00612a02890020bc90b.tar.gz nextcloud-server-a0ee6aef29650e0fb697f00612a02890020bc90b.zip |
Merge pull request #5399 from frisco82/fixDownloadOverQuota
Do not count the size of shared folder on total
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files/js/filelist.js | 65 |
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") { |