diff --git a/src/panels/lovelace/cards/hui-conditional-card.ts b/src/panels/lovelace/cards/hui-conditional-card.ts index 067848eb678b..5111855b1a6d 100644 --- a/src/panels/lovelace/cards/hui-conditional-card.ts +++ b/src/panels/lovelace/cards/hui-conditional-card.ts @@ -1,5 +1,5 @@ -import computeCardSize from "../common/compute-card-size"; import createCardElement from "../common/create-card-element"; +import { computeCardSize } from "../common/compute-card-size"; import { HomeAssistant } from "../../../types"; import { LovelaceCard, LovelaceConfig } from "../types"; @@ -72,7 +72,7 @@ class HuiConditionalCard extends HTMLElement implements LovelaceCard { } public getCardSize() { - return computeCardSize(this._card); + return computeCardSize(this._card!); } } diff --git a/src/panels/lovelace/cards/hui-horizontal-stack-card.ts b/src/panels/lovelace/cards/hui-horizontal-stack-card.ts index da193c0fabb2..39d5acf1ec67 100644 --- a/src/panels/lovelace/cards/hui-horizontal-stack-card.ts +++ b/src/panels/lovelace/cards/hui-horizontal-stack-card.ts @@ -1,8 +1,7 @@ import { html } from "@polymer/lit-element"; import { TemplateResult } from "lit-html"; -import computeCardSize from "../common/compute-card-size"; - +import { computeCardSize } from "../common/compute-card-size"; import { HuiStackCard } from "./hui-stack-card"; class HuiHorizontalStackCard extends HuiStackCard { diff --git a/src/panels/lovelace/cards/hui-vertical-stack-card.ts b/src/panels/lovelace/cards/hui-vertical-stack-card.ts index 740671179d76..b868e1226e44 100644 --- a/src/panels/lovelace/cards/hui-vertical-stack-card.ts +++ b/src/panels/lovelace/cards/hui-vertical-stack-card.ts @@ -1,7 +1,6 @@ import { html } from "@polymer/lit-element"; -import computeCardSize from "../common/compute-card-size"; - +import { computeCardSize } from "../common/compute-card-size"; import { HuiStackCard } from "./hui-stack-card"; import { TemplateResult } from "lit-html"; diff --git a/src/panels/lovelace/common/compute-card-size.js b/src/panels/lovelace/common/compute-card-size.js deleted file mode 100644 index fe59fba355d1..000000000000 --- a/src/panels/lovelace/common/compute-card-size.js +++ /dev/null @@ -1,3 +0,0 @@ -export default function computeCardSize(element) { - return typeof element.getCardSize === "function" ? element.getCardSize() : 1; -} diff --git a/src/panels/lovelace/common/compute-card-size.ts b/src/panels/lovelace/common/compute-card-size.ts new file mode 100644 index 000000000000..a8f884f75c4c --- /dev/null +++ b/src/panels/lovelace/common/compute-card-size.ts @@ -0,0 +1,5 @@ +import { LovelaceCard } from "../types"; + +export const computeCardSize = (card: LovelaceCard): number => { + return typeof card.getCardSize === "function" ? card.getCardSize() : 1; +}; diff --git a/src/panels/lovelace/common/compute-notifications.js b/src/panels/lovelace/common/compute-notifications.ts similarity index 57% rename from src/panels/lovelace/common/compute-notifications.js rename to src/panels/lovelace/common/compute-notifications.ts index 691b2138f561..5bfb1c4f613f 100644 --- a/src/panels/lovelace/common/compute-notifications.js +++ b/src/panels/lovelace/common/compute-notifications.ts @@ -1,7 +1,9 @@ +import { HassEntities, HassEntity } from "home-assistant-js-websocket"; + import computeDomain from "../../../common/entity/compute_domain"; -export default function computeNotifications(states) { +export const computeNotifications = (states: HassEntities): HassEntity[] => { return Object.keys(states) .filter((entityId) => computeDomain(entityId) === "configurator") .map((entityId) => states[entityId]); -} +}; diff --git a/src/panels/lovelace/hui-root.js b/src/panels/lovelace/hui-root.js index b1f3a8af200b..4d52bc1850a2 100644 --- a/src/panels/lovelace/hui-root.js +++ b/src/panels/lovelace/hui-root.js @@ -23,6 +23,7 @@ import "../../components/ha-start-voice-button"; import "../../components/ha-icon"; import { loadModule, loadCSS, loadJS } from "../../common/dom/load_resource"; import { subscribeNotifications } from "../../data/ws-notifications"; +import { computeNotifications } from "./common/compute-notifications"; import "./components/notifications/hui-notification-drawer"; import "./components/notifications/hui-notifications-button"; import "./hui-unused-entities"; @@ -30,7 +31,6 @@ import "./hui-view"; import debounce from "../../common/util/debounce"; import createCardElement from "./common/create-card-element"; -import computeNotifications from "./common/compute-notifications"; // CSS and JS should only be imported once. Modules and HTML are safe. const CSS_CACHE = {}; diff --git a/src/panels/lovelace/hui-view.js b/src/panels/lovelace/hui-view.js index 509f59bad747..76826f025510 100644 --- a/src/panels/lovelace/hui-view.js +++ b/src/panels/lovelace/hui-view.js @@ -7,7 +7,7 @@ import "./components/hui-card-options.ts"; import applyThemesOnElement from "../../common/dom/apply_themes_on_element"; import createCardElement from "./common/create-card-element"; -import computeCardSize from "./common/compute-card-size"; +import { computeCardSize } from "./common/compute-card-size"; class HUIView extends PolymerElement { static get template() {