diff --git a/src/components/ha-sidebar.js b/src/components/ha-sidebar.js index 560f4b2daa..a68bb96261 100644 --- a/src/components/ha-sidebar.js +++ b/src/components/ha-sidebar.js @@ -171,7 +171,7 @@ class HaSidebar extends } computePanels(hass) { - var panels = hass.config.panels; + var panels = hass.panels; var sortValue = { map: 1, logbook: 2, diff --git a/src/entrypoints/app.js b/src/entrypoints/app.js index 735dbc1544..837fea06e8 100644 --- a/src/entrypoints/app.js +++ b/src/entrypoints/app.js @@ -104,7 +104,7 @@ class HomeAssistant extends LocalizeMixin(PolymerElement) { } computeShowMain(hass) { - return hass && hass.states && hass.config; + return hass && hass.states && hass.config && hass.panels; } computeShowLoading(connectionPromise, hass) { @@ -176,6 +176,7 @@ class HomeAssistant extends LocalizeMixin(PolymerElement) { states: null, config: null, themes: null, + panels: null, panelUrl: this.panelUrl, language: getActiveTranslation(), @@ -240,6 +241,7 @@ class HomeAssistant extends LocalizeMixin(PolymerElement) { var reconnected = () => { this._updateHass({ connected: true }); this.loadBackendTranslations(); + this._loadPanels(); }; const disconnected = () => { @@ -275,6 +277,8 @@ class HomeAssistant extends LocalizeMixin(PolymerElement) { unsubConfig = unsub; }); + this._loadPanels(); + var unsubThemes; @@ -379,6 +383,13 @@ class HomeAssistant extends LocalizeMixin(PolymerElement) { } } + _loadPanels() { + this.connection.sendMessagePromise({ + type: 'get_panels' + }).then(msg => this._updateHass({ panels: msg.result })); + } + + _updateHass(obj) { this.hass = Object.assign({}, this.hass, obj); } diff --git a/src/layouts/partial-panel-resolver.js b/src/layouts/partial-panel-resolver.js index c1bc8f368e..4f86569d88 100644 --- a/src/layouts/partial-panel-resolver.js +++ b/src/layouts/partial-panel-resolver.js @@ -213,7 +213,7 @@ class PartialPanelResolver extends NavigateMixin(PolymerElement) { } computeCurrentPanel(hass) { - return hass.config.panels[hass.panelUrl]; + return hass.panels[hass.panelUrl]; } }