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:
Roeland Jago Douma 2017-05-04 13:23:04 +02:00
parent b04102aab3
commit 8d66e325a9
No known key found for this signature in database
GPG Key ID: F941078878347C0C
2 changed files with 16 additions and 1 deletions

View File

@ -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;
},
/**

View File

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