Das Selection Controls Pack ersetzt den Standard-Objektwähler durch moderne Auswahlsteuerelemente. Pickup-Werte werden als Radio Buttons, Checkboxen oder Chips dargestellt – übersichtlicher und schneller bedienbar.
Verfügbare Steuerelemente
| Control | Auswahl | Anwendungsfall |
|---|---|---|
rootitup-radio-buttons | Einzelauswahl | Wenige Optionen (3–7), gegenseitig ausschließend |
rootitup-checkboxes | Mehrfachauswahl | Mehrere Optionen gleichzeitig wählbar |
rootitup-chips | Einzelauswahl | Kompakte Darstellung, visuell ansprechend |
rootitup-multi-chips | Mehrfachauswahl | Kompakte Darstellung, mehrere Tags wählbar |
Architektur
Die Extension wird als Front-End Workspace in Matrix42 integriert. Das AngularJS-Modul RootITUp.SelectionControlsPack nutzt Angular Material für das Styling.
Genutzte Matrix42-Services
mx.SolutionBuilderAgent.EntityService– Lädt Enumeration-Werte dynamischmx.components.FormControlControllerBase– Basis für Validierung und Zustandsverwaltungmx.internationalization– Übersetzt Validierungsmeldungen
Gemeinsame Bindings
Alle Steuerelemente unterstützen diese Eigenschaften:
| Binding | Typ | Beschreibung |
|---|---|---|
entityClassName | String | Pflicht. Name der Enumeration-Definition (z. B. SPSCommonPickupObjectStatus) |
label | String | Beschriftung des Controls |
ngModel | Model | Gebundener Wert (Einzelwert oder Array bei Mehrfachauswahl) |
required | Boolean | Macht das Feld zum Pflichtfeld |
disabled | Boolean | Deaktiviert das Control |
readOnly | Boolean | Verhindert Änderungen, zeigt aber den Wert |
hint | String | Hilfetext unterhalb des Controls |
filter | String | ASQL-Filter zur Einschränkung der Optionen |
default | Any | Standardwert, falls ngModel initial leer ist |
showValue | Boolean | Zeigt den Rohwert in Klammern (z. B. „Aktiv (1)“) |
Installation & Einrichtung – Schritt für Schritt
Diese Anleitung führt Sie von der Installation über die Matrix42 Extension Gallery bis zum fertig ersetzten Steuerelement – am Beispiel von Radio Buttons für das Feld „Typ”.
Voraussetzung: administrative Rechte in Ihrem Matrix42-System.
1. Extension Gallery öffnen
Öffnen Sie die Matrix42 Extension Gallery unter extensions.matrix42.com und melden Sie sich mit Ihrem Matrix42-Konto an.
2. Selection Controls Pack suchen
Suchen Sie nach „RootITUp Selection Controls Pack”, öffnen Sie den Eintrag und klicken Sie auf Install.
3. Installation bestätigen
Prüfen Sie im ersten Schritt des Assistenten die Extension-Details – Name, Version und Hersteller (RootITUp GmbH) – und klicken Sie auf Next.

4. Voraussetzungen installieren
Der Assistent listet die benötigten Voraussetzungen auf – hier die Digital Workspace Platform. Sobald alle als „Ready” markiert sind, klicken Sie auf Install.

5. Installation abschließen
Warten Sie, bis die Meldung „Installation complete!” erscheint, und schließen Sie den Assistenten mit Finish. Der Anwendungspool wird dabei automatisch neu gestartet.

6. Zu ersetzendes Dropdown öffnen
Öffnen Sie die Seite oder den Dialog mit dem Standard-Dropdown (Aufzählungswähler), das Sie ersetzen möchten – im Beispiel das Feld „Typ”.

7. Layout-Editor öffnen
Öffnen Sie über das Aktionen-Menü den Layout-Editor der Seite.

8. Aufzählungsfeld auswählen
Wählen Sie im Layout-Editor das gewünschte Aufzählungsfeld aus – im Beispiel SPSActivityClassBase.TaskType. Rechts sehen Sie die zugehörige Enumeration (Enum Reference).

9. Steuerelement auswählen
Wählen Sie unter Picker Controls das gewünschte Steuerelement – z. B. Radio Buttons (alternativ Chips oder der Standard-Aufzählungswähler).

10. Darstellung im Layout-Editor prüfen
Das Feld wird nun als Radio Buttons dargestellt. Passen Sie bei Bedarf Beschriftung und weitere Eigenschaften an.

11. Layout speichern und veröffentlichen
Speichern Sie das Layout und veröffentlichen Sie es anschließend über die Symbolleiste.

12. Ergebnis im Dialog
Öffnen Sie die Seite erneut: Das frühere Dropdown erscheint jetzt als moderne Radio-Button-Auswahl.

Konfiguration im Detail
Eigenschaften
Jedes Steuerelement lässt sich im Layout-Editor über die folgenden Eigenschaften anpassen:
| Eigenschaft | Beschreibung |
|---|---|
| Label | Beschriftung des Feldes |
| Hint | Hilfetext für Nutzende |
| Required | Pflichtfeld-Validierung |
| Filter | ASQL zur Einschränkung der Optionen |
| Default | Vorausgewählter Wert |
| Show Value | Zeigt Rohwert neben Anzeigenamen |
ASQL-Filter
Die Optionen lassen sich über ASQL-Filter dynamisch einschränken:
Value > 0 AND DisplayString LIKE '%Aktiv%'
Änderungen am filter-Binding lösen automatisch ein Neuladen der Optionen aus.
Validierung & Standardwerte
Validierungslogik
Die Controls nutzen die Standard-Formularvalidierung von Matrix42:
- Pflichtfeld: Prüft, ob mindestens ein Wert ausgewählt ist
- Fehlermeldungen: Werden lokalisiert über
mx.internationalizationangezeigt - Zustandsverwaltung:
disabled,readOnlywerden korrekt behandelt
Hinweis: Der Wert
0wird als „leer” interpretiert. Pickups mit dem Wert0sind daher nicht auswählbar.
Standardwerte setzen
Über das default-Binding lässt sich ein Standardwert definieren:
<rootitup-chips
entity-class-name="SPSCommonPickupObjectStatus"
default="1"
ng-model="ticket.Status">
</rootitup-chips>
Bei Mehrfachauswahl ein Array übergeben:
<rootitup-multi-chips
entity-class-name="SPSCommonPickupCurrency"
default="[1, 2, 3]"
ng-model="object.allowedCurrencies">
</rootitup-multi-chips>
Reaktives Verhalten
Die Controls reagieren automatisch auf Änderungen:
| Änderung | Verhalten |
|---|---|
entityClassName ändert sich | Optionen werden neu geladen |
filter ändert sich | Optionen werden neu geladen |
| Geladene Optionen ändern sich | Ungültige Werte im Model werden entfernt |
Barrierefreiheit
Alle Controls unterstützen:
ariaLabel– Screenreader-Beschreibung- Tastaturnavigation – via Angular Material
- Fokus-Management – Standard-Formularverhalten
Changelog
Version 1.6.0 – Feature Update (25.01.2026)
- Radio Buttons für exklusive Einzelauswahl
- Checkboxes für Mehrfachauswahl
- Chips (Single/Multi) für kompakte Darstellung
- Befüllen über ASQL/Data Query
- Dynamische Optionen über
entityClassName - ASQL-Filter-Unterstützung
- Standardattribute:
label,hint,required,disabled,readOnly - Optionale Rohwert-Anzeige via
showValue - Kompatibel mit Matrix42 ab Version 11.x.x
- Verwendet Angular Material für konsistentes Styling
Häufig gestellte Fragen
Welche Pickup-Typen werden unterstützt?
Alle Enumeration-basierten Pickups, die über EntityService.getEnumerationValues abgerufen werden können. Das Binding entityClassName erwartet den Namen der Enumeration-Definition (z. B. SPSCommonPickupObjectStatus).
Warum ist der Wert 0 nicht auswählbar?
Die Controls interpretieren 0 als „kein Wert ausgewählt”. Dies entspricht dem üblichen Verhalten von Enumeration-Feldern, bei denen 0 häufig für „nicht gesetzt” steht.
Lässt sich die Optionsliste dynamisch filtern?
Ja, über das filter-Binding. Änderungen am Filter lösen automatisch ein Neuladen der Optionen aus. Der Filter ist ein ASQL-Ausdruck.
Was passiert, wenn ein ausgewählter Wert nach dem Neuladen nicht mehr existiert?
Der Wert wird automatisch aus dem Model entfernt. Bei Einzelauswahl wird das Model auf undefined gesetzt, bei Mehrfachauswahl wird der Wert aus dem Array entfernt.
Werden zusätzliche Berechtigungen benötigt?
Nein. Die Extension verwendet ausschließlich öffentliche Matrix42-APIs – keine zusätzlichen Berechtigungen erforderlich.
Welche Angular-Version wird benötigt?
Die Extension nutzt AngularJS (1.x) mit Angular Material. Diese sind in Matrix42 standardmäßig enthalten.