Static import all the LL cards etc (#4987)

This commit is contained in:
Paulus Schoutsen
2020-02-26 00:40:54 -08:00
committed by Bram Kragten
parent 38d758b52f
commit f02bb67485
4 changed files with 124 additions and 38 deletions

View File

@@ -16,6 +16,23 @@ import {
getLovelaceElementClass,
} from "./create-element-base";
// lazy load imports
import "../cards/hui-alarm-panel-card";
import "../cards/hui-empty-state-card";
import "../cards/hui-entity-filter-card";
import "../cards/hui-picture-elements-card";
import "../cards/hui-picture-entity-card";
import "../cards/hui-picture-glance-card";
import "../cards/hui-plant-status-card";
import "../cards/hui-safe-mode-card";
import "../cards/hui-shopping-list-card";
import "../cards/hui-conditional-card";
import "../cards/hui-gauge-card";
import "../cards/hui-iframe-card";
import "../cards/hui-map-card";
import "../cards/hui-markdown-card";
import "../cards/hui-picture-card";
const ALWAYS_LOADED_TYPES = new Set([
"entities",
"button",
@@ -30,24 +47,41 @@ const ALWAYS_LOADED_TYPES = new Set([
"thermostat",
"vertical-stack",
"weather-forecast",
// Lazy load types
"alarm-panel",
"empty-state",
"entity-filter",
"picture-elements",
"picture-entity",
"picture-glance",
"plant-status",
"safe-mode",
"shopping-list",
"conditional",
"gauge",
"iframe",
"map",
"markdown",
"picture",
]);
const LAZY_LOAD_TYPES = {
"alarm-panel": () => import("../cards/hui-alarm-panel-card"),
"empty-state": () => import("../cards/hui-empty-state-card"),
"entity-filter": () => import("../cards/hui-entity-filter-card"),
"picture-elements": () => import("../cards/hui-picture-elements-card"),
"picture-entity": () => import("../cards/hui-picture-entity-card"),
"picture-glance": () => import("../cards/hui-picture-glance-card"),
"plant-status": () => import("../cards/hui-plant-status-card"),
"safe-mode": () => import("../cards/hui-safe-mode-card"),
"shopping-list": () => import("../cards/hui-shopping-list-card"),
conditional: () => import("../cards/hui-conditional-card"),
gauge: () => import("../cards/hui-gauge-card"),
iframe: () => import("../cards/hui-iframe-card"),
map: () => import("../cards/hui-map-card"),
markdown: () => import("../cards/hui-markdown-card"),
picture: () => import("../cards/hui-picture-card"),
// "alarm-panel": () => import("../cards/hui-alarm-panel-card"),
// "empty-state": () => import("../cards/hui-empty-state-card"),
// "entity-filter": () => import("../cards/hui-entity-filter-card"),
// "picture-elements": () => import("../cards/hui-picture-elements-card"),
// "picture-entity": () => import("../cards/hui-picture-entity-card"),
// "picture-glance": () => import("../cards/hui-picture-glance-card"),
// "plant-status": () => import("../cards/hui-plant-status-card"),
// "safe-mode": () => import("../cards/hui-safe-mode-card"),
// "shopping-list": () => import("../cards/hui-shopping-list-card"),
// conditional: () => import("../cards/hui-conditional-card"),
// gauge: () => import("../cards/hui-gauge-card"),
// iframe: () => import("../cards/hui-iframe-card"),
// map: () => import("../cards/hui-map-card"),
// markdown: () => import("../cards/hui-markdown-card"),
// picture: () => import("../cards/hui-picture-card"),
};
export const createCardElement = (config: LovelaceCardConfig) =>