From 20c351949f3b3eefb62f2370e61c79835f8d2c28 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 27 Apr 2021 10:04:52 -0700 Subject: [PATCH] Strategy: Update name -> type (#9006) --- src/data/lovelace.ts | 4 +-- .../lovelace/strategies/get-strategy.ts | 26 +++++++++---------- .../strategies/original-states-strategy.ts | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/data/lovelace.ts b/src/data/lovelace.ts index 48bff25ffb..06c1294053 100644 --- a/src/data/lovelace.ts +++ b/src/data/lovelace.ts @@ -20,7 +20,7 @@ export interface LovelacePanelConfig { export interface LovelaceConfig { title?: string; strategy?: { - name: string; + type: string; options?: Record; }; views: LovelaceViewConfig[]; @@ -82,7 +82,7 @@ export interface LovelaceViewConfig { title?: string; type?: string; strategy?: { - name: string; + type: string; options?: Record; }; badges?: Array; diff --git a/src/panels/lovelace/strategies/get-strategy.ts b/src/panels/lovelace/strategies/get-strategy.ts index 72271daf5c..53be8262e7 100644 --- a/src/panels/lovelace/strategies/get-strategy.ts +++ b/src/panels/lovelace/strategies/get-strategy.ts @@ -32,17 +32,17 @@ const strategies: Record< const getLovelaceStrategy = async < T extends LovelaceDashboardStrategy | LovelaceViewStrategy >( - name: string + strategyType: string ): Promise => { - if (name in strategies) { - return strategies[name] as T; + if (strategyType in strategies) { + return strategies[strategyType] as T; } - if (!name.startsWith(CUSTOM_PREFIX)) { + if (!strategyType.startsWith(CUSTOM_PREFIX)) { throw new Error("Unknown strategy"); } - const tag = `ll-strategy-${name.substr(CUSTOM_PREFIX.length)}`; + const tag = `ll-strategy-${strategyType.substr(CUSTOM_PREFIX.length)}`; if ( (await Promise.race([ @@ -69,14 +69,14 @@ const generateStrategy = async ( generateMethod: T, renderError: (err: string | Error) => AsyncReturnType, info: Parameters[0], - name: string | undefined + strategyType: string | undefined ): Promise> => { - if (!name) { - return renderError("No strategy name found"); + if (!strategyType) { + return renderError("No strategy type found"); } try { - const strategy = (await getLovelaceStrategy(name)) as any; + const strategy = (await getLovelaceStrategy(strategyType)) as any; return await strategy[generateMethod](info); } catch (err) { if (err.message !== "timeout") { @@ -90,7 +90,7 @@ const generateStrategy = async ( export const generateLovelaceDashboardStrategy = async ( info: Parameters[0], - name?: string + strategyType?: string ): ReturnType => generateStrategy( "generateDashboard", @@ -108,12 +108,12 @@ export const generateLovelaceDashboardStrategy = async ( ], }), info, - name || info.config?.strategy?.name + strategyType || info.config?.strategy?.type ); export const generateLovelaceViewStrategy = async ( info: Parameters[0], - name?: string + strategyType?: string ): ReturnType => generateStrategy( "generateView", @@ -126,7 +126,7 @@ export const generateLovelaceViewStrategy = async ( ], }), info, - name || info.view?.strategy?.name + strategyType || info.view?.strategy?.type ); /** diff --git a/src/panels/lovelace/strategies/original-states-strategy.ts b/src/panels/lovelace/strategies/original-states-strategy.ts index 0762bedabe..8ecdd922d1 100644 --- a/src/panels/lovelace/strategies/original-states-strategy.ts +++ b/src/panels/lovelace/strategies/original-states-strategy.ts @@ -85,7 +85,7 @@ export class OriginalStatesStrategy { return { views: [ { - strategy: { name: "original-states" }, + strategy: { type: "original-states" }, title: info.hass.config.location_name, }, ],