Custom Partial variancy support for RTE as it uses a wrapped model (#18290)

This commit is contained in:
Sven Geusens
2025-02-11 12:45:09 +01:00
committed by GitHub
parent bb47b7e019
commit 649cfcab58
2 changed files with 77 additions and 1 deletions

View File

@@ -296,6 +296,18 @@ public abstract class BlockValuePropertyValueEditorBase<TValue, TLayout> : DataV
BlockEditorData<TValue, TLayout>? source = BlockEditorValues.DeserializeAndClean(sourceValue);
BlockEditorData<TValue, TLayout>? target = BlockEditorValues.DeserializeAndClean(targetValue);
TValue? mergedBlockValue =
MergeVariantInvariantPropertyValueTyped(source, target, canUpdateInvariantData, allowedCultures);
return _jsonSerializer.Serialize(mergedBlockValue);
}
internal virtual TValue? MergeVariantInvariantPropertyValueTyped(
BlockEditorData<TValue, TLayout>? source,
BlockEditorData<TValue, TLayout>? target,
bool canUpdateInvariantData,
HashSet<string> allowedCultures)
{
source = UpdateSourceInvariantData(source, target, canUpdateInvariantData);
if (source is null && target is null)
@@ -328,7 +340,7 @@ public abstract class BlockValuePropertyValueEditorBase<TValue, TLayout> : DataV
CleanupVariantValues(source.BlockValue.ContentData, target.BlockValue.ContentData, canUpdateInvariantData, allowedCultures);
CleanupVariantValues(source.BlockValue.SettingsData, target.BlockValue.SettingsData, canUpdateInvariantData, allowedCultures);
return _jsonSerializer.Serialize(target.BlockValue);
return target.BlockValue;
}
private void CleanupVariantValues(