Enhancement
Critical
Major
Detail
Detail
#25907
Layout editor: inconsistent behavior of unfold state, selection and reaction to object creation
#25951
Application tests: CheckLabeledExecutabilityOp fails to assert non-executability of literal ResKey reasons.
#25952
Model Editor: Enum default provider does not work for enum references for which singleton link storage was explicitly selected
#26002
ConfigurationItem-valued properties with format annotations may cause an attempt to create abstract config items when deserializing null values
#26012
Help editor crashes when a user has chosen a language that is not in the supported languages of the application
#26039
Gridcomponent: Display of context menu for new (transient) row object leads to UnsupportedOperationException
#26085
An attribute of type tl.model.search:Expr is not displayed in the form above a TL script editor
#26111
Context menu commands for table rows are erroneously executed on the table model when opening the context menu in the background of the table
#26153
Migration: Replay fails if string values with line breaks are contained in the dataset where a line ends with a semicolon
#26171
A TL script expression entered in a wizard template is reformatted when transferred to the final template
#26223
TL script: Under unfavorable conditions wrong parameter values when evaluating local functions
Enhancement
Critical
#26004
Tables with dynamic columns
Any columns can be configured in a table configuration. For this, however, each column must be given a fixed name in the configuration. A dynamic number of columns can be realized by a tl:TableConfigurationProvider. At least for tables that only display values but do not edit them, this is relatively simple, but requires writing a plug-in.
Improvement
tl:DynamicColumnProviderByExpression - a tl:TableConfigurationProvider parameterizable via TL-Script, which adds a dynamic set of columns to a table.
By specifying a storage operation, this provider can also be used in a tl:GridComponent to get additional input fields in the row being edited.
Code migration
The API of com.top_logic.element.meta.form.FieldProvider for creating input elements for model element has changed
- from FormMember getFormField(AttributeUpdate attributeUpdate, AttributeUpdateContainer updateContainer, String fieldName)
- to FormMember getFormField(EditContext editContext, String fieldName)
- tl:AttributeUpdate is a possible tl:EditContext. The FieldProvider may no longer access the edited model element (tl:TLStructuredTypePart), but only its properties, for which EditContext provides access methods.
- Various other (internal) APIs have been generalized from AttributeUpdate to EditContext.
Test
- /com.top_logic.demo/src/test/com/top_logic/demo/scripted/table/TestDynamicTableColumns.script.xml
- View in tl-demo: Technical Demo:Components:Dynamic Columns.