Extension Guide

Selection Controls Pack – Dokumentation

Dokumentation für das Selection Controls Pack: Radio Buttons, Checkboxen und Chips für moderne Pickup-Auswahl in Matrix42 Layouts.

Torben Soennecken 24. Januar 2026 Aktualisiert 10. Juni 2026

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

ControlAuswahlAnwendungsfall
rootitup-radio-buttonsEinzelauswahlWenige Optionen (3–7), gegenseitig ausschließend
rootitup-checkboxesMehrfachauswahlMehrere Optionen gleichzeitig wählbar
rootitup-chipsEinzelauswahlKompakte Darstellung, visuell ansprechend
rootitup-multi-chipsMehrfachauswahlKompakte 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 dynamisch
  • mx.components.FormControlControllerBase – Basis für Validierung und Zustandsverwaltung
  • mx.internationalization – Übersetzt Validierungsmeldungen

Gemeinsame Bindings

Alle Steuerelemente unterstützen diese Eigenschaften:

BindingTypBeschreibung
entityClassNameStringPflicht. Name der Enumeration-Definition (z. B. SPSCommonPickupObjectStatus)
labelStringBeschriftung des Controls
ngModelModelGebundener Wert (Einzelwert oder Array bei Mehrfachauswahl)
requiredBooleanMacht das Feld zum Pflichtfeld
disabledBooleanDeaktiviert das Control
readOnlyBooleanVerhindert Änderungen, zeigt aber den Wert
hintStringHilfetext unterhalb des Controls
filterStringASQL-Filter zur Einschränkung der Optionen
defaultAnyStandardwert, falls ngModel initial leer ist
showValueBooleanZeigt 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.

Ö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.

Screenshot: Erster Schritt des Installationsassistenten mit den Extension-Details des RootITUp Selection Controls Pack

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.

Screenshot: Schritt „Prerequisites" des Assistenten zeigt die Digital Workspace Platform als bereits installiert

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.

Screenshot: Abschlussseite des Assistenten mit der Meldung „Installation complete!" und dem Installationsprotokoll

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”.

Screenshot: Standard-Dropdown „Typ" mit aufgeklappter Optionsliste in einem Matrix42 Dialog

7. Layout-Editor öffnen

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

Screenshot: Aktionen-Menü in Matrix42 mit der Schaltfläche zum Öffnen des Layout-Editors

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).

Screenshot: Layout-Editor mit ausgewähltem Feld SPSActivityClassBase.TaskType und der zugehörigen Enumeration

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).

Screenshot: Auswahlmenü der Steuerelemente mit den Picker Controls Aufzählungswähler, Radio Buttons und Chips

10. Darstellung im Layout-Editor prüfen

Das Feld wird nun als Radio Buttons dargestellt. Passen Sie bei Bedarf Beschriftung und weitere Eigenschaften an.

Screenshot: Layout-Editor zeigt das Feld TaskType jetzt als Radio-Buttons-Steuerelement

11. Layout speichern und veröffentlichen

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

Screenshot: Symbolleiste des Layout-Editors mit den Schaltflächen zum Speichern und Veröffentlichen

12. Ergebnis im Dialog

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

Screenshot: Fertiges Feld „Art der Aufgabe" als Radio-Button-Auswahl im Matrix42 Dialog

Konfiguration im Detail

Eigenschaften

Jedes Steuerelement lässt sich im Layout-Editor über die folgenden Eigenschaften anpassen:

EigenschaftBeschreibung
LabelBeschriftung des Feldes
HintHilfetext für Nutzende
RequiredPflichtfeld-Validierung
FilterASQL zur Einschränkung der Optionen
DefaultVorausgewählter Wert
Show ValueZeigt 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.internationalization angezeigt
  • Zustandsverwaltung: disabled, readOnly werden korrekt behandelt

Hinweis: Der Wert 0 wird als „leer” interpretiert. Pickups mit dem Wert 0 sind 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:

ÄnderungVerhalten
entityClassName ändert sichOptionen werden neu geladen
filter ändert sichOptionen werden neu geladen
Geladene Optionen ändern sichUngü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.

Noch Fragen zur Konfiguration?

Unsere Engineers stehen gerne zur Verfügung, um bei der Einrichtung oder Anpassung zu helfen.

Wir antworten in der Regel innerhalb von 24h.

Diesen Beitrag teilen

Hilf anderen, diese Inhalte zu finden.

LinkedIn X

War dieser Artikel hilfreich?

Wir freuen uns über Feedback.