diff --git a/src/panels/lovelace/components/hui-card-options.ts b/src/panels/lovelace/components/hui-card-options.ts index c84761f2dd..d05333bb1b 100644 --- a/src/panels/lovelace/components/hui-card-options.ts +++ b/src/panels/lovelace/components/hui-card-options.ts @@ -50,14 +50,15 @@ export class HuiCardOptions extends hassLocalizeLitMixin(LitElement) {
+ ${ + this.localize("ui.panel.lovelace.editor.edit_card.edit") + } ${ this.localize("ui.panel.lovelace.editor.edit_card.delete") }${ - this.localize("ui.panel.lovelace.editor.edit_card.edit") - }
`; diff --git a/src/panels/lovelace/editor/hui-edit-view.ts b/src/panels/lovelace/editor/hui-edit-view.ts index 0188a945c2..18d7b65186 100644 --- a/src/panels/lovelace/editor/hui-edit-view.ts +++ b/src/panels/lovelace/editor/hui-edit-view.ts @@ -10,6 +10,10 @@ import "@polymer/paper-spinner/paper-spinner"; import "@polymer/paper-tabs/paper-tab"; import "@polymer/paper-tabs/paper-tabs"; import "@polymer/paper-dialog/paper-dialog"; +import "@polymer/paper-icon-button/paper-icon-button.js"; +import "@polymer/paper-item/paper-item.js"; +import "@polymer/paper-listbox/paper-listbox.js"; +import "@polymer/paper-menu-button/paper-menu-button.js"; // This is not a duplicate import, one is for types, one is for element. // tslint:disable-next-line import { PaperDialogElement } from "@polymer/paper-dialog/paper-dialog"; @@ -28,6 +32,8 @@ import { hassLocalizeLitMixin } from "../../../mixins/lit-localize-mixin"; import { EntitiesEditorEvent, ViewEditEvent } from "./types"; import { processEditorEntities } from "./process-editor-entities"; import { EntityConfig } from "../entity-rows/types"; +import { confDeleteView } from "./delete-view"; +import { navigate } from "../../../common/navigate"; export class HuiEditView extends hassLocalizeLitMixin(LitElement) { static get properties(): PropertyDeclarations { @@ -146,6 +152,15 @@ export class HuiEditView extends hassLocalizeLitMixin(LitElement) { > ${this.localize("ui.common.save")} + + + + Delete + + `; @@ -189,6 +204,20 @@ export class HuiEditView extends hassLocalizeLitMixin(LitElement) { this._updateConfigInBackend(); } + private _delete() { + if (this._config!.cards && this._config!.cards!.length > 0) { + alert( + "You can't delete a view that has card in them. Remove the cards first." + ); + return; + } + confDeleteView(this.hass!, this._config!.id!, () => { + this._closeDialog(); + this.reloadLovelace!(); + navigate(this, `/lovelace/0`); + }); + } + private async _resizeDialog(): Promise { await this.updateComplete; fireEvent(this._dialog, "iron-resize"); diff --git a/src/panels/lovelace/hui-root.js b/src/panels/lovelace/hui-root.js index 16a3faed0d..2dab751fa9 100644 --- a/src/panels/lovelace/hui-root.js +++ b/src/panels/lovelace/hui-root.js @@ -34,7 +34,6 @@ import debounce from "../../common/util/debounce"; import createCardElement from "./common/create-card-element"; import { showSaveDialog } from "./editor/hui-dialog-save-config"; import { showEditViewDialog } from "./editor/show-edit-view-dialog"; -import { confDeleteView } from "./editor/delete-view"; // CSS and JS should only be imported once. Modules and HTML are safe. const CSS_CACHE = {}; @@ -61,7 +60,6 @@ class HUIRoot extends NavigateMixin( text-transform: uppercase; } #add-view { - background: var(--paper-fab-background, var(--accent-color)); position: absolute; height: 44px; } @@ -71,12 +69,9 @@ class HUIRoot extends NavigateMixin( paper-button.warning:not([disabled]) { color: var(--google-red-500); } - app-toolbar.secondary { - background-color: var(--light-primary-color); - color: var(--primary-text-color, #333); - font-size: 14px; - font-weight: 500; - height: auto; + #add-view ha-icon { + background-color: var(--accent-color); + border-radius: 5px; } #view { min-height: calc(100vh - 112px); @@ -95,6 +90,9 @@ class HUIRoot extends NavigateMixin( paper-item { cursor: pointer; } + .edit-view-icon { + padding-left: 8px; + } [[_computeTabTitle(item.title)]] +