From fd8f9506d4746331109b538d5ec5b270e1605fa9 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 22 Nov 2024 23:58:15 +0200 Subject: [PATCH] fix(client): tooltip position for launcher on horizontal layout --- src/public/app/widgets/buttons/abstract_button.js | 7 ++++--- src/public/app/widgets/containers/launcher.js | 6 +++++- src/public/app/widgets/containers/launcher_container.js | 9 +++++---- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/public/app/widgets/buttons/abstract_button.js b/src/public/app/widgets/buttons/abstract_button.js index 8c8a3dd4b..38b47429b 100644 --- a/src/public/app/widgets/buttons/abstract_button.js +++ b/src/public/app/widgets/buttons/abstract_button.js @@ -23,7 +23,10 @@ export default class AbstractButtonWidget extends NoteContextAwareWidget { doRender() { this.$widget = $(TPL); this.tooltip = new bootstrap.Tooltip(this.$widget, { - html: true, title: () => this.getTitle(), trigger: 'hover' + html: true, + title: () => this.getTitle(), + trigger: 'hover', + placement: this.settings.titlePlacement }) if (this.settings.onContextMenu) { @@ -36,8 +39,6 @@ export default class AbstractButtonWidget extends NoteContextAwareWidget { }); } - this.$widget.attr("data-placement", this.settings.titlePlacement); - super.doRender(); } diff --git a/src/public/app/widgets/containers/launcher.js b/src/public/app/widgets/containers/launcher.js index bb3e5c9ad..03c24c630 100644 --- a/src/public/app/widgets/containers/launcher.js +++ b/src/public/app/widgets/containers/launcher.js @@ -13,10 +13,11 @@ import HistoryNavigationButton from "../buttons/history_navigation.js"; import QuickSearchWidget from "../quick_search.js"; export default class LauncherWidget extends BasicWidget { - constructor() { + constructor(isHorizontalLayout) { super(); this.innerWidget = null; + this.isHorizontalLayout = isHorizontalLayout; } isEnabled() { @@ -64,6 +65,9 @@ export default class LauncherWidget extends BasicWidget { } this.child(this.innerWidget); + if (this.isHorizontalLayout && this.innerWidget.settings) { + this.innerWidget.settings.titlePlacement = "bottom"; + } return true; } diff --git a/src/public/app/widgets/containers/launcher_container.js b/src/public/app/widgets/containers/launcher_container.js index 01bf52bf7..e20969da4 100644 --- a/src/public/app/widgets/containers/launcher_container.js +++ b/src/public/app/widgets/containers/launcher_container.js @@ -4,12 +4,13 @@ import appContext from "../../components/app_context.js"; import LauncherWidget from "./launcher.js"; export default class LauncherContainer extends FlexContainer { - constructor(horizontal) { - super(horizontal ? "row" : "column"); + constructor(isHorizontalLayout) { + super(isHorizontalLayout ? "row" : "column"); this.id('launcher-container'); - this.css(horizontal ? "width" : 'height', '100%'); + this.css(isHorizontalLayout ? "width" : 'height', '100%'); this.filling(); + this.isHorizontalLayout = isHorizontalLayout; this.load(); } @@ -29,7 +30,7 @@ export default class LauncherContainer extends FlexContainer { for (const launcherNote of await visibleLaunchersRoot.getChildNotes()) { try { - const launcherWidget = new LauncherWidget(); + const launcherWidget = new LauncherWidget(this.isHorizontalLayout); const success = await launcherWidget.initLauncher(launcherNote); if (success) {