enhancement
major
#29661
TL Views: Prototyp "TopLogic UI on MUI" – Adaptermodul mit Material UI für die ersetzbaren Komponenten
#29692
TL Views: Formularfelder, Tabellenzellen und das Bearbeiten eines Formulars richten sich nach den Modell-Zugriffsrechten
#29693
TL Views: Große und mehrwertige Werte erscheinen in Tabellenzellen als einzeilige Vorschau mit einem Knopf, der den vollständigen Editor in einem Dialog öffnet
#29707
Reduce PR CI build time: parallel reactor build, sharded scripted tests, affected-module builds
#29730
React-Oberfläche: Kanban-Board als View-Element (Karten per Drag & Drop zwischen Spalten verschieben)
#29744
TL Views: Entwicklerwerkzeuge (Designer, Aufzeichnen, Untersuchen, Agentenzugriff) in einem eigenen Entwicklungsmenü der App-Leiste
#29752
React-UI: Kleine Verbesserungen der Oberfläche (Snackbar, Hover, Tooltips, Schieberegler, Abstände)
#29758
ModelAccessRights: Anlegerecht in Kompositionsattribut für Spezialisierung des Zieltyps prüfen
#29759
React-UI: Commit-Nachrichten für Änderungen aus Sichten (TL-Script-Aktionen, Transaktionen, Löschen) konfigurierbar, sinnvolle Standard-Nachrichten
defect
major
#29642
React dialog size memory: one key for every dialog, stored size beats the declared width and is never clamped to the window
#29646
TL Views: Der Build der React-Client-Module prüft die TypeScript-Typen nicht, in com.top_logic.layout.react sind dadurch 29 Typfehler aufgelaufen
#29697
HistoryQuery: Start- und Stop-Revision aus HistoryQueryArguments werden bei der Suche ignoriert.
#29701
TL Views: a form shown again after its sidebar section or tab was hidden keeps the values it had when hidden; a reload renders the stale values again
#29711
Setzen einer geordneten Liste (ListStorage) ist beim Einfügen vor bestehenden Elementen überquadratisch langsam; TestListStorage misst Wanduhrzeit und scheitert unter Last
#29716
Modellbasierte Leseprüfung: Rollen-Lookup kompiliert pro Objekt und Gruppe neue KB-Abfragen, Nicht-Admin wartet 70 s statt 9 s
#29724
PathNavigation: abstract attribute rejected by isDerived() check even though concrete overrides exist and are tracked
#29728
FlowChartComponent: Ein Neubau des Diagramms entfernt Objekte aus der Selektion, die im Diagramm nicht dargestellt werden
#29731
TL Views: <persist-transient> copies the draft's empty values over the creation defaults; a sequence number or creation date computed at commit is lost
#29732
TL Views: <create-transient container="…"> creates the draft without the container's context; option lists and context-dependent defaults of the draft see no container
#29734
View form: <store-form-state/> does not persist new rows of a <composition-table>, so saving a persistent owner fails
#29737
TL Views: a collapsing toolbar measures its commands only when its groups change; a command that shows itself later keeps a 0 px toolbar and draws over the panel title
#29745
Zugriff auf ein abstraktes Attribut meldet einen Fehler, der nicht sagt, dass das Attribut abstrakt ist: eigene Storage für abstrakte Attribute
minor
#29696
Scheduler: Start- und Cluster-Verhalten von Tasks bereinigen – <on-startup/> pro Knotenstart, Tasks erst ab RUNNING, run-on-startup entfernen, kein Default für isNodeLocal()
#29699
TL-Script: htmlText(htmlSource($text), images) drops the images of a stored structured text, since it does not accept the "ref:" references it writes itself
#29700
TL Views: the open session of a deleted account keeps evaluating as that account; every model event logs "DeletedObjectAccess … was already deleted" from its observers
#29733
TL Views: a click on the padding of the React rich-text editor's content area does not focus the editor; the typed text is lost
#29738
TL Views: the menu cliques of a toolbar are labelled in English in every language ("More", "View", "Export")
#29739
React tooltip stays open at the window's top-left corner when its anchor is removed under the pointer
enhancement
minor
#29513
Drag&Drop: Commit-Nachricht für Drop-Operationen konfigurierbar, sinnvolle Standard-Nachricht
In Tabellen- und Baum-Sichten kann eine Drop-Operation per TL-Script konfiguriert werden (Tabelle, Grid, Baumtabelle, Baum-Grid, Baum mit Einfügeposition, Ablegen auf einen Baumknoten). Diese Operation kann in einer Transaktion ausgeführt werden, eine entsprechende Konfigurationsoption dafür ist vorhanden. Dabei gibt es aber keine Möglichkeit eine Commit-Message zu hinterlegen. Eine generische Standard-Commit-Message wie in "normalen" Kommandos wird auch nicht geschrieben. Stattdessen wird in der Historie nur "Keine Nachricht." angezeigt.
Verbesserung
- Konfigurationsoption zur Angabe einer Commit-Message falls Transaktion "true".
- Standard-Message unter Berücksichtigung von Drag und Drop-Objekt, z.B. Drag&Drop von XXX auf YYY durchgeführt.
Lösung
- Die Konfiguration einer Drop-Operation erhält die Option commit-message ("Commit-Meldung"). Sie ist nur sichtbar, wenn die Operation in einer Transaktion ausgeführt wird.
- Die Option ist eine TL-Script-Funktion. Sie erhält dieselben Argumente wie die Drop-Operation, gefolgt vom Modell der Komponente, in der abgelegt wird:
- Tabelle, Grid, Baumtabelle, Baum-Grid: draggedObjects -> referenceRow -> model -> .... Bei einem geordneten Drop (dropType="ORDERED") ist die Referenzzeile die Zeile, vor der eingefügt wird (null = am Ende), sonst die Zeile, auf die abgelegt wird.
- Ablegen auf einen Baumknoten: draggedObjects -> node -> model -> ...
- Baum mit Einfügeposition: draggedObjects -> parent -> reference -> model -> ... Das Ergebnis ist ein Text oder ein internationalisierter Text, z.B.
draggedObjects -> referenceRow -> model ->
#("{0} unter {1} verschoben."@de, "Moved {0} below {1}."@en).fill(
$draggedObjects.map(x -> $x.get(`DemoTypes:DemoTypes.All#name`)).join(separator: ", "),
$referenceRow.get(`DemoTypes:DemoTypes.All#name`))
- Ist keine Funktion konfiguriert (oder liefert sie nichts), wird für alle Drop-Arten die Standard-Nachricht "{0} abgelegt in {1}." geschrieben: {0} sind die Beschriftungen der abgelegten Objekte (kommagetrennt), {1} ist der Titel der Komponente.
Test
- test.com.top_logic.model.search.providers.TestDropCommitMessage
- TL-Demo: Technisches Demo > Layout-Framework#1 > Formulare > In-App Drag and Drop: in jeder der fünf Sichten ein Objekt auf eine Zeile/einen Knoten ziehen. Unter Technisches Demo > Komponenten > Change-Log erscheint die Änderung mit der Beschreibung z.B. "A1 abgelegt in Grid."; die Sicht "Table" hat eine konfigurierte Nachricht ("B1 unter C verschoben.").