From 5947bd6d746e033ceec243d3a49b68123f45e328 Mon Sep 17 00:00:00 2001 From: Ian Richardson Date: Wed, 5 Dec 2018 15:00:04 -0600 Subject: [PATCH] Align `picture-glance` card tap/hold actions (#2187) Removed unneccessary `force_dialog` config. Updated `handleClick` to use `entity` or `camera_image` for `more-info` dialog --- .../lovelace/cards/hui-picture-glance-card.ts | 47 ++++++++++--------- src/panels/lovelace/common/handle-click.ts | 7 ++- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/src/panels/lovelace/cards/hui-picture-glance-card.ts b/src/panels/lovelace/cards/hui-picture-glance-card.ts index cbd4543663..1a98be568a 100644 --- a/src/panels/lovelace/cards/hui-picture-glance-card.ts +++ b/src/panels/lovelace/cards/hui-picture-glance-card.ts @@ -3,37 +3,37 @@ import { classMap } from "lit-html/directives/classMap"; import { TemplateResult } from "lit-html"; import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin"; -import { fireEvent } from "../../../common/dom/fire_event"; import { DOMAINS_TOGGLE } from "../../../common/const"; import { LovelaceCard } from "../types"; -import { LovelaceCardConfig } from "../../../data/lovelace"; +import { LovelaceCardConfig, ActionConfig } from "../../../data/lovelace"; import { EntityConfig } from "../entity-rows/types"; -import { navigate } from "../../../common/navigate"; import { HomeAssistant } from "../../../types"; -import { toggleEntity } from "../common/entity/toggle-entity"; - +import { longPress } from "../common/directives/long-press-directive"; +import { processConfigEntities } from "../common/process-config-entities"; import computeStateDisplay from "../../../common/entity/compute_state_display"; import computeStateName from "../../../common/entity/compute_state_name"; -import { processConfigEntities } from "../common/process-config-entities"; import computeDomain from "../../../common/entity/compute_domain"; import stateIcon from "../../../common/entity/state_icon"; import "../../../components/ha-card"; import "../../../components/ha-icon"; import "../components/hui-image"; +import { handleClick } from "../common/handle-click"; +import { fireEvent } from "../../../common/dom/fire_event"; +import { toggleEntity } from "../common/entity/toggle-entity"; const STATES_OFF = new Set(["closed", "locked", "not_home", "off"]); interface Config extends LovelaceCardConfig { entities: EntityConfig[]; title?: string; - navigation_path?: string; image?: string; camera_image?: string; state_image?: {}; aspect_ratio?: string; entity?: string; - force_dialog?: boolean; + tap_action?: ActionConfig; + hold_action?: ActionConfig; } class HuiPictureGlanceCard extends hassLocalizeLitMixin(LitElement) @@ -88,19 +88,22 @@ class HuiPictureGlanceCard extends hassLocalizeLitMixin(LitElement) return html``; } - const isClickable = - this._config.navigation_path || this._config.camera_image; - return html` ${this.renderStyle()} diff --git a/src/panels/lovelace/common/handle-click.ts b/src/panels/lovelace/common/handle-click.ts index ba463d2025..bf1e3c149d 100644 --- a/src/panels/lovelace/common/handle-click.ts +++ b/src/panels/lovelace/common/handle-click.ts @@ -9,6 +9,7 @@ export const handleClick = ( hass: HomeAssistant, config: { entity?: string; + camera_image?: string; hold_action?: ActionConfig; tap_action?: ActionConfig; }, @@ -30,8 +31,10 @@ export const handleClick = ( switch (actionConfig.action) { case "more-info": - if (config.entity) { - fireEvent(node, "hass-more-info", { entityId: config.entity }); + if (config.entity || config.camera_image) { + fireEvent(node, "hass-more-info", { + entityId: config.entity ? config.entity! : config.camera_image!, + }); } break; case "navigate":