diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/store/store-object-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/store/store-object-base.ts index 4039da4a12..439397f4f6 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/store/store-object-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/store/store-object-base.ts @@ -8,11 +8,11 @@ import type { UmbApi } from '@umbraco-cms/backoffice/extension-api'; * The base class for a store that holds an object. */ export class UmbStoreObjectBase extends UmbContextBase implements UmbApi { - protected _data: UmbObjectState; + protected _data: UmbObjectState; constructor(host: UmbControllerHost, storeAlias: string, initialData?: T) { super(host, storeAlias); - this._data = new UmbObjectState(initialData ?? ({} as T)); + this._data = new UmbObjectState(initialData); } /** @@ -29,7 +29,7 @@ export class UmbStoreObjectBase extends UmbContextBase implements UmbA * Returns the current state of the store * @memberof UmbStoreObjectBase */ - getState(): T { + getState(): T | undefined { return this._data.getValue(); } @@ -47,7 +47,7 @@ export class UmbStoreObjectBase extends UmbContextBase implements UmbA * @memberof UmbStoreObjectBase */ part(key: Part): Observable { - return this._data.asObservablePart((data) => data[key]); + return this._data.asObservablePart((data) => data![key]); } /** diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user/repository/config/user-config.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user/repository/config/user-config.repository.ts index 406b3936f5..1dc05c25f3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user/repository/config/user-config.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user/repository/config/user-config.repository.ts @@ -19,6 +19,11 @@ export class UmbUserConfigRepository extends UmbRepositoryBase implements UmbApi } async #init() { + // Check if the store already has data + if (this.#dataStore?.getState()) { + return; + } + const { data } = await this.#dataSource.getUserConfig(); if (data) {