From 8a6bd04543447bcbf2123444d3077889ec8a7f41 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 30 Mar 2020 16:08:36 +0200 Subject: [PATCH] Add default dashboard selection to profile page (#5360) * Add default dashboard selection to profile page * Comments * Console.bye --- src/components/ha-sidebar.ts | 11 ++- src/data/panel.ts | 17 ++-- src/fake_data/provide_hass.ts | 2 + src/layouts/home-assistant.ts | 4 +- .../dialog-lovelace-dashboard-detail.ts | 19 ++-- .../ha-config-lovelace-dashboards.ts | 6 +- src/panels/profile/ha-panel-profile.ts | 5 ++ src/panels/profile/ha-pick-dashboard-row.ts | 86 +++++++++++++++++++ src/state/connection-mixin.ts | 3 +- src/state/sidebar-mixin.ts | 14 +++ src/translations/en.json | 5 ++ src/types.ts | 1 + src/util/ha-pref-storage.ts | 1 + 13 files changed, 146 insertions(+), 28 deletions(-) create mode 100644 src/panels/profile/ha-pick-dashboard-row.ts diff --git a/src/components/ha-sidebar.ts b/src/components/ha-sidebar.ts index dd27336fa8..743037a7ba 100644 --- a/src/components/ha-sidebar.ts +++ b/src/components/ha-sidebar.ts @@ -32,7 +32,7 @@ import { classMap } from "lit-html/directives/class-map"; import { PaperIconItemElement } from "@polymer/paper-item/paper-icon-item"; import { computeRTL } from "../common/util/compute_rtl"; import { compare } from "../common/string/compare"; -import { getDefaultPanelUrlPath, getDefaultPanel } from "../data/panel"; +import { getDefaultPanel } from "../data/panel"; const SHOW_AFTER_SPACER = ["config", "developer-tools", "hassio"]; @@ -87,10 +87,8 @@ const computePanels = (hass: HomeAssistant): [PanelInfo[], PanelInfo[]] => { const beforeSpacer: PanelInfo[] = []; const afterSpacer: PanelInfo[] = []; - const defaultPage = getDefaultPanelUrlPath(); - Object.values(panels).forEach((panel) => { - if (!panel.title || panel.url_path === defaultPage) { + if (!panel.title || panel.url_path === hass.defaultPanel) { return; } (SHOW_AFTER_SPACER.includes(panel.url_path) @@ -143,7 +141,7 @@ class HaSidebar extends LitElement { } } - const defaultPanel = getDefaultPanel(hass.panels); + const defaultPanel = getDefaultPanel(hass); return html`