TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_7.10.0
  4. #28992

7.10.0
TopLogic Release

2026-01-19

enhancement

critical
#25918
Graph-Binding 2.0
major
#25529
Schwache Modell-Constraints
#27483
TLScript: Mathematische Funktionen
#28083
Core-Theme: Bessere Darstellung/UX der TL-Script-Kontexthilfe
#28336
Dynamische Confirm-Messages
#28604
Allgemeine Anzeige der Änderungshistorie mit Undo-Möglichkeit
#28648
TL-Script: Unzip
#28727
Baum-Tabellen-Selektionslogik
#28765
Image-Upload-Control
#28892
TL-Script: flatMap()-Function
#28893
TL-Script: indexBy() mit Werttransformation
#28897
Instance-Export: Kontext für optionalen Import mitexportieren
#28899
Kachelsichten: Gemischte Ansichten von Objektkacheln mit Standardkacheln
#28900
TL-Script: transpose()-Funktion
#28901
TL-Script: count() mit einem Argument
#28902
TL-Script: remove()
#28903
TL-Script: split() mit Begrenzung
#28920
Layout-Editor: Pluggable generic commands
#28924
TL-Script: toJson()
#28927
TL-Script: excelFile()
#28931
Rollen-Profile beim Anwendungsstart importieren/aktualisieren
#28934
TL-Script: pdfFile()
#28947
Kompositionsattribute: Anlegen aus Kopie
#28949
TL-Script: CSS-Klassen-Berechnung für ganze Zeilen
minor
#27849
Eigenschaft vom Typ "Color" kann in TL-Script nicht mit einem Farbwert versehen werden
#28305
Bessere Default-Datei-Namen für generische Excel-Exporte
#28633
XML-Import: Handler, um ein Property from Typ "Internationalisierte Zeichenkette" um eine Übersetzung zu ergänzen
#28643
TL-Script: Parse Base64 in Data-URL Format
#28652
XML-Import: Transienter Import mit Nachbearbeitungsaktion
#28729
Layout-Editor: Buttonzeile in jedem Layout einblenden
#28742
(Lokale) Dialoge anzeigen ohne Sicht zu wechseln
#28743
Layout-Editor: Ein- und Ausblenden von Toolbars in allen Komponenten
#28745
Drag aus Baumtabellen soll auch zugeklappte Knoten liefern
#28762
Einführung von Renovate Bot zur automatischen Aktualisierung externer Abhängigkeiten.
#28874
ExternalAuthentication bei Verwendung von tl-security-auth-pac4j automatisch aktivieren
#28875
Neuberechnung der Optionen bei Auswahlfeldern
#28879
TL-Script Methoden über Reflection anbieten
#28880
Add TLScript "try" function for exception handling
#28886
Instance-Export: Nicht-Kompositionen nicht "automatisch" mitexportieren
#28906
Kachel-Preview-Image aus Binär-/Bildattribut
#28913
Applikationstests: Kontext-lokale Objektidentifikaton
#28915
Update GWT auf Version 2.12
#28918
Enum-Protokoll-Namen über @Name-Annotation
#28930
Berechnete Spalten als "multiple" und "mandatory" markieren
#28937
Befehlsfreigabedienst: Prüfung auf Collections und Delegation auf andere Modelle
#28951
Befehle zum Ändern einer Auswahl in einer Baumtabelle
#28963
Drag&Drop über Fenstergrenzen hinweg
#28965
Dateierweiterung für XML-Import-Kommandos vorgeben
#28970
HTML als Wert für ein "Strukturierter Text" Attribut
#28974
XML-Import: Kontext for ID-Auflösung
#28983
Fehler bei Rückwärtsnavigation über nicht navigierbare Attribute ausgeben
#28986
Servlets mit async Support ermöglichen
#28999
Scheduler: Ausführung alle x Tage anstatt jeden Tag
#29001
Zurückgenommene Änderungen in "Meine letzten Änderungen" ausblenden
#29016
Dialoge in dem Fenster anzeigen in dem gerade gearbeitet wird
#29019
Legacy Bus-System entfernen
nice-to-have
#28987
StreamUtilities.readStreamContents() Utility also for BinaryDataSource
#29043
Heartbeat-Logging für die Revison-Migration
#29045
Consolidate Git-Ignores (Anwendungstemplate, Message-Backups, Settings)
#29046
Introspection für TL-Script-Funktionen

defect

major
#27746
Kontexthilfe für TL-Script teilweise abgeschnitten und nicht oder nur schlecht scrollbar
#28047
Error Icon neben dem TextInput ist falsch positioniert
minor
#27707
Tabelle macht kein Update nach Zeilenverschiebung per Knopfdruck
#28265
Update pdf.js to 4.9.155 due to CVE reports
#28678
Spalte MACHINE_IP zu kurz in USER_SESSION (bei IPv6)
#28693
Fragwürdige Clipboard-Kommandos werden standardmäßig an allen Grid-Komponenten angezeigt
#28919
Transiente Objekte können Referenzen auf gelöschte Objekte liefern
#28945
Fehler beim Anzeigen der Änderungshistorie, wenn Referenz gelöscht wurde
#28950
TL-Script: toSet() ändert die Reihenfolge der Elemente
#28954
Spalte "Administrator" von Benutzerkonten kann nicht gefiltert werden
#28955
Volltext-Suche bei Grid Komponente führt potentiell zu einem geloggten Error
#28957
Clientseitige Fehler beim GotoLinkControl
#28972
Flow-Diagram: Font-Size und Font-Family attribute für Text haben keinen Effekt.
#28973
Dialog "Meine letzten Änderungen" braucht u.U. sehr lange um sich zu öffnen
#28980
I18NRuntimeException wird als "Internal error" gemeldet
#28982
Tabellen-Komponenten können unerwartete Objekte anzeigen
#28984
Workflow-Prozesse können nicht mehr abgeschlossen werden
#28991
Flow-Diagram: Selektionskanal darf nur bei Konfiguration von Mehrfachselektion Mengen enthalten
#28992
SVG-Diagram mit Click-Handler kann zu Fehlern führen
#28996
TL-Script: Kein internationalisiertes Zahlenformat in Ausdrücken in HTML-Templates
#28998
Flow-Diagram: Doppelclick- und Context-Menu-Handler
#29036
Übersetzungsfehler bei Resource-Dateien mit Landeskennung
defect (Nutzer-sichtbar)

minor

#28992

SVG-Diagram mit Click-Handler kann zu Fehlern führen

Charts

Werden einem SVG-Diagram Click-Handler zugewiesen, kann dies zu Fehlern und dadurch zu unerwartetem Verhalten führen.

Die Ursache des Fehlers liegt in der Reihenfolge und der Art & Weise, in der das SVG aufgebaut wird. Jeder Teil des SVG wird über den SVGBuilder.java dem SVG hinzugefügt. Auch ein Click-Handler ist ein Teil (part) des SVG, der aber nicht wie die anderen Teile einem Element als Child hinzugefügt wird, sondern dem letzten Element (_current) direkt als onClick-Event zugewiesen wird.

Der SVGBuilder setzt die Variable _current allerdings nach der Erzeugung des Elements zurück, wenn der Teil eine Polyline, ein Polygon, ein Rect oder ein Text war. Bsp:

@Override
public void endText() {
	_current = null;
}

Wird ein Click-Handler also direkt nach einem der genannten Teile hinzugefügt, tritt der oben gezeigte Fehler auf.

In mehreren draw(SvgWriter)-Methoden wird über die Liste aller parts des SVG iteriert und diese einzeln vollständig (inklusive Aufruf der "end"-Methoden im SVGBuilder) erzeugt.

Lösungen

Je nach dem für welches Element die Click-Handler beabsichtigt sind, gibt es unterschiedliche Lösungen für das Problem:

  1. Wenn nicht das vorher erzeugt Element als Ziel des Klicks beabsichtigt ist:

Anstatt des _current -Elements den _parent oder mit _root das SVG selbst als Klick-Ziel wählen.

  1. Wenn es keinen Grund gibt, weshalb der _current auf null gesetzt wird:

Diese Anweisungen entfernen, so dass beim Aufruf der end-Methoden nichts passiert, wie bei endPath() oder endData() .

  1. Wenn der Click-Handler eigentlich an ein bestimmtes Element gehängt werden müsste, unabhängig der part-Reihenfolge des SVG:

In diesem Fall sollte das Hinzufügen eines Click-Handlers in den Bauprozess eines SVG Elements integriert werden, anstatt als eigener part des SVG zu gelten. Dafür müsste dann auch das Aufrufen der Erzeugung solcher Elemente angepasst werden.

  • Get Started
  • Github
  • Discord
  • Das Unternehmen hinter TopLogic
  • Softwareentwicklung heute
  • Kontakt

© Copyright – Business Operation Systems GmbH

  • top-logic.com
  • Nutzungsbedingungen
  • Impressum
  • Rechtlicher Hinweis
  • Datenschutz
  • EN
  • Login