From e8f6a79c8f8f81fbd3a4728d24bf1003795cf2fb Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 24 Aug 2020 16:34:55 +0200 Subject: [PATCH] Fix create write tag (#6679) --- src/panels/config/tags/dialog-tag-detail.ts | 17 +++++++++-------- src/panels/config/tags/ha-config-tags.ts | 4 ++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/panels/config/tags/dialog-tag-detail.ts b/src/panels/config/tags/dialog-tag-detail.ts index f4edecf711..d34ed4e206 100644 --- a/src/panels/config/tags/dialog-tag-detail.ts +++ b/src/panels/config/tags/dialog-tag-detail.ts @@ -3,23 +3,23 @@ import "@polymer/paper-input/paper-input"; import { css, CSSResult, + customElement, html, + internalProperty, LitElement, property, - internalProperty, TemplateResult, - customElement, } from "lit-element"; import { fireEvent } from "../../../common/dom/fire_event"; import { createCloseHeading } from "../../../components/ha-dialog"; -import "../../../components/ha-switch"; import "../../../components/ha-formfield"; +import "../../../components/ha-switch"; import "../../../components/map/ha-location-editor"; +import { Tag, UpdateTagParams } from "../../../data/tag"; +import { HassDialog } from "../../../dialogs/make-dialog-manager"; import { haStyleDialog } from "../../../resources/styles"; import { HomeAssistant } from "../../../types"; -import { HassDialog } from "../../../dialogs/make-dialog-manager"; import { TagDetailDialogParams } from "./show-dialog-tag-detail"; -import { UpdateTagParams, Tag } from "../../../data/tag"; @customElement("dialog-tag-detail") class DialogTagDetail extends LitElement implements HassDialog { @@ -162,7 +162,7 @@ class DialogTagDetail extends LitElement implements HassDialog { } else { newValue = await this._params!.createEntry(values, this._id); } - this._params = undefined; + this.closeDialog(); } catch (err) { this._error = err ? err.message : "Unknown error"; } finally { @@ -172,11 +172,12 @@ class DialogTagDetail extends LitElement implements HassDialog { } private async _updateWriteEntry() { + const openWrite = this._params?.openWrite; const tag = await this._updateEntry(); - if (!tag) { + if (!tag || !openWrite) { return; } - this._params?.openWrite!(tag); + openWrite(tag); } private async _deleteEntry() { diff --git a/src/panels/config/tags/ha-config-tags.ts b/src/panels/config/tags/ha-config-tags.ts index 8abdc49d13..e7b716b2be 100644 --- a/src/panels/config/tags/ha-config-tags.ts +++ b/src/panels/config/tags/ha-config-tags.ts @@ -12,6 +12,7 @@ import memoizeOne from "memoize-one"; import { DataTableColumnContainer } from "../../../components/data-table/ha-data-table"; import "../../../components/ha-card"; import "../../../components/ha-relative-time"; +import { showAutomationEditor, TagTrigger } from "../../../data/automation"; import { createTag, deleteTag, @@ -23,14 +24,13 @@ import { UpdateTagParams, } from "../../../data/tag"; import { showConfirmationDialog } from "../../../dialogs/generic/show-dialog-box"; +import { getExternalConfig } from "../../../external_app/external_config"; import "../../../layouts/hass-tabs-subpage-data-table"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { HomeAssistant, Route } from "../../../types"; import { configSections } from "../ha-panel-config"; import { showTagDetailDialog } from "./show-dialog-tag-detail"; import "./tag-image"; -import { getExternalConfig } from "../../../external_app/external_config"; -import { showAutomationEditor, TagTrigger } from "../../../data/automation"; export interface TagRowData extends Tag { last_scanned_datetime: Date | null;