Fix suggest card dialog (#19735)

This commit is contained in:
Paul Bottein 2024-02-08 15:38:55 +01:00 committed by GitHub
parent 6033f8b31a
commit 1e35f973d6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 19 additions and 4 deletions

View File

@ -21,6 +21,7 @@ import "./hui-entity-picker-table";
import { CreateCardDialogParams } from "./show-create-card-dialog";
import { showEditCardDialog } from "./show-edit-card-dialog";
import { showSuggestCardDialog } from "./show-suggest-card-dialog";
import { computeCards } from "../../common/generate-lovelace-config";
declare global {
interface HASSDomEvents {
@ -242,11 +243,17 @@ export class HuiCreateDialogCard
}
private _suggestCards(): void {
const cardConfig = computeCards(
this.hass.states,
this._selectedEntities,
{}
);
showSuggestCardDialog(this, {
lovelaceConfig: this._params!.lovelaceConfig,
saveConfig: this._params!.saveConfig,
path: this._params!.path as [number],
entities: this._selectedEntities,
cardConfig,
});
this.closeDialog();

View File

@ -7,11 +7,11 @@ export interface SuggestCardDialogParams {
yaml?: boolean;
saveConfig?: (config: LovelaceConfig) => void;
path?: [number];
entities?: string[]; // Entities used to generate the card config. We pass this to create dialog when user chooses "Pick own"
cardConfig?: LovelaceCardConfig[]; // We can pass a suggested config
entities?: string[]; // We pass this to create dialog when user chooses "Pick own"
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 = (
element: HTMLElement,
@ -19,7 +19,7 @@ export const showSuggestCardDialog = (
): void => {
fireEvent(element, "show-dialog", {
dialogTag: "hui-dialog-suggest-card",
dialogImport: importsuggestCardDialog,
dialogImport: importSuggestCardDialog,
dialogParams: suggestCardDialogParams,
});
};

View File

@ -21,6 +21,7 @@ import "../card-editor/hui-entity-picker-table";
import { showSuggestCardDialog } from "../card-editor/show-suggest-card-dialog";
import { showSelectViewDialog } from "../select-view/show-select-view-dialog";
import { LovelaceConfig } from "../../../../data/lovelace/config/types";
import { computeCards } from "../../common/generate-lovelace-config";
@customElement("hui-unused-entities")
export class HuiUnusedEntities extends LitElement {
@ -126,12 +127,18 @@ export class HuiUnusedEntities extends LitElement {
}
private _addToLovelaceView(): void {
const cardConfig = computeCards(
this.hass.states,
this._selectedEntities,
{}
);
if (this.lovelace.config.views.length === 1) {
showSuggestCardDialog(this, {
lovelaceConfig: this.lovelace.config!,
saveConfig: this.lovelace.saveConfig,
path: [0],
entities: this._selectedEntities,
cardConfig,
});
return;
}
@ -144,6 +151,7 @@ export class HuiUnusedEntities extends LitElement {
saveConfig: this.lovelace.saveConfig,
path: [viewIndex],
entities: this._selectedEntities,
cardConfig,
});
},
});