diff options
author | Nazar Mokrynskyi <nazar@mokrynskyi.com> | 2014-10-11 15:10:54 +0200 |
---|---|---|
committer | Nazar Mokrynskyi <nazar@mokrynskyi.com> | 2014-10-11 15:10:54 +0200 |
commit | 257cf1fc34e3054ec5b5926fba2199200dbbc442 (patch) | |
tree | 4dacdb6e94dcf58c82383cba3ad6be54e1ba1d3f /apps/files/js | |
parent | a0db01ecd3f10476751eea258176ef742bbdacd3 (diff) | |
download | nextcloud-server-257cf1fc34e3054ec5b5926fba2199200dbbc442.tar.gz nextcloud-server-257cf1fc34e3054ec5b5926fba2199200dbbc442.zip |
Page size calculation based on real page height
This is fix for https://github.com/owncloud/core/issues/10060
Instead of hard coding page size as 20 items, we check real page height, and divide by 50 (height of one row).
This will allow to load fewer items on small screens and enough items on large screens (4k, portrait orientation, etc.).
Also checking page height on every load to respond on browser window resizing,
Diffstat (limited to 'apps/files/js')
-rw-r--r-- | apps/files/js/filelist.js | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 86cba29e76c..eafef6c2a5e 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -49,8 +49,10 @@ fileSummary: null, initialized: false, - // number of files per page - pageSize: 20, + // number of files per page, calculated dynamically + pageSize: function() { + return Math.ceil($('#app-content').height() / 50); + }, /** * Array of files in the current folder. @@ -496,7 +498,7 @@ */ _nextPage: function(animate) { var index = this.$fileList.children().length, - count = this.pageSize, + count = this.pageSize(), tr, fileData, newTrs = [], @@ -1189,7 +1191,7 @@ // if there are less elements visible than one page // but there are still pending elements in the array, // then directly append the next page - if (lastIndex < this.files.length && lastIndex < this.pageSize) { + if (lastIndex < this.files.length && lastIndex < this.pageSize()) { this._nextPage(true); } |