From fabc49d17e650d8c24b67d36d3241a98c8c21da8 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 16 Jul 2019 20:36:40 -0700 Subject: [PATCH 1/7] Fix theme color in dev index.html --- build-scripts/gulp/entry-html.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-scripts/gulp/entry-html.js b/build-scripts/gulp/entry-html.js index eb26093925..c322aac4ec 100644 --- a/build-scripts/gulp/entry-html.js +++ b/build-scripts/gulp/entry-html.js @@ -86,7 +86,7 @@ gulp.task("gen-index-app-dev", (done) => { es5CoreJS: "/frontend_es5/core.js", es5CustomPanelJS: "/frontend_es5/custom-panel.js", es5HassIconsJS: "/frontend_es5/hass-icons.js", - }); + }).replace(/#THEMEC/g, "{{ theme_color }}"); fs.outputFileSync(path.resolve(config.root, "index.html"), content); done(); From 09a19d2e7f0812f4c51691adb0c32df2019d91a6 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 16 Jul 2019 20:38:35 -0700 Subject: [PATCH 2/7] Allow scrolling notification drawer. Fixes 3366 --- src/dialogs/notifications/notification-drawer.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/dialogs/notifications/notification-drawer.js b/src/dialogs/notifications/notification-drawer.js index 0b1255a762..2b574b13d9 100644 --- a/src/dialogs/notifications/notification-drawer.js +++ b/src/dialogs/notifications/notification-drawer.js @@ -34,6 +34,8 @@ export class HuiNotificationDrawer extends EventsMixin( .notifications { overflow-y: auto; padding-top: 16px; + height: calc(100% - 65px); + box-sizing: border-box; } .notification { From 3ebb30bd4819df4e5a7dd9be8d6fb7b5b6bc4949 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 16 Jul 2019 20:43:00 -0700 Subject: [PATCH 3/7] Only show advanced mode toggle for admins. Fixes #3369 --- src/panels/profile/ha-panel-profile.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/panels/profile/ha-panel-profile.js b/src/panels/profile/ha-panel-profile.js index 1cefa17524..47577bc73c 100644 --- a/src/panels/profile/ha-panel-profile.js +++ b/src/panels/profile/ha-panel-profile.js @@ -104,10 +104,12 @@ class HaPanelProfile extends EventsMixin(LocalizeMixin(PolymerElement)) { mfa-modules="[[hass.user.mfa_modules]]" > - + cred.auth_provider_type === "homeassistant" ); } + + _isAdmin(user) { + return user.is_admin; + } } customElements.define("ha-panel-profile", HaPanelProfile); From 567769be5a834b16197266346b16ecb5af44cd89 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 16 Jul 2019 21:33:09 -0700 Subject: [PATCH 4/7] Use hass icons for search input --- src/common/search/search-input.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/search/search-input.ts b/src/common/search/search-input.ts index deb36885b7..65b29881e9 100644 --- a/src/common/search/search-input.ts +++ b/src/common/search/search-input.ts @@ -26,7 +26,7 @@ class SearchInput extends LitElement { @value-changed=${this._filterInputChanged} > @@ -36,7 +36,7 @@ class SearchInput extends LitElement { slot="suffix" class="suffix" @click=${this._clearSearch} - icon="mdi:close" + icon="hass:close" alt="Clear" title="Clear" > From eaaeb10c6d7b99998d503899b40b6b7887020d50 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 16 Jul 2019 21:34:12 -0700 Subject: [PATCH 5/7] Store width before searching to avoid jumping --- .../config-flow/step-flow-pick-handler.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/dialogs/config-flow/step-flow-pick-handler.ts b/src/dialogs/config-flow/step-flow-pick-handler.ts index 0fbe0ba597..8599155837 100644 --- a/src/dialogs/config-flow/step-flow-pick-handler.ts +++ b/src/dialogs/config-flow/step-flow-pick-handler.ts @@ -18,6 +18,7 @@ import * as Fuse from "fuse.js"; import "../../components/ha-icon-next"; import "../../common/search/search-input"; +import { styleMap } from "lit-html/directives/style-map"; interface HandlerObj { name: string; @@ -29,6 +30,7 @@ class StepFlowPickHandler extends LitElement { @property() public hass!: HomeAssistant; @property() public handlers!: string[]; @property() private filter?: string; + private _width?: Number; private _getHandlers = memoizeOne((h: string[], filter?: string) => { const handlers: HandlerObj[] = h.map((handler) => { @@ -58,11 +60,11 @@ class StepFlowPickHandler extends LitElement { return html`

${this.hass.localize("ui.panel.config.integrations.new")}

-
- + +
${handlers.map( (handler: HandlerObj) => html` @@ -80,6 +82,11 @@ class StepFlowPickHandler extends LitElement { private async _filterChanged(e) { this.filter = e.detail.value; + + // Store the width so that when we search, box doesn't jump + if (this._width === undefined) { + this._width = this.shadowRoot!.querySelector("div")!.clientWidth; + } } private async _handlerPicked(ev) { From 55aa5a0d1212322cc186c894e5a56ef754add3a1 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 16 Jul 2019 21:39:38 -0700 Subject: [PATCH 6/7] Scroll device list when goes out of screen. Fixes #3343 --- src/dialogs/config-flow/step-flow-create-entry.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/dialogs/config-flow/step-flow-create-entry.ts b/src/dialogs/config-flow/step-flow-create-entry.ts index ac38ba95ed..5ecc457a40 100644 --- a/src/dialogs/config-flow/step-flow-create-entry.ts +++ b/src/dialogs/config-flow/step-flow-create-entry.ts @@ -69,9 +69,10 @@ class StepFlowCreateEntry extends LitElement { (device) => html`
- ${device.name}
- ${device.model} (${device.manufacturer}) - +
+ ${device.name}
+ ${device.model} (${device.manufacturer}) +
Date: Tue, 16 Jul 2019 22:41:47 -0700 Subject: [PATCH 7/7] Fix typing --- src/dialogs/config-flow/step-flow-pick-handler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dialogs/config-flow/step-flow-pick-handler.ts b/src/dialogs/config-flow/step-flow-pick-handler.ts index 8599155837..3305c258d7 100644 --- a/src/dialogs/config-flow/step-flow-pick-handler.ts +++ b/src/dialogs/config-flow/step-flow-pick-handler.ts @@ -30,7 +30,7 @@ class StepFlowPickHandler extends LitElement { @property() public hass!: HomeAssistant; @property() public handlers!: string[]; @property() private filter?: string; - private _width?: Number; + private _width?: number; private _getHandlers = memoizeOne((h: string[], filter?: string) => { const handlers: HandlerObj[] = h.map((handler) => {