Do not reload the filelist on first open
Fixes: #4644 Without this patch the filelist would always reload. However since not all the correct data was set yet it would often: 1. fireoff a propfind to ../webdav/ 2. fireoff a propfind to ../webdav/<PATH> When just opening the file list those are the same so the result is just fine. However if opening a direct link it means that there is a race condition on which finishes first. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
parent
b04102aab3
commit
8d66e325a9
|
@ -91,6 +91,12 @@
|
|||
*/
|
||||
initialized: false,
|
||||
|
||||
/**
|
||||
* Wheater the file list was already shown once
|
||||
* @type boolean
|
||||
*/
|
||||
shown: false,
|
||||
|
||||
/**
|
||||
* Number of files per page
|
||||
*
|
||||
|
@ -557,7 +563,10 @@
|
|||
* Event handler when leaving previously hidden state
|
||||
*/
|
||||
_onShow: function(e) {
|
||||
this.reload();
|
||||
if (this.shown) {
|
||||
this.reload();
|
||||
}
|
||||
this.shown = true;
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
|
@ -1509,6 +1509,12 @@ describe('OCA.Files.FileList tests', function() {
|
|||
});
|
||||
it('reloads the list when leaving hidden state', function() {
|
||||
var reloadStub = sinon.stub(fileList, 'reload');
|
||||
|
||||
// First show should not trigger
|
||||
$('#app-content-files').trigger(new $.Event('show'));
|
||||
expect(reloadStub.calledOnce).toEqual(false);
|
||||
|
||||
// Second show should!
|
||||
$('#app-content-files').trigger(new $.Event('show'));
|
||||
expect(reloadStub.calledOnce).toEqual(true);
|
||||
reloadStub.restore();
|
||||
|
|
Loading…
Reference in New Issue