Major
Nice to have
Bugfix
Major
Enhancement
Detail
#23046
Tabular display of cumulative attribute values in a tree structure
The existing StructuredElementAttributeListModelBuilder can do exactly this task: One configures a reference-valued attribute and the builder collects all values of that attribute in a chosen substructure for display. In doing so, however, it has several problems:
- The chosen component model must itself define the configured attribute, since the Builder only supports objects of the exact owner type of the attribute. However, since the Builder collects attribute values from the entire substructure, the selected component model does not necessarily have to define the attribute itself. For this purpose, the additional types supported by the Builder must be configurable (in whose substructure the configured reference can occur).
- Collecting from a substructure is only an optional feature of the Builder. However, it is hardcoded to instances of structure types. This leads to the same functionality being desired stillas for non-structure types (#22761). The builder needs to be decomposed into a general-purpose part that displays exactly the values of a configurable reference-valued attribute, and a specialization that does this cumulatively over a structure.
- Collecting values from a structure is fixed to the (legacy) type StructuredElement. The builder must be able to be parameterized with a structure definition.
Code migration
- The recursive option of StructuredElementAttributeListModelBuilder has been dropped. 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 as well as tl:StructuredElementAttributeListModelBuilder has been renamed to additionalTypes.
Application
- Via additionalTypes a list of additional types can be configured, on which the collection of values can start.
- ReferenceListModelBuilder is not set to structure types.
Test
- /com.top_logic.demo/src/test/com/top_logic/demo/scripted/table/TestReferenceListModelBuilder.script.xml