mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-21 08:16:36 +00:00
Remove narrow from strategies (#18201)
This commit is contained in:
parent
02d9786f8c
commit
4b885cbd93
@ -323,8 +323,7 @@ export class HcMain extends HassElement {
|
||||
{
|
||||
type: DEFAULT_STRATEGY,
|
||||
},
|
||||
this.hass!,
|
||||
{ narrow: false }
|
||||
this.hass!
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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,
|
||||
|
@ -8,7 +8,6 @@ import { isLegacyStrategy } from "./legacy-strategy";
|
||||
import {
|
||||
LovelaceDashboardStrategy,
|
||||
LovelaceStrategy,
|
||||
LovelaceStrategyParams,
|
||||
LovelaceViewStrategy,
|
||||
} from "./types";
|
||||
|
||||
@ -77,8 +76,7 @@ const generateStrategy = async <T extends LovelaceStrategyConfigType>(
|
||||
configType: T,
|
||||
renderError: (err: string | Error) => StrategyConfig<T>,
|
||||
strategyConfig: LovelaceStrategyConfig,
|
||||
hass: HomeAssistant,
|
||||
params: LovelaceStrategyParams
|
||||
hass: HomeAssistant
|
||||
): Promise<StrategyConfig<T>> => {
|
||||
const strategyType = strategyConfig.type;
|
||||
if (!strategyType) {
|
||||
@ -95,7 +93,6 @@ const generateStrategy = async <T extends LovelaceStrategyConfigType>(
|
||||
return (await strategy.generateDashboard({
|
||||
config: { strategy: strategyConfig, views: [] },
|
||||
hass,
|
||||
narrow: params.narrow,
|
||||
})) as StrategyConfig<T>;
|
||||
}
|
||||
if (configType === "view" && "generateView" in strategy) {
|
||||
@ -103,7 +100,6 @@ const generateStrategy = async <T extends LovelaceStrategyConfigType>(
|
||||
config: { views: [] },
|
||||
view: { strategy: strategyConfig },
|
||||
hass,
|
||||
narrow: params.narrow,
|
||||
})) as StrategyConfig<T>;
|
||||
}
|
||||
}
|
||||
@ -115,7 +111,7 @@ const generateStrategy = async <T extends LovelaceStrategyConfigType>(
|
||||
|
||||
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 <T extends LovelaceStrategyConfigType>(
|
||||
|
||||
export const generateLovelaceDashboardStrategy = async (
|
||||
strategyConfig: LovelaceStrategyConfig,
|
||||
hass: HomeAssistant,
|
||||
params: LovelaceStrategyParams
|
||||
hass: HomeAssistant
|
||||
): Promise<LovelaceConfig> =>
|
||||
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<LovelaceViewConfig> =>
|
||||
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<LovelaceConfig> => {
|
||||
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
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -10,7 +10,6 @@ export interface LovelaceDashboardStrategy {
|
||||
generateDashboard(info: {
|
||||
config?: LovelaceConfig;
|
||||
hass: HomeAssistant;
|
||||
narrow: boolean | undefined;
|
||||
}): Promise<LovelaceConfig>;
|
||||
}
|
||||
|
||||
@ -19,6 +18,5 @@ export interface LovelaceViewStrategy {
|
||||
view: LovelaceViewConfig;
|
||||
config: LovelaceConfig;
|
||||
hass: HomeAssistant;
|
||||
narrow: boolean | undefined;
|
||||
}): Promise<LovelaceViewConfig>;
|
||||
}
|
||||
|
@ -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<LovelaceConfig> {
|
||||
return {
|
||||
title: hass.config.location_name,
|
||||
|
@ -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<LovelaceViewConfig> {
|
||||
if (hass.config.state === STATE_NOT_RUNNING) {
|
||||
return {
|
||||
|
@ -5,16 +5,8 @@ import {
|
||||
} from "../../../data/lovelace";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
|
||||
export type LovelaceStrategyParams = {
|
||||
narrow?: boolean;
|
||||
};
|
||||
|
||||
export type LovelaceStrategy<T = any> = {
|
||||
generate(
|
||||
config: LovelaceStrategyConfig,
|
||||
hass: HomeAssistant,
|
||||
params?: LovelaceStrategyParams
|
||||
): Promise<T>;
|
||||
generate(config: LovelaceStrategyConfig, hass: HomeAssistant): Promise<T>;
|
||||
};
|
||||
|
||||
export interface LovelaceDashboardStrategy
|
||||
|
@ -192,8 +192,7 @@ export class HUIView extends ReactiveElement {
|
||||
isStrategy = true;
|
||||
viewConfig = await generateLovelaceViewStrategy(
|
||||
viewConfig.strategy,
|
||||
this.hass!,
|
||||
{ narrow: this.narrow }
|
||||
this.hass!
|
||||
);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user