mirror of
https://github.com/home-assistant/frontend.git
synced 2025-12-24 12:49:19 +00:00
Allow for badges to be connectedWhileHidden and for hui-badge to respond to badge-visibility-changed event (#28399)
* Allow for badges to be connectedWhileHidden and for hui-badge to respond to badge-visibility-changed event * Update after environment prettier update
This commit is contained in:
@@ -67,6 +67,11 @@ export class HuiBadge extends ConditionalListenerMixin<LovelaceBadgeConfig>(
|
|||||||
if (this.hass) {
|
if (this.hass) {
|
||||||
this._element.hass = this.hass;
|
this._element.hass = this.hass;
|
||||||
}
|
}
|
||||||
|
// Update element when the visibility of the badge changes, e.g. custom badge
|
||||||
|
this._element.addEventListener("badge-visibility-changed", (ev: Event) => {
|
||||||
|
ev.stopPropagation();
|
||||||
|
this._updateVisibility();
|
||||||
|
});
|
||||||
this._element.addEventListener(
|
this._element.addEventListener(
|
||||||
"ll-upgrade",
|
"ll-upgrade",
|
||||||
(ev: Event) => {
|
(ev: Event) => {
|
||||||
@@ -168,7 +173,11 @@ export class HuiBadge extends ConditionalListenerMixin<LovelaceBadgeConfig>(
|
|||||||
fireEvent(this, "badge-visibility-changed", { value: visible });
|
fireEvent(this, "badge-visibility-changed", { value: visible });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!visible && this._element.parentElement) {
|
if (this._element.connectedWhileHidden === true) {
|
||||||
|
if (!this._element.parentElement) {
|
||||||
|
this.appendChild(this._element);
|
||||||
|
}
|
||||||
|
} else if (!visible && this._element.parentElement) {
|
||||||
this.removeChild(this._element);
|
this.removeChild(this._element);
|
||||||
} else if (visible && !this._element.parentElement) {
|
} else if (visible && !this._element.parentElement) {
|
||||||
this.appendChild(this._element);
|
this.appendChild(this._element);
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ export interface Lovelace {
|
|||||||
|
|
||||||
export interface LovelaceBadge extends HTMLElement {
|
export interface LovelaceBadge extends HTMLElement {
|
||||||
hass?: HomeAssistant;
|
hass?: HomeAssistant;
|
||||||
|
connectedWhileHidden?: boolean;
|
||||||
setConfig(config: LovelaceBadgeConfig): void;
|
setConfig(config: LovelaceBadgeConfig): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user