Skip to content

Commit a1aabd6

Browse files
committed
Fix card not always showing in preview mode.
It seems that editMode was recently renamed to preview in the front end: home-assistant/frontend#21065 Rearranged the logic to toggle the hidden state to track the state of preview as it changes.
1 parent 6dd9e6a commit a1aabd6

File tree

4 files changed

+13
-26
lines changed

4 files changed

+13
-26
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "decluttering-card",
3-
"version": "1.0.0",
3+
"version": "1.0.3",
44
"description": "Decluttering Card for Lovelace",
55
"main": "dist/decluttering-card.js",
66
"scripts": {

src/decluttering-card.ts

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ abstract class DeclutteringElement extends LitElement {
149149
:host(.child-card-hidden) {
150150
display: none;
151151
}
152-
:host([edit-mode='true']) {
152+
:host([preview]) {
153153
display: block !important;
154154
border: 1px solid var(--primary-color);
155155
}
@@ -391,8 +391,8 @@ class DeclutteringCardEditor extends LitElement implements LovelaceCardEditor {
391391
@customElement('decluttering-template')
392392
// eslint-disable-next-line @typescript-eslint/no-unused-vars
393393
class DeclutteringTemplate extends DeclutteringElement {
394-
@property({ attribute: 'edit-mode', reflect: true }) editMode;
395-
@state() private _previewMode = false;
394+
@property({ type: Boolean, reflect: true }) preview = false;
395+
396396
@state() private _template?: string;
397397

398398
static getConfigElement(): HTMLElement {
@@ -428,27 +428,15 @@ class DeclutteringTemplate extends DeclutteringElement {
428428
this._setTemplateConfig(config, undefined);
429429
}
430430

431-
async connectedCallback(): Promise<void> {
432-
super.connectedCallback();
433-
434-
this._previewMode = this.parentElement?.localName === 'hui-card-preview';
435-
if (!this.editMode && !this._previewMode) {
436-
this.setAttribute('hidden', '');
437-
} else {
438-
this.removeAttribute('hidden');
439-
}
440-
}
441-
442431
protected render(): TemplateResult | void {
443-
if (this._template) {
444-
if (this._previewMode) return super.render();
445-
if (this.editMode) {
446-
return html`
447-
<div class="badge">${this._template}</div>
448-
${super.render()}
449-
`;
450-
}
432+
if (this.preview) {
433+
this.toggleAttribute('hidden', false);
434+
return html`
435+
<div class="badge">${this._template}</div>
436+
${super.render()}
437+
`;
451438
}
439+
this.toggleAttribute('hidden', true);
452440
return html``;
453441
}
454442
}

src/types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ export interface LovelaceElementConfig {
3434

3535
export interface LovelaceRow extends HTMLElement {
3636
hass?: HomeAssistant;
37-
editMode?: boolean;
3837
setConfig(config: LovelaceRowConfig);
3938
}
4039

0 commit comments

Comments
 (0)