diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/submittable/submittable-workspace-data-manager.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/submittable/submittable-workspace-data-manager.ts index 571ed8f51f..6962db60e3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/submittable/submittable-workspace-data-manager.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/submittable/submittable-workspace-data-manager.ts @@ -1,5 +1,5 @@ import type { UmbWorkspaceDataManager } from '../data-manager/workspace-data-manager.interface.js'; -import { jsonStringComparison, UmbObjectState } from '@umbraco-cms/backoffice/observable-api'; +import { jsonStringComparison, UmbObjectState, type MappingFunction } from '@umbraco-cms/backoffice/observable-api'; import type { UmbEntityModel } from '@umbraco-cms/backoffice/entity'; import { UmbControllerBase } from '@umbraco-cms/backoffice/class-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; @@ -17,6 +17,16 @@ export class UmbSubmittableWorkspaceDataManager)} mappingFunction + * @memberof UmbSubmittableWorkspaceDataManager + */ + createObservablePart(mappingFunction: MappingFunction) { + this.#current.asObservablePart(mappingFunction); + } + /** * Gets persisted data * @returns {(ModelType | undefined)} diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/workspace/data-type-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/workspace/data-type-workspace.context.ts index 54fe8b5bab..7d1ae3b845 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/workspace/data-type-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/data-type/workspace/data-type-workspace.context.ts @@ -67,12 +67,12 @@ export class UmbDataTypeWorkspaceContext return this.#getDataPromise; } - readonly name = this._data.current.asObservablePart((data) => data?.name); - readonly unique = this._data.current.asObservablePart((data) => data?.unique); - readonly entityType = this._data.current.asObservablePart((data) => data?.entityType); + readonly name = this._data.createObservablePart((data) => data?.name); + readonly unique = this._data.createObservablePart((data) => data?.unique); + readonly entityType = this._data.createObservablePart((data) => data?.entityType); - readonly propertyEditorUiAlias = this._data.current.asObservablePart((data) => data?.editorUiAlias); - readonly propertyEditorSchemaAlias = this._data.current.asObservablePart((data) => data?.editorAlias); + readonly propertyEditorUiAlias = this._data.createObservablePart((data) => data?.editorUiAlias); + readonly propertyEditorSchemaAlias = this._data.createObservablePart((data) => data?.editorAlias); #properties = new UmbArrayState([], (x) => x.alias).sortBy( (a, b) => (a.weight || 0) - (b.weight || 0), @@ -354,7 +354,7 @@ export class UmbDataTypeWorkspaceContext */ async propertyValueByAlias(propertyAlias: string) { await this.#getDataPromise; - return this.#currentData.asObservablePart( + return this._data.createObservablePart( (data) => data?.values?.find((x) => x.alias === propertyAlias)?.value as ReturnType, ); }