Make sure there are always enough elements visible on the page

This commit is contained in:
Vincent Petry 2014-04-04 16:38:27 +02:00
parent 2883f231d0
commit 8909b574fa
2 changed files with 18 additions and 0 deletions

View file

@ -570,6 +570,7 @@ window.FileList = {
this.fileSummary.add(fileData, true);
this.updateEmptyContent();
}
return $tr;
},
@ -823,6 +824,15 @@ window.FileList = {
FileList.updateEmptyContent();
this.fileSummary.remove({type: fileEl.attr('data-type'), size: fileEl.attr('data-size')}, true);
}
var lastIndex = this.$fileList.children().length;
// 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) {
this._nextPage(true);
}
return fileEl;
},
/**

View file

@ -701,6 +701,14 @@ describe('FileList tests', function() {
FileList._nextPage(true);
expect($('#fileList tr').length).toEqual(81);
});
it('automatically renders next page when there are not enough elements visible', function() {
// delete the 15 first elements
for (var i = 0; i < 15; i++) {
FileList.remove(FileList.files[0].name);
}
// still makes sure that there are 20 elements visible, if any
expect($('#fileList tr').length).toEqual(25);
});
});
describe('file previews', function() {
var previewLoadStub;