mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-25 18:26:35 +00:00
Fix suggest card dialog (#19735)
This commit is contained in:
parent
cc1658cbab
commit
b0c8ae0c94
@ -21,6 +21,7 @@ import "./hui-entity-picker-table";
|
|||||||
import { CreateCardDialogParams } from "./show-create-card-dialog";
|
import { CreateCardDialogParams } from "./show-create-card-dialog";
|
||||||
import { showEditCardDialog } from "./show-edit-card-dialog";
|
import { showEditCardDialog } from "./show-edit-card-dialog";
|
||||||
import { showSuggestCardDialog } from "./show-suggest-card-dialog";
|
import { showSuggestCardDialog } from "./show-suggest-card-dialog";
|
||||||
|
import { computeCards } from "../../common/generate-lovelace-config";
|
||||||
|
|
||||||
declare global {
|
declare global {
|
||||||
interface HASSDomEvents {
|
interface HASSDomEvents {
|
||||||
@ -242,11 +243,17 @@ export class HuiCreateDialogCard
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _suggestCards(): void {
|
private _suggestCards(): void {
|
||||||
|
const cardConfig = computeCards(
|
||||||
|
this.hass.states,
|
||||||
|
this._selectedEntities,
|
||||||
|
{}
|
||||||
|
);
|
||||||
showSuggestCardDialog(this, {
|
showSuggestCardDialog(this, {
|
||||||
lovelaceConfig: this._params!.lovelaceConfig,
|
lovelaceConfig: this._params!.lovelaceConfig,
|
||||||
saveConfig: this._params!.saveConfig,
|
saveConfig: this._params!.saveConfig,
|
||||||
path: this._params!.path as [number],
|
path: this._params!.path as [number],
|
||||||
entities: this._selectedEntities,
|
entities: this._selectedEntities,
|
||||||
|
cardConfig,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.closeDialog();
|
this.closeDialog();
|
||||||
|
@ -7,11 +7,11 @@ export interface SuggestCardDialogParams {
|
|||||||
yaml?: boolean;
|
yaml?: boolean;
|
||||||
saveConfig?: (config: LovelaceConfig) => void;
|
saveConfig?: (config: LovelaceConfig) => void;
|
||||||
path?: [number];
|
path?: [number];
|
||||||
entities?: string[]; // Entities used to generate the card config. We pass this to create dialog when user chooses "Pick own"
|
entities?: string[]; // We pass this to create dialog when user chooses "Pick own"
|
||||||
cardConfig?: LovelaceCardConfig[]; // We can pass a suggested config
|
cardConfig: LovelaceCardConfig[]; // We can pass a suggested config
|
||||||
}
|
}
|
||||||
|
|
||||||
const importsuggestCardDialog = () => import("./hui-dialog-suggest-card");
|
const importSuggestCardDialog = () => import("./hui-dialog-suggest-card");
|
||||||
|
|
||||||
export const showSuggestCardDialog = (
|
export const showSuggestCardDialog = (
|
||||||
element: HTMLElement,
|
element: HTMLElement,
|
||||||
@ -19,7 +19,7 @@ export const showSuggestCardDialog = (
|
|||||||
): void => {
|
): void => {
|
||||||
fireEvent(element, "show-dialog", {
|
fireEvent(element, "show-dialog", {
|
||||||
dialogTag: "hui-dialog-suggest-card",
|
dialogTag: "hui-dialog-suggest-card",
|
||||||
dialogImport: importsuggestCardDialog,
|
dialogImport: importSuggestCardDialog,
|
||||||
dialogParams: suggestCardDialogParams,
|
dialogParams: suggestCardDialogParams,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -21,6 +21,7 @@ import "../card-editor/hui-entity-picker-table";
|
|||||||
import { showSuggestCardDialog } from "../card-editor/show-suggest-card-dialog";
|
import { showSuggestCardDialog } from "../card-editor/show-suggest-card-dialog";
|
||||||
import { showSelectViewDialog } from "../select-view/show-select-view-dialog";
|
import { showSelectViewDialog } from "../select-view/show-select-view-dialog";
|
||||||
import { LovelaceConfig } from "../../../../data/lovelace/config/types";
|
import { LovelaceConfig } from "../../../../data/lovelace/config/types";
|
||||||
|
import { computeCards } from "../../common/generate-lovelace-config";
|
||||||
|
|
||||||
@customElement("hui-unused-entities")
|
@customElement("hui-unused-entities")
|
||||||
export class HuiUnusedEntities extends LitElement {
|
export class HuiUnusedEntities extends LitElement {
|
||||||
@ -126,12 +127,18 @@ export class HuiUnusedEntities extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _addToLovelaceView(): void {
|
private _addToLovelaceView(): void {
|
||||||
|
const cardConfig = computeCards(
|
||||||
|
this.hass.states,
|
||||||
|
this._selectedEntities,
|
||||||
|
{}
|
||||||
|
);
|
||||||
if (this.lovelace.config.views.length === 1) {
|
if (this.lovelace.config.views.length === 1) {
|
||||||
showSuggestCardDialog(this, {
|
showSuggestCardDialog(this, {
|
||||||
lovelaceConfig: this.lovelace.config!,
|
lovelaceConfig: this.lovelace.config!,
|
||||||
saveConfig: this.lovelace.saveConfig,
|
saveConfig: this.lovelace.saveConfig,
|
||||||
path: [0],
|
path: [0],
|
||||||
entities: this._selectedEntities,
|
entities: this._selectedEntities,
|
||||||
|
cardConfig,
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -144,6 +151,7 @@ export class HuiUnusedEntities extends LitElement {
|
|||||||
saveConfig: this.lovelace.saveConfig,
|
saveConfig: this.lovelace.saveConfig,
|
||||||
path: [viewIndex],
|
path: [viewIndex],
|
||||||
entities: this._selectedEntities,
|
entities: this._selectedEntities,
|
||||||
|
cardConfig,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user