From b35db9cb5b86ca885b48d43ed64899cd705b6dca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Thu, 2 Oct 2025 14:51:34 +0200 Subject: [PATCH] Handle vary by segment variant-entires (#20191) * refactor code * display language name for empty names * ensure all culture variants when entering a segment-shared value, shared across cultures * Revert parts of "ensure all culture variants when entering a segment-shared value, shared across cultures" This reverts commit 0e64f7269574baaffa11c5688e236642c7561f15. --- .../content/manager/content-data-manager.ts | 1 + .../content/manager/element-data-manager.ts | 11 +++++------ .../content-detail-workspace-base.ts | 19 +++++++++++++++++-- ...ace-split-view-variant-selector.element.ts | 6 +++++- 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/content/content/manager/content-data-manager.ts b/src/Umbraco.Web.UI.Client/src/packages/content/content/manager/content-data-manager.ts index 3f9086dc02..7c2d0b0d4d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/content/content/manager/content-data-manager.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/content/content/manager/content-data-manager.ts @@ -89,6 +89,7 @@ export class UmbContentWorkspaceDataManager< const currentData = this.getCurrent(); if (!currentData) throw new Error('Data is missing'); + // If varies by segment: if (!variantId.isSegmentInvariant()) { // The server requires a segment name. It doesn't matter what it is as long as it is not empty. The server will overwrite it with the name of the default. update = { ...update, name: 'Segment' } as ModelVariantType; diff --git a/src/Umbraco.Web.UI.Client/src/packages/content/content/manager/element-data-manager.ts b/src/Umbraco.Web.UI.Client/src/packages/content/content/manager/element-data-manager.ts index 7241448362..9f0485b76d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/content/content/manager/element-data-manager.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/content/content/manager/element-data-manager.ts @@ -83,10 +83,14 @@ export class UmbElementWorkspaceDataManager x.segment); + const dataSegments = data.values.map((x) => x.segment).filter((x) => x) as Array; variantsToStore = [ ...variantsToStore, ...dataSegments.flatMap((segment) => variantsToStore.map((variant) => variant.toSegment(segment))), @@ -98,12 +102,7 @@ export class UmbElementWorkspaceDataManager