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,
|
initialized: false,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Wheater the file list was already shown once
|
||||||
|
* @type boolean
|
||||||
|
*/
|
||||||
|
shown: false,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Number of files per page
|
* Number of files per page
|
||||||
*
|
*
|
||||||
|
@ -557,7 +563,10 @@
|
||||||
* Event handler when leaving previously hidden state
|
* Event handler when leaving previously hidden state
|
||||||
*/
|
*/
|
||||||
_onShow: function(e) {
|
_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() {
|
it('reloads the list when leaving hidden state', function() {
|
||||||
var reloadStub = sinon.stub(fileList, 'reload');
|
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'));
|
$('#app-content-files').trigger(new $.Event('show'));
|
||||||
expect(reloadStub.calledOnce).toEqual(true);
|
expect(reloadStub.calledOnce).toEqual(true);
|
||||||
reloadStub.restore();
|
reloadStub.restore();
|
||||||
|
|
Loading…
Reference in New Issue