Change frontend setting prioritization
This commit is contained in:
		
							parent
							
								
									d5edd2452a
								
							
						
					
					
						commit
						02c8f91690
					
				@ -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() {
 | 
				
			||||||
 | 
				
			|||||||
@ -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) => {
 | 
				
			||||||
 | 
				
			|||||||
@ -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
 | 
				
			||||||
            >
 | 
					            >
 | 
				
			||||||
 | 
				
			|||||||
@ -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)]);
 | 
				
			||||||
 | 
				
			|||||||
@ -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,
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -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
 | 
				
			||||||
 | 
				
			|||||||
@ -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(
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user