Skip to content

Commit 7440b9d

Browse files
authored
Feat: Content Property Datatset Context Token (#17723)
* introduce UMB_CONTENT_PROPERTY_DATASET_CONTEXT * Updating List and RTE
1 parent 79ce50b commit 7440b9d

File tree

6 files changed

+22
-6
lines changed

6 files changed

+22
-6
lines changed

src/Umbraco.Web.UI.Client/src/packages/block/block-grid/context/block-grid-entries.context.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
1919
import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router';
2020
import { pathFolderName } from '@umbraco-cms/backoffice/utils';
2121
import type { UmbNumberRangeValueType } from '@umbraco-cms/backoffice/models';
22-
import { UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property';
22+
import { UMB_CONTENT_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/content';
2323

2424
interface UmbBlockGridAreaTypeInvalidRuleType {
2525
groupKey?: string;
@@ -222,7 +222,7 @@ export class UmbBlockGridEntriesContext
222222
this._workspacePath.setValue(newPath);
223223
});
224224

225-
this.consumeContext(UMB_PROPERTY_DATASET_CONTEXT, (dataset) => {
225+
this.consumeContext(UMB_CONTENT_PROPERTY_DATASET_CONTEXT, (dataset) => {
226226
const variantId = dataset.getVariantId();
227227
this.#catalogueModal.setUniquePathValue('variantId', variantId?.toString());
228228
this.#workspaceModal.setUniquePathValue('variantId', variantId?.toString());

src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-entries.context.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { UMB_BLOCK_LIST_MANAGER_CONTEXT } from './block-list-manager.context-tok
77
import { UmbBooleanState } from '@umbraco-cms/backoffice/observable-api';
88
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
99
import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router';
10-
import { UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property';
10+
import { UMB_CONTENT_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/content';
1111

1212
export class UmbBlockListEntriesContext extends UmbBlockEntriesContext<
1313
typeof UMB_BLOCK_LIST_MANAGER_CONTEXT,
@@ -83,7 +83,8 @@ export class UmbBlockListEntriesContext extends UmbBlockEntriesContext<
8383
this._workspacePath.setValue(newPath);
8484
});
8585

86-
this.consumeContext(UMB_PROPERTY_DATASET_CONTEXT, (dataset) => {
86+
// TODO: This must later be switched out with a smarter Modal Registration System, cause here is a issue with Block Editors in inline mode in Block Editors, cause the hosting Block is also of type Content. [NL]
87+
this.consumeContext(UMB_CONTENT_PROPERTY_DATASET_CONTEXT, (dataset) => {
8788
const variantId = dataset.getVariantId();
8889
this.#catalogueModal.setUniquePathValue('variantId', variantId?.toString());
8990
this.#workspaceModal.setUniquePathValue('variantId', variantId?.toString());

src/Umbraco.Web.UI.Client/src/packages/block/block-rte/context/block-rte-entries.context.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { UMB_BLOCK_RTE_MANAGER_CONTEXT } from './block-rte-manager.context-token
99
import { UmbBooleanState } from '@umbraco-cms/backoffice/observable-api';
1010
import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
1111
import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router';
12-
import { UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property';
12+
import { UMB_CONTENT_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/content';
1313

1414
export class UmbBlockRteEntriesContext extends UmbBlockEntriesContext<
1515
typeof UMB_BLOCK_RTE_MANAGER_CONTEXT,
@@ -79,7 +79,7 @@ export class UmbBlockRteEntriesContext extends UmbBlockEntriesContext<
7979
this._workspacePath.setValue(newPath);
8080
});
8181

82-
this.consumeContext(UMB_PROPERTY_DATASET_CONTEXT, (dataset) => {
82+
this.consumeContext(UMB_CONTENT_PROPERTY_DATASET_CONTEXT, (dataset) => {
8383
const variantId = dataset.getVariantId();
8484
this.#catalogueModal.setUniquePathValue('variantId', variantId?.toString());
8585
this.#workspaceModal.setUniquePathValue('variantId', variantId?.toString());
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import type { UmbContentPropertyDatasetContext } from './content-property-dataset.context.js';
2+
import type { UmbPropertyDatasetContext } from '@umbraco-cms/backoffice/property';
3+
import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
4+
5+
export const IsContentPropertyDatasetContext = (
6+
context: UmbPropertyDatasetContext,
7+
): context is UmbContentPropertyDatasetContext => (context as any).IS_CONTENT === true;
8+
9+
export const UMB_CONTENT_PROPERTY_DATASET_CONTEXT = new UmbContextToken<
10+
UmbPropertyDatasetContext,
11+
UmbContentPropertyDatasetContext
12+
>('UmbPropertyDatasetContext', undefined, IsContentPropertyDatasetContext);

src/Umbraco.Web.UI.Client/src/packages/core/content/property-dataset-context/content-property-dataset.context.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ export class UmbContentPropertyDatasetContext<
2323
culture = this.#currentVariant.asObservablePart((x) => x?.culture);
2424
segment = this.#currentVariant.asObservablePart((x) => x?.segment);
2525

26+
readonly IS_CONTENT = true;
27+
2628
getName(): string | undefined {
2729
return this._dataOwner.getName(this.getVariantId());
2830
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
export * from './content-property-dataset.context-token.js';
12
export * from './content-property-dataset.context.js';
23
export type * from './element-property-data-owner.interface.js';
34
export * from './element-property-dataset.context.js';

0 commit comments

Comments
 (0)