From d13871e926b99ff1fda51f1d9d8eec8e5c8b0d63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Wed, 13 Nov 2024 17:27:19 +0100 Subject: [PATCH] expose using the block variant id (#17525) --- .../block/block-list/context/block-list-entries.context.ts | 7 ++----- .../packages/block/block/context/block-entry.context.ts | 6 +++--- .../packages/block/block/context/block-manager.context.ts | 6 ++++-- .../block/block/workspace/block-workspace.context.ts | 6 ++++-- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-entries.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-entries.context.ts index 0ddd1eb326..f9f15b699a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-entries.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block-list/context/block-list-entries.context.ts @@ -8,6 +8,7 @@ import { UmbBooleanState } from '@umbraco-cms/backoffice/observable-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; import { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router'; import { UMB_PROPERTY_DATASET_CONTEXT } from '@umbraco-cms/backoffice/property'; +import type { UmbVariantId } from '@umbraco-cms/backoffice/variant'; export class UmbBlockListEntriesContext extends UmbBlockEntriesContext< typeof UMB_BLOCK_LIST_MANAGER_CONTEXT, @@ -149,11 +150,7 @@ export class UmbBlockListEntriesContext extends UmbBlockEntriesContext< originData: UmbBlockListWorkspaceOriginData, ) { await this._retrieveManager; - const success = this._manager?.insert(layoutEntry, content, settings, originData) ?? false; - if (success) { - this._manager?.setOneExpose(layoutEntry.contentKey); - } - return success; + return this._manager?.insert(layoutEntry, content, settings, originData) ?? false; } // create Block? diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block/context/block-entry.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block/context/block-entry.context.ts index edfcdc4d85..06d7464bbf 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block/context/block-entry.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block/context/block-entry.context.ts @@ -575,7 +575,6 @@ export abstract class UmbBlockEntryContext< #gotVariantId() { const variantId = this.#variantId.getValue(); if (!variantId || !this.#contentKey) return; - // TODO: Handle variantId changes this.observe( this._manager?.hasExposeOf(this.#contentKey, variantId), (hasExpose) => { @@ -615,8 +614,9 @@ export abstract class UmbBlockEntryContext< } public expose() { - if (!this.#contentKey) return; - this._manager?.setOneExpose(this.#contentKey); + const variantId = this.#variantId.getValue(); + if (!variantId || !this.#contentKey) return; + this._manager?.setOneExpose(this.#contentKey, variantId); } //copy diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block/context/block-manager.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block/context/block-manager.context.ts index 3e5937996f..bcd79b6fb4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block/context/block-manager.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block/context/block-manager.context.ts @@ -45,6 +45,9 @@ export abstract class UmbBlockManagerContext< setVariantId(variantId: UmbVariantId | undefined) { this.#variantId.setValue(variantId); } + getVariantId(): UmbVariantId | undefined { + return this.#variantId.getValue(); + } readonly #structures: Array = []; @@ -213,8 +216,7 @@ export abstract class UmbBlockManagerContext< setOneSettings(settingsData: UmbBlockDataModel) { this.#settings.appendOne(settingsData); } - setOneExpose(contentKey: string) { - const variantId = this.#variantId.getValue(); + setOneExpose(contentKey: string, variantId: UmbVariantId) { if (!variantId) return; this.#exposes.appendOne({ contentKey, ...variantId.toObject() }); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/block-workspace.context.ts b/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/block-workspace.context.ts index 0c1fd64aaf..db4737bf27 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/block-workspace.context.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/block/block/workspace/block-workspace.context.ts @@ -467,12 +467,14 @@ export class UmbBlockWorkspaceContext {