From 75f7e33a12fc6cd0b6337579ddf98922c3eb177b Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Sun, 12 Jun 2022 13:58:37 -0700 Subject: [PATCH 1/2] Fix state color in submenu items. --- src/components/submenu.ts | 21 +++++++++++---------- src/types.ts | 6 +++--- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/components/submenu.ts b/src/components/submenu.ts index 270bfb76..ae068309 100644 --- a/src/components/submenu.ts +++ b/src/components/submenu.ts @@ -1,12 +1,12 @@ import type { Corner } from '@material/mwc-menu'; import { HomeAssistant } from 'custom-card-helpers'; import { - CSSResultGroup, - html, - LitElement, - PropertyValues, - TemplateResult, - unsafeCSS + CSSResultGroup, + html, + LitElement, + PropertyValues, + TemplateResult, + unsafeCSS } from 'lit'; import { customElement, property } from 'lit/decorators.js'; import { ifDefined } from 'lit/directives/if-defined.js'; @@ -15,8 +15,8 @@ import { actionHandler } from '../action-handler-directive.js'; import submenuStyle from '../scss/submenu.scss'; import { MenuSubmenu, MenuSubmenuItem, MenuSubmenuSelect } from '../types.js'; import { - frigateCardHasAction, - stopEventFromActivatingCardWideActions + frigateCardHasAction, + stopEventFromActivatingCardWideActions } from '../utils/action.js'; import { isHassDifferent, refreshDynamicStateParameters } from '../utils/ha'; import { domainIcon } from '../utils/icons/domain-icon.js'; @@ -138,8 +138,7 @@ export class FrigateCardSubmenuSelect extends LitElement { return ( changedProps.size != 1 || !this.submenuSelect || - (!!oldHass && - isHassDifferent(this.hass, oldHass, [this.submenuSelect.entity])) + (!!oldHass && isHassDifferent(this.hass, oldHass, [this.submenuSelect.entity])) ); } @@ -187,7 +186,9 @@ export class FrigateCardSubmenuSelect extends LitElement { ) : option; submenu.items.push({ + state_color: true, selected: stateObj.state === option, + enabled: true, title: title || option, ...((entity.startsWith('select.') || entity.startsWith('input_select.')) && { tap_action: { diff --git a/src/types.ts b/src/types.ts index 728936e1..2914c582 100644 --- a/src/types.ts +++ b/src/types.ts @@ -466,10 +466,10 @@ export type MenuStateIcon = z.infer; const menuSubmenuItemSchema = elementsBaseSchema.extend({ entity: z.string().optional(), icon: z.string().optional(), - state_color: z.boolean().default(true).optional(), - selected: z.boolean().default(false).optional(), + state_color: z.boolean().default(true), + selected: z.boolean().default(false), subtitle: z.string().optional(), - enabled: z.boolean().default(true).optional(), + enabled: z.boolean().default(true), }); export type MenuSubmenuItem = z.infer; From 52dc4dbfe50e1c69a4868917762f086b61ca1fdf Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Sun, 12 Jun 2022 14:04:51 -0700 Subject: [PATCH 2/2] Add missing parameters. --- src/card.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/card.ts b/src/card.ts index 2caa05e2..9096c713 100644 --- a/src/card.ts +++ b/src/card.ts @@ -366,6 +366,7 @@ export class FrigateCard extends LitElement { camera: camera, }); return { + enabled: true, icon: getCameraIcon(this._hass, config), entity: config.camera_entity, state_color: true, @@ -538,6 +539,8 @@ export class FrigateCard extends LitElement { }); return { + enabled: true, + selected: false, icon: getEntityIcon(this._hass, playerEntityID) || 'mdi:cast', entity: playerEntityID, state_color: false,