From 4b885cbd930f54618ffa936497b23fa611c94e4f Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 16 Oct 2023 06:20:36 +0200 Subject: [PATCH] Remove narrow from strategies (#18201) --- cast/src/receiver/layout/hc-main.ts | 3 +- .../lovelace/editor/hui-dialog-save-config.ts | 4 +-- src/panels/lovelace/ha-panel-lovelace.ts | 15 ++++------ .../lovelace/strategies/get-strategy.ts | 29 ++++++------------- .../lovelace/strategies/legacy-strategy.ts | 2 -- .../original-states-dashboard-strategy.ts | 4 +-- .../original-states-view-strategy.ts | 4 +-- src/panels/lovelace/strategies/types.ts | 10 +------ src/panels/lovelace/views/hui-view.ts | 3 +- 9 files changed, 20 insertions(+), 54 deletions(-) diff --git a/cast/src/receiver/layout/hc-main.ts b/cast/src/receiver/layout/hc-main.ts index 020b0595dad6..cf03bbb502b6 100644 --- a/cast/src/receiver/layout/hc-main.ts +++ b/cast/src/receiver/layout/hc-main.ts @@ -323,8 +323,7 @@ export class HcMain extends HassElement { { type: DEFAULT_STRATEGY, }, - this.hass!, - { narrow: false } + this.hass! ) ); } diff --git a/src/panels/lovelace/editor/hui-dialog-save-config.ts b/src/panels/lovelace/editor/hui-dialog-save-config.ts index 008014e50237..cbad03f59aa6 100644 --- a/src/panels/lovelace/editor/hui-dialog-save-config.ts +++ b/src/panels/lovelace/editor/hui-dialog-save-config.ts @@ -174,9 +174,7 @@ export class HuiSaveConfig extends LitElement implements HassDialog { await lovelace.saveConfig( this._emptyConfig ? EMPTY_CONFIG - : await expandLovelaceConfigStrategies(lovelace.config, this.hass, { - narrow: this._params.narrow, - }) + : await expandLovelaceConfigStrategies(lovelace.config, this.hass) ); lovelace.setEditMode(true); this._saving = false; diff --git a/src/panels/lovelace/ha-panel-lovelace.ts b/src/panels/lovelace/ha-panel-lovelace.ts index 587a9746c488..c1dbe2ed3ea3 100644 --- a/src/panels/lovelace/ha-panel-lovelace.ts +++ b/src/panels/lovelace/ha-panel-lovelace.ts @@ -167,8 +167,7 @@ export class LovelacePanel extends LitElement { { type: DEFAULT_STRATEGY, }, - this.hass!, - { narrow: this.narrow } + this.hass! ); this._setLovelaceConfig(conf, undefined, "generated"); this._panelState = "loaded"; @@ -258,8 +257,7 @@ export class LovelacePanel extends LitElement { if (rawConf.strategy) { conf = await generateLovelaceDashboardStrategy( rawConf.strategy, - this.hass!, - { narrow: this.narrow } + this.hass! ); } else { conf = rawConf; @@ -276,8 +274,7 @@ export class LovelacePanel extends LitElement { { type: DEFAULT_STRATEGY, }, - this.hass!, - { narrow: this.narrow } + this.hass! ); confMode = "generated"; } finally { @@ -365,8 +362,7 @@ export class LovelacePanel extends LitElement { if (newConfig.strategy) { conf = await generateLovelaceDashboardStrategy( newConfig.strategy, - this.hass!, - { narrow: this.narrow } + this.hass! ); } else { conf = newConfig; @@ -404,8 +400,7 @@ export class LovelacePanel extends LitElement { { type: DEFAULT_STRATEGY, }, - this.hass!, - { narrow: this.narrow } + this.hass! ); this._updateLovelace({ config: generatedConf, diff --git a/src/panels/lovelace/strategies/get-strategy.ts b/src/panels/lovelace/strategies/get-strategy.ts index 4f30b7c17592..685894d7ee73 100644 --- a/src/panels/lovelace/strategies/get-strategy.ts +++ b/src/panels/lovelace/strategies/get-strategy.ts @@ -8,7 +8,6 @@ import { isLegacyStrategy } from "./legacy-strategy"; import { LovelaceDashboardStrategy, LovelaceStrategy, - LovelaceStrategyParams, LovelaceViewStrategy, } from "./types"; @@ -77,8 +76,7 @@ const generateStrategy = async ( configType: T, renderError: (err: string | Error) => StrategyConfig, strategyConfig: LovelaceStrategyConfig, - hass: HomeAssistant, - params: LovelaceStrategyParams + hass: HomeAssistant ): Promise> => { const strategyType = strategyConfig.type; if (!strategyType) { @@ -95,7 +93,6 @@ const generateStrategy = async ( return (await strategy.generateDashboard({ config: { strategy: strategyConfig, views: [] }, hass, - narrow: params.narrow, })) as StrategyConfig; } if (configType === "view" && "generateView" in strategy) { @@ -103,7 +100,6 @@ const generateStrategy = async ( config: { views: [] }, view: { strategy: strategyConfig }, hass, - narrow: params.narrow, })) as StrategyConfig; } } @@ -115,7 +111,7 @@ const generateStrategy = async ( delete config.options; - return await strategy.generate(config, hass, params); + return await strategy.generate(config, hass); } catch (err: any) { if (err.message !== "timeout") { // eslint-disable-next-line @@ -128,8 +124,7 @@ const generateStrategy = async ( export const generateLovelaceDashboardStrategy = async ( strategyConfig: LovelaceStrategyConfig, - hass: HomeAssistant, - params: LovelaceStrategyParams + hass: HomeAssistant ): Promise => generateStrategy( "dashboard", @@ -147,14 +142,12 @@ export const generateLovelaceDashboardStrategy = async ( ], }), strategyConfig, - hass, - params + hass ); export const generateLovelaceViewStrategy = async ( strategyConfig: LovelaceStrategyConfig, - hass: HomeAssistant, - params: LovelaceStrategyParams + hass: HomeAssistant ): Promise => generateStrategy( "view", @@ -167,8 +160,7 @@ export const generateLovelaceViewStrategy = async ( ], }), strategyConfig, - hass, - params + hass ); /** @@ -176,18 +168,15 @@ export const generateLovelaceViewStrategy = async ( */ export const expandLovelaceConfigStrategies = async ( config: LovelaceConfig, - hass: HomeAssistant, - params: LovelaceStrategyParams + hass: HomeAssistant ): Promise => { const newConfig = config.strategy - ? await generateLovelaceDashboardStrategy(config.strategy, hass, params) + ? await generateLovelaceDashboardStrategy(config.strategy, hass) : { ...config }; newConfig.views = await Promise.all( newConfig.views.map((view) => - view.strategy - ? generateLovelaceViewStrategy(view.strategy, hass, params) - : view + view.strategy ? generateLovelaceViewStrategy(view.strategy, hass) : view ) ); diff --git a/src/panels/lovelace/strategies/legacy-strategy.ts b/src/panels/lovelace/strategies/legacy-strategy.ts index d3618cf71b36..16162f7e8d3c 100644 --- a/src/panels/lovelace/strategies/legacy-strategy.ts +++ b/src/panels/lovelace/strategies/legacy-strategy.ts @@ -10,7 +10,6 @@ export interface LovelaceDashboardStrategy { generateDashboard(info: { config?: LovelaceConfig; hass: HomeAssistant; - narrow: boolean | undefined; }): Promise; } @@ -19,6 +18,5 @@ export interface LovelaceViewStrategy { view: LovelaceViewConfig; config: LovelaceConfig; hass: HomeAssistant; - narrow: boolean | undefined; }): Promise; } diff --git a/src/panels/lovelace/strategies/original-states-dashboard-strategy.ts b/src/panels/lovelace/strategies/original-states-dashboard-strategy.ts index 99b5366ac1c2..b5144549f087 100644 --- a/src/panels/lovelace/strategies/original-states-dashboard-strategy.ts +++ b/src/panels/lovelace/strategies/original-states-dashboard-strategy.ts @@ -2,14 +2,12 @@ import { ReactiveElement } from "lit"; import { customElement } from "lit/decorators"; import { LovelaceConfig, LovelaceStrategyConfig } from "../../../data/lovelace"; import { HomeAssistant } from "../../../types"; -import { LovelaceStrategyParams } from "./types"; @customElement("original-states-dashboard-strategy") export class OriginalStatesDashboardStrategy extends ReactiveElement { static async generate( _config: LovelaceStrategyConfig, - hass: HomeAssistant, - _params?: LovelaceStrategyParams + hass: HomeAssistant ): Promise { return { title: hass.config.location_name, diff --git a/src/panels/lovelace/strategies/original-states-view-strategy.ts b/src/panels/lovelace/strategies/original-states-view-strategy.ts index a6e163f758f2..dc46dbaa42b1 100644 --- a/src/panels/lovelace/strategies/original-states-view-strategy.ts +++ b/src/panels/lovelace/strategies/original-states-view-strategy.ts @@ -9,14 +9,12 @@ import { } from "../../../data/lovelace"; import { HomeAssistant } from "../../../types"; import { generateDefaultViewConfig } from "../common/generate-lovelace-config"; -import { LovelaceStrategyParams } from "./types"; @customElement("original-states-view-strategy") export class OriginalStatesViewStrategy extends ReactiveElement { static async generate( _config: LovelaceStrategyConfig, - hass: HomeAssistant, - _params?: LovelaceStrategyParams + hass: HomeAssistant ): Promise { if (hass.config.state === STATE_NOT_RUNNING) { return { diff --git a/src/panels/lovelace/strategies/types.ts b/src/panels/lovelace/strategies/types.ts index 8b807a61e2dc..42220ffa151a 100644 --- a/src/panels/lovelace/strategies/types.ts +++ b/src/panels/lovelace/strategies/types.ts @@ -5,16 +5,8 @@ import { } from "../../../data/lovelace"; import { HomeAssistant } from "../../../types"; -export type LovelaceStrategyParams = { - narrow?: boolean; -}; - export type LovelaceStrategy = { - generate( - config: LovelaceStrategyConfig, - hass: HomeAssistant, - params?: LovelaceStrategyParams - ): Promise; + generate(config: LovelaceStrategyConfig, hass: HomeAssistant): Promise; }; export interface LovelaceDashboardStrategy diff --git a/src/panels/lovelace/views/hui-view.ts b/src/panels/lovelace/views/hui-view.ts index e00e5af00e1b..407688e107a8 100644 --- a/src/panels/lovelace/views/hui-view.ts +++ b/src/panels/lovelace/views/hui-view.ts @@ -192,8 +192,7 @@ export class HUIView extends ReactiveElement { isStrategy = true; viewConfig = await generateLovelaceViewStrategy( viewConfig.strategy, - this.hass!, - { narrow: this.narrow } + this.hass! ); }