From 4e0e2e8926c8bacf3ca0fcbfb34c2dfa21fecc39 Mon Sep 17 00:00:00 2001 From: zadam Date: Sun, 1 Mar 2020 20:11:40 +0100 Subject: [PATCH] fixes in side pane toggling --- src/public/javascripts/services/split.js | 2 +- src/public/javascripts/widgets/side_pane_container.js | 10 +--------- src/public/javascripts/widgets/side_pane_toggles.js | 10 +++++----- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/src/public/javascripts/services/split.js b/src/public/javascripts/services/split.js index 29a5814f4..115185685 100644 --- a/src/public/javascripts/services/split.js +++ b/src/public/javascripts/services/split.js @@ -2,7 +2,7 @@ import options from "./options.js"; let instance; -async function setupSplit(left, right) { +function setupSplit(left, right) { if (instance) { instance.destroy(); instance = null; diff --git a/src/public/javascripts/widgets/side_pane_container.js b/src/public/javascripts/widgets/side_pane_container.js index 309e5b8b6..44a8f7e3e 100644 --- a/src/public/javascripts/widgets/side_pane_container.js +++ b/src/public/javascripts/widgets/side_pane_container.js @@ -15,16 +15,8 @@ export default class SidePaneContainer extends FlexContainer { return super.isEnabled() && options.is(this.side + 'PaneVisible'); } - handleEvent(name, data) { - if (options.is(this.side + 'PaneVisible')) { - super.handleEvent(name, data); - } - } - sidebarVisibilityChangedEvent({side, show}) { - if (this.side === side) { - this.toggle(show); - + if (this.side === side && show) { this.handleEvent('lazyLoaded'); } } diff --git a/src/public/javascripts/widgets/side_pane_toggles.js b/src/public/javascripts/widgets/side_pane_toggles.js index 59d54166c..df443ae13 100644 --- a/src/public/javascripts/widgets/side_pane_toggles.js +++ b/src/public/javascripts/widgets/side_pane_toggles.js @@ -38,9 +38,6 @@ export default class SidePaneToggles extends BasicWidget { doRender() { this.$widget = $(TPL); - this.toggleSidebar('left', options.is('leftPaneVisible')); - this.toggleSidebar('right', options.is('rightPaneVisible')); - this.$widget.find(".show-right-pane-button").on('click', () => this.toggleAndSave('right', true)); this.$widget.find(".hide-right-pane-button").on('click', () => this.toggleAndSave('right', false)); @@ -59,16 +56,19 @@ export default class SidePaneToggles extends BasicWidget { } async toggleAndSave(side, show) { - this.toggleSidebar(side, show); - await options.save(`${side}PaneVisible`, show.toString()); + this.toggleSidebar(side, show); + splitService.setupSplit(this.paneVisible.left, this.paneVisible.right); this.triggerEvent('sidebarVisibilityChanged', {side, show}); } initialRenderCompleteEvent() { + this.toggleSidebar('left', options.is('leftPaneVisible')); + this.toggleSidebar('right', options.is('rightPaneVisible')); + splitService.setupSplit(this.paneVisible.left, this.paneVisible.right); } }