Enhancement
Major
#28593
Baumselektions-Modell mit Teilbaum-Selektionslogik
Es soll ein Selektions-Modell für Bäume geben bei dem die Selektion eines Knotens dafür sorgt, dass alle Knoten in dem Teilbaum selektiert sind; wenn ein Knoten selektiert wird werden alle Knoten in diesem Teilbaum de-selektiert.
Ein Knoten der kein Blatt-Knoten ist, ist genau dann selektiert, wenn alle Knoten im Teilbaum selektiert sind. Ein solches Selektionsmodell ist für Bäume sinnvoll, in denen nur Blattknoten für die Selektion tatsächlich relevant sind. Innere Knoten sind reine Gruppierungen, deren Selektion selbst keine fachliche Relevanz hat.
Umsetzung
- Es wird ein neues Selektionsmodell TreeSelectionModel eingeführt, welches die oben beschriebene Semantik umsetzt.
- Die Logik kann in In-App benutzt werden indem bei Baumtabellen oder Baum-Grid in der Konfiguration eine zusätzliche Spalte mit der Spaltenkonfiguration "Baumauswahl Spalte"hinzugefügt wird.
- In dieser Spalte wird bei einem Knoten der sowohl selektierte, als auch nicht selektierte Kinder hat, die Auswahlbox "unbestimmt" dargestellt.
Code-Migration
- Überschreibungen von LayoutComponent.channels() müssen in Überschreibung von LayoutComponent.programmaticChannels() geändert werden.
Test
- Im Demo sind Beispiele:
- Technisches Demo > Komponenten > Tabellen und Bäume > Baumtabelle mit Baumauswahl
- Technisches Demo > Komponenten > Tabellen und Bäume > Baumgrid mit Baumauswahl
- TestTreeSelectionModel