Expose currently active file list though OCA.Files.App

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl 2019-10-14 20:02:51 +02:00
parent ed5b90b38a
commit d5e854e7ef
2 changed files with 28 additions and 0 deletions

View File

@ -40,6 +40,8 @@
*/
fileList: null,
currentFileList: null,
/**
* Backbone model for storing files preferences
*/
@ -112,6 +114,7 @@
maxChunkSize: OC.appConfig.files && OC.appConfig.files.max_chunk_size
}
);
this.updateCurrentFileList(this.fileList)
this.files.initialize();
// for backward compatibility, the global FileList will
@ -160,6 +163,28 @@
}
},
/**
* Set the currently active file list
*
* Due to the file list implementations being registered after clicking the
* navigation item for the first time, OCA.Files.App is not aware of those until
* they have initialized themselves. Therefore the files list needs to call this
* method manually
*
* @param {OCA.Files.FileList} newFileList
*/
updateCurrentFileList: function(newFileList) {
this.currentFileList = newFileList;
},
/**
* Return the currently active file list
* @return {?OCA.Files.FileList}
*/
getCurrentFileList: function () {
return this.currentFileList;
},
/**
* Returns the container of the currently visible app.
*

View File

@ -434,6 +434,8 @@
OC.Plugins.attach('OCA.Files.FileList', this);
OCA.Files.App && OCA.Files.App.updateCurrentFileList(this);
this.initHeadersAndFooters()
},
@ -738,6 +740,7 @@
* Event handler when leaving previously hidden state
*/
_onShow: function(e) {
OCA.Files.App && OCA.Files.App.updateCurrentFileList(this);
if (this.shown) {
if (e.itemId === this.id) {
this._setCurrentDir('/', false);