1
0
mirror of https://github.com/home-assistant/frontend.git synced 2025-12-20 02:38:53 +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:
dcapslock
2025-12-11 01:23:53 +11:00
committed by GitHub
parent 6db7817032
commit 3c5c19270f
2 changed files with 11 additions and 1 deletions

View File

@@ -67,6 +67,11 @@ export class HuiBadge extends ConditionalListenerMixin<LovelaceBadgeConfig>(
if (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(
"ll-upgrade",
(ev: Event) => {
@@ -168,7 +173,11 @@ export class HuiBadge extends ConditionalListenerMixin<LovelaceBadgeConfig>(
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);
} else if (visible && !this._element.parentElement) {
this.appendChild(this._element);

View File

@@ -44,6 +44,7 @@ export interface Lovelace {
export interface LovelaceBadge extends HTMLElement {
hass?: HomeAssistant;
connectedWhileHidden?: boolean;
setConfig(config: LovelaceBadgeConfig): void;
}