Fix application of state to submenu items.

This commit is contained in:
Dermot Duffy
2022-02-17 20:27:59 -08:00
parent 878488ba78
commit e4047db6c1
5 changed files with 86 additions and 75 deletions
+2 -9
View File
@@ -231,9 +231,6 @@ export class FrigateCardMenu extends LitElement {
button: true,
};
const stateObj = stateParameters.entity ? this.hass?.states[stateParameters.entity] : undefined;
const domain = stateObj ? computeStateDomain(stateObj) : undefined;
// =====================================================================================
// For `data-domain` and `data-state`, see: See
// https://github.com/home-assistant/frontend/blob/dev/src/components/entity/state-badge.ts#L54
@@ -247,12 +244,8 @@ export class FrigateCardMenu extends LitElement {
// (`data-state`). This looks up a CSS style in `menu.scss`.
return html` <ha-icon-button
data-domain=${ifDefined(
stateParameters.state_color || (domain === "light" && stateParameters.state_color !== false)
? domain
: undefined
)}
data-state=${stateObj ? computeActiveState(stateObj) : ""}
data-domain=${ifDefined(stateParameters.data_domain)}
data-state=${ifDefined(stateParameters.data_state)}
class="${classMap(classes)}"
style="${styleMap(stateParameters.style || {})}"
.actionHandler=${actionHandler({
+5 -2
View File
@@ -1,11 +1,12 @@
import { CSSResultGroup, html, LitElement, TemplateResult, unsafeCSS } from 'lit';
import { customElement, property } from 'lit/decorators';
import { HomeAssistant } from 'custom-card-helpers';
import { computeActiveState, frigateCardHasAction, refreshDynamicStateParameters } from '../common.js';
import { computeStateDomain, HomeAssistant } from 'custom-card-helpers';
import { ifDefined } from 'lit/directives/if-defined';
import { styleMap } from 'lit/directives/style-map';
import { ExtendedHomeAssistant, MenuSubmenu, MenuSubmenuItem } from '../types.js';
import { actionHandler } from '../action-handler-directive.js';
import { frigateCardHasAction, refreshDynamicStateParameters } from '../common.js';
import submenuStyle from '../scss/submenu.scss';
import type { Corner } from "@material/mwc-menu";
@@ -46,6 +47,8 @@ export class FrigateCardSubmenu extends LitElement {
${stateParameters.title || ''}
${stateParameters.icon
? html` <ha-icon
data-domain=${ifDefined(stateParameters.data_domain)}
data-state=${ifDefined(stateParameters.data_state)}
style="${styleMap(stateParameters.style || {})}"
slot="graphic"
icon="${stateParameters.icon}"