From f4e39d644e2b51c1ce22deea9551c4cc3614214f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Fri, 22 Jul 2022 23:59:34 +0000 Subject: [PATCH] Store default dashboard setting --- custom_components/browser_mod/browser_mod.js | 6 ++- .../browser_mod/browser_mod_panel.js | 38 +++++++++++++++-- js/config_panel/frontend-settings-card.ts | 42 +++++++++++++++++-- js/plugin/frontend-settings.ts | 5 +++ js/plugin/main.ts | 2 +- 5 files changed, 83 insertions(+), 10 deletions(-) diff --git a/custom_components/browser_mod/browser_mod.js b/custom_components/browser_mod/browser_mod.js index 2ecb9fd..c1b69f2 100644 --- a/custom_components/browser_mod/browser_mod.js +++ b/custom_components/browser_mod/browser_mod.js @@ -1883,6 +1883,10 @@ const AutoSettingsMixin = (SuperClass) => { if (settings.sidebarHiddenPanels) { localStorage.setItem("sidebarHiddenPanels", settings.sidebarHiddenPanels); } + // Default panel + if (settings.defaultPanel) { + localStorage.setItem("defaultPanel", settings.defaultPanel); + } // Hide sidebar if (settings.hideSidebar === true) { selectTree(document.body, "home-assistant$home-assistant-main$app-drawer-layout").then((el) => el.style.setProperty("--app-drawer-width", "0px")); @@ -1997,7 +2001,7 @@ const AutoSettingsMixin = (SuperClass) => { X Framework x Save sidebar x Kiosk mode - - Default panel + x Default dashboard - Screensaver? x Favicon templates x Title templates diff --git a/custom_components/browser_mod/browser_mod_panel.js b/custom_components/browser_mod/browser_mod_panel.js index 7274c8e..33772c9 100644 --- a/custom_components/browser_mod/browser_mod_panel.js +++ b/custom_components/browser_mod/browser_mod_panel.js @@ -571,15 +571,15 @@ class BrowserModFrontendSettingsCard extends s { Sidebar order - Order and visibility of sidebar buttons + + Order and visibility of sidebar buttons + Currently: ${DESC_SET_UNSET(current.sidebarPanelOrder)} ${OVERRIDDEN("sidebarPanelOrder")} - Clearing this does NOT restore the original button order. + Clearing this does NOT restore the original default order. { @@ -598,6 +598,36 @@ class BrowserModFrontendSettingsCard extends s { Clear + +
+ + + Default dashboard + The dashboard that's displayed by default + Currently: ${DESC_SET_UNSET(current.defaultPanel)} + ${OVERRIDDEN("defaultPanel")} + + + + Clearing this does NOT restore the original default dashboard. + + { + window.browser_mod.set_setting("defaultPanel", localStorage.getItem("defaultPanel"), level); + }} + > + Set + + { + window.browser_mod.set_setting("defaultPanel", undefined, level); + }} + > + Clear + + `; } diff --git a/js/config_panel/frontend-settings-card.ts b/js/config_panel/frontend-settings-card.ts index 5b9cf2f..caf53f2 100644 --- a/js/config_panel/frontend-settings-card.ts +++ b/js/config_panel/frontend-settings-card.ts @@ -191,15 +191,15 @@ class BrowserModFrontendSettingsCard extends LitElement { Sidebar order - Order and visibility of sidebar buttons + + Order and visibility of sidebar buttons + Currently: ${DESC_SET_UNSET(current.sidebarPanelOrder)} ${OVERRIDDEN("sidebarPanelOrder")} - Clearing this does NOT restore the original button order. + Clearing this does NOT restore the original default order. { @@ -234,6 +234,40 @@ class BrowserModFrontendSettingsCard extends LitElement { Clear + +
+ + + Default dashboard + The dashboard that's displayed by default + Currently: ${DESC_SET_UNSET(current.defaultPanel)} + ${OVERRIDDEN("defaultPanel")} + + + + Clearing this does NOT restore the original default dashboard. + + { + window.browser_mod.set_setting( + "defaultPanel", + localStorage.getItem("defaultPanel"), + level + ); + }} + > + Set + + { + window.browser_mod.set_setting("defaultPanel", undefined, level); + }} + > + Clear + + `; } diff --git a/js/plugin/frontend-settings.ts b/js/plugin/frontend-settings.ts index 976fa11..997280f 100644 --- a/js/plugin/frontend-settings.ts +++ b/js/plugin/frontend-settings.ts @@ -38,6 +38,11 @@ export const AutoSettingsMixin = (SuperClass) => { ); } + // Default panel + if (settings.defaultPanel) { + localStorage.setItem("defaultPanel", settings.defaultPanel); + } + // Hide sidebar if (settings.hideSidebar === true) { selectTree( diff --git a/js/plugin/main.ts b/js/plugin/main.ts index 7af950c..4a48326 100644 --- a/js/plugin/main.ts +++ b/js/plugin/main.ts @@ -53,7 +53,7 @@ import { AutoSettingsMixin } from "./frontend-settings"; X Framework x Save sidebar x Kiosk mode - - Default panel + x Default dashboard - Screensaver? x Favicon templates x Title templates