Change frontend setting prioritization

This commit is contained in:
Thomas Lovén 2022-07-24 13:24:17 +00:00
parent d5edd2452a
commit 02c8f91690
7 changed files with 26 additions and 22 deletions

View File

@ -464,7 +464,7 @@ const ConnectionMixin = (SuperClass) => {
return settings; return settings;
} }
get settings() { get settings() {
return Object.assign(Object.assign(Object.assign({}, this.global_settings), this.user_settings), this.browser_settings); return Object.assign(Object.assign(Object.assign({}, this.global_settings), this.browser_settings), this.user_settings);
} }
set_setting(key, value, level) { set_setting(key, value, level) {
var _a; var _a;
@ -1869,8 +1869,8 @@ const AutoSettingsMixin = (SuperClass) => {
} }
// Hide sidebar // Hide sidebar
if (settings.hideSidebar === true) { if (settings.hideSidebar === true) {
selectTree(document.body, "home-assistant$home-assistant-main$app-drawer-layout").then((el) => el.style.setProperty("--app-drawer-width", "0px")); selectTree(document.body, "home-assistant$home-assistant-main$app-drawer-layout").then((el) => { var _a; return (_a = el === null || el === void 0 ? void 0 : el.style) === null || _a === void 0 ? void 0 : _a.setProperty("--app-drawer-width", "0px"); });
selectTree(document.body, "home-assistant$home-assistant-main$app-drawer-layout app-drawer").then((el) => el.remove()); selectTree(document.body, "home-assistant$home-assistant-main$app-drawer-layout app-drawer").then((el) => { var _a; return (_a = el === null || el === void 0 ? void 0 : el.remove) === null || _a === void 0 ? void 0 : _a.call(el); });
} }
// Hide header // Hide header
if (settings.hideHeader === true) { if (settings.hideHeader === true) {
@ -2014,7 +2014,7 @@ const BrowserIDMixin = (SuperClass) => {
x navigate x navigate
- lovelace-reload? - lovelace-reload?
x window-reload x window-reload
- screensaver - screensaver ?
x sequence x sequence
x delay x delay
x javascript eval x javascript eval
@ -2036,6 +2036,8 @@ const BrowserIDMixin = (SuperClass) => {
- Video player? - Video player?
- Media_seek - Media_seek
- Screensavers - Screensavers
- IMPORTANT: FIX DEFAULT HIDING OF ENTITIES
- Check functionality with CAST - may need to add frontend part as a lovelace resource
*/ */
class BrowserMod extends ServicesMixin(PopupMixin(ActivityMixin(BrowserStateMixin(CameraMixin(MediaPlayerMixin(ScreenSaverMixin(AutoSettingsMixin(FullyMixin(RequireInteractMixin(ConnectionMixin(BrowserIDMixin(EventTarget)))))))))))) { class BrowserMod extends ServicesMixin(PopupMixin(ActivityMixin(BrowserStateMixin(CameraMixin(MediaPlayerMixin(ScreenSaverMixin(AutoSettingsMixin(FullyMixin(RequireInteractMixin(ConnectionMixin(BrowserIDMixin(EventTarget)))))))))))) {
constructor() { constructor() {

View File

@ -158,7 +158,7 @@ class BrowserModRegisteredBrowsersCard$1 extends s {
</div> </div>
<div class="card-content"> <div class="card-content">
<ha-settings-row> <ha-settings-row>
<span slot="heading">Enable</span> <span slot="heading">Register</span>
<span slot="description" <span slot="description"
>Enable this browser as a Device in Home Assistant</span >Enable this browser as a Device in Home Assistant</span
> >
@ -419,9 +419,9 @@ class BrowserModFrontendSettingsCard extends s {
this._selectedTab = parseInt(ev.detail.index, 10); this._selectedTab = parseInt(ev.detail.index, 10);
} }
render() { render() {
const level = ["browser", "user", "global"][this._selectedTab]; const level = ["user", "browser", "global"][this._selectedTab];
return $ ` return $ `
<ha-card header="Frontend settings" outlined> <ha-card header="Frontend Settings" outlined>
<div class="card-content"> <div class="card-content">
<ha-alert alert-type="warning"> <ha-alert alert-type="warning">
<p> <p>
@ -445,10 +445,10 @@ class BrowserModFrontendSettingsCard extends s {
.activeIndex=${this._selectedTab} .activeIndex=${this._selectedTab}
@MDCTabBar:activated=${this._handleSwitchTab} @MDCTabBar:activated=${this._handleSwitchTab}
> >
<mwc-tab .label=${"Browser"}></mwc-tab>
<ha-icon .icon=${"mdi:chevron-double-right"}></ha-icon>
<mwc-tab .label=${"User (" + this.hass.user.name + ")"}></mwc-tab> <mwc-tab .label=${"User (" + this.hass.user.name + ")"}></mwc-tab>
<ha-icon .icon=${"mdi:chevron-double-right"}></ha-icon> <ha-icon .icon=${"mdi:chevron-double-right"}></ha-icon>
<mwc-tab .label=${"Browser"}></mwc-tab>
<ha-icon .icon=${"mdi:chevron-double-right"}></ha-icon>
<mwc-tab .label=${"Global"}></mwc-tab> <mwc-tab .label=${"Global"}></mwc-tab>
</mwc-tab-bar> </mwc-tab-bar>
@ -459,9 +459,9 @@ class BrowserModFrontendSettingsCard extends s {
} }
_render_settings(level) { _render_settings(level) {
const global = window.browser_mod.global_settings; const global = window.browser_mod.global_settings;
const user = window.browser_mod.user_settings;
const browser = window.browser_mod.browser_settings; const browser = window.browser_mod.browser_settings;
const current = { global, user, browser }[level]; const user = window.browser_mod.user_settings;
const current = { global, browser, user }[level];
const DESC_BOOLEAN = (val) => ({ true: "Enabled", false: "Disabled", undefined: "Unset" }[String(val)]); const DESC_BOOLEAN = (val) => ({ true: "Enabled", false: "Disabled", undefined: "Unset" }[String(val)]);
const DESC_SET_UNSET = (val) => (val === undefined ? "Unset" : "Set"); const DESC_SET_UNSET = (val) => (val === undefined ? "Unset" : "Set");
const OVERRIDDEN = (key) => { const OVERRIDDEN = (key) => {

View File

@ -58,7 +58,7 @@ class BrowserModRegisteredBrowsersCard extends LitElement {
</div> </div>
<div class="card-content"> <div class="card-content">
<ha-settings-row> <ha-settings-row>
<span slot="heading">Enable</span> <span slot="heading">Register</span>
<span slot="description" <span slot="description"
>Enable this browser as a Device in Home Assistant</span >Enable this browser as a Device in Home Assistant</span
> >

View File

@ -23,9 +23,9 @@ class BrowserModFrontendSettingsCard extends LitElement {
} }
render() { render() {
const level = ["browser", "user", "global"][this._selectedTab]; const level = ["user", "browser", "global"][this._selectedTab];
return html` return html`
<ha-card header="Frontend settings" outlined> <ha-card header="Frontend Settings" outlined>
<div class="card-content"> <div class="card-content">
<ha-alert alert-type="warning"> <ha-alert alert-type="warning">
<p> <p>
@ -49,10 +49,10 @@ class BrowserModFrontendSettingsCard extends LitElement {
.activeIndex=${this._selectedTab} .activeIndex=${this._selectedTab}
@MDCTabBar:activated=${this._handleSwitchTab} @MDCTabBar:activated=${this._handleSwitchTab}
> >
<mwc-tab .label=${"Browser"}></mwc-tab>
<ha-icon .icon=${"mdi:chevron-double-right"}></ha-icon>
<mwc-tab .label=${"User (" + this.hass.user.name + ")"}></mwc-tab> <mwc-tab .label=${"User (" + this.hass.user.name + ")"}></mwc-tab>
<ha-icon .icon=${"mdi:chevron-double-right"}></ha-icon> <ha-icon .icon=${"mdi:chevron-double-right"}></ha-icon>
<mwc-tab .label=${"Browser"}></mwc-tab>
<ha-icon .icon=${"mdi:chevron-double-right"}></ha-icon>
<mwc-tab .label=${"Global"}></mwc-tab> <mwc-tab .label=${"Global"}></mwc-tab>
</mwc-tab-bar> </mwc-tab-bar>
@ -64,9 +64,9 @@ class BrowserModFrontendSettingsCard extends LitElement {
_render_settings(level) { _render_settings(level) {
const global = window.browser_mod.global_settings; const global = window.browser_mod.global_settings;
const user = window.browser_mod.user_settings;
const browser = window.browser_mod.browser_settings; const browser = window.browser_mod.browser_settings;
const current = { global, user, browser }[level]; const user = window.browser_mod.user_settings;
const current = { global, browser, user }[level];
const DESC_BOOLEAN = (val) => const DESC_BOOLEAN = (val) =>
({ true: "Enabled", false: "Disabled", undefined: "Unset" }[String(val)]); ({ true: "Enabled", false: "Disabled", undefined: "Unset" }[String(val)]);

View File

@ -145,8 +145,8 @@ export const ConnectionMixin = (SuperClass) => {
get settings() { get settings() {
return { return {
...this.global_settings, ...this.global_settings,
...this.user_settings,
...this.browser_settings, ...this.browser_settings,
...this.user_settings,
}; };
} }

View File

@ -48,11 +48,11 @@ export const AutoSettingsMixin = (SuperClass) => {
selectTree( selectTree(
document.body, document.body,
"home-assistant$home-assistant-main$app-drawer-layout" "home-assistant$home-assistant-main$app-drawer-layout"
).then((el) => el.style.setProperty("--app-drawer-width", "0px")); ).then((el) => el?.style?.setProperty("--app-drawer-width", "0px"));
selectTree( selectTree(
document.body, document.body,
"home-assistant$home-assistant-main$app-drawer-layout app-drawer" "home-assistant$home-assistant-main$app-drawer-layout app-drawer"
).then((el) => el.remove()); ).then((el) => el?.remove?.());
} }
// Hide header // Hide header

View File

@ -42,7 +42,7 @@ import { BrowserIDMixin } from "./browserID";
x navigate x navigate
- lovelace-reload? - lovelace-reload?
x window-reload x window-reload
- screensaver - screensaver ?
x sequence x sequence
x delay x delay
x javascript eval x javascript eval
@ -64,6 +64,8 @@ import { BrowserIDMixin } from "./browserID";
- Video player? - Video player?
- Media_seek - Media_seek
- Screensavers - Screensavers
- IMPORTANT: FIX DEFAULT HIDING OF ENTITIES
- Check functionality with CAST - may need to add frontend part as a lovelace resource
*/ */
export class BrowserMod extends ServicesMixin( export class BrowserMod extends ServicesMixin(
PopupMixin( PopupMixin(