Dynamische Enumerationen für Select-Felder
Aufbau des Plugins
Das Plugin input/select
bildet einen Wrapper für die existierenden Input-Typen select
& selectKeyValue
. Die Besonderheit ist, dass durch die Definition einer Hilfsmethode die Enumeration des Feldes manipuliert werden kann. Somit ist man nicht auf statische Werte begrenzt.
Verwendung
Die Methoden, die in der Konfiguration definiert werden, unterliegen inhaltlich keiner Beschränkungen. Es muss lediglich ein Array mit Schlüssel-Werte-Paaren zurückgegeben werden. Das Select-Input-Feld speichert die Werte des Arrays. Das Select-Key-Value-Input-Feld hingegen speichert die Schlüssel.
Verwendung in Strukturmodellierung (Component/Modelling)
{
"source": "[Input/Select.select|Input/Select.select/key/value|Input/Select.select/key/value/multiple]"
"enumerationPlugin": "[pluginName]",
"enumerationFunction": "[functionName]"
}
Verwendung in Widgets
{
// [...],
"formType": "Select",
"configuration": {
// [...],
"source": "[Input/Select.select|Input/Select.select/key/value|Input/Select.select/key/value/multiple]"
"enumerationPlugin": "[pluginName]",
"enumerationFunction": "[functionName]"
}
}
// [...]
}
Konfiguration
Parametererklärung
Bezeichung | Mögliche Werte | Beschreibung |
---|---|---|
source | Input/Select.select/key/value oder Input/Select.select/key/value/multiple | Legt fest, ob das Feld eine Einfach oder Mehrfachauswahl ist. |
enumerationPlugin | Das Plugin, das die Logik zum Bereitstellen der Enumeration enthält. | |
enumerationFunction | Die Methode, die die Enumeration bereitstellt. In lowerCamelCase. | Legt fest, welche Methode im ausgewählten Plugin gewählt wird, um die Enumeration bereitzustellen. |