mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-26 02:36:37 +00:00
Do not use toggleAttribute (#3484)
This commit is contained in:
parent
b8a18a27a4
commit
f7bb85d332
@ -29,6 +29,7 @@ import {
|
|||||||
} from "../../../../src/data/lovelace";
|
} from "../../../../src/data/lovelace";
|
||||||
import "./hc-layout";
|
import "./hc-layout";
|
||||||
import { generateDefaultViewConfig } from "../../../../src/panels/lovelace/common/generate-lovelace-config";
|
import { generateDefaultViewConfig } from "../../../../src/panels/lovelace/common/generate-lovelace-config";
|
||||||
|
import { toggleAttribute } from "../../../../src/common/dom/toggle_attribute";
|
||||||
|
|
||||||
@customElement("hc-cast")
|
@customElement("hc-cast")
|
||||||
class HcCast extends LitElement {
|
class HcCast extends LitElement {
|
||||||
@ -158,7 +159,8 @@ class HcCast extends LitElement {
|
|||||||
|
|
||||||
protected updated(changedProps) {
|
protected updated(changedProps) {
|
||||||
super.updated(changedProps);
|
super.updated(changedProps);
|
||||||
this.toggleAttribute(
|
toggleAttribute(
|
||||||
|
this,
|
||||||
"hide-icons",
|
"hide-icons",
|
||||||
this.lovelaceConfig
|
this.lovelaceConfig
|
||||||
? !this.lovelaceConfig.views.some((view) => view.icon)
|
? !this.lovelaceConfig.views.some((view) => view.icon)
|
||||||
|
25
src/common/dom/toggle_attribute.ts
Normal file
25
src/common/dom/toggle_attribute.ts
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
// Toggle Attribute Polyfill because it's too new for some browsers
|
||||||
|
export const toggleAttribute = (
|
||||||
|
el: HTMLElement,
|
||||||
|
name: string,
|
||||||
|
force?: boolean
|
||||||
|
) => {
|
||||||
|
if (force !== undefined) {
|
||||||
|
force = !!force;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (el.hasAttribute(name)) {
|
||||||
|
if (force) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
el.removeAttribute(name);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (force === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
el.setAttribute(name, "");
|
||||||
|
return true;
|
||||||
|
};
|
@ -9,6 +9,7 @@ import {
|
|||||||
} from "lit-element";
|
} from "lit-element";
|
||||||
import { User } from "../../data/user";
|
import { User } from "../../data/user";
|
||||||
import { CurrentUser } from "../../types";
|
import { CurrentUser } from "../../types";
|
||||||
|
import { toggleAttribute } from "../../common/dom/toggle_attribute";
|
||||||
|
|
||||||
const computeInitials = (name: string) => {
|
const computeInitials = (name: string) => {
|
||||||
if (!name) {
|
if (!name) {
|
||||||
@ -40,7 +41,8 @@ class StateBadge extends LitElement {
|
|||||||
|
|
||||||
protected updated(changedProps) {
|
protected updated(changedProps) {
|
||||||
super.updated(changedProps);
|
super.updated(changedProps);
|
||||||
this.toggleAttribute(
|
toggleAttribute(
|
||||||
|
this,
|
||||||
"long",
|
"long",
|
||||||
(this.user ? computeInitials(this.user.name) : "?").length > 2
|
(this.user ? computeInitials(this.user.name) : "?").length > 2
|
||||||
);
|
);
|
||||||
|
@ -21,6 +21,7 @@ import { PolymerChangedEvent } from "../polymer-types";
|
|||||||
// tslint:disable-next-line: no-duplicate-imports
|
// tslint:disable-next-line: no-duplicate-imports
|
||||||
import { AppDrawerLayoutElement } from "@polymer/app-layout/app-drawer-layout/app-drawer-layout";
|
import { AppDrawerLayoutElement } from "@polymer/app-layout/app-drawer-layout/app-drawer-layout";
|
||||||
import { showNotificationDrawer } from "../dialogs/notifications/show-notification-drawer";
|
import { showNotificationDrawer } from "../dialogs/notifications/show-notification-drawer";
|
||||||
|
import { toggleAttribute } from "../common/dom/toggle_attribute";
|
||||||
|
|
||||||
const NON_SWIPABLE_PANELS = ["kiosk", "map"];
|
const NON_SWIPABLE_PANELS = ["kiosk", "map"];
|
||||||
|
|
||||||
@ -114,7 +115,8 @@ class HomeAssistantMain extends LitElement {
|
|||||||
protected updated(changedProps: PropertyValues) {
|
protected updated(changedProps: PropertyValues) {
|
||||||
super.updated(changedProps);
|
super.updated(changedProps);
|
||||||
|
|
||||||
this.toggleAttribute(
|
toggleAttribute(
|
||||||
|
this,
|
||||||
"expanded",
|
"expanded",
|
||||||
this.narrow || this.hass.dockedSidebar !== "auto"
|
this.narrow || this.hass.dockedSidebar !== "auto"
|
||||||
);
|
);
|
||||||
|
@ -17,6 +17,7 @@ import "../components/hui-warning";
|
|||||||
import { HomeAssistant } from "../../../types";
|
import { HomeAssistant } from "../../../types";
|
||||||
import { computeRTL } from "../../../common/util/compute_rtl";
|
import { computeRTL } from "../../../common/util/compute_rtl";
|
||||||
import { EntitiesCardEntityConfig } from "../cards/types";
|
import { EntitiesCardEntityConfig } from "../cards/types";
|
||||||
|
import { toggleAttribute } from "../../../common/dom/toggle_attribute";
|
||||||
|
|
||||||
class HuiGenericEntityRow extends LitElement {
|
class HuiGenericEntityRow extends LitElement {
|
||||||
@property() public hass?: HomeAssistant;
|
@property() public hass?: HomeAssistant;
|
||||||
@ -80,7 +81,7 @@ class HuiGenericEntityRow extends LitElement {
|
|||||||
protected updated(changedProps: PropertyValues): void {
|
protected updated(changedProps: PropertyValues): void {
|
||||||
super.updated(changedProps);
|
super.updated(changedProps);
|
||||||
if (changedProps.has("hass")) {
|
if (changedProps.has("hass")) {
|
||||||
this.toggleAttribute("rtl", computeRTL(this.hass!));
|
toggleAttribute(this, "rtl", computeRTL(this.hass!));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user