diff --git a/src/components/dialogs/hacs-add-repository-dialog.ts b/src/components/dialogs/hacs-add-repository-dialog.ts index 6da7d1ea..0666dde8 100644 --- a/src/components/dialogs/hacs-add-repository-dialog.ts +++ b/src/components/dialogs/hacs-add-repository-dialog.ts @@ -110,6 +110,7 @@ export class HacsAddRepositoryDialog extends HacsDialogBase { >
-
-
${this.checked ? "✔" : ""}
-
-
${this.label}
-
- `; - } - - private _checkboxClicked() { - this.checked = !this.checked; - this.dispatchEvent( - new CustomEvent("checkbox-change", { - detail: { - id: this.id, - }, - bubbles: true, - composed: true, - }) - ); - } - - static get styles(): CSSResultGroup { - return [ - HacsStyles, - css` - .checkbox-container { - display: flex; - color: var(--hcv-text-color-primary); - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - } - - .label { - line-height: 18px; - opacity: var(--dark-primary-opacity); - font-family: var(--paper-font-subhead_-_font-family); - -webkit-font-smoothing: var(--paper-font-subhead_-_-webkit-font-smoothing); - font-size: var(--paper-font-subhead_-_font-size); - cursor: pointer; - } - - .value { - margin-left: 2px; - color: var(--hcv-text-color-on-background); - } - - .checkbox { - cursor: pointer; - height: 16px; - width: 16px; - font-size: 14px; - margin-right: 8px; - background-color: var(--primary-background-color); - border: 1px solid var(--divider-color); - border-radius: 4px; - line-height: 16px; - } - - .checkbox.checked { - border-color: var(--accent-color); - background-color: var(--accent-color); - } - `, - ]; - } -} diff --git a/src/components/hacs-filter.ts b/src/components/hacs-filter.ts index 5474276b..afc89bac 100644 --- a/src/components/hacs-filter.ts +++ b/src/components/hacs-filter.ts @@ -1,38 +1,41 @@ +import "../../homeassistant-frontend/src/components/ha-checkbox"; +import "../../homeassistant-frontend/src/components/ha-formfield"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import { Filter } from "../data/common"; import { Hacs } from "../data/hacs"; import { HacsStyles } from "../styles/hacs-common-style"; -import "./hacs-checkbox"; @customElement("hacs-filter") export class HacsFilter extends LitElement { - @property({ attribute: false }) public filters: Filter[]; - @property({ attribute: false }) public hacs: Hacs; + @property({ attribute: false }) public filters?: Filter[]; - protected async firstUpdated() { - this.addEventListener("checkbox-change", (e) => this._filterClick(e)); - } + @property({ attribute: false }) public hacs!: Hacs; protected render(): TemplateResult | void { return html`
${this.filters?.map( (filter) => html` - - ` + > + + + + ` )}
`; } private _filterClick(ev): void { - const filter = ev.detail; + const filter = ev.currentTarget; this.dispatchEvent( new CustomEvent("filter-change", { detail: { diff --git a/src/panels/hacs-store-panel.ts b/src/panels/hacs-store-panel.ts index 6406f917..81d1923a 100644 --- a/src/panels/hacs-store-panel.ts +++ b/src/panels/hacs-store-panel.ts @@ -183,6 +183,7 @@ export class HacsStorePanel extends LitElement {