summaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2014-10-16 11:21:49 +0200
committerVincent Petry <pvince81@owncloud.com>2014-10-16 11:21:49 +0200
commit08582d145c628b4651fc83a62cdf890e4b40be4f (patch)
treea7c0bb0d9b2d8e1cac2a1cd88754ad7150870793 /apps/files
parent0254a3c406f2a945e2b01bbde3044d5a60751750 (diff)
parent8198e70f24e2645904471c19f514a4e0408f4d74 (diff)
downloadnextcloud-server-08582d145c628b4651fc83a62cdf890e4b40be4f.tar.gz
nextcloud-server-08582d145c628b4651fc83a62cdf890e4b40be4f.zip
Merge pull request #11524 from nazar-pc/patch-1
Page size calculation based on real page height
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/js/filelist.js10
-rw-r--r--apps/files/js/files.js2
-rw-r--r--apps/files/tests/js/filelistSpec.js7
3 files changed, 11 insertions, 8 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index c70c866c634..cf1d9780d99 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(this.$container.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);
}
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index 5fcf99d24af..df268fea6de 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -350,7 +350,7 @@ var createDragShadow = function(event) {
}
// do not show drag shadow for too many files
- var selectedFiles = _.first(FileList.getSelectedFiles(), FileList.pageSize);
+ var selectedFiles = _.first(FileList.getSelectedFiles(), FileList.pageSize());
selectedFiles = _.sortBy(selectedFiles, FileList._fileInfoCompare);
if (!isDragSelected && selectedFiles.length === 1) {
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index 94b52b395e5..83cf1f428b2 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -20,7 +20,7 @@
*/
describe('OCA.Files.FileList tests', function() {
- var testFiles, alertStub, notificationStub, fileList;
+ var testFiles, alertStub, notificationStub, fileList, pageSizeStub;
var bcResizeStub;
/**
@@ -120,7 +120,7 @@ describe('OCA.Files.FileList tests', function() {
size: 250,
etag: '456'
}];
-
+ pageSizeStub = sinon.stub(OCA.Files.FileList.prototype, 'pageSize').returns(20);
fileList = new OCA.Files.FileList($('#app-content-files'));
});
afterEach(function() {
@@ -130,6 +130,7 @@ describe('OCA.Files.FileList tests', function() {
notificationStub.restore();
alertStub.restore();
bcResizeStub.restore();
+ pageSizeStub.restore();
});
describe('Getters', function() {
it('Returns the current directory', function() {
@@ -814,7 +815,7 @@ describe('OCA.Files.FileList tests', function() {
fileList.$fileList.on('fileActionsReady', handler);
fileList._nextPage();
expect(handler.calledOnce).toEqual(true);
- expect(handler.getCall(0).args[0].$files.length).toEqual(fileList.pageSize);
+ expect(handler.getCall(0).args[0].$files.length).toEqual(fileList.pageSize());
});
it('does not trigger "fileActionsReady" event after single add with silent argument', function() {
var handler = sinon.stub();