Inputs
generateInputs(id, config) rendert Eingaben für IOTA-Attribute und Commands. Alle Felder mit data-iota werden von extractData() erfasst.
Top-Level Config
Abschnitt betitelt „Top-Level Config“| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
typeId | Ja | string | - | Blocktyp, z.B. block_inputs oder block_mail_inputs. |
typeConfig | Ja | object | - | Block-spezifische Konfiguration. |
saveButton | Nein | ActionConfig | - | Globaler Speichern-Button. |
actionButtons | Nein | ActionConfig[] | - | Zusätzliche Action Buttons. |
layout | Nein | { type?: 'splitActionButtons'; actionButtonsPosition?: 'left' | 'right' } | - | Layout für Action Buttons. |
Action Functions
Abschnitt betitelt „Action Functions“Actions werden nur im Input-Kontext genutzt: in saveButton, actionButtons, input.action.onclick oder onchange.
addMail
Abschnitt betitelt „addMail“Fügt den Inhalt eines Mail-Inputs der Chip-Liste unter dem Feld hinzu.
Verhalten
Abschnitt betitelt „Verhalten“- Validiert einzelne Mail-Adressen.
- Ignoriert Duplikate.
- Leert das Eingabefeld nach erfolgreichem Hinzufügen.
Beispiel
Abschnitt betitelt „Beispiel“offlineInput
Abschnitt betitelt „offlineInput“Synchronisiert das Offline-Zeitfeld mit der Offline-Checkbox.
Verhalten
Abschnitt betitelt „Verhalten“- Setzt die Checkbox auf aktiv, wenn der Input nicht leer und nicht 0 ist.
Beispiel
Abschnitt betitelt „Beispiel“offlineCheckbox
Abschnitt betitelt „offlineCheckbox“Setzt beim Aktivieren der Offline-Checkbox einen Default-Wert in das Offline-Zeitfeld.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
defaultValue | Nein | string | number | 48 | Wert in Stunden, der in das Offline-Zeitfeld geschrieben wird. |
Beispiel
Abschnitt betitelt „Beispiel“updateSelectDependency
Abschnitt betitelt „updateSelectDependency“Aktualisiert Optionen, Wert und Disabled-State eines Ziel-Selects anhand eines Quell-Selects.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
targetIotaVar | Ja | string | - | data-iota des Ziel-Selects. |
defaultValue | Nein | string | - | Fallback-Wert, wenn keine Regel passt. |
rules | Nein | Array<{ when: string; options?: Array<{ label: string; value: string }>; value?: string; disabled?: boolean }> | - | Regeln pro Quellwert. |
Beispiel
Abschnitt betitelt „Beispiel“saveAttributes
Abschnitt betitelt „saveAttributes“Speichert alle Inputs, Selects, Checkboxes und Mail-Chips mit data-iota auf dem aktuellen Device.
Verhalten
Abschnitt betitelt „Verhalten“- Validiert Number-Felder vor dem Speichern.
- Sendet PATCH an
/Device/${deviceid}. - Aktualisiert danach das Dashboard.
Beispiel
Abschnitt betitelt „Beispiel“saveNote
Abschnitt betitelt „saveNote“Speichert den Wert eines Input-Feldes zuerst im Userlog und danach als description am Device.
Die Notiz verwendet den normalen block_inputs; ein eigener Notiz-Block ist nicht notwendig.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
deviceId | Nein | string | number | ${deviceid} | Device, dessen Beschreibung aktualisiert wird. |
iotaVar | Nein | string | note | Input-Feld, dessen Wert gespeichert wird. |
savingButton | Nein | string | Speichert … | Button-Text während der Schreibzugriffe. |
serial | Nein | string | '' | Seriennummer im Userlog-Eintrag. |
userLogDeviceId | Nein | string | number | 5 | DeviceId für den Userlog-Result. |
Verhalten
Abschnitt betitelt „Verhalten“- Leere Notizen, Konfigurationsfehler und API-Fehler werden mit
myAlert()angezeigt. - Während des Speicherns ist der Button deaktiviert.
- Nach einem erfolgreichen Userlog-Eintrag wird
{ description: note }am Device gespeichert. - Schlägt nur das Aktualisieren der Device-Beschreibung fehl, wird der Teilerfolg ausdrücklich
per
myAlert()angezeigt. - Bei Erfolg wird das Input geleert,
notes.successpermyAlert()angezeigt und das Dashboard nach dem Device-Update neu geladen. Der Userlog-Request löst keinen Reload aus. - Liegt
saveButtonim selbeninputAttributes-Eintrag wie das Feld, wird der Button rechts neben dem Feld gerendert.
Beispiel
Abschnitt betitelt „Beispiel“changeDeviceType
Abschnitt betitelt „changeDeviceType“Speichert Attribute, wechselt den DeviceType und leitet danach auf das neue Details-Dashboard weiter.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
changeDeviceType.iotaVar | Ja | string | - | Attribut, dessen Wert für die Typauswahl verwendet wird. |
changeDeviceType.array | Ja | Array<{ value: string; typeId: string | number }> | - | Mapping von Attributwert zu neuem DeviceType. |
Beispiel
Abschnitt betitelt „Beispiel“saveCommand
Abschnitt betitelt „saveCommand“Sendet einen IOTA Command mit den Werten der Felder im aktuellen Input-Block. Die Config liegt am
jeweiligen saveButton, in einem Eintrag von actionButtons oder an einer Feld-Action.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
commandType | type | Ja | string | - | Command-Typ. commandType hat Vorrang; type ist der Legacy-Alias. |
deviceId | deviceid | Nein | string | ${deviceid} | Zielgerät. deviceId hat Vorrang; deviceid ist der Legacy-Alias. |
parameterMap | Nein | Record<string, string> | - | Wählt Input-iotaVars aus und benennt sie für den Command um. |
staticParameters | parameters | Nein | Array<{ name: string; value: unknown }> | - | Hängt feste Parameter an. staticParameters hat Vorrang; parameters ist der Legacy-Alias. |
parameterTransform | Nein | { type: 'thresholdAlarm'; low?: string; high?: string; active?: string; control?: string } | - | Ersetzt den normalen Parameteraufbau durch den angegebenen Transform. Unterstützt thresholdAlarm. |
Die jeweils erstgenannten Feldnamen sind die empfohlenen Varianten. Statische Parameter
akzeptieren zusätzlich die Legacy-Schreibweisen Name und Value.
- Alle Number-Inputs im aktuellen Block werden anhand von
min,maxundstepvalidiert. Bei einem Fehler wird kein Command gesendet. extractData()liest alle Felder mitdata-iotaaus demselben Block aus.- Die Parameter werden entweder standardmäßig oder über
parameterTransformaufgebaut. - Der Command wird als
PUT /Commands?tenantId=${tenantid}gesendet. Ein erfolgreicher Request zeigt die Erfolgsmeldung und aktualisiert das Dashboard.
Die erzeugte Payload hat immer diese Form:
Standard-Parameter
Abschnitt betitelt „Standard-Parameter“Ohne unterstützten parameterTransform gelten folgende Regeln:
- Ohne
parameterMapwird jedes extrahierte Feld als{ name: iotaVar, value }übernommen. - Mit
parameterMapwerden nur die dort aufgeführten iotaVars übernommen. Der Map-Key ist die Quell-iotaVar, der Map-Wert der Parametername im Command. staticParameterswerden anschließend in der angegebenen Reihenfolge angehängt.- Parameter werden nicht dedupliziert. Configs sollten deshalb keine Namen mehrfach erzeugen.
Beispiel
Abschnitt betitelt „Beispiel“Bei einem Feld mit iotaVar: 'relay_state' und dem Wert '1' entstehen daraus:
parameterTransform: thresholdAlarm
Abschnitt betitelt „parameterTransform: thresholdAlarm“thresholdAlarm bildet zwei optionale Schwellwerte und den Aktiv-Status auf die von IOTA
erwarteten Alarmparameter ab.
| Feld | Default | Bedeutung |
|---|---|---|
low | threshold_low | iotaVar des unteren Schwellwerts und zugleich Name dieses Parameters im Command. |
high | threshold_high | iotaVar des oberen Schwellwerts und zugleich Name dieses Parameters im Command. |
active | alarm_active | iotaVar des Aktiv-Status. Dieses Feld wird nur ausgewertet und nicht als Parameter mitgesendet. |
control | ctrl | Name des erzeugten Steuerparameters. |
Sobald dieser Transform aktiv ist, ersetzt er den Standard-Parameteraufbau vollständig:
parameterMap, staticParameters und parameters werden nicht berücksichtigt.
Der Transform behandelt undefined, null und '' als leeren Schwellwert. Andere Werte,
einschließlich 0, gelten als gesetzt. Für den Aktiv-Status deaktiviert exakt ein zu '0'
konvertierbarer Wert den Alarm.
| Aktiv-Status | Unterer Wert | Oberer Wert | Erzeugte Parameter |
|---|---|---|---|
'0' | beliebig | beliebig | { name: control, value: 'disabled' } |
nicht '0' | gesetzt | gesetzt | low, high, danach { name: control, value: 'below or above' } |
nicht '0' | gesetzt | leer | low, danach { name: control, value: 'below' } |
nicht '0' | leer | gesetzt | high, danach { name: control, value: 'above' } |
nicht '0' | leer | leer | Keine Parameter |
Beispiel mit Standard-Feldnamen
Abschnitt betitelt „Beispiel mit Standard-Feldnamen“Bei threshold_low: '10', threshold_high: '20' und alarm_active: '1' wird folgende
Parameterliste gesendet:
Beispiel mit abweichenden Feldnamen
Abschnitt betitelt „Beispiel mit abweichenden Feldnamen“Die zu low, high und active angegebenen Namen müssen den iotaVar-Werten der Felder im
selben Input-Block entsprechen. control muss dagegen dem gewünschten Parameter-Namen des IOTA
Commands entsprechen.
saveAttributesAndCommand
Abschnitt betitelt „saveAttributesAndCommand“Speichert zuerst Attribute auf dem aktuellen Device ohne Alert oder Reload und sendet danach einen
Command. Der Command verwendet denselben Parameteraufbau wie saveCommand,
einschließlich parameterTransform: { type: 'thresholdAlarm' }.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
commandType | type | Ja | string | - | Command-Typ. |
deviceId | deviceid | Nein | string | ${deviceid} | Zielgerät des Commands. |
parameterMap | Nein | Record<string, string> | - | Mappt gespeicherte Rohdaten auf Command-Parameter. |
staticParameters | parameters | Nein | Array<{ name: string; value: unknown }> | - | Zusätzliche feste Parameter. |
parameterTransform | Nein | { type: 'thresholdAlarm'; low?: string; high?: string; active?: string; control?: string } | - | Alternativer Parameteraufbau wie bei saveCommand. |
Verhalten
Abschnitt betitelt „Verhalten“- Der Command wird nur gesendet, wenn das Attributspeichern erfolgreich war.
- Die Attribute werden immer auf
${deviceid}gespeichert.deviceIdbeziehungsweisedeviceidändert nur das Ziel des nachfolgenden Commands.
Beispiel
Abschnitt betitelt „Beispiel“saveCommandType
Abschnitt betitelt „saveCommandType“Sendet je nach Checkbox-Wert einen von zwei Command-Typen.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
type_1 | Ja | string | - | Command-Typ bei Wert 1. |
type_0 | Ja | string | - | Command-Typ bei Wert 0. |
deviceId | deviceid | Nein | string | ${deviceid} | Zielgerät. |
Verhalten
Abschnitt betitelt „Verhalten“- Erwartet exakt ein extrahiertes Feld, sonst wird ein Fehler angezeigt.
Beispiel
Abschnitt betitelt „Beispiel“saveAttributesMapped
Abschnitt betitelt „saveAttributesMapped“Speichert nur gemappte Attribute. Nützlich, wenn UI-Feldnamen nicht den IOTA-Attributen entsprechen.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
attributeMap | Ja | Record<string, string> | - | Mapping von Input-iotaVar zu Zielattribut. |
Beispiel
Abschnitt betitelt „Beispiel“saveAttributesToMulitpleDevices
Abschnitt betitelt „saveAttributesToMulitpleDevices“Speichert dieselben Attribute auf mehrere Devices aus einer Grafana-Variable.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
usecaseDevicesVarGraf | Ja | string | - | Kommagetrennte DeviceIds, typischerweise aus einer Grafana-Variable. |
Verhalten
Abschnitt betitelt „Verhalten“- Zeigt vorab einen Zeit-Hinweis.
- Sendet Updates nacheinander mit kurzem Delay.
Beispiel
Abschnitt betitelt „Beispiel“Feldtypen
Abschnitt betitelt „Feldtypen“input - Input
Abschnitt betitelt „input - Input“Standard-Eingabefeld für Text, längere Texte, Zahlen, Passwörter, E-Mail und Selects.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
input.label | Nein | string | - | Label oberhalb des Feldes. |
input.placeholder | Nein | string | - | Placeholder im Feld. |
input.init | Nein | string | number | - | Initialer Wert, meistens aus initVarGraf(). |
input.iotaVar | Ja | string | - | IOTA-Attribut. Kommagetrennte Werte schreiben denselben Wert auf mehrere Attribute. |
input.type | Nein | 'text' | 'textarea' | 'email' | 'number' | 'password' | 'select' | text | HTML-Input-Typ. Bei select wird createSelectField genutzt. |
input.min | Nein | number | - | Minimalwert für Number-Validierung. |
input.max | Nein | number | - | Maximalwert für Number-Validierung. |
input.maxLength | Nein | number | - | Maximale Textlänge für Input und Textarea. |
input.step | Nein | number | string | - | Schrittweite für Number-Validierung. |
input.autocomplete | Nein | string | - | Wert für das native autocomplete-Attribut. |
input.required | Nein | boolean | false | Markiert das Feld als erforderlich; Save- und Command-Actions validieren den Wert. |
input.icon | Nein | string | - | Classic-Regular-Icon links im Feld; akzeptiert Alias oder direkten FA-Slug. |
input.onchange | Nein | ActionConfig | - | Action bei Wert-Änderung. |
input.action | Nein | { icon: string; onclick?: ActionConfig } | - | Classic-Regular-Icon rechts; akzeptiert Alias oder direkten FA-Slug. |
input.options | Bedingt | Array<{ label: string; value: string }> | - | Optionen, wenn input.type = select ist. |
input.disabled | Nein | boolean | - | Deaktiviert Select-Inputs. |
input.shortField | Nein | boolean | false | Begrenzt das Feld auf 16rem. Die Zeile übernimmt die 32rem-Standardbreite und nutzt zwischen kurzen Feldern einen festen Abstand. |
Zahlenfeld mit Validierung
Abschnitt betitelt „Zahlenfeld mit Validierung“Input mit Action-Button
Abschnitt betitelt „Input mit Action-Button“Mehrzeiliges Textfeld
Abschnitt betitelt „Mehrzeiliges Textfeld“select - Select
Abschnitt betitelt „select - Select“Eigenes Select-Feld oder Input mit type select.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
select.label | Nein | string | - | Label oberhalb des Selects. |
select.init | Nein | string | - | Initial ausgewählter Wert. |
select.iotaVar | Ja | string | - | IOTA-Attribut für den Select-Wert. |
select.options | Ja | Array<{ label: string; value: string }> | - | Optionen. |
select.onchange | Nein | ActionConfig | - | Action, z.B. updateSelectDependency. |
select.disabled | Nein | boolean | - | Rendert den Select deaktiviert. |
Einfacher Select
Abschnitt betitelt „Einfacher Select“Select mit abhängigen Optionen
Abschnitt betitelt „Select mit abhängigen Optionen“checkbox - Checkbox
Abschnitt betitelt „checkbox - Checkbox“Toggle, der als 1 oder 0 extrahiert und gespeichert wird.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
checkbox.label | Nein | string | - | Text neben der Checkbox. |
checkbox.init | Nein | string | number | - | 0 = aus, 1 = an. |
checkbox.iotaVar | Ja | string | - | IOTA-Attribut. |
checkbox.onchange | Nein | ActionConfig | - | Action bei Statuswechsel. |
checkbox.center | Nein | boolean | false | Zentriert die Checkbox. |
Checkbox mit Save
Abschnitt betitelt „Checkbox mit Save“checkbox2 - Zweite Checkbox
Abschnitt betitelt „checkbox2 - Zweite Checkbox“Optionaler zweiter Toggle in demselben Feld.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
checkbox2.label | Nein | string | - | Text neben der zweiten Checkbox. |
checkbox2.init | Nein | string | number | - | 0 = aus, 1 = an. |
checkbox2.iotaVar | Ja | string | - | IOTA-Attribut. |
checkbox2.onchange | Nein | ActionConfig | - | Action bei Statuswechsel. |
Zwei Checkboxen in einem Feld
Abschnitt betitelt „Zwei Checkboxen in einem Feld“dependentCheckbox - Abhängige Checkbox
Abschnitt betitelt „dependentCheckbox - Abhängige Checkbox“Checkbox, die nur aktiv ist, wenn checkbox oder checkbox2 aktiv ist.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
dependentCheckbox.label | Nein | string | - | Text neben der abhängigen Checkbox. |
dependentCheckbox.init | Nein | string | number | - | Initialwert. Wird ignoriert, wenn keine Hauptcheckbox aktiv ist. |
dependentCheckbox.iotaVar | Ja | string | - | IOTA-Attribut. |
Abhängige Benachrichtigung
Abschnitt betitelt „Abhängige Benachrichtigung“display - Display
Abschnitt betitelt „display - Display“Statische Textanzeige für Werte, die nicht bearbeitet oder gespeichert werden.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
display.label | Nein | string | - | Label oberhalb des Textes. |
display.value | Ja | string | number | - | Anzuzeigender Textwert. |
display.emptyText | Nein | string | - | Text, wenn value leer ist. |
Statischen Text anzeigen
Abschnitt betitelt „Statischen Text anzeigen“E-Mail-Eingabe mit Chip-Liste, Semikolon-Trennung und Validierung.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
mail.label | Nein | string | - | Label des Mail-Feldes. |
mail.init | Nein | string | - | Initiale Mail-Liste, getrennt mit Semikolon. |
mail.iotaVar | Ja | string | - | IOTA-Attribut für die gespeicherte Semikolon-Liste. |
Mail-Liste
Abschnitt betitelt „Mail-Liste“Action Buttons
Abschnitt betitelt „Action Buttons“Zusätzliche Buttons unter oder neben dem Input-Inhalt.
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
actionButtons[].label | Ja | string | - | Button-Text. |
actionButtons[].typeId | Ja | Action typeId | - | Action aus der Action-Referenz. |
layout.type | Nein | 'splitActionButtons' | - | Teilt Inhalt und Buttons in zwei Spalten. |
layout.actionButtonsPosition | Nein | 'left' | 'right' | right | Position der Buttons im Split-Layout. |
Split-Layout mit Command-Buttons
Abschnitt betitelt „Split-Layout mit Command-Buttons“Blocktypen
Abschnitt betitelt „Blocktypen“block_inputs - Inputs
Abschnitt betitelt „block_inputs - Inputs“Eine Standardzeile mit beliebigen Input-, Select-, Checkbox- oder Display-Feldern.
Config-Pfad: typeConfig.inputAttributes
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
saveButton | Nein | ActionConfig | - | Globaler Speichern-Button unterhalb aller Felder. |
typeConfig.inputAttributes | Ja | Array<FieldConfig> | - | Felder in einer Zeile. |
typeConfig.inputAttributes[].saveButton | Nein | ActionConfig | - | Speichern-Button rechts neben dem zugehörigen Feld. |
Drei Attribute speichern
Abschnitt betitelt „Drei Attribute speichern“block_mail - Mail
Abschnitt betitelt „block_mail - Mail“Standard-Mail-Konfiguration mit optionaler Checkbox, zweiter Checkbox und dependentCheckbox.
Config-Pfad: typeConfig.mailConfig
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
typeConfig.mailConfig.mail | Ja | MailConfig | - | Mail-Feld. |
typeConfig.mailConfig.checkbox | Nein | CheckboxConfig | - | Hauptcheckbox. |
typeConfig.mailConfig.checkbox2 | Nein | CheckboxConfig | - | Zweite Hauptcheckbox. |
typeConfig.mailConfig.dependentCheckbox | Nein | CheckboxConfig | - | Nur aktiv, wenn checkbox oder checkbox2 aktiv ist. |
typeConfig.mailConfig.saveButton | Nein | ActionConfig | - | Speichern für die Mail-Zeile. |
Mail mit Aktivierungscheckbox
Abschnitt betitelt „Mail mit Aktivierungscheckbox“block_mail_inputs - Mail und Inputs
Abschnitt betitelt „block_mail_inputs - Mail und Inputs“Zwei Spalten: Attributzeilen und Mail-Konfiguration. Optional kann die Reihenfolge gedreht werden.
Config-Pfad: typeConfig
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
typeConfig.rows | Ja | Array<RowConfig> | - | Attributzeilen. |
typeConfig.mailConfig | Ja | MailConfig | - | Mail-Konfiguration. |
typeConfig.reverseCols | Nein | boolean | false | Dreht die Spaltenreihenfolge. |
RowConfig
Abschnitt betitelt „RowConfig“| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
attributes | Ja | Array<FieldConfig> | [] | Felder, die innerhalb der Row gerendert werden. |
header | Nein | string | - | Zentrierte Überschrift der Row. |
extraTopMargin | Nein | boolean | false | Fügt oberhalb der Row zusätzlichen Abstand ein. |
hideDividerBefore | Nein | boolean | false | Blendet den Trenner zur vorherigen Row aus. |
hideDividerAfter | Nein | boolean | false | Blendet den Trenner zur nachfolgenden Row aus. |
Zwischen zwei Rows wird kein Trenner angezeigt, sobald hideDividerAfter an der vorherigen Row
oder hideDividerBefore an der nachfolgenden Row gesetzt ist. Vor der ersten und nach der letzten
Row wird grundsätzlich kein Trenner erzeugt. Ein display innerhalb von attributes erzeugt eine
reine Textzeile.
Schwellwerte und Mails
Abschnitt betitelt „Schwellwerte und Mails“block_offline - Offline
Abschnitt betitelt „block_offline - Offline“Spezialblock für Offline-Benachrichtigungen mit Mail-Liste, Checkbox und Offline-Zeit.
Config-Pfad: typeConfig.offline
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
typeConfig.offline.checkbox | Ja | CheckboxConfig | - | Aktiviert Offline-Benachrichtigung. |
typeConfig.offline.input | Ja | InputConfig | - | Offline-Zeit in Stunden; wird beim Speichern als Minutenwert geschrieben. |
typeConfig.offline.mail | Ja | MailConfig | - | Mail-Liste. |
typeConfig.offline.saveButton | Nein | ActionConfig | { typeId: 'saveAttributes' } | Speichern der Offline-Zeit. |
typeConfig.reverseCols | Nein | boolean | false | Dreht Mail- und Offline-Spalte. |
Offline Alarm
Abschnitt betitelt „Offline Alarm“block_checkbox_row - Checkbox Row
Abschnitt betitelt „block_checkbox_row - Checkbox Row“Eine horizontale Reihe aus Checkboxes mit optionalem Save-Button.
Config-Pfad: typeConfig.checkboxRow
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
typeConfig.checkboxRow.checkboxes | Ja | Array<CheckboxConfig> | - | Checkboxes in der Reihe. |
typeConfig.checkboxRow.saveButton | Nein | ActionConfig | - | Speicherbutton unterhalb der Reihe. |
IO Richtung
Abschnitt betitelt „IO Richtung“block_custom - Custom
Abschnitt betitelt „block_custom - Custom“Container für mehrere Custom Columns.
Config-Pfad: typeConfig.custom_columns
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
typeConfig.custom_columns | Ja | Array<CustomColumnConfig> | - | Liste von Custom Columns. |
Custom Grid
Abschnitt betitelt „Custom Grid“custom_column_mail - Custom Column Mail
Abschnitt betitelt „custom_column_mail - Custom Column Mail“Mail-Spalte innerhalb von block_custom.
Config-Pfad: typeConfig.mailConfig
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
typeConfig.mailConfig | Ja | MailConfig | - | Mail-Konfiguration. |
Mail-Spalte in Custom Panel
Abschnitt betitelt „Mail-Spalte in Custom Panel“custom_column_inputs - Custom Column Inputs
Abschnitt betitelt „custom_column_inputs - Custom Column Inputs“Tabellarisches Input-Grid mit Spaltenüberschriften und Zeilentiteln.
Config-Pfad: typeConfig
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
typeConfig.headers | Ja | Array<string> | - | Spaltenüberschriften. |
typeConfig.rows | Ja | Array<{ title: string; inputs: InputConfig[] }> | - | Grid-Zeilen. |
Tabellarische Schwellwerte
Abschnitt betitelt „Tabellarische Schwellwerte“custom_column_checkbox_row - Custom Column Checkbox Row
Abschnitt betitelt „custom_column_checkbox_row - Custom Column Checkbox Row“Checkbox-Reihe innerhalb von block_custom.
Config-Pfad: typeConfig.checkboxRow
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
typeConfig.checkboxRow.checkboxes | Ja | Array<CheckboxConfig> | - | Checkboxes. |
Checkbox-Reihe in Custom Panel
Abschnitt betitelt „Checkbox-Reihe in Custom Panel“custom_column_checkbox_input - Custom Column Checkbox Input
Abschnitt betitelt „custom_column_checkbox_input - Custom Column Checkbox Input“Kombiniert eine Checkbox mit einem Input in einer Custom Column.
Config-Pfad: typeConfig
| Feld | Required | Typ | Default | Beschreibung |
|---|---|---|---|---|
typeConfig.checkbox | Ja | CheckboxConfig | - | Checkbox. |
typeConfig.input | Ja | InputConfig | - | Input. |
typeConfig.saveButton | Nein | ActionConfig | - | Optionaler Speicherbutton. |