major
nice-to-have
defect
major
enhancement
minor
#23046
Tabular display of cumulative attribute values in a tree structure
The existing StructuredElementAttributeListModelBuilder can perform exactly this task: You configure a reference-type attribute, and the builder collects all values of that attribute in a selected substructure for display. However, it has several issues:
- The selected component model must itself define the configured attribute, since the builder only supports objects of the attribute’s owner type. However, since the builder collects attribute values from the entire substructure, the selected component model does not necessarily have to define the attribute itself. To achieve this, the types additionally supported by the builder must be configurable (within whose substructure the configured reference can occur).
- Collecting from a substructure is only an optional feature of the builder. However, it is strictly limited to instances of structure types. This leads to a desire for the same functionality to be available for non-structure types as well (#22761). The builder must be split into a generally applicable part that displays exactly the values of a configurable reference-type attribute, and a specialization that does this cumulatively across a structure.
- The collection of values from a structure is currently limited to the (legacy) type ` StructuredElement `. It must be possible to parameterize the builder with a structure definition.
Code Migration
- The recursive option of StructuredElementAttributeListModelBuilder has been removed. Instead of recursive="false", com.top_logic.element.layout.table.ReferenceListModelBuilder must be used.
- The ` attribute ` option of ` StructuredElementAttributeListModelBuilder ` has been renamed to ` reference `.
- The `types ` option of `tl:StructureReferenceListModelBuilder` and `tl:StructuredElementAttributeListModelBuilder` has been renamed to `additionalTypes `.
Usage
- Using `additionalTypes`, you can configure a list of additional types from which value collection can begin.
- `ReferenceListModelBuilder ` is not restricted to structure types.
Test
- /com.top_logic.demo/src/test/com/top_logic/demo/scripted/table/TestReferenceListModelBuilder.script.xml