Change frontend setting prioritization
This commit is contained in:
		
							parent
							
								
									d5edd2452a
								
							
						
					
					
						commit
						02c8f91690
					
				@ -464,7 +464,7 @@ const ConnectionMixin = (SuperClass) => {
 | 
			
		||||
            return 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) {
 | 
			
		||||
            var _a;
 | 
			
		||||
@ -1869,8 +1869,8 @@ const AutoSettingsMixin = (SuperClass) => {
 | 
			
		||||
            }
 | 
			
		||||
            // Hide sidebar
 | 
			
		||||
            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 app-drawer").then((el) => el.remove());
 | 
			
		||||
                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) => { var _a; return (_a = el === null || el === void 0 ? void 0 : el.remove) === null || _a === void 0 ? void 0 : _a.call(el); });
 | 
			
		||||
            }
 | 
			
		||||
            // Hide header
 | 
			
		||||
            if (settings.hideHeader === true) {
 | 
			
		||||
@ -2014,7 +2014,7 @@ const BrowserIDMixin = (SuperClass) => {
 | 
			
		||||
      x navigate
 | 
			
		||||
      - lovelace-reload?
 | 
			
		||||
      x window-reload
 | 
			
		||||
      - screensaver
 | 
			
		||||
      - screensaver ?
 | 
			
		||||
      x sequence
 | 
			
		||||
      x delay
 | 
			
		||||
      x javascript eval
 | 
			
		||||
@ -2036,6 +2036,8 @@ const BrowserIDMixin = (SuperClass) => {
 | 
			
		||||
  - Video player?
 | 
			
		||||
  - Media_seek
 | 
			
		||||
  - 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)))))))))))) {
 | 
			
		||||
    constructor() {
 | 
			
		||||
 | 
			
		||||
@ -158,7 +158,7 @@ class BrowserModRegisteredBrowsersCard$1 extends s {
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="card-content">
 | 
			
		||||
          <ha-settings-row>
 | 
			
		||||
            <span slot="heading">Enable</span>
 | 
			
		||||
            <span slot="heading">Register</span>
 | 
			
		||||
            <span slot="description"
 | 
			
		||||
              >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);
 | 
			
		||||
    }
 | 
			
		||||
    render() {
 | 
			
		||||
        const level = ["browser", "user", "global"][this._selectedTab];
 | 
			
		||||
        const level = ["user", "browser", "global"][this._selectedTab];
 | 
			
		||||
        return $ `
 | 
			
		||||
      <ha-card header="Frontend settings" outlined>
 | 
			
		||||
      <ha-card header="Frontend Settings" outlined>
 | 
			
		||||
        <div class="card-content">
 | 
			
		||||
        <ha-alert alert-type="warning">
 | 
			
		||||
          <p>
 | 
			
		||||
@ -445,10 +445,10 @@ class BrowserModFrontendSettingsCard extends s {
 | 
			
		||||
            .activeIndex=${this._selectedTab}
 | 
			
		||||
            @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>
 | 
			
		||||
            <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-bar>
 | 
			
		||||
 | 
			
		||||
@ -459,9 +459,9 @@ class BrowserModFrontendSettingsCard extends s {
 | 
			
		||||
    }
 | 
			
		||||
    _render_settings(level) {
 | 
			
		||||
        const global = window.browser_mod.global_settings;
 | 
			
		||||
        const user = window.browser_mod.user_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_SET_UNSET = (val) => (val === undefined ? "Unset" : "Set");
 | 
			
		||||
        const OVERRIDDEN = (key) => {
 | 
			
		||||
 | 
			
		||||
@ -58,7 +58,7 @@ class BrowserModRegisteredBrowsersCard extends LitElement {
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="card-content">
 | 
			
		||||
          <ha-settings-row>
 | 
			
		||||
            <span slot="heading">Enable</span>
 | 
			
		||||
            <span slot="heading">Register</span>
 | 
			
		||||
            <span slot="description"
 | 
			
		||||
              >Enable this browser as a Device in Home Assistant</span
 | 
			
		||||
            >
 | 
			
		||||
 | 
			
		||||
@ -23,9 +23,9 @@ class BrowserModFrontendSettingsCard extends LitElement {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  render() {
 | 
			
		||||
    const level = ["browser", "user", "global"][this._selectedTab];
 | 
			
		||||
    const level = ["user", "browser", "global"][this._selectedTab];
 | 
			
		||||
    return html`
 | 
			
		||||
      <ha-card header="Frontend settings" outlined>
 | 
			
		||||
      <ha-card header="Frontend Settings" outlined>
 | 
			
		||||
        <div class="card-content">
 | 
			
		||||
        <ha-alert alert-type="warning">
 | 
			
		||||
          <p>
 | 
			
		||||
@ -49,10 +49,10 @@ class BrowserModFrontendSettingsCard extends LitElement {
 | 
			
		||||
            .activeIndex=${this._selectedTab}
 | 
			
		||||
            @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>
 | 
			
		||||
            <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-bar>
 | 
			
		||||
 | 
			
		||||
@ -64,9 +64,9 @@ class BrowserModFrontendSettingsCard extends LitElement {
 | 
			
		||||
 | 
			
		||||
  _render_settings(level) {
 | 
			
		||||
    const global = window.browser_mod.global_settings;
 | 
			
		||||
    const user = window.browser_mod.user_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)]);
 | 
			
		||||
 | 
			
		||||
@ -145,8 +145,8 @@ export const ConnectionMixin = (SuperClass) => {
 | 
			
		||||
    get settings() {
 | 
			
		||||
      return {
 | 
			
		||||
        ...this.global_settings,
 | 
			
		||||
        ...this.user_settings,
 | 
			
		||||
        ...this.browser_settings,
 | 
			
		||||
        ...this.user_settings,
 | 
			
		||||
      };
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -48,11 +48,11 @@ export const AutoSettingsMixin = (SuperClass) => {
 | 
			
		||||
        selectTree(
 | 
			
		||||
          document.body,
 | 
			
		||||
          "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(
 | 
			
		||||
          document.body,
 | 
			
		||||
          "home-assistant$home-assistant-main$app-drawer-layout app-drawer"
 | 
			
		||||
        ).then((el) => el.remove());
 | 
			
		||||
        ).then((el) => el?.remove?.());
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // Hide header
 | 
			
		||||
 | 
			
		||||
@ -42,7 +42,7 @@ import { BrowserIDMixin } from "./browserID";
 | 
			
		||||
      x navigate
 | 
			
		||||
      - lovelace-reload?
 | 
			
		||||
      x window-reload
 | 
			
		||||
      - screensaver
 | 
			
		||||
      - screensaver ?
 | 
			
		||||
      x sequence
 | 
			
		||||
      x delay
 | 
			
		||||
      x javascript eval
 | 
			
		||||
@ -64,6 +64,8 @@ import { BrowserIDMixin } from "./browserID";
 | 
			
		||||
  - Video player?
 | 
			
		||||
  - Media_seek
 | 
			
		||||
  - 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(
 | 
			
		||||
  PopupMixin(
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user