Mark sidebar and navbar as permanent between Turbo history navigations.

This commit is contained in:
Jan Böhmer 2022-07-31 21:29:00 +02:00
parent 5ec87f911b
commit e26f6e5394
3 changed files with 22 additions and 2 deletions

View file

@ -10,6 +10,11 @@ export default class extends TreeController {
_storage_key;
connect() {
//Check if the tree is already initialized, if so then skip initialization (useful when going back) to in history using Turbo
if(this._isInitialized()) {
return;
}
const default_mode = this.element.dataset.defaultMode;
this._storage_key = 'tree_' + this.element.id;

View file

@ -97,6 +97,21 @@ export default class extends Controller {
$(tree).treeview('search', [data]);
}
/**
* Check if the tree is already initialized (meaning bootstrap treeview was called on the object)
* @private
*/
_isInitialized() {
const $tree = $(this.treeTarget).treeview(true);
//If the tree is not initialized yet, we just get an empty jquery object with the treeview functions missing
if(typeof $tree.findNodes === 'undefined' ) {
return false;
}
return true;
}
_getData() {
//Use lambda function to preserve this context