From d57bcc27013d4b46d338ba99b9c89874bbe04b5f Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 10 Dec 2018 11:40:34 +0100 Subject: [PATCH] Disable edit in yaml mode (#2244) --- src/panels/lovelace/hui-root.js | 57 +++++++++++++-------------------- 1 file changed, 22 insertions(+), 35 deletions(-) diff --git a/src/panels/lovelace/hui-root.js b/src/panels/lovelace/hui-root.js index 614e833de0..537359b4ee 100644 --- a/src/panels/lovelace/hui-root.js +++ b/src/panels/lovelace/hui-root.js @@ -124,7 +124,9 @@ class HUIRoot extends NavigateMixin( > - Refresh + Unused entities [[localize("ui.panel.lovelace.editor.configure_ui")]] (alpha) Help @@ -174,55 +176,32 @@ class HUIRoot extends NavigateMixin( return { narrow: Boolean, showMenu: Boolean, - hass: { - type: Object, - observer: "_hassChanged", - }, + hass: { type: Object, observer: "_hassChanged" }, config: { type: Object, computed: "_computeConfig(lovelace)", observer: "_configChanged", }, - lovelace: { - type: Object, - }, - columns: { - type: Number, - observer: "_columnsChanged", - }, - - _curView: { - type: Number, - value: 0, - }, - - route: { - type: Object, - observer: "_routeChanged", - }, - - notificationsOpen: { - type: Boolean, - value: false, - }, - - _persistentNotifications: { - type: Array, - value: [], - }, - + lovelace: { type: Object }, + columns: { type: Number, observer: "_columnsChanged" }, + _curView: { type: Number, value: 0 }, + route: { type: Object, observer: "_routeChanged" }, + notificationsOpen: { type: Boolean, value: false }, + _persistentNotifications: { type: Array, value: [] }, _notifications: { type: Array, computed: "_updateNotifications(hass.states, _persistentNotifications)", }, - + _yamlMode: { + type: Boolean, + computed: "_computeYamlMode(lovelace)", + }, _editMode: { type: Boolean, value: false, computed: "_computeEditMode(lovelace)", observer: "_editModeChanged", }, - routeData: Object, }; } @@ -309,6 +288,10 @@ class HUIRoot extends NavigateMixin( } _editModeEnable() { + if (this._yamlMode) { + window.alert("The edit UI is not available when in YAML mode."); + return; + } this.lovelace.setEditMode(true); if (this.config.views.length < 2) { this.$.view.classList.remove("tabs-hidden"); @@ -445,6 +428,10 @@ class HUIRoot extends NavigateMixin( return lovelace ? lovelace.config : null; } + _computeYamlMode(lovelace) { + return lovelace ? lovelace.mode === "yaml" : false; + } + _computeEditMode(lovelace) { return lovelace ? lovelace.editMode : false; }