Merge pull request #11524 from nazar-pc/patch-1

Page size calculation based on real page height
This commit is contained in:
Vincent Petry 2014-10-16 11:21:49 +02:00
commit 08582d145c
3 changed files with 11 additions and 8 deletions

View File

@ -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);
}

View File

@ -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) {

View File

@ -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();