Class BlockEditorVarianceHandler
Handles value variance for the Block Editor property editor, determining how property values differ based on culture and segment.
Inheritance
Namespace: Umbraco.Cms.Core.PropertyEditors.ValueConverters
Assembly: Umbraco.Infrastructure.dll
Syntax
public sealed class BlockEditorVarianceHandler
Constructors
View SourceBlockEditorVarianceHandler(ILanguageService, IContentTypeService)
Initializes a new instance of the BlockEditorVarianceHandler class.
Declaration
public BlockEditorVarianceHandler(ILanguageService languageService, IContentTypeService contentTypeService)
Parameters
| Type | Name | Description |
|---|---|---|
| ILanguageService | languageService | Service used to manage and retrieve language information for localization. |
| IContentTypeService | contentTypeService | Service used to manage and retrieve content type definitions. |
Methods
View SourceAlignExposeVariance(BlockValue)
Aligns block value expose for variance changes.
Declaration
public void AlignExposeVariance(BlockValue blockValue)
Parameters
| Type | Name | Description |
|---|---|---|
| BlockValue | blockValue | The block value to align. |
Remarks
Used for aligning variance changes when editing content.
This is expected to be invoked after all block values have been aligned for variance changes by AlignPropertyVarianceAsync(IList<BlockPropertyValue>, string?).
AlignPropertyVarianceAsync(IList<BlockPropertyValue>, string?)
Aligns a collection of block property values for variance changes.
Declaration
public Task<IList<BlockPropertyValue>> AlignPropertyVarianceAsync(IList<BlockPropertyValue> blockPropertyValues, string? culture)
Parameters
| Type | Name | Description |
|---|---|---|
| IList<BlockPropertyValue> | blockPropertyValues | The block property values to align. |
| string | culture | The culture being handled (null if invariant). |
Returns
| Type | Description |
|---|---|
| Task<IList<BlockPropertyValue>> | A task that represents the asynchronous operation, containing the aligned block property values. |
Remarks
Used for aligning variance changes when editing content.
AlignedExposeVarianceAsync(BlockValue, IPublishedElement, IPublishedElement)
Aligns a block value for variance changes.
Declaration
public Task<IEnumerable<BlockItemVariation>> AlignedExposeVarianceAsync(BlockValue blockValue, IPublishedElement owner, IPublishedElement element)
Parameters
| Type | Name | Description |
|---|---|---|
| BlockValue | blockValue | The block property value to align for variance. |
| IPublishedElement | owner | The owner element, which is either the content for block properties at the content level or the parent element for nested block properties. |
| IPublishedElement | element | The block element containing the property. |
Returns
| Type | Description |
|---|---|
| Task<IEnumerable<BlockItemVariation>> | A task representing the asynchronous operation, with a result containing the aligned BlockItemVariation instances for the specified block element. |
Remarks
Used for aligning block item variations according to variance (such as culture or segment) when rendering content.
In case of mismatch in culture variation for block value variation:
- If the expected variation is by culture but all expose entries are invariant, assign the default culture.
- If the expected variation is invariant but all expose entries have cultures, use the default culture entry as invariant.
AlignedPropertyVarianceAsync(BlockPropertyValue, IPublishedPropertyType, IPublishedElement)
Aligns a block property value for variance changes.
Declaration
public Task<BlockPropertyValue?> AlignedPropertyVarianceAsync(BlockPropertyValue blockPropertyValue, IPublishedPropertyType propertyType, IPublishedElement owner)
Parameters
| Type | Name | Description |
|---|---|---|
| BlockPropertyValue | blockPropertyValue | The block property value to align. |
| IPublishedPropertyType | propertyType | The underlying property type. |
| IPublishedElement | owner | The containing block element. |
Returns
| Type | Description |
|---|---|
| Task<BlockPropertyValue> | A task representing the asynchronous operation. The task result contains the aligned BlockPropertyValue, or |
Remarks
Used for aligning variance changes when rendering content.