Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions src/panels/lovelace/cards/hui-conditional-card.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import createCardElement from "../common/create-card-element";
import { computeCardSize } from "../common/compute-card-size";
import { HomeAssistant } from "../../../types";
import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";

interface Condition {
entity: string;
state?: string;
state_not?: string;
}

interface Config extends LovelaceConfig {
card: LovelaceConfig;
interface Config extends LovelaceCardConfig {
card: LovelaceCardConfig;
conditions: Condition[];
}

Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/cards/hui-entities-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { DOMAINS_HIDE_MORE_INFO } from "../../../common/const";
import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin";
import { HomeAssistant } from "../../../types";
import { EntityConfig, EntityRow } from "../entity-rows/types";
import { LovelaceCard, LovelaceConfig, LovelaceCardEditor } from "../types";
import { LovelaceCard, LovelaceCardConfig, LovelaceCardEditor } from "../types";
import processConfigEntities from "../common/process-config-entities";
import createRowElement from "../common/create-row-element";
import computeDomain from "../../../common/entity/compute_domain";
Expand All @@ -29,7 +29,7 @@ export interface ConfigEntity extends EntityConfig {
url?: string;
}

export interface Config extends LovelaceConfig {
export interface Config extends LovelaceCardConfig {
show_header_toggle?: boolean;
title?: string;
entities: ConfigEntity[];
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/cards/hui-entity-button-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ import applyThemesOnElement from "../../../common/dom/apply_themes_on_element";
import { toggleEntity } from "../common/entity/toggle-entity";
import { HomeAssistant, LightEntity } from "../../../types";
import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin";
import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";
import { longPress } from "../common/directives/long-press-directive";
import { fireEvent } from "../../../common/dom/fire_event";

interface Config extends LovelaceConfig {
interface Config extends LovelaceCardConfig {
entity: string;
name?: string;
icon?: string;
Expand Down
8 changes: 4 additions & 4 deletions src/panels/lovelace/cards/hui-error-card.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { html, LitElement } from "@polymer/lit-element";

import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";
import { TemplateResult } from "lit-html";

interface Config extends LovelaceConfig {
interface Config extends LovelaceCardConfig {
error: string;
origConfig: LovelaceConfig;
origConfig: LovelaceCardConfig;
}

class HuiErrorCard extends LitElement implements LovelaceCard {
Expand Down Expand Up @@ -50,7 +50,7 @@ class HuiErrorCard extends LitElement implements LovelaceCard {
`;
}

private _toStr(config: LovelaceConfig): string {
private _toStr(config: LovelaceCardConfig): string {
return JSON.stringify(config, null, 2);
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/cards/hui-gauge-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
} from "@polymer/lit-element";
import { TemplateResult } from "lit-html";

import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";
import { HomeAssistant } from "../../../types";
import { fireEvent } from "../../../common/dom/fire_event";

Expand All @@ -16,7 +16,7 @@ import { hasConfigOrEntityChanged } from "../common/has-changed";

import "../../../components/ha-card";

interface Config extends LovelaceConfig {
interface Config extends LovelaceCardConfig {
entity: string;
title?: string;
unit_of_measurement?: string;
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/cards/hui-glance-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { classMap } from "lit-html/directives/classMap";
import { fireEvent } from "../../../common/dom/fire_event";
import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin";
import { HomeAssistant } from "../../../types";
import { LovelaceCard, LovelaceConfig, LovelaceCardEditor } from "../types";
import { LovelaceCard, LovelaceCardConfig, LovelaceCardEditor } from "../types";
import { longPress } from "../common/directives/long-press-directive";
import { EntityConfig } from "../entity-rows/types";
import { toggleEntity } from "../common/entity/toggle-entity";
Expand All @@ -31,7 +31,7 @@ export interface ConfigEntity extends EntityConfig {
service_data?: object;
}

export interface Config extends LovelaceConfig {
export interface Config extends LovelaceCardConfig {
show_name?: boolean;
show_state?: boolean;
title?: string;
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/cards/hui-iframe-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import { html, LitElement, PropertyDeclarations } from "@polymer/lit-element";

import "../../../components/ha-card";

import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";
import { TemplateResult } from "lit-html";
import { styleMap } from "lit-html/directives/styleMap";

interface Config extends LovelaceConfig {
interface Config extends LovelaceCardConfig {
aspect_ratio?: string;
title?: string;
url: string;
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/cards/hui-light-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { jQuery } from "../../../resources/jquery";
import { roundSliderStyle } from "../../../resources/jquery.roundslider";
import { HomeAssistant, LightEntity } from "../../../types";
import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin";
import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";
import { longPress } from "../common/directives/long-press-directive";

import stateIcon from "../../../common/entity/state_icon";
Expand All @@ -37,7 +37,7 @@ const lightConfig = {
showTooltip: false,
};

interface Config extends LovelaceConfig {
interface Config extends LovelaceCardConfig {
entity: string;
name?: string;
theme?: string;
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/cards/hui-markdown-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import { classMap } from "lit-html/directives/classMap";
import "../../../components/ha-card";
import "../../../components/ha-markdown";

import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";
import { TemplateResult } from "lit-html";

interface Config extends LovelaceConfig {
interface Config extends LovelaceCardConfig {
content: string;
title?: string;
}
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/cards/hui-picture-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ import { html, LitElement, PropertyDeclarations } from "@polymer/lit-element";

import "../../../components/ha-card";

import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";
import { navigate } from "../../../common/navigate";
import { HomeAssistant } from "../../../types";
import { TemplateResult } from "lit-html";
import { classMap } from "lit-html/directives/classMap";

interface Config extends LovelaceConfig {
interface Config extends LovelaceCardConfig {
image?: string;
navigation_path?: string;
service?: string;
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/cards/hui-picture-elements-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import { TemplateResult } from "lit-html";

import createHuiElement from "../common/create-hui-element";

import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";
import { HomeAssistant } from "../../../types";
import { LovelaceElementConfig, LovelaceElement } from "../elements/types";

interface Config extends LovelaceConfig {
interface Config extends LovelaceCardConfig {
title?: string;
image: string;
elements: LovelaceElementConfig[];
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/cards/hui-picture-glance-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ 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, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";
import { EntityConfig } from "../entity-rows/types";
import { navigate } from "../../../common/navigate";
import { HomeAssistant } from "../../../types";
Expand All @@ -23,7 +23,7 @@ import "../components/hui-image";

const STATES_OFF = new Set(["closed", "locked", "not_home", "off"]);

interface Config extends LovelaceConfig {
interface Config extends LovelaceCardConfig {
entities: EntityConfig[];
title?: string;
navigation_path?: string;
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/cards/hui-shopping-list-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import "../../../components/ha-icon";

import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin";
import { HomeAssistant } from "../../../types";
import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";
import {
fetchItems,
completeItem,
Expand All @@ -19,7 +19,7 @@ import {
addItem,
} from "../../../data/shopping-list";

interface Config extends LovelaceConfig {
interface Config extends LovelaceCardConfig {
title?: string;
}

Expand Down
6 changes: 3 additions & 3 deletions src/panels/lovelace/cards/hui-stack-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import { TemplateResult } from "lit-html";

import createCardElement from "../common/create-card-element";

import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";
import { HomeAssistant } from "../../../types";

interface Config extends LovelaceConfig {
cards: LovelaceConfig[];
interface Config extends LovelaceCardConfig {
cards: LovelaceCardConfig[];
}

export abstract class HuiStackCard extends LitElement implements LovelaceCard {
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/cards/hui-thermostat-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import { hasConfigOrEntityChanged } from "../common/has-changed";
import { roundSliderStyle } from "../../../resources/jquery.roundslider";
import { HomeAssistant, ClimateEntity } from "../../../types";
import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin";
import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";

import "../../../components/ha-card";
import "../../../components/ha-icon";
Expand Down Expand Up @@ -43,7 +43,7 @@ const modeIcons = {
idle: "hass:power-sleep",
};

interface Config extends LovelaceConfig {
interface Config extends LovelaceCardConfig {
entity: string;
theme?: string;
}
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/common/data.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { HomeAssistant } from "../../../types";
import { LovelaceConfig } from "../types";
import { LovelaceCardConfig } from "../types";

export const getCardConfig = (
hass: HomeAssistant,
Expand All @@ -13,7 +13,7 @@ export const getCardConfig = (
export const updateCardConfig = (
hass: HomeAssistant,
cardId: string,
config: LovelaceConfig | string,
config: LovelaceCardConfig | string,
configFormat: "json" | "yaml"
): Promise<void> =>
hass.callWS({
Expand Down
33 changes: 9 additions & 24 deletions src/panels/lovelace/common/generate-lovelace-config.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
import { HomeAssistant, GroupEntity } from "../../../types";
import {
LovelaceConfig,
LovelaceCardConfig,
LovelaceViewConfig,
} from "../types";
import { HassEntity, HassEntities } from "home-assistant-js-websocket";
import extractViews from "../../../common/entity/extract_views";
import getViewEntities from "../../../common/entity/get_view_entities";
Expand All @@ -9,26 +14,6 @@ import computeStateDomain from "../../../common/entity/compute_state_domain";
import { LocalizeFunc } from "../../../mixins/localize-base-mixin";
import computeDomain from "../../../common/entity/compute_domain";

interface CardConfig {
id?: string;
type: string;
[key: string]: any;
}

interface ViewConfig {
title?: string;
badges?: string[];
cards?: CardConfig[];
id?: string;
icon?: string;
}

interface LovelaceConfig {
_frontendAuto: boolean;
title?: string;
views: ViewConfig[];
}

const DEFAULT_VIEW_ENTITY_ID = "group.default_view";
const DOMAINS_BADGES = [
"binary_sensor",
Expand All @@ -43,8 +28,8 @@ const HIDE_DOMAIN = new Set(["persistent_notification", "configurator"]);
const computeCards = (
title: string,
states: Array<[string, HassEntity]>
): CardConfig[] => {
const cards: CardConfig[] = [];
): LovelaceCardConfig[] => {
const cards: LovelaceCardConfig[] = [];

// For entity card
const entities: string[] = [];
Expand Down Expand Up @@ -109,7 +94,7 @@ const generateViewConfig = (
icon: string | undefined,
entities: HassEntities,
groupOrders: { [entityId: string]: number }
): ViewConfig => {
): LovelaceViewConfig => {
const splitted = splitByGroups(entities);
splitted.groups.sort(
(gr1, gr2) => groupOrders[gr1.entity_id] - groupOrders[gr2.entity_id]
Expand Down Expand Up @@ -141,7 +126,7 @@ const generateViewConfig = (
}
});

let cards: CardConfig[] = [];
let cards: LovelaceCardConfig[] = [];

splitted.groups.forEach((groupEntity) => {
cards = cards.concat(
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/components/hui-card-options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ import "@polymer/paper-button/paper-button";
import { html, LitElement, PropertyDeclarations } from "@polymer/lit-element";
import { fireEvent } from "../../../common/dom/fire_event";
import { HomeAssistant } from "../../../types";
import { LovelaceConfig } from "../types";
import { LovelaceCardConfig } from "../types";

let registeredDialog = false;

export class HuiCardOptions extends LitElement {
public cardConfig?: LovelaceConfig;
public cardConfig?: LovelaceCardConfig;
protected hass?: HomeAssistant;

static get properties(): PropertyDeclarations {
Expand Down
6 changes: 3 additions & 3 deletions src/panels/lovelace/editor/hui-card-preview.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import "@polymer/paper-input/paper-textarea";
import createCardElement from "../common/create-card-element";
import createErrorCardConfig from "../common/create-error-card-config";
import { HomeAssistant } from "../../../types";
import { LovelaceCard, LovelaceConfig } from "../types";
import { LovelaceCard, LovelaceCardConfig } from "../types";
import { ConfigError } from "./types";

const CUSTOM_TYPE_PREFIX = "custom:";
Expand All @@ -28,7 +28,7 @@ export class HuiCardPreview extends HTMLElement {
this._createCard(configValue);
}

set config(configValue: LovelaceConfig) {
set config(configValue: LovelaceCardConfig) {
if (!configValue) {
return;
}
Expand All @@ -49,7 +49,7 @@ export class HuiCardPreview extends HTMLElement {
}
}

private _createCard(configValue: LovelaceConfig): void {
private _createCard(configValue: LovelaceCardConfig): void {
if (this._element) {
this.removeChild(this._element);
}
Expand Down
4 changes: 2 additions & 2 deletions src/panels/lovelace/editor/hui-dialog-edit-card.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ import { html, LitElement, PropertyDeclarations } from "@polymer/lit-element";
import { TemplateResult } from "lit-html";

import { HomeAssistant } from "../../../types";
import { LovelaceConfig } from "../types";
import { LovelaceCardConfig } from "../types";
import "./hui-edit-card";
import "./hui-migrate-config";

export class HuiDialogEditCard extends LitElement {
protected _hass?: HomeAssistant;
private _cardConfig?: LovelaceConfig;
private _cardConfig?: LovelaceCardConfig;
private _reloadLovelace?: () => void;

static get properties(): PropertyDeclarations {
Expand Down
Loading