diff --git a/assets/controllers/elements/sidebar_tree_controller.js b/assets/controllers/elements/sidebar_tree_controller.js index d50cf900..c80de6ed 100644 --- a/assets/controllers/elements/sidebar_tree_controller.js +++ b/assets/controllers/elements/sidebar_tree_controller.js @@ -40,6 +40,8 @@ export default class extends TreeController { //Check if we have a saved mode const stored_mode = localStorage.getItem(this._storage_key); + this._frame = this.element.dataset.frame || "content"; //By default, navigate in the content frame, if a frame is defined + //Use stored mode if possible, otherwise use default if(stored_mode) { try { diff --git a/assets/controllers/elements/tree_controller.js b/assets/controllers/elements/tree_controller.js index bb64839c..28957e2a 100644 --- a/assets/controllers/elements/tree_controller.js +++ b/assets/controllers/elements/tree_controller.js @@ -39,6 +39,8 @@ export default class extends Controller { */ _tree = null; + _frame = "frame"; + connect() { const treeElement = this.treeTarget; if (!treeElement) { @@ -48,6 +50,7 @@ export default class extends Controller { this._url = this.element.dataset.treeUrl; this._data = this.element.dataset.treeData; + this._frame = this.element.dataset.frame || "content"; //By default, navigate in the content frame, if a frame is defined if(this.element.dataset.treeShowTags === "true") { this._showTags = true; @@ -99,7 +102,7 @@ export default class extends Controller { onNodeSelected: (event) => { const node = event.detail.node; if (node.href) { - window.Turbo.visit(node.href, {action: "advance"}); + window.Turbo.visit(node.href, {action: "advance", frame: this._frame}); this._registerURLWatcher(node); } }, @@ -198,4 +201,4 @@ export default class extends Controller { return myResolve(this._data); }); } -} \ No newline at end of file +}