major
nice-to-have
minor
Currently, only one view of a tl:FormField can be rendered (consisting of a label, input, and error aspect). This is because the individual aspects are rendered independently of one another but require a shared ID on the GUI to link the label and input together. Currently, this ID is generated by the first aspect displayed and is used by all others. If the same field is displayed multiple times, all inputs receive the same ID and therefore cannot be updated correctly.
Improvement
The same FormField model can be displayed multiple times on a page. If the value is changed in one of the displays, all other displays are automatically updated.
Code Migration
The API com.top_logic.layout.basic.component, which has been deprecated for years ,ControlComponent.getControl(String) no longer returns "the" Control that represents a field with a given name by default—unless you use the equally deprecated API com.top_logic.layout.basic.component.ControlComponent.addControl(String, Control) to register the control under a given name.
Test
On the Technical Administration > Layout Framework #1 > Forms > FormControls (Inline) page, the textInputControl field appears twice.
- No matter which one you enter a value into, the value appears in both fields after you exit the field.
- Clicking the label of either field places the cursor in the corresponding field.