Fix memoize function

This commit is contained in:
Wendelin 2025-02-18 06:29:17 +01:00
parent c1a214d1af
commit 18b2360e46
No known key found for this signature in database

View File

@ -53,7 +53,6 @@ import { preventDefault } from "../common/dom/prevent_default";
import { import {
saveSidebarPreferences, saveSidebarPreferences,
subscribeSidebarPreferences, subscribeSidebarPreferences,
type SidebarPreferences,
} from "../data/sidebar"; } from "../data/sidebar";
const SHOW_AFTER_SPACER = ["config", "developer-tools"]; const SHOW_AFTER_SPACER = ["config", "developer-tools"];
@ -401,18 +400,20 @@ class HaSidebar extends SubscribeMixin(LitElement) {
private _getPanelPreferencesMemoized = memoizeOne( private _getPanelPreferencesMemoized = memoizeOne(
( (
userPreferences: SidebarPreferences, userPanelOrder: string[],
devicePreferences: SidebarPreferences, userHiddenPanels: string[],
userPreferencesLoading: boolean userPreferencesLoading: boolean,
devicePanelOrder?: string[],
deviceHiddenPanels?: string[]
): { panelOrder: string[]; hiddenPanels: string[]; loading: boolean } => { ): { panelOrder: string[]; hiddenPanels: string[]; loading: boolean } => {
let panelOrder = userPreferences.panelOrder ?? []; let panelOrder = userPanelOrder ?? [];
let hiddenPanels = userPreferences.hiddenPanels ?? []; let hiddenPanels = userHiddenPanels ?? [];
let loading = userPreferencesLoading; let loading = userPreferencesLoading;
if (devicePreferences.panelOrder || devicePreferences.hiddenPanels) { if (devicePanelOrder || deviceHiddenPanels) {
panelOrder = devicePreferences.panelOrder ?? []; panelOrder = devicePanelOrder ?? [];
hiddenPanels = devicePreferences.hiddenPanels ?? []; hiddenPanels = deviceHiddenPanels ?? [];
loading = false; loading = false;
} }
@ -426,15 +427,11 @@ class HaSidebar extends SubscribeMixin(LitElement) {
private _getPanelPreferences() { private _getPanelPreferences() {
return this._getPanelPreferencesMemoized( return this._getPanelPreferencesMemoized(
{ this._userPanelOrder,
panelOrder: this._userPanelOrder, this._userHiddenPanels,
hiddenPanels: this._userHiddenPanels, this._loadingUserPreferences,
}, this._devicePanelOrder,
{ this._deviceHiddenPanels
panelOrder: this._devicePanelOrder,
hiddenPanels: this._deviceHiddenPanels,
},
this._loadingUserPreferences
); );
} }