mirror of
https://github.com/home-assistant/frontend.git
synced 2025-08-01 13:37:47 +00:00
Move lovelace data to /src/data/lovelace.ts (#2119)
* move lovelace data * move types * change imports from cards
This commit is contained in:
parent
1cc6e09953
commit
97f5d8e7e2
@ -1,5 +1,29 @@
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { LovelaceConfig, LovelaceCardConfig } from "../types";
|
||||
import { HomeAssistant } from "../types";
|
||||
|
||||
export interface LovelaceConfig {
|
||||
_frontendAuto: boolean;
|
||||
title?: string;
|
||||
views: LovelaceViewConfig[];
|
||||
}
|
||||
|
||||
export interface LovelaceViewConfig {
|
||||
title?: string;
|
||||
badges?: string[];
|
||||
cards?: LovelaceCardConfig[];
|
||||
id?: string;
|
||||
icon?: string;
|
||||
}
|
||||
|
||||
export interface LovelaceCardConfig {
|
||||
id?: string;
|
||||
type: string;
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
export const fetchConfig = (hass: HomeAssistant): Promise<LovelaceConfig> =>
|
||||
hass.callWS({
|
||||
type: "lovelace/config",
|
||||
});
|
||||
|
||||
export const migrateConfig = (hass: HomeAssistant): Promise<void> =>
|
||||
hass.callWS({
|
@ -1,7 +1,8 @@
|
||||
import createCardElement from "../common/create-card-element";
|
||||
import { computeCardSize } from "../common/compute-card-size";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { LovelaceCard, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
|
||||
interface Condition {
|
||||
entity: string;
|
||||
|
@ -14,7 +14,8 @@ 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, LovelaceCardConfig, LovelaceCardEditor } from "../types";
|
||||
import { LovelaceCard, LovelaceCardEditor } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import processConfigEntities from "../common/process-config-entities";
|
||||
import createRowElement from "../common/create-row-element";
|
||||
import computeDomain from "../../../common/entity/compute_domain";
|
||||
|
@ -18,7 +18,8 @@ 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, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { longPress } from "../common/directives/long-press-directive";
|
||||
import { fireEvent } from "../../../common/dom/fire_event";
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { html, LitElement } from "@polymer/lit-element";
|
||||
|
||||
import { LovelaceCard, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { TemplateResult } from "lit-html";
|
||||
|
||||
interface Config extends LovelaceCardConfig {
|
||||
|
@ -6,7 +6,8 @@ import {
|
||||
} from "@polymer/lit-element";
|
||||
import { TemplateResult } from "lit-html";
|
||||
|
||||
import { LovelaceCard, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { fireEvent } from "../../../common/dom/fire_event";
|
||||
|
||||
|
@ -10,7 +10,8 @@ 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, LovelaceCardConfig, LovelaceCardEditor } from "../types";
|
||||
import { LovelaceCard, LovelaceCardEditor } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { longPress } from "../common/directives/long-press-directive";
|
||||
import { EntityConfig } from "../entity-rows/types";
|
||||
import { toggleEntity } from "../common/entity/toggle-entity";
|
||||
|
@ -2,7 +2,8 @@ import { html, LitElement, PropertyDeclarations } from "@polymer/lit-element";
|
||||
|
||||
import "../../../components/ha-card";
|
||||
|
||||
import { LovelaceCard, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { TemplateResult } from "lit-html";
|
||||
import { styleMap } from "lit-html/directives/styleMap";
|
||||
|
||||
|
@ -12,7 +12,8 @@ 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, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { longPress } from "../common/directives/long-press-directive";
|
||||
|
||||
import stateIcon from "../../../common/entity/state_icon";
|
||||
|
@ -4,7 +4,8 @@ import { classMap } from "lit-html/directives/classMap";
|
||||
import "../../../components/ha-card";
|
||||
import "../../../components/ha-markdown";
|
||||
|
||||
import { LovelaceCard, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { TemplateResult } from "lit-html";
|
||||
|
||||
interface Config extends LovelaceCardConfig {
|
||||
|
@ -2,7 +2,8 @@ import { html, LitElement, PropertyDeclarations } from "@polymer/lit-element";
|
||||
|
||||
import "../../../components/ha-card";
|
||||
|
||||
import { LovelaceCard, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { navigate } from "../../../common/navigate";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { TemplateResult } from "lit-html";
|
||||
|
@ -3,7 +3,8 @@ import { TemplateResult } from "lit-html";
|
||||
|
||||
import createHuiElement from "../common/create-hui-element";
|
||||
|
||||
import { LovelaceCard, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { LovelaceElementConfig, LovelaceElement } from "../elements/types";
|
||||
|
||||
|
@ -5,7 +5,8 @@ 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, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { EntityConfig } from "../entity-rows/types";
|
||||
import { navigate } from "../../../common/navigate";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
|
@ -9,7 +9,8 @@ import "../../../components/ha-icon";
|
||||
|
||||
import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { LovelaceCard, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import {
|
||||
fetchItems,
|
||||
completeItem,
|
||||
|
@ -3,7 +3,8 @@ import { TemplateResult } from "lit-html";
|
||||
|
||||
import createCardElement from "../common/create-card-element";
|
||||
|
||||
import { LovelaceCard, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
|
||||
interface Config extends LovelaceCardConfig {
|
||||
|
@ -15,7 +15,8 @@ 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, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
|
||||
import "../../../components/ha-card";
|
||||
import "../../../components/ha-icon";
|
||||
|
@ -3,7 +3,7 @@ import {
|
||||
LovelaceConfig,
|
||||
LovelaceCardConfig,
|
||||
LovelaceViewConfig,
|
||||
} from "../types";
|
||||
} from "../../../data/lovelace";
|
||||
import { HassEntity, HassEntities } from "home-assistant-js-websocket";
|
||||
import extractViews from "../../../common/entity/extract_views";
|
||||
import getViewEntities from "../../../common/entity/get_view_entities";
|
||||
|
@ -6,7 +6,7 @@ import {
|
||||
registerEditCardDialog,
|
||||
} from "../editor/hui-dialog-edit-card";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
|
||||
declare global {
|
||||
// for fire event
|
||||
|
@ -3,7 +3,8 @@ 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, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { LovelaceCard } from "../types";
|
||||
import { ConfigError } from "./types";
|
||||
|
||||
const CUSTOM_TYPE_PREFIX = "custom:";
|
||||
|
@ -3,7 +3,7 @@ import { TemplateResult } from "lit-html";
|
||||
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { fireEvent, HASSDomEvent } from "../../../common/dom/fire_event";
|
||||
import { LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import "./hui-edit-card";
|
||||
import "./hui-migrate-config";
|
||||
|
||||
|
@ -9,9 +9,12 @@ import { PaperDialogElement } from "@polymer/paper-dialog/paper-dialog";
|
||||
import "@polymer/paper-button/paper-button";
|
||||
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { LovelaceConfig } from "../types";
|
||||
|
||||
import { saveConfig, migrateConfig } from "../common/data";
|
||||
import {
|
||||
saveConfig,
|
||||
migrateConfig,
|
||||
LovelaceConfig,
|
||||
} from "../../../data/lovelace";
|
||||
import { fireEvent } from "../../../common/dom/fire_event";
|
||||
import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin";
|
||||
|
||||
|
@ -12,7 +12,7 @@ import "@polymer/paper-button/paper-button";
|
||||
import "@polymer/paper-input/paper-textarea";
|
||||
import "@polymer/paper-dialog-scrollable/paper-dialog-scrollable";
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { updateCardConfig } from "../common/data";
|
||||
import { updateCardConfig, LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { fireEvent } from "../../../common/dom/fire_event";
|
||||
import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin";
|
||||
|
||||
@ -21,7 +21,7 @@ import "./hui-card-preview";
|
||||
// This is not a duplicate import, one is for types, one is for element.
|
||||
// tslint:disable-next-line
|
||||
import { HuiCardPreview } from "./hui-card-preview";
|
||||
import { LovelaceCardEditor, LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCardEditor } from "../types";
|
||||
import { YamlChangedEvent, ConfigValue, ConfigError } from "./types";
|
||||
import { extYamlSchema } from "./yaml-ext-schema";
|
||||
import { EntityConfig } from "../entity-rows/types";
|
||||
|
@ -11,7 +11,7 @@ import { fireEvent } from "../../../common/dom/fire_event";
|
||||
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin";
|
||||
import { migrateConfig } from "../common/data";
|
||||
import { migrateConfig } from "../../../data/lovelace";
|
||||
|
||||
export class HuiMigrateConfig extends hassLocalizeLitMixin(LitElement) {
|
||||
protected hass?: HomeAssistant;
|
||||
|
@ -5,7 +5,7 @@ import "@polymer/paper-spinner/paper-spinner";
|
||||
|
||||
import { HomeAssistant } from "../../../types";
|
||||
import { fireEvent } from "../../../common/dom/fire_event";
|
||||
import { getCardConfig } from "../common/data";
|
||||
import { getCardConfig } from "../../../data/lovelace";
|
||||
|
||||
export class HuiYAMLEditor extends LitElement {
|
||||
public cardId?: string;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { LovelaceCardConfig } from "../types";
|
||||
import { LovelaceCardConfig } from "../../../data/lovelace";
|
||||
import { EntityConfig } from "../entity-rows/types";
|
||||
|
||||
export interface YamlChangedEvent extends Event {
|
||||
|
@ -3,6 +3,7 @@ import { PolymerElement } from "@polymer/polymer/polymer-element";
|
||||
import "@polymer/paper-button/paper-button";
|
||||
|
||||
import { registerSaveDialog } from "./editor/hui-dialog-save-config";
|
||||
import { fetchConfig } from "../../data/lovelace";
|
||||
import "../../layouts/hass-loading-screen";
|
||||
import "../../layouts/hass-error-screen";
|
||||
import "./hui-root";
|
||||
@ -114,7 +115,7 @@ class Lovelace extends localizeMixin(PolymerElement) {
|
||||
|
||||
async _fetchConfig() {
|
||||
try {
|
||||
const conf = await this.hass.callWS({ type: "lovelace/config" });
|
||||
const conf = await fetchConfig(this.hass);
|
||||
this.setProperties({
|
||||
_config: conf,
|
||||
_state: "loaded",
|
||||
|
@ -1,24 +1,5 @@
|
||||
import { HomeAssistant } from "../../types";
|
||||
|
||||
export interface LovelaceCardConfig {
|
||||
id?: string;
|
||||
type: string;
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
export interface LovelaceViewConfig {
|
||||
title?: string;
|
||||
badges?: string[];
|
||||
cards?: LovelaceCardConfig[];
|
||||
id?: string;
|
||||
icon?: string;
|
||||
}
|
||||
|
||||
export interface LovelaceConfig {
|
||||
_frontendAuto: boolean;
|
||||
title?: string;
|
||||
views: LovelaceViewConfig[];
|
||||
}
|
||||
import { LovelaceCardConfig } from "../../data/lovelace";
|
||||
|
||||
export interface LovelaceCard extends HTMLElement {
|
||||
hass?: HomeAssistant;
|
||||
|
Loading…
x
Reference in New Issue
Block a user