Interface: BlockGroupSelectedValue
Represents selection and validation data for a block group within a container.
BlockGroupSelectedValue provides a complete snapshot of a block group's configuration state, including all selected options, validation status, and visibility settings. This interface is used within GroupContainerWithStatus to represent each group's contribution to the container's overall state.
This structured data enables:
- Progress tracking across configuration groups
- Validation feedback at the group level
- Selective hiding of technical options in documents
- Clear presentation of configuration choices
Properties
hasErrors
hasErrors:
boolean
Validation state for this specific group.
When true, indicates that this group has missing required selections or validation errors that prevent the configuration from being complete. The UI typically responds to this flag by:
- Adding error indicators (red badges, icons)
- Highlighting the group in navigation
- Preventing form submission
- Showing helper text about missing selections
This flag is aggregated up to the container level, allowing for efficient validation checking across the entire configuration.
Example
if (groupValue.hasErrors) {
groupElement.classList.add('error');
errorCount++;
}
hideOnSpecification?
optionalhideOnSpecification:boolean
Controls visibility in specification documents.
When true, this group's selections won't appear in generated specification PDFs, order summaries, or customer-facing documentation. This is useful for hiding internal configuration options, technical settings, or administrative choices that aren't relevant to end customers.
Common use cases for hiding:
- Internal SKU selections
- Technical compatibility options
- Dealer-specific settings
- Manufacturing instructions
Default
false
name
name:
string
Display name of the block group.
The user-friendly name that identifies this group of options within the container. This is the resolved, localized name that appears in navigation, headers, and progress indicators. It helps users understand what aspect of the product this group configures.
Example
"Engine Configuration"
"Seating Options"
"Safety Features"
value
value:
BlockSelectedValue[]
Selected values from all blocks within this group.
Array of BlockSelectedValue objects containing the block names and their selected option values. This provides a detailed breakdown of every configuration choice made within this group. Empty arrays indicate no selections have been made yet.
The array only includes blocks that are visible and have selections. Hidden blocks or blocks without selections are filtered out to keep the data clean and relevant for display purposes.
Example
[
{ name: "Engine Type", value: "V8 Turbo" },
{ name: "Transmission", value: "8-Speed Automatic" },
{ name: "Drive Mode", value: "All-Wheel Drive" }
]