diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts index 272fd23f1f..df15200ecb 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/documents/documents/workspace/document-workspace.context.ts @@ -172,6 +172,11 @@ export class UmbDocumentWorkspaceContext return this.#draft.getObservablePart((data) => data?.properties?.filter((x) => variantId.compare(x))); } + propertyInfoByAlias(propertyAlias: string, variantId = new UmbVariantId()) { + return this.#draft.getObservablePart((data) => + data?.properties?.find((x) => x?.alias === propertyAlias && variantId.compare(x)) + ); + } propertyValueByAlias(propertyAlias: string, variantId = new UmbVariantId()) { return this.#draft.getObservablePart( (data) => data?.properties?.find((x) => x?.alias === propertyAlias && variantId.compare(x))?.value diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-invariantable-entity-context.interface.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-invariantable-entity-context.interface.ts index 4dedc7e312..8bca76a888 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-invariantable-entity-context.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-invariantable-entity-context.interface.ts @@ -7,6 +7,7 @@ export interface UmbWorkspaceInvariantableEntityContextInterface getName(): void; setName(name: string): void; + propertyInfoByAlias(alias: string): Observable; propertyValueByAlias(alias: string): Observable; getPropertyValue(alias: string): void; setPropertyValue(alias: string, value: unknown): void; diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-property-set-context.interface.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-property-set-context.interface.ts index a266eb41d8..60f2ba67aa 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-property-set-context.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-property-set-context.interface.ts @@ -1,5 +1,9 @@ +import { Observable } from 'rxjs'; +import { PropertyViewModelBaseModel } from '@umbraco-cms/backend-api'; + export interface UmbWorkspacePropertySetContextInterface { - propertyValueByAlias(alias: string): void; + propertyInfoByAlias(alias: string): Observable; + propertyValueByAlias(alias: string): Observable; getPropertyValue(alias: string): void; setPropertyValue(alias: string, value: unknown): void; } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-property-set.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-property-set.context.ts index 050f88fcf9..83bdec5af9 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-property-set.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-property-set.context.ts @@ -11,6 +11,9 @@ export class UmbWorkspacePropertySetContext implements UmbWorkspacePropertySetCo new UmbContextProviderController(host, 'umbWorkspacePropertySetContext', this); } + propertyDataByAlias(alias: string) { + return this.workspaceContext.propertyDataByAlias(alias); + } propertyValueByAlias(alias: string) { return this.workspaceContext.propertyValueByAlias(alias); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-variant-property-set.context.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-variant-property-set.context.ts index d75edd4cf7..0d4892a55f 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-variant-property-set.context.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-variant-property-set.context.ts @@ -22,6 +22,9 @@ export class UmbWorkspaceVariantPropertySetContext implements UmbWorkspaceProper this.variantId = variantId; } + propertyDataByAlias(alias: string) { + return this.workspaceContext.propertyDataByAlias(alias, this.variantId); + } propertyValueByAlias(alias: string) { return this.workspaceContext.propertyValueByAlias(alias, this.variantId); } diff --git a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-variantable-entity-context.interface.ts b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-variantable-entity-context.interface.ts index 3a0a4eeb0a..afc94eeb14 100644 --- a/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-variantable-entity-context.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/backoffice/shared/components/workspace/workspace-context/workspace-variantable-entity-context.interface.ts @@ -8,6 +8,7 @@ export interface UmbWorkspaceVariantableEntityContextInterface getName(variantId?: UmbVariantId): void; setName(name: string, variantId?: UmbVariantId): void; + propertyInfoByAlias(alias: string, variantId?: UmbVariantId): Observable; propertyValueByAlias(alias: string, variantId?: UmbVariantId): Observable; getPropertyValue(alias: string, variantId?: UmbVariantId): void; setPropertyValue(alias: string, value: unknown, variantId?: UmbVariantId): void;