This commit is contained in:
Paulus Schoutsen 2019-03-12 11:06:23 -07:00
parent 882dc38b12
commit 4118497978
4 changed files with 8 additions and 24 deletions

View File

@ -1,5 +1,4 @@
import { HomeAssistant } from "../types"; import { HomeAssistant } from "../types";
import { Webhook } from "./webhook";
export interface EntityFilter { export interface EntityFilter {
include_domains: string[]; include_domains: string[];
@ -41,12 +40,6 @@ export interface SubscriptionInfo {
human_description: string; human_description: string;
} }
export interface WebhookDialogParams {
webhook: Webhook;
cloudhook: CloudWebhook;
disableHook: () => void;
}
export interface CloudWebhook { export interface CloudWebhook {
webhook_id: string; webhook_id: string;
cloudhook_id: string; cloudhook_id: string;

View File

@ -12,12 +12,12 @@ import "../../../components/entity/ha-state-icon";
import { fireEvent } from "../../../common/dom/fire_event"; import { fireEvent } from "../../../common/dom/fire_event";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { EntityFilter } from "./types";
import computeStateName from "../../../common/entity/compute_state_name"; import computeStateName from "../../../common/entity/compute_state_name";
import { import {
FilterFunc, FilterFunc,
generateFilter, generateFilter,
} from "../../../common/entity/entity_filter"; } from "../../../common/entity/entity_filter";
import { EntityFilter } from "../../../data/cloud";
export class CloudExposedEntities extends LitElement { export class CloudExposedEntities extends LitElement {
public hass?: HomeAssistant; public hass?: HomeAssistant;

View File

@ -17,8 +17,8 @@ import { PaperDialogElement } from "@polymer/paper-dialog/paper-dialog";
import { PaperInputElement } from "@polymer/paper-input/paper-input"; import { PaperInputElement } from "@polymer/paper-input/paper-input";
import { HomeAssistant } from "../../../types"; import { HomeAssistant } from "../../../types";
import { WebhookDialogParams } from "./types";
import { haStyle } from "../../../resources/styles"; import { haStyle } from "../../../resources/styles";
import { WebhookDialogParams } from "./show-cloud-webhook-manage-dialog";
const inputLabel = "Public URL Click to copy to clipboard"; const inputLabel = "Public URL Click to copy to clipboard";

View File

@ -10,23 +10,15 @@ import "@polymer/paper-item/paper-item-body";
import "@polymer/paper-spinner/paper-spinner"; import "@polymer/paper-spinner/paper-spinner";
import "../../../components/ha-card"; import "../../../components/ha-card";
import { fireEvent } from "../../../common/dom/fire_event";
import { HomeAssistant, WebhookError } from "../../../types"; import { HomeAssistant, WebhookError } from "../../../types";
import { WebhookDialogParams, CloudStatusLoggedIn } from "./types";
import { Webhook, fetchWebhooks } from "../../../data/webhook"; import { Webhook, fetchWebhooks } from "../../../data/webhook";
import { import {
createCloudhook, createCloudhook,
deleteCloudhook, deleteCloudhook,
CloudWebhook, CloudWebhook,
CloudStatusLoggedIn,
} from "../../../data/cloud"; } from "../../../data/cloud";
import { showManageCloudhookDialog } from "./show-cloud-webhook-manage-dialog";
declare global {
// for fire event
interface HASSDomEvents {
"manage-cloud-webhook": WebhookDialogParams;
}
}
export class CloudWebhooks extends LitElement { export class CloudWebhooks extends LitElement {
public hass?: HomeAssistant; public hass?: HomeAssistant;
@ -138,14 +130,13 @@ export class CloudWebhooks extends LitElement {
private _showDialog(webhookId: string) { private _showDialog(webhookId: string) {
const webhook = this._localHooks!.find( const webhook = this._localHooks!.find(
(ent) => ent.webhook_id === webhookId (ent) => ent.webhook_id === webhookId
); )!;
const cloudhook = this._cloudHooks![webhookId]; const cloudhook = this._cloudHooks![webhookId];
const params: WebhookDialogParams = { showManageCloudhookDialog(this, {
webhook: webhook!, webhook,
cloudhook, cloudhook,
disableHook: () => this._disableWebhook(webhookId), disableHook: () => this._disableWebhook(webhookId),
}; });
fireEvent(this, "manage-cloud-webhook", params);
} }
private _handleManageButton(ev: MouseEvent) { private _handleManageButton(ev: MouseEvent) {