Skip to content

Mit dem Select-Modul erstellst du hochgradig anpassbare und leistungsstarke Auswahl-Steuerelemente. Egal, ob du eine einfache Liste oder eine komplexe Combobox mit Suchfunktion benötigst, dieses Modul bietet dir die nötigen Werkzeuge. Wie immer steht bei uns die Performance im Fokus, gefolgt von maximaler Flexibilität. Und auch über die vielen Features wirst du dich freuen, unter anderem:

  • Wahl zwischen Single- und Multi-Select
  • Integrierte Suchfunktion für lange Listen
  • Add-Button zum Hinzufügen neuer Auswahloptionen
  • Darstellung als einfache Liste oder als platzsparende Combobox
  • Definiere Actions pro Item
  • Vollständige Kontrolle über das Aussehen mit eigenen Icons und Styles
  • Form-ID Kompatibilität: Speichere Eingaben temporär zwischen und übertrage sie gesammelt an Ninox.

Eyecatcher Select

Funktion und Aussehen

Unser Select-Modul ist extrem vielseitig und kann auf zwei Arten dargestellt werden: Als immer sichtbare Liste von Optionen oder als Combobox, die sich erst bei einem Klick öffnet. Beide Varianten können als Single-Select (nur eine Option wählbar) oder Multi-Select (mehrere Optionen wählbar) konfiguriert werden.

Mächtige Combobox

Die Combobox ist die platzsparende und oft bevorzugte Variante. Sie zeigt im geschlossenen Zustand die aktuell ausgewählten Items an und öffnet bei einem Klick ein Dialogfenster. In diesem Dialogfenster findest du eine Liste aller verfügbaren Optionen. Für lange Listen kannst du eine Suchleiste einblenden, um die Optionen in Echtzeit zu filtern. Für Multi-Select-Listen gibt es außerdem Buttons, um alle sichtbaren Optionen auf einmal aus- oder abzuwählen.

Maximale Gestaltungsfreiheit

Du hast die volle Kontrolle über das Aussehen und Verhalten.

  • Styling: Nutze den class-Key, um CSS-Klassen zuzuweisen, die von dir oder uns im Globalen CSS-Code definiert wurden. Für spezifische Anpassungen kannst du den style-Key für Inline-CSS verwenden. Beachte, dass Inline-Styles immer Vorrang vor den Klassen-Styles haben. Dieses Prinzip gilt für das gesamte Modul, aber auch für einzelne Komponenten wie das label, die combobox und die einzelnen items.
  • Icons: Du kannst eigene Icons für ausgewählte und nicht ausgewählte Zustände definieren. Nutze dafür zum Beispiel unsere Material Symbols.
  • Anzeige in der Combobox: Du kannst festlegen, ob und wie die ausgewählten Items in der geschlossenen Combobox dargestellt werden. Standardmäßig wird eine Kopie des Items angezeigt, aber du hast die volle Freiheit, eine individuelle Darstellung zu definieren. Hierfür kannst du einfachen Text, andere GIP-Module oder sogar eigene HTML-Strukturen verwenden. Auch Actions können damit an die Combobox-Items übergeben werden.
  • HTML-Attribute: Mit dem htmlAttribute-Key kannst du dem Hauptcontainer des Moduls beliebige HTML-Attribute hinzufügen, z.B. "tabindex='5'".

Werte zwischenspeichern mit einer Form-ID

Das Select-Modul ist vollständig kompatibel mit unserem Form-System. Das bedeutet, du kannst eine formId angeben, um die Auswahl eines Benutzers temporär im Browser zwischenzuspeichern, anstatt sie sofort in ein Ninox-Feld zu schreiben. Das ist besonders nützlich bei komplexen Formularen, bei denen der Benutzer erst am Ende alle Eingaben mit einem einzigen Klick speichern soll.

Der Prozess ist identisch zum Input-Modul: Gibst du eine formId an, wird die Auswahl (die itemIds der ausgewählten Optionen) zusammen mit recordId und fieldId im Session Storage des Browsers gespeichert. Um die zwischengespeicherten Werte aller Felder eines Formulars in die entsprechenden Ninox-Felder zu schreiben, nutzt du ein GIP-Element mit dem actions-Key (z.B. einen Button) und dem Script-Type submitGIPform.

Nutzer-Interaktion

Wie die meisten unserer Module ist auch das Select-Modul mit dem actions-Key ausgestattet. Du kannst Actions für das gesamte Modul definieren, aber auch für jedes einzelne Item in der Liste. Das ermöglicht dir, auf die Auswahl eines bestimmten Items zu reagieren und spezifische Skripte auszuführen.

Eine besondere Stärke liegt in der Kombination mit benutzerdefinierten Icons. Du kannst sogar separate Actions für das Klicken auf das "Ausgewählt"-Icon (iconSelectedActions) und das "Nicht ausgewählt"-Icon (iconUnselectedActions) festlegen. Damit lassen sich komplexe Interaktionslogiken umsetzen, die weit über eine einfache Auswahl hinausgehen.

Jede Action besteht aus einem auslösenden Trigger und einem Array von Scripts, die bei Auslösen des Triggers ausgeführt werden. Als Trigger können Klick, Mausbewegung und alle weiteren HTML Mouse Events eingesetzt werden. Je nach Anwendung können auch andere HTML Events funktionieren. Eine Liste solcher Events findest du beispielsweise hier. Weitere Infos zu Actions findest du in diesem Teil unserer Doku.

Modulcode

json
GIP_select({
   uniqueId: "myUniqueName" + Nr,
   embedded: true,
   selectType: "single",
   recordId: raw(Nr),
   fieldId: "",
   iconSelected: true,
   iconUnselected: true,
   items: [{
   	itemId: 1,
   	value: *any*,
   }],
   selectedItems: [1, 2, 4, 7],
})
json
GIP_select({
   uniqueId: "myUniqueName" + Nr,
   embedded: true,
   selectType: "single",
   recordId: raw(Nr),
   fieldId: "",
   style: "",
   iconSelected: true,
   iconUnselected: true,
   combobox: true,
   items: [{
   	itemId: 1,
   	style: "",
   	value: *any*,
   }],
   selectedItems: [1, 2, 4, 7],
   selectableItems: [1, 3, 4, 5, 7],
})
json
GIP_select({
   uniqueId: "myUniqueName" + Nr,
   embedded: true,
   selectType: "single",
   recordId: raw(Nr),
   fieldId: "",
   formId: "myForm" + Nr,
   class: "",
   styleSelected: true,
   styleHovered: true,
   style: "",
   searchBar: true,
   iconSelected: true,
   iconUnselected: true,
   combobox: true,
   items: [{
   	itemId: 1,
   	style: "",
   	value: *any*,
   	actions: [{
   		trigger: "click",
   		scripts: [{
   			type: "",
   		}],
   	}],
   	selectable: true,
   	selected: true,
   }],
   selectedItems: [1, 2, 4, 7],
   selectableItems: [1, 3, 4, 5, 7],
   selectOnAll: true,
   actions: [{
   	trigger: "click",
   	scripts: [{
   		type: "",
   	}],
   }],
})
json
GIP_select({
   uniqueId: "",
   embedded: {
   	height: "",
   	styleHtml: "",
   	styleStri: "",
   },
   selectType: "",
   recordId: "",
   fieldId: "",
   formId: "",
   class: "",
   styleSelected: "" / true,
   styleHovered: "" / true,
   style: "",
   searchBar: {
   	style: "",
   	placeholder: {
   		style: "",
   		value: *any*,
   	},
   },
   iconSelected: true / *any*,
   iconUnselected: true / *any*,
   combobox: {
   	class: "",
   	style: "",
   	expandIcon: true / *any*,
   	placeholder: {
   		style: "",
   		value: *any*,
   	},
   	collapseAfterSelect: true,
   	expandOnAll: true,
   },
   label: {
   	class: "",
   	style: "",
   	value: *any*,
   	orientation: "",
   },
   items: [{
   	itemId: "" / 0,
   	style: "",
   	value: *any*,
   	displayInCombobox: true / *any*,
   	actions: [{
   		trigger: "",
   		scripts: [{
   			type: "",
   		}],
   	}],
   	iconSelectedActions: [{
   		trigger: "",
   		scripts: [{
   			type: "",
   		}],
   	}],
   	iconUnselectedActions: [{
   		scripts: [{
   			type: "",
   		}],
   	}],
   	selectable: true,
   	selected: true,
   }],
   selectedItems: "" / 0 / [""] / [0],
   selectableItems: "" / 0 / [""] / [0],
   selectOnAll: true,
   actions: [{
   	trigger: "",
   	scripts: [{
   		type: "",
   	}],
   }],
   htmlAttribute: "",
})
json
html( raw(GIP_master({})) + 
raw(GIP_select({
   uniqueId: "",
   embedded: {
   	height: "",
   	styleHtml: "",
   	styleStri: "",
   },
   selectType: "",
   recordId: "",
   fieldId: "",
   formId: "",
   class: "",
   styleSelected: "" / true,
   styleHovered: "" / true,
   style: "",
   searchBar: {
   	style: "",
   	placeholder: {
   		style: "",
   		value: *any*,
   	},
   },
   iconSelected: true / *any*,
   iconUnselected: true / *any*,
   combobox: {
   	class: "",
   	style: "",
   	expandIcon: true / *any*,
   	placeholder: {
   		style: "",
   		value: *any*,
   	},
   	collapseAfterSelect: true,
   	expandOnAll: true,
   },
   label: {
   	class: "",
   	style: "",
   	value: *any*,
   	orientation: "",
   },
   items: [{
   	itemId: "" / 0,
   	style: "",
   	value: *any*,
   	displayInCombobox: true / *any*,
   	actions: [{
   		trigger: "",
   		scripts: [{
   			type: "",
   		}],
   	}],
   	iconSelectedActions: [{
   		trigger: "",
   		scripts: [{
   			type: "",
   		}],
   	}],
   	iconUnselectedActions: [{
   		scripts: [{
   			type: "",
   		}],
   	}],
   	selectable: true,
   	selected: true,
   }],
   selectedItems: "" / 0 / [""] / [0],
   selectableItems: "" / 0 / [""] / [0],
   selectOnAll: true,
   actions: [{
   	trigger: "",
   	scripts: [{
   		type: "",
   	}],
   }],
   htmlAttribute: "",
})
))

Key-Table

arrow_rightuniqueIdRequired
string
Default: -
Eindeutige Kennung des eingesetzten Moduls. Ideal ist eine Kombination aus Text und der Record-ID, also z.B.: uniqueId: "LayoutÜberschrift" + Nr
Ist die ID nicht einzigartig, kann es zu Fehlern bei Anzeige und Funktion der eingesetzten Module in der Tabelle kommen.
arrow_rightembeddedRequired
boolean, object
Default: false
Wenn des Modul in einem anderen Modul eingebettet ist, wird der boolesche Wert true eingetragen.
Liegt das Modul alleine, bzw. als äußerster Container in einem Formelfeld, kann entweder false oder ein Object mit Angaben zur Höhe und Styling des Formelfeldes angegeben werden.
arrow_rightheight
string
Default: "auto"
Höhe des Moduls in Pixeln (px).
arrow_rightstyleHtml
string
Default: "padding: 0 !important; user-select: none !important; -webkit-user-select: none !important; -ms-user-select: none !important; background: none !important; border-radius: 0px !important; height: auto; min-height: 34px !important;"
Inline CSS-Styling des Html-Containers des Formel-Feldes, in dem die GIP-Module liegen.
arrow_rightstyleStri
string
Default: "background: none !important; border: 0 !important;"
Inline CSS-Styling des Stringeditor-Containers des Formel-Feldes, in dem die GIP-Module liegen.
arrow_rightselectTypeRequired
string
Default: "single"
Die verfügbaren Select-Types sind "single" (Einfachauswahl) und "multi" (Mehrfachauswahl).
arrow_rightrecordIdRequired
string
Default: -
ID des Ziel-Records.
arrow_rightfieldIdRequired
string
Default: -
ID des Ziel-Feldes.
arrow_rightformId
string
Default: -
Wenn eine Form-ID angegeben wird, wird der in ein GIP-Feld eingegebene Wert nicht direkt in das verknüpfte Ninox-Feld, sondern in den Session Storage des Browsers geschrieben. Der Wert wird also zwischengespeichert, bis er tatsächlich in Ninox eingetragen werden soll. Es können mehrere GIP-Felder gleichzeitig Daten unter derselben Form-ID speichern.
Mit der Funktion submitGIPform (siehe actions-Key) können alle Werte, die unter der Form-ID gespeichert wurden, wieder aus dem Session Storage gelesen und in die entsprechenden Ninox-Felder geschrieben werden.
arrow_rightclass
string
Default: -
Styling des Moduls mithilfe der in GIP_globalCSS vordefinierten CSS-Stylings (siehe globaler GIP-Modul-Code). Um mehrere CSS-Stylings zu referenzieren, werden die Class-Namen einfach mit Leerzeichen als String aneinandergereiht.
arrow_rightstyleSelected
string, boolean
Default: "background-color: #edf1ff85;"
Gibt an, ob ein angewähltes Select-Item ein bestimmtes Sytling haben soll.
  • false = Kein Styling
  • true = Default-Styling
  • Text-Eingabe = Übergabe von selbst festgelegtem Styling
arrow_rightstyleHovered
string, boolean
Default: "background-color: #edf1ff;"
Gibt an, ob ein Select-Item bei Überfahren mit der Maus ein bestimmtes Sytling haben soll.
  • false = Kein Styling
  • true = Default-Styling
  • Text-Eingabe = Übergabe von selbst festgelegtem Styling
arrow_rightstyle
string
Default: Siehe <a href="/GlobalerCSS-Code">Globaler CSS-Code</a>
Inline CSS-Styling des Moduls oder Elements.
arrow_rightsearchBar
boolean, object
Default: false
Hiermit wird angegeben, ob eine Suchleiste zum Filtern der Select-Items angezeigt werden soll. Mit einem Object können Eigenschaften, wie Style und Platzhalter, der Searchbar übergeben werden.
  • false = Keine Suchleiste anzeigen
  • true = Suchleiste mit Default-Einstellungen anzeigen
  • Object = Suchleiste anzeigen mit selbst festgelegten Eigenschaften
arrow_rightstyle
string
Default: Siehe <a href="/GlobalerCSS-Code">Globaler CSS-Code</a>
Inline CSS-Styling des Moduls oder Elements.
arrow_rightplaceholder
object
Default: -
Im placeholder-Objekt werden für ein Input-Feld Wert und Styling des Platzhalters angegeben.
arrow_rightstyle
string
Default: "color: #ABABAB;"
Inline CSS-Styling des Moduls oder Elements.
arrow_rightvalueRequired
any
Default: -
Eingabe des gewünschten Wertes.
arrow_righticonSelected
boolean, any
Default: Material Symbol: check_box
Dieses Icon wird angezeigt, wenn die Checkbox 'true'/'1' ist.
  • false = Es wird keine Icon angezeigt
  • true = Es wird der Default-Wert angezeigt
  • Angabe eines eigenen Icons (z.B. GIP-Material-Symbol oder HTML-Element) = Es wird das angegebene Icon angezeigt.
arrow_righticonUnselected
boolean, any
Default: Material Symbol: check_box_outline_blank
Dieses Icon wird angezeigt, wenn die Checkbox 'false'/'0' ist.
  • false = Es wird keine Icon angezeigt
  • true = Es wird der Default-Wert angezeigt
  • Angabe eines eigenen Icons (z.B. GIP-Material-Symbol oder HTML-Element) = Es wird das angegebene Icon angezeigt.
arrow_rightcombobox
boolean, object
Default: false
Übergabe von Daten für die Combobox, wie Stylings, Funktionen und Optionen für den Platzhalter.
arrow_rightclass
string
Default: -
Styling des Moduls mithilfe der in GIP_globalCSS vordefinierten CSS-Stylings (siehe globaler GIP-Modul-Code). Um mehrere CSS-Stylings zu referenzieren, werden die Class-Namen einfach mit Leerzeichen als String aneinandergereiht.
arrow_rightstyle
string
Default: Siehe <a href="/GlobalerCSS-Code">Globaler CSS-Code</a>
Inline CSS-Styling des Moduls oder Elements.
arrow_rightexpandIcon
boolean, any
Default: Material Symbol: arrow_drop_down
Dieses Icon wird im rechten Bereich der Combobox angezeigt und zeigt wem Nutzer, dass dieses Element aufgeklappt werden kann.
  • false = Es wird keine Icon angezeigt
  • true = Es wird der Default-Wert angezeigt
  • Angabe eines eigenen Icons (z.B. GIP-Material-Symbol oder HTML-Element) = Es wird das angegebene Icon angezeigt.
arrow_rightplaceholder
object
Default: -
Im placeholder-Objekt werden für ein Input-Feld Wert und Styling des Platzhalters angegeben.
arrow_rightstyle
string
Default: "color: #ABABAB;"
Inline CSS-Styling des Moduls oder Elements.
arrow_rightvalueRequired
any
Default: -
Eingabe des gewünschten Wertes.
arrow_rightcollapseAfterSelect
boolean
Default: false
Wenn der Wert true ist, wird der Select-Dialog nach der Auswahl einer Option direkt wieder geschlossen. Dies entspricht dem Verhalten einer Ninox-Einfachauswahl.
arrow_rightexpandOnAll
boolean
Default: true
Legt fest, ob der Select Dialog nur durch Klicken auf das Expand-Icon geöffnet werden soll (false) oder durch Klicken auf jedes Element der Combobox (true).
arrow_rightlabel
object
Default: -
Die Label der Tabs werden nebeneinander (Modul direction: "horizontal"), bzw. untereinander (Modul direction: "vertical") angezeigt. Im label-Objekt werden für jeden Tab Wert, Styling und Aktionen bei Interaktion mit dem Label angegeben.
arrow_rightclass
string
Default: -
Styling des Moduls mithilfe der in GIP_globalCSS vordefinierten CSS-Stylings (siehe globaler GIP-Modul-Code). Um mehrere CSS-Stylings zu referenzieren, werden die Class-Namen einfach mit Leerzeichen als String aneinandergereiht.
arrow_rightstyle
string
Default: Siehe <a href="/GlobalerCSS-Code">Globaler CSS-Code</a>
Inline CSS-Styling des Moduls oder Elements.
arrow_rightvalueRequired
any
Default: -
Eingabe des gewünschten Wertes.
arrow_rightorientation
string
Default: "top"
Gibt die Anordnung an. Zur Auswahl stehen die Schlüsselwörter "left", "right", "bottom" und "top".
arrow_rightitemsRequired
array of objects
Default: -
Alle Auswahloptionen eines Selects. Für jedes Item können Eigenschaften, wie Styling, Funktionen und Inhalt, vergeben werden.
arrow_rightitemIdRequired
string, number
Default: Wenn vom Programmierer keine ID gegeben wird: Fortlaufender Item-Index (No-Id-${index}).
Die ID eines Items kann eine Zahl (z.B. number(Nr)) oder auch ein Text sein (z.B. raw(Nr)). Wenn das GIP-Select-Modul ein Ninox-Auswahlfeld aktualisieren soll, dann muss die Item-ID mit der Ninox-ID der Auswahloption übereinstimmen.
arrow_rightstyle
string
Default: Siehe <a href="/GlobalerCSS-Code">Globaler CSS-Code</a>
Inline CSS-Styling des Moduls oder Elements.
arrow_rightvalueRequired
any
Default: -
Eingabe des gewünschten Wertes. **INFO**: Beim Select werden Actions von im Value-Key angegebenen Modulen / HTML-Elementen **nicht in die Combobox übernommen**. Das kann nur über den Key displayInCombobox erreicht werden. Wenn also der in der Combobox angezeigte Werte z.B. durch Click ein PopupRecord ausführen soll, dann geht das mit einem GIP-Modul mit Action in displayInCombox.
arrow_rightdisplayInCombobox
boolean, any
Default: true
Mit diesem Key wird angegeben, ob ein Item nach Auswahl in der Combobox dargestellt werden soll. Alternativ kann auch der Werte (Text / HTML-Element / GIP-Modul) angegeben werden, der in der Combobox erscheinen soll.

INFO: Actions von angegebenen Modulen / HTML-Elementen in displayInCombobox werden übernommen. Das gilt aber nicht für die Actions des normalen Item-Values. Wenn also der in der Combobox angezeigte Werte z.B. durch Click ein PopupRecord ausführen soll, dann geht das mit einem GIP-Modul mit Action in displayInCombox.
arrow_rightactions
array of objects
Default: -
Enthält ein Array mehrerer Actions. Jede Action ist aus einem Trigger, der die Action auslöst, und einem Array der auszuführenden Funktionen nach Auslösen des Triggers (Script) aufgebaut.
arrow_righttriggerRequired
string
Default: -
Legt fest, durch welche User-Eingaben die Funktionen der Action ausgelöst werden. Als Trigger können alle HTML Mouse Events gewählt werden.
arrow_rightscriptsRequired
array of objects
Default: -
Enthält ein Array der Funktionen, die durch den Trigger der Aktion ausgeführt werden.
arrow_righttypeRequired
string
Default: -
Der Typ der Funktion wird aus der Liste der verfügbaren Funktionen gewählt.
arrow_righticonSelectedActions
array of objects
Default: -
Zusätzliche Aktionen, die ausgeführt werden sollen, wenn der Nutzer auf ein Icon-Selected klickt und ein Item damit abwählt.
arrow_righttriggerRequired
string
Default: -
Legt fest, durch welche User-Eingaben die Funktionen der Action ausgelöst werden. Als Trigger können alle HTML Mouse Events gewählt werden.
arrow_rightscriptsRequired
array of objects
Default: -
Enthält ein Array der Funktionen, die durch den Trigger der Aktion ausgeführt werden.
arrow_righttypeRequired
string
Default: -
Der Typ der Funktion wird aus der Liste der verfügbaren Funktionen gewählt.
arrow_righticonUnselectedActions
array of objects
Default: -
Zusätzliche Aktionen, die ausgeführt werden sollen, wenn der Nutzer auf ein Icon-Unselected klickt und ein Item damit anwählt.
arrow_rightscriptsRequired
array of objects
Default: -
Enthält ein Array der Funktionen, die durch den Trigger der Aktion ausgeführt werden.
arrow_righttypeRequired
string
Default: -
Der Typ der Funktion wird aus der Liste der verfügbaren Funktionen gewählt.
arrow_rightselectable
boolean
Default: true
Gibt an, ob ein Item vom Nutzer an- bzw. abgewählt werden kann.

INFO: Wenn sowohl selectableItems, als auch der Selectable-Key in Items gegeben sind, dann werden die Informationen aus selectableItems genommen und selectable ignoriert.
arrow_rightselected
boolean
Default: false
Gibt an, ob ein Item aktuell an- oder abgewählt ist.

INFO: Wenn sowohl selectedItems, als auch der Selected-Key in Items gegeben sind, dann werden die Informationen aus selectedItems genommen und selected ignoriert.
arrow_rightselectedItems
string, number, array of strings, array of numbers
Default: Kein Item des Selects sind ausgewählt, solange nicht vom Programmierer anders angegeben.
Übergabe der aktuell angewählten Item-IDs des Selects.

INFO: Wenn sowohl selectedItems, als auch der Selected-Key in Items gegeben sind, dann werden die Informationen aus selectedItems genommen und selected ignoriert.
arrow_rightselectableItems
string, number, array of strings, array of numbers
Default: Alle Items des Selects sind anwählbar, solange nicht vom Programmierer anders angegeben.
Wenn nur bestimmte Items eines Selects anwählbar sein sollen, dann können die IDs dieser Items übergeben werden.

INFO: Wenn sowohl selectableItems, als auch der Selectable-Key in Items gegeben sind, dann werden die Informationen aus selectableItems genommen und selectable ignoriert.
arrow_rightselectOnAll
boolean
Default: false
Legt fest, ob die Select-Items nur durch Klicken auf die Icons an-/abgewählt werden können (false) oder durch Klicken auf jeden Teil des Items (true).
arrow_rightactions
array of objects
Default: -
Enthält ein Array mehrerer Actions. Jede Action ist aus einem Trigger, der die Action auslöst, und einem Array der auszuführenden Funktionen nach Auslösen des Triggers (Script) aufgebaut.
arrow_righttriggerRequired
string
Default: -
Legt fest, durch welche User-Eingaben die Funktionen der Action ausgelöst werden. Als Trigger können alle HTML Mouse Events gewählt werden.
arrow_rightscriptsRequired
array of objects
Default: -
Enthält ein Array der Funktionen, die durch den Trigger der Aktion ausgeführt werden.
arrow_righttypeRequired
string
Default: -
Der Typ der Funktion wird aus der Liste der verfügbaren Funktionen gewählt.
arrow_righthtmlAttribute
string
Default: -
Auflistung der HTML-Attribute, die zusätzlich auf das Feld angewendet werden sollen. Zulässig sind prinzipiell alle HTML-Attribute, die auf ein HTML-Div-Element angewendet werden können (z.B. "spellcheck='false' tabindex='5' ").

Beispiele

Select: Einfachauswahl

Beispiel Select Single Basic

Beschreibung

Wir möchten eine Einfachauswahl im Combobox-Stil bauen, die ein Ninox-Auswahlfeld "Antwortoptionen" updated. Dafür vergeben wir "single" als selectType und konfigurieren unsere Combobox.

Im Key items übergeben wir die Auswahloptionen für das Select. Für die itemId wählen wir hier dieselbe ID, die auch im Ninox-Auswahlfeld vergeben ist. Beispiel Select Single Basic Ninox-Auswahl

Um dem Nutzer zusätzlich die Option zu geben, die Auswahl wieder zu leeren übergeben wir für den Key toggleButtonNone den Wert "(leer)".

Code des Beispiels
json
html(raw(GIP_master({})) +
raw(GIP_select({
		uniqueId: "SingleBasic" + Nr,
		embedded: false,
		class: "",
		style: "",
		selectType: "single",
		recordId: raw(Nr),
		fieldId: fieldId(this, "Antwortoptionen"),
		label: {
			class: "",
			style: "",
			value: "Single Select (basic)"
		},
		combobox: {
			class: "",
			style: "",
			expandOnAll: true,
			collapseAfterSelect: true,
			placeholder: {
				style: "",
				value: "Antwort wählen..."
			}
		},
		selectContainer: {
			style: "max-height: 400px; height:auto;",
			toggleButtonNone: "(leer)",
			itemGroup: {
				iconSelected: true,
				iconUnselected: true,
				selectOnAll: true,
				selectedItems: number(Antwortoptionen),
				items: [{
						itemId: 1,
						style: "",
						value: "Ja"
					}, {
						itemId: 2,
						style: "",
						value: "Nein"
					}, {
						itemId: 3,
						style: "",
						value: "Vielleicht"
					}]
			}
		}
	})
))
json
GIP_select({
	uniqueId: "SingleBasic" + Nr,
	embedded: true,
	class: "",
	style: "",
	selectType: "single",
	recordId: raw(Nr),
	fieldId: fieldId(this, "Antwortoptionen"),
	label: {
		class: "",
		style: "",
		value: "Single Select (basic)"
	},
	combobox: {
		class: "",
		style: "",
		expandOnAll: true,
		collapseAfterSelect: true,
		placeholder: {
			style: "",
			value: "Antwort wählen..."
		}
	},
	selectContainer: {
		style: "max-height: 400px; height:auto;",
		toggleButtonNone: "(leer)",
		itemGroup: {
			iconSelected: true,
			iconUnselected: true,
			selectOnAll: true,
			selectedItems: number(Antwortoptionen),
			items: [{
					itemId: 1,
					style: "",
					value: "Ja"
				}, {
					itemId: 2,
					style: "",
					value: "Nein"
				}, {
					itemId: 3,
					style: "",
					value: "Vielleicht"
				}]
		}
	}
})

Select: Mehrfachauswahl

Beispiel Select Multi Basic

Beschreibung

Wir möchten eine Mehrfachauswahl im Combobox-Stil bauen, die ein Ninox-Auswahlfeld "Einkaufen" updated. Dafür vergeben wir "multi" als selectType an und konfigurieren unsere Combobox. Mit dem Type "multi" brauchen wir keinerlei Hilfsfelder, um das Ninox-Mehrfachauswahl-Feld zu updaten.

Im Key items übergeben wir die Auswahloptionen für das Select. Für die itemId wählen wir hier dieselbe ID, die auch im Ninox-Auswahlfeld vergeben ist, in diesem Fall eine Zahl: Beispiel Select Multi Basic Ninox-Auswahl

Code des Beispiels
json
html(raw(GIP_master({})) +
raw(GIP_select({
		uniqueId: "MultiBasic" + Nr,
		embedded: false,
		class: "",
		style: "",
		selectType: "multi",
		combobox: {
			class: "",
			style: "",
			expandIcon: true,
			expandOnAll: true,
			collapseAfterSelect: false,
			placeholder: {
				style: "",
				value: "Einkaufsliste schreiben..."
			}
		},
		recordId: raw(Nr),
		fieldId: fieldId(this, "Einkaufen"),
		formId: "",
		label: {
			class: "",
			style: "",
			value: "Multi Select (basic)"
		},
		selectContainer: {
			class: "",
			style: "max-height: 400px; height:auto;",
			htmlAttribute: "",
			toggleButtonAll: false,
			toggleButtonNone: false,
			itemGroup: {
				iconSelected: true,
				iconUnselected: true,
				selectOnAll: true,
				selectedItems: numbers(Einkaufen),
				items: [{
						itemId: 1,
						style: "",
						value: "Apfel"
					}, {
						itemId: 2,
						style: "",
						value: "Mehl"
					}, {
						itemId: 3,
						style: "",
						value: "Butter"
					}, {
						itemId: 4,
						style: "",
						value: "KiBa"
					}]
			}
		}
	})
))
json
GIP_select({
	uniqueId: "MultiBasic" + Nr,
	embedded: true,
	class: "",
	style: "",
	selectType: "multi",
	combobox: {
		class: "",
		style: "",
		expandIcon: true,
		expandOnAll: true,
		collapseAfterSelect: false,
		placeholder: {
			style: "",
			value: "Einkaufsliste schreiben..."
		}
	},
	recordId: raw(Nr),
	fieldId: fieldId(this, "Einkaufen"),
	formId: "",
	label: {
		class: "",
		style: "",
		value: "Multi Select (basic)"
	},
	selectContainer: {
		class: "",
		style: "max-height: 400px; height:auto;",
		htmlAttribute: "",
		toggleButtonAll: false,
		toggleButtonNone: false,
		itemGroup: {
			iconSelected: true,
			iconUnselected: true,
			selectOnAll: true,
			selectedItems: numbers(Einkaufen),
			items: [{
					itemId: 1,
					style: "",
					value: "Apfel"
				}, {
					itemId: 2,
					style: "",
					value: "Mehl"
				}, {
					itemId: 3,
					style: "",
					value: "Butter"
				}, {
					itemId: 4,
					style: "",
					value: "KiBa"
				}]
		}
	}
})

Select: Einfachauswahl mit Custom Icons

Beispiel Select Single Custom Icons

Beschreibung

Wir möchten ein Select-Modul bauen und dabei die Checkboxen durch eigene Symbole ersetzen, hier beispielhaft für eine Einfachauswahl. Dafür übergeben wir in den Keys iconSelected und iconUnselected Material-Symbols, die wir wiederum stylen können.

Code des Beispiels
json
let workers := (select Mitarbeiter);
html(raw(GIP_master({})) +
raw(GIP_select({
		uniqueId: "SingleCustomIcons" + Nr,
		embedded: false,
		class: "",
		style: "",
		selectType: "single",
		combobox: {
			class: "",
			style: "",
			expandIcon: true,
			expandOnAll: true,
			collapseAfterSelect: true,
			placeholder: {
				style: "",
				value: "Mitarbeiter wählen..."
			}
		},
		recordId: raw(Nr),
		fieldId: fieldId(this, "Verantwortlicher Mitarbeiter (single)"),
		label: {
			class: "",
			style: "",
			value: "Single Select (Custom Icons)"
		},
		selectContainer: {
			class: "",
			style: "max-height: 400px; height:auto;",
			itemGroup: {
				iconSelected: GIP_materialSymbols({
						embedded: true,
						color: "#3381ff",
						icon: "radio_button_checked"
					}),
				iconUnselected: GIP_materialSymbols({
						embedded: true,
						color: "#3381ff",
						icon: "radio_button_unchecked"
					}),
				selectOnAll: true,
				selectedItems: number('Verantwortlicher Mitarbeiter (single)'),
				items: workers.{
					style: "",
					value: Name,
					itemId: number(Nr)
				}
			}
		}
	})
))
json
let workers := (select Mitarbeiter);
GIP_select({
	uniqueId: "SingleCustomIcons" + Nr,
	embedded: true,
	class: "",
	style: "",
	selectType: "single",
	combobox: {
		class: "",
		style: "",
		expandIcon: true,
		expandOnAll: true,
		collapseAfterSelect: true,
		placeholder: {
			style: "",
			value: "Mitarbeiter wählen..."
		}
	},
	recordId: raw(Nr),
	fieldId: fieldId(this, "Verantwortlicher Mitarbeiter (single)"),
	label: {
		class: "",
		style: "",
		value: "Single Select (Custom Icons)"
	},
	selectContainer: {
		class: "",
		style: "max-height: 400px; height:auto;",
		itemGroup: {
			iconSelected: GIP_materialSymbols({
					embedded: true,
					color: "#3381ff",
					icon: "radio_button_checked"
				}),
			iconUnselected: GIP_materialSymbols({
					embedded: true,
					color: "#3381ff",
					icon: "radio_button_unchecked"
				}),
			selectOnAll: true,
			selectedItems: number('Verantwortlicher Mitarbeiter (single)'),
			items: workers.{
				style: "",
				value: Name,
				itemId: number(Nr)
			}
		}
	}
})

Select: Einfachauswahl Combobox-Icon

Beispiel Select Single Custom Expand-Icon

Beschreibung

Wir möchten ein Select-Modul bauen und dabei das Ausklapp-Symbol der Combobox durch ein eigenes Symbol ersetzen, hier beispielhaft für eine Einfachauswahl. Dafür übergeben wir im Key expandIcon ein Material-Symbol mit eigenen Stylings.

Code des Beispiels
json
html(raw(GIP_master({})) +
raw(GIP_select({
		uniqueId: "SingleExpandIcon" + Nr,
		embedded: false,
		class: "",
		style: "",
		selectType: "single",
		recordId: raw(Nr),
		fieldId: fieldId(this, "Antwortoptionen"),
		label: {
			class: "",
			style: "",
			value: "Single Select (Expand Icon)"
		},
		combobox: {
			class: "",
			style: "",
			expandIcon: GIP_materialSymbols({
					embedded: true,
					filling: false,
					color: "#3381ff",
					secondColor: "#e3e7ff",
					icon: "expand_circle_down"
				}),
			expandOnAll: false,
			collapseAfterSelect: true,
			placeholder: {
				style: "",
				value: "Antwort wählen..."
			}
		},
		selectContainer: {
			class: "",
			style: "max-height: 400px; height:auto;",
			toggleButtonNone: "(leer)",
			itemGroup: {
				iconSelected: true,
				iconUnselected: true,
				selectOnAll: true,
				selectedItems: number(Antwortoptionen),
				items: [{
						itemId: 1,
						style: "",
						value: "Ja"
					}, {
						itemId: 2,
						style: "",
						value: "Nein"
					}, {
						itemId: 3,
						style: "",
						value: "Vielleicht"
					}]
			}
		}
	})
))
json
GIP_select({
	uniqueId: "SingleExpandIcon" + Nr,
	embedded: true,
	class: "",
	style: "",
	selectType: "single",
	recordId: raw(Nr),
	fieldId: fieldId(this, "Antwortoptionen"),
	label: {
		class: "",
		style: "",
		value: "Single Select (Expand Icon)"
	},
	combobox: {
		class: "",
		style: "",
		expandIcon: GIP_materialSymbols({
				embedded: true,
				filling: false,
				color: "#3381ff",
				secondColor: "#e3e7ff",
				icon: "expand_circle_down"
			}),
		expandOnAll: false,
		collapseAfterSelect: true,
		placeholder: {
			style: "",
			value: "Antwort wählen..."
		}
	},
	selectContainer: {
		class: "",
		style: "max-height: 400px; height:auto;",
		toggleButtonNone: "(leer)",
		itemGroup: {
			iconSelected: true,
			iconUnselected: true,
			selectOnAll: true,
			selectedItems: number(Antwortoptionen),
			items: [{
					itemId: 1,
					style: "",
					value: "Ja"
				}, {
					itemId: 2,
					style: "",
					value: "Nein"
				}, {
					itemId: 3,
					style: "",
					value: "Vielleicht"
				}]
		}
	}
})

Beispiel Select Single Searchbar

Beschreibung

Wir möchten ein Select-Modul mit einer Suchleiste bauen, hier beispielhaft mit einer Einfachauswahl. Dafür können wir entweder true für den Key searchBar übergeben, oder wie im Beispiel-Code gezeigt ein Object mit weiteren Einstellungen zur Suchleiste, wie den Platzhalter.

Code des Beispiels
json
let workers := (select Mitarbeiter);
html(raw(GIP_master({})) +
raw(GIP_select({
		uniqueId: "SingleSearchbar" + Nr,
		embedded: false,
		class: "",
		style: "",
		selectType: "single",
		combobox: {
			class: "",
			style: "",
			expandIcon: true,
			expandOnAll: true,
			collapseAfterSelect: true,
			placeholder: {
				style: "",
				value: "Mitarbeiter wählen..."
			}
		},
		recordId: raw(Nr),
		fieldId: fieldId(this, "Verantwortlicher Mitarbeiter (single)"),
		label: {
			class: "",
			style: "",
			value: "Single Select (Searchbar)"
		},
		selectContainer: {
			class: "",
			style: "max-height: 400px; height:auto;",
			searchBar: {
				style: "",
				placeholder: {
					style: "",
					value: "Suchen..."
				}
			},
			toggleButtonAll: false,
			toggleButtonNone: false,
			itemGroup: {
				iconSelected: true,
				iconUnselected: true,
				selectOnAll: true,
				selectedItems: number('Verantwortlicher Mitarbeiter (single)'),
				items: workers.{
					style: "",
					value: Name,
					itemId: number(Nr)
				}
			}
		}
	})
))
json
GIP_select({
	uniqueId: "SingleSearchbar" + Nr,
	embedded: true,
	class: "",
	style: "",
	selectType: "single",
	combobox: {
		class: "",
		style: "",
		expandIcon: true,
		expandOnAll: true,
		collapseAfterSelect: true,
		placeholder: {
			style: "",
			value: "Mitarbeiter wählen..."
		}
	},
	recordId: raw(Nr),
	fieldId: fieldId(this, "Verantwortlicher Mitarbeiter (single)"),
	label: {
		class: "",
		style: "",
		value: "Single Select (Searchbar)"
	},
	selectContainer: {
		class: "",
		style: "max-height: 400px; height:auto;",
		searchBar: {
			style: "",
			placeholder: {
				style: "",
				value: "Suchen..."
			}
		},
		toggleButtonAll: false,
		toggleButtonNone: false,
		itemGroup: {
			iconSelected: true,
			iconUnselected: true,
			selectOnAll: true,
			selectedItems: number('Verantwortlicher Mitarbeiter (single)'),
			items: workers.{
				style: "",
				value: Name,
				itemId: number(Nr)
			}
		}
	}
})

Select: Mehrfachauswahl mit Toggle-Button

Beispiel Select Multi Toggle-Button

Beschreibung

Wir möchten eine Mehrfachauswahl bauen, in der wir Button haben, um alle Optionen an- bzw. abzuwählen. Dafür nutzen wir die Keys toggleButtonAll und toggleButtonNone. In diesem Beispiel setzen wir die Werte beider Keys auf true, um sie mit Default Einstellungen anzuzeigen. Wir können aber auch einen String oder ein Modul übergeben, um den Text und die Erscheinung der Button zu personalisieren.

Code des Beispiels
json
let workers := (select Mitarbeiter);
html(raw(GIP_master({})) +
raw(GIP_select({
		uniqueId: "MultiToggleButton" + Nr,
		embedded: false,
		class: "",
		style: "",
		selectType: "multi",
		combobox: {
			class: "",
			style: "",
			expandIcon: true,
			expandOnAll: true,
			collapseAfterSelect: false,
			placeholder: {
				style: "",
				value: "Mitarbeiter wählen..."
			}
		},
		recordId: raw(Nr),
		fieldId: fieldId(this, "Verantwortliche Mitarbeiter (multi)"),
		formId: "",
		label: {
			class: "",
			style: "",
			value: "Multi Select (Toggle Button)"
		},
		selectContainer: {
			class: "",
			style: "max-height: 400px; height:auto;",
			htmlAttribute: "",
			toggleButtonAll: true,
			toggleButtonNone: true,
			itemGroup: {
				iconSelected: true,
				iconUnselected: true,
				selectOnAll: true,
				selectedItems: numbers('Verantwortliche Mitarbeiter (multi)'),
				items: workers.{
					style: "",
					value: Name,
					itemId: number(Nr)
				}
			}
		}
	})
))
json
let workers := (select Mitarbeiter);
GIP_select({
	uniqueId: "MultiToggleButton" + Nr,
	embedded: true,
	class: "",
	style: "",
	selectType: "multi",
	combobox: {
		class: "",
		style: "",
		expandIcon: true,
		expandOnAll: true,
		collapseAfterSelect: false,
		placeholder: {
			style: "",
			value: "Mitarbeiter wählen..."
		}
	},
	recordId: raw(Nr),
	fieldId: fieldId(this, "Verantwortliche Mitarbeiter (multi)"),
	formId: "",
	label: {
		class: "",
		style: "",
		value: "Multi Select (Toggle Button)"
	},
	selectContainer: {
		class: "",
		style: "max-height: 400px; height:auto;",
		htmlAttribute: "",
		toggleButtonAll: true,
		toggleButtonNone: true,
		itemGroup: {
			iconSelected: true,
			iconUnselected: true,
			selectOnAll: true,
			selectedItems: numbers('Verantwortliche Mitarbeiter (multi)'),
			items: workers.{
				style: "",
				value: Name,
				itemId: number(Nr)
			}
		}
	}
})

Select: Mehrfachauswahl ohne Combobox

Beispiel Select Multi Ohne Combobox

Beschreibung

Wir möchten ein Select-Modul ohne Combobox bauen, hier beispielhaft für eine Mehrfachauswahl. Dafür können wir für den Key combobox den Wert false übergeben oder, wie im Beispiel-Code, den Key komplett weg lassen.

Code des Beispiels
json
let workers := (select Mitarbeiter);
html(raw(GIP_master({})) +
raw(GIP_select({
		uniqueId: "MultiOhneCombobox" + Nr,
		embedded: false,
		class: "",
		style: "",
		selectType: "multi",
		recordId: raw(Nr),
		fieldId: fieldId(this, "Verantwortliche Mitarbeiter (multi)"),
		formId: "",
		label: {
			class: "",
			style: "",
			value: "Multi Select (Ohne Combobox)"
		},
		selectContainer: {
			class: "",
			style: "max-height: 400px; height:auto;",
			htmlAttribute: "",
			itemGroup: {
				iconSelected: true,
				iconUnselected: true,
				selectOnAll: true,
				selectedItems: numbers('Verantwortliche Mitarbeiter (multi)'),
				items: workers.{
					style: "",
					value: Name,
					itemId: number(Nr)
				}
			}
		}
	})
))
json
let workers := (select Mitarbeiter);
GIP_select({
	uniqueId: "MultiOhneCombobox" + Nr,
	embedded: true,
	class: "",
	style: "",
	selectType: "multi",
	recordId: raw(Nr),
	fieldId: fieldId(this, "Verantwortliche Mitarbeiter (multi)"),
	formId: "",
	label: {
		class: "",
		style: "",
		value: "Multi Select (Ohne Combobox)"
	},
	selectContainer: {
		class: "",
		style: "max-height: 400px; height:auto;",
		htmlAttribute: "",
		itemGroup: {
			iconSelected: true,
			iconUnselected: true,
			selectOnAll: true,
			selectedItems: numbers('Verantwortliche Mitarbeiter (multi)'),
			items: workers.{
				style: "",
				value: Name,
				itemId: number(Nr)
			}
		}
	}
})

Select: Mehrfachauswahl Fortgeschritten

Beispiel Select Multi Advanced

Beschreibung

Wir möchten ein Select-Modul bauen, das viele der möglichen Optionen vereint: Combobox, Searchbar, Toggle-Button und selbst definierte Symbole. Dafür vergeben wir in den entsprechenden Keys entweder den Wert true oder weitere Eigenschaften als Object oder String.

Code des Beispiels
json
let workers := (select Mitarbeiter);
html(raw(GIP_master({})) +
raw(GIP_select({
		uniqueId: "MultiAdvanced" + Nr,
		embedded: false,
		class: "",
		style: "",
		selectType: "multi",
		recordId: raw(Nr),
		fieldId: fieldId(this, "Verantwortliche Mitarbeiter (multi)"),
		formId: "",
		combobox: {
			class: "",
			style: "",
			expandIcon: true,
			expandOnAll: true,
			collapseAfterSelect: false,
			placeholder: {
				style: "",
				value: "Mitarbeiter wählen..."
			}
		},
		label: {
			class: "",
			style: "",
			value: "Multi Select (Advanced)"
		},
		selectContainer: {
			class: "",
			style: "max-height: 400px; height:auto;",
			htmlAttribute: "",
			searchBar: {
				style: "",
				placeholder: {
					style: "",
					value: "Suchen..."
				}
			},
			toggleButtonAll: true,
			toggleButtonNone: true,
			itemGroup: {
				iconSelected: GIP_materialSymbols({
						embedded: true,
						color: "#3381ff",
						icon: "radio_button_checked"
					}),
				iconUnselected: GIP_materialSymbols({
						embedded: true,
						color: "#3381ff",
						icon: "radio_button_unchecked"
					}),
				selectOnAll: true,
				selectedItems: numbers('Verantwortliche Mitarbeiter (multi)'),
				items: workers.{
					style: "",
					value: Name,
					itemId: number(Nr)
				}
			}
		}
	})
))
json
let workers := (select Mitarbeiter);
GIP_select({
	uniqueId: "MultiAdvanced" + Nr,
	embedded: true,
	class: "",
	style: "",
	selectType: "multi",
	recordId: raw(Nr),
	fieldId: fieldId(this, "Verantwortliche Mitarbeiter (multi)"),
	formId: "",
	combobox: {
		class: "",
		style: "",
		expandIcon: true,
		expandOnAll: true,
		collapseAfterSelect: false,
		placeholder: {
			style: "",
			value: "Mitarbeiter wählen..."
		}
	},
	label: {
		class: "",
		style: "",
		value: "Multi Select (Advanced)"
	},
	selectContainer: {
		class: "",
		style: "max-height: 400px; height:auto;",
		htmlAttribute: "",
		searchBar: {
			style: "",
			placeholder: {
				style: "",
				value: "Suchen..."
			}
		},
		toggleButtonAll: true,
		toggleButtonNone: true,
		itemGroup: {
			iconSelected: GIP_materialSymbols({
					embedded: true,
					color: "#3381ff",
					icon: "radio_button_checked"
				}),
			iconUnselected: GIP_materialSymbols({
					embedded: true,
					color: "#3381ff",
					icon: "radio_button_unchecked"
				}),
			selectOnAll: true,
			selectedItems: numbers('Verantwortliche Mitarbeiter (multi)'),
			items: workers.{
				style: "",
				value: Name,
				itemId: number(Nr)
			}
		}
	}
})

Select: Mehrfachauswahl als Switch

Beispiel Select Multi Switch

Beschreibung

Wir möchten ein Select-Modul in Switch-Darstellung bauen, hier am Beispiel einer Mehrfachauswahl. Dieser Switch soll keine Checkboxen in den einzelnen Items haben und ausgewählte Items sollen mit blauem Hintergrund dargestellt werden.

Zunächst müssen wir die Combobox deaktivieren, um die Items direkt angezeigt zu bekommen. Nun möchten wir diese Items aber nicht untereinander, sondern nebeneinander darstellen. Außerdem soll der Text innerhalb der Items zentriert sein. Dafür geben wir itemGroups den style "display: flex; flex-direction: row; text-align: center;".

Das Styling der ausgewählten Items bestimmen wir mit dem Key styleSelected. Optional können wir auch den Style beim Überfahren mit der Maus anpassen über styleHovered. Zuletzt geben wir noch allen Items, außer dem letzten, eine Rahmenlinie rechts, um die Items optisch voneinander zu trennen.

Code des Beispiels
json
html(raw(GIP_master({})) +
raw(GIP_select({
		uniqueId: "MultiSwitch" + Nr,
		embedded: false,
		class: "",
		style: "max-height: 400px; height:auto;",
		selectType: "multi",
		combobox: false,
		recordId: raw(Nr),
		fieldId: fieldId(this, "Einkaufen"),
		formId: "",
		htmlAttribute: "",
		label: {
			class: "",
			style: "",
			value: "Multi Select (Switch)"
		},
		selectContainer: {
			class: "",
			style: "",
			itemGroup: {
				class: "",
				style: "display: flex; flex-direction: row; text-align: center;",
				styleSelected: "background-color: #3381ff; color: white;",
				styleHovered: "background-color: #f1f1f4;",
				iconSelected: false,
				iconUnselected: false,
				selectOnAll: true,
				selectedItems: numbers(Einkaufen),
				items: [{
						itemId: 1,
						style: "border-right: 1px solid; border-color: #E9ECF4;",
						value: "Apfel"
					}, {
						itemId: 2,
						style: "border-right: 1px solid; border-color: #E9ECF4;",
						value: "Mehl"
					}, {
						itemId: 3,
						style: "border-right: 1px solid; border-color: #E9ECF4;",
						value: "Butter"
					}, {
						itemId: 4,
						style: "",
						value: "KiBa"
					}]
			}
		}
	})))
json
GIP_select({
	uniqueId: "MultiSwitch" + Nr,
	embedded: true,
	class: "",
	style: "max-height: 400px; height:auto;",
	selectType: "multi",
	combobox: false,
	recordId: raw(Nr),
	fieldId: fieldId(this, "Einkaufen"),
	formId: "",
	htmlAttribute: "",
	label: {
		class: "",
		style: "",
		value: "Multi Select (Switch)"
	},
	selectContainer: {
		class: "",
		style: "",
		itemGroup: {
			class: "",
			style: "display: flex; flex-direction: row; text-align: center;",
			styleSelected: "background-color: #3381ff; color: white;",
			styleHovered: "background-color: #f1f1f4;",
			iconSelected: false,
			iconUnselected: false,
			selectOnAll: true,
			selectedItems: numbers(Einkaufen),
			items: [{
					itemId: 1,
					style: "border-right: 1px solid; border-color: #E9ECF4;",
					value: "Apfel"
				}, {
					itemId: 2,
					style: "border-right: 1px solid; border-color: #E9ECF4;",
					value: "Mehl"
				}, {
					itemId: 3,
					style: "border-right: 1px solid; border-color: #E9ECF4;",
					value: "Butter"
				}, {
					itemId: 4,
					style: "",
					value: "KiBa"
				}]
		}
	}
})