From 530745d20d9a8c3b202a4cf790e9313e7ad99cf5 Mon Sep 17 00:00:00 2001 From: Paul Bottein Date: Wed, 26 Jun 2024 23:18:27 +0200 Subject: [PATCH] Revert "20240626.1" (#21180) Revert "20240626.1 (#21179)" This reverts commit a16cae0671c744b4ea87ec90a04ecbff918a7ca6. --- hassio/src/components/hassio-filter-addons.ts | 3 +-- pyproject.toml | 2 +- src/common/string/strip-diacritics.ts | 2 +- .../add-automation-element-dialog.ts | 5 ++-- .../integrations/dialog-add-integration.ts | 3 +-- .../ha-config-integrations-dashboard.ts | 25 +++++++++---------- src/panels/lovelace/cards/hui-card.ts | 2 -- .../editor/card-editor/hui-card-picker.ts | 3 +-- src/util/fuse.ts | 12 --------- 9 files changed, 19 insertions(+), 38 deletions(-) delete mode 100644 src/util/fuse.ts diff --git a/hassio/src/components/hassio-filter-addons.ts b/hassio/src/components/hassio-filter-addons.ts index 1970aa5495..cb72ab3a52 100644 --- a/hassio/src/components/hassio-filter-addons.ts +++ b/hassio/src/components/hassio-filter-addons.ts @@ -2,7 +2,6 @@ import type { IFuseOptions } from "fuse.js"; import Fuse from "fuse.js"; import { stripDiacritics } from "../../../src/common/string/strip-diacritics"; import { StoreAddon } from "../../../src/data/supervisor/store"; -import { getStripDiacriticsFn } from "../../../src/util/fuse"; export function filterAndSort(addons: StoreAddon[], filter: string) { const options: IFuseOptions = { @@ -10,7 +9,7 @@ export function filterAndSort(addons: StoreAddon[], filter: string) { isCaseSensitive: false, minMatchCharLength: Math.min(filter.length, 2), threshold: 0.2, - getFn: getStripDiacriticsFn, + getFn: (obj, path) => stripDiacritics(Fuse.config.getFn(obj, path)), }; const fuse = new Fuse(addons, options); return fuse.search(stripDiacritics(filter)).map((result) => result.item); diff --git a/pyproject.toml b/pyproject.toml index 2a2ab98c32..e2c30d045b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "home-assistant-frontend" -version = "20240626.1" +version = "20240626.0" license = {text = "Apache-2.0"} description = "The Home Assistant frontend" readme = "README.md" diff --git a/src/common/string/strip-diacritics.ts b/src/common/string/strip-diacritics.ts index 6a704d86e3..a82ddf2c45 100644 --- a/src/common/string/strip-diacritics.ts +++ b/src/common/string/strip-diacritics.ts @@ -1,2 +1,2 @@ -export const stripDiacritics = (str: string) => +export const stripDiacritics = (str) => str.normalize("NFD").replace(/[\u0300-\u036F]/g, ""); diff --git a/src/panels/config/automation/add-automation-element-dialog.ts b/src/panels/config/automation/add-automation-element-dialog.ts index a18822216b..6f75232f52 100644 --- a/src/panels/config/automation/add-automation-element-dialog.ts +++ b/src/panels/config/automation/add-automation-element-dialog.ts @@ -18,7 +18,6 @@ import memoizeOne from "memoize-one"; import { fireEvent } from "../../../common/dom/fire_event"; import { computeDomain } from "../../../common/entity/compute_domain"; import { stringCompare } from "../../../common/string/compare"; -import { stripDiacritics } from "../../../common/string/strip-diacritics"; import { LocalizeFunc } from "../../../common/translations/localize"; import { deepEqual } from "../../../common/util/deep-equal"; import "../../../components/ha-dialog"; @@ -51,11 +50,11 @@ import { TRIGGER_GROUPS, TRIGGER_ICONS } from "../../../data/trigger"; import { HassDialog } from "../../../dialogs/make-dialog-manager"; import { haStyle, haStyleDialog } from "../../../resources/styles"; import { HomeAssistant } from "../../../types"; -import { getStripDiacriticsFn } from "../../../util/fuse"; import { AddAutomationElementDialogParams, PASTE_VALUE, } from "./show-add-automation-element-dialog"; +import { stripDiacritics } from "../../../common/string/strip-diacritics"; const TYPES = { trigger: { groups: TRIGGER_GROUPS, icons: TRIGGER_ICONS }, @@ -210,7 +209,7 @@ class DialogAddAutomationElement extends LitElement implements HassDialog { isCaseSensitive: false, minMatchCharLength: Math.min(filter.length, 2), threshold: 0.2, - getFn: getStripDiacriticsFn, + getFn: (obj, path) => stripDiacritics(Fuse.config.getFn(obj, path)), }; const fuse = new Fuse(items, options); return fuse.search(stripDiacritics(filter)).map((result) => result.item); diff --git a/src/panels/config/integrations/dialog-add-integration.ts b/src/panels/config/integrations/dialog-add-integration.ts index e94008727d..004ac0c611 100644 --- a/src/panels/config/integrations/dialog-add-integration.ts +++ b/src/panels/config/integrations/dialog-add-integration.ts @@ -56,7 +56,6 @@ import { } from "./show-add-integration-dialog"; import { getConfigEntries } from "../../../data/config_entries"; import { stripDiacritics } from "../../../common/string/strip-diacritics"; -import { getStripDiacriticsFn } from "../../../util/fuse"; export interface IntegrationListItem { name: string; @@ -257,7 +256,7 @@ class AddIntegrationDialog extends LitElement { isCaseSensitive: false, minMatchCharLength: Math.min(filter.length, 2), threshold: 0.2, - getFn: getStripDiacriticsFn, + getFn: (obj, path) => stripDiacritics(Fuse.config.getFn(obj, path)), }; const helpers = Object.entries(h).map(([domain, integration]) => ({ domain, diff --git a/src/panels/config/integrations/ha-config-integrations-dashboard.ts b/src/panels/config/integrations/ha-config-integrations-dashboard.ts index 8c1dacbf3e..48987048d8 100644 --- a/src/panels/config/integrations/ha-config-integrations-dashboard.ts +++ b/src/panels/config/integrations/ha-config-integrations-dashboard.ts @@ -1,27 +1,25 @@ import { ActionDetail } from "@material/mwc-list"; import { mdiFilterVariant, mdiPlus } from "@mdi/js"; -import type { IFuseOptions } from "fuse.js"; import Fuse from "fuse.js"; +import type { IFuseOptions } from "fuse.js"; import type { UnsubscribeFunc } from "home-assistant-js-websocket"; import { - CSSResultGroup, - LitElement, - PropertyValues, css, + CSSResultGroup, html, + LitElement, nothing, + PropertyValues, } from "lit"; import { customElement, property, state } from "lit/decorators"; import { ifDefined } from "lit/directives/if-defined"; import memoizeOne from "memoize-one"; import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { - PROTOCOL_INTEGRATIONS, protocolIntegrationPicked, + PROTOCOL_INTEGRATIONS, } from "../../../common/integrations/protocolIntegrationPicked"; import { navigate } from "../../../common/navigate"; -import { caseInsensitiveStringCompare } from "../../../common/string/compare"; -import { stripDiacritics } from "../../../common/string/strip-diacritics"; import { extractSearchParam } from "../../../common/url/search-params"; import { nextRender } from "../../../common/util/render-status"; import "../../../components/ha-button-menu"; @@ -31,7 +29,6 @@ import "../../../components/ha-fab"; import "../../../components/ha-icon-button"; import "../../../components/ha-svg-icon"; import "../../../components/search-input"; -import "../../../components/search-input-outlined"; import { ConfigEntry, getConfigEntries } from "../../../data/config_entries"; import { getConfigFlowInProgressCollection } from "../../../data/config_flow"; import { fetchDiagnosticHandlers } from "../../../data/diagnostics"; @@ -40,11 +37,11 @@ import { subscribeEntityRegistry, } from "../../../data/entity_registry"; import { - IntegrationLogInfo, - IntegrationManifest, domainToName, fetchIntegrationManifest, fetchIntegrationManifests, + IntegrationLogInfo, + IntegrationManifest, subscribeLogInfo, } from "../../../data/integration"; import { @@ -62,17 +59,19 @@ import "../../../layouts/hass-tabs-subpage"; import { SubscribeMixin } from "../../../mixins/subscribe-mixin"; import { haStyle } from "../../../resources/styles"; import type { HomeAssistant, Route } from "../../../types"; -import { getStripDiacriticsFn } from "../../../util/fuse"; import { configSections } from "../ha-panel-config"; import { isHelperDomain } from "../helpers/const"; import "./ha-config-flow-card"; import { DataEntryFlowProgressExtended } from "./ha-config-integrations"; -import "./ha-disabled-config-entry-card"; import "./ha-ignored-config-entry-card"; import "./ha-integration-card"; import type { HaIntegrationCard } from "./ha-integration-card"; import "./ha-integration-overflow-menu"; import { showAddIntegrationDialog } from "./show-add-integration-dialog"; +import "./ha-disabled-config-entry-card"; +import { caseInsensitiveStringCompare } from "../../../common/string/compare"; +import "../../../components/search-input-outlined"; +import { stripDiacritics } from "../../../common/string/strip-diacritics"; export interface ConfigEntryExtended extends ConfigEntry { localized_domain_name?: string; @@ -210,7 +209,7 @@ class HaConfigIntegrationsDashboard extends SubscribeMixin(LitElement) { isCaseSensitive: false, minMatchCharLength: Math.min(filter.length, 2), threshold: 0.2, - getFn: getStripDiacriticsFn, + getFn: (obj, path) => stripDiacritics(Fuse.config.getFn(obj, path)), }; const fuse = new Fuse(configEntriesInProgress, options); filteredEntries = fuse diff --git a/src/panels/lovelace/cards/hui-card.ts b/src/panels/lovelace/cards/hui-card.ts index a892d4764d..e8091f2b87 100644 --- a/src/panels/lovelace/cards/hui-card.ts +++ b/src/panels/lovelace/cards/hui-card.ts @@ -105,8 +105,6 @@ export class HuiCard extends ReactiveElement { "ll-upgrade", (ev: Event) => { ev.stopPropagation(); - element.hass = this.hass; - element.preview = this.preview; fireEvent(this, "card-updated"); }, { once: true } diff --git a/src/panels/lovelace/editor/card-editor/hui-card-picker.ts b/src/panels/lovelace/editor/card-editor/hui-card-picker.ts index 3537955479..65d8d94bdd 100644 --- a/src/panels/lovelace/editor/card-editor/hui-card-picker.ts +++ b/src/panels/lovelace/editor/card-editor/hui-card-picker.ts @@ -29,7 +29,6 @@ import { getCustomCardEntry, } from "../../../../data/lovelace_custom_cards"; import type { HomeAssistant } from "../../../../types"; -import { getStripDiacriticsFn } from "../../../../util/fuse"; import { calcUnusedEntities, computeUsedEntities, @@ -88,7 +87,7 @@ export class HuiCardPicker extends LitElement { isCaseSensitive: false, minMatchCharLength: Math.min(filter.length, 2), threshold: 0.2, - getFn: getStripDiacriticsFn, + getFn: (obj, path) => stripDiacritics(Fuse.config.getFn(obj, path)), }; const fuse = new Fuse(cards, options); cards = fuse.search(stripDiacritics(filter)).map((result) => result.item); diff --git a/src/util/fuse.ts b/src/util/fuse.ts deleted file mode 100644 index 56157d7001..0000000000 --- a/src/util/fuse.ts +++ /dev/null @@ -1,12 +0,0 @@ -import Fuse from "fuse.js"; -import { stripDiacritics } from "../common/string/strip-diacritics"; - -type GetFn = typeof Fuse.config.getFn; - -export const getStripDiacriticsFn: GetFn = (obj, path) => { - const value = Fuse.config.getFn(obj, path); - if (Array.isArray(value)) { - return value.map((v) => stripDiacritics(v ?? "")); - } - return stripDiacritics((value as string | undefined) ?? ""); -};