Input
Das Input-Modul ist deine Allzweckwaffe für sämtliche Eingabefelder. Es kombiniert maximale Flexibilität im Design mit einer breiten Palette an spezialisierten Eingabetypen, um die Datenerfassung so einfach und intuitiv wie möglich zu gestalten. Zu den Highlights gehören:
- Vielfältige Typen: Von einfachem
Text
überZahlen
bis hin zuDatum
,Zeit
,Dauer
undTermin
-Intervallen. - Integrierte Picker: Benutzerfreundliche Kalender- und Zeitauswahl-Dialoge, die die Eingabe beschleunigen und Fehler reduzieren.
- Anzeige- vs. Bearbeitungsansicht: Klare Trennung zwischen einem formatierten Anzeigewert (
title
) und dem rohen Eingabewert (fieldContent
). - Leistungsstarke Formatierung: Formatiere Zahlen, Währungen und Daten nach deinen Wünschen, auch unter Verwendung internationaler Standards.
- Form-ID Kompatibilität: Speichere Eingaben temporär zwischen und übertrage sie gesammelt an Ninox.
Funktion und Aussehen
Ein Input-Element unterscheidet grundlegend zwischen zwei Zuständen: der Anzeige und der Bearbeitung.
- Anzeige (Title): Wenn das Feld nicht aktiv ist, zeigt es den Wert in einer formatierten, gut lesbaren Weise an (z.B. "1.234,56 €"). Dies ist der
title
. Ist das Feld leer, wird stattdessen einplaceholder
angezeigt. - Bearbeitung (Field Content): Klickt der Nutzer in das Feld, wechselt es in den Bearbeitungsmodus. Hier wird der unformatierte
fieldContent
angezeigt (z.B. "1234.56"), damit der Benutzer den Wert direkt bearbeiten kann.
Vielfältige Eingabetypen
Das Modul passt sein Verhalten und Aussehen an den gewählten inputType
an. Für die Typen date
, time
, datetime
, duration
und appointment
wird automatisch ein Picker-Icon neben dem Feld angezeigt, das bei Klick einen passenden Auswahldialog öffnet.
text
&textarea
: Für ein- oder mehrzeilige Texteingaben.number
: Für numerische Werte.date
,time
,datetime
: Öffnet einen Kalender bzw. eine Zeitauswahl.duration
: Erlaubt die Eingabe von Zeitdauern (z.B. "1d 8h 30m") über einen speziellen Dialog.appointment
: Zur Auswahl eines vollständigen Zeitraums mit Start- und End-Datum/-Zeit.
Flexible Formatierung
Du hast drei primäre Möglichkeiten, den Anzeigewert (title
) deiner Felder zu formatieren:
Ninox-Formatierung übernehmen: Übergebe im
title
-Key denvalue
alstext('Dein-Ninox-Feld')
. So wird das in Ninox definierte Zahlen- oder Datumsformat direkt übernommen. Achtung: Dies funktioniert nicht bei Verwendung einerformId
.Prefix & Suffix: Füge mit den Keys
prefix
undsuffix
einfach beliebigen Text vor oder nach dem Wert hinzu (z.B. "€" oder "Stk."). Dies ist mit allen anderen Formatierungsoptionen und auch mitformId
kombinierbar.Erweiterte GIP-Formatierung: Für die volle Kontrolle, insbesondere bei Nutzung einer
formId
, stehen dir die KeysnumberFormat
unddateTimeFormat
zur Verfügung.- Für Zahlen (
numberFormat
): Lege imbasic
-Modus Dezimal- und Tausendertrennzeichen manuell fest oder nutze denintl
-Modus für länderspezifische Formate via JavaScriptsIntl.NumberFormat
-Objekt. - Für Daten/Zeiten (
dateTimeFormat
): Formatiere Werte präzise über dieoptions
desIntl.DateTimeFormat
-Objekts und lege mitlocale
die Sprache fest.
- Für Zahlen (
Weitere Infos zum Intl.NumberFormat
-Objekt findest du hier.
Design und Layout
Passe das Erscheinungsbild deines Input-Moduls detailliert an.
- 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 denstyle
-Key für Inline-CSS verwenden. Beachte, dass Inline-Styles immer Vorrang vor den Klassen-Styles haben. Zusätzlich verfügen auch daslabel
sowieplaceholder
,fieldContent
undtitle
über eigene Style-Keys für noch mehr Kontrolle. - HTML-Attribute: Mit dem
htmlAttribute
-Key kannst du dem Eingabefeld beliebige HTML-Attribute hinzufügen, z.B.spellcheck='false'
odertabindex='5'
.
Werte zwischenspeichern mit einer Form-ID
Das Input-Modul ist vollständig kompatibel mit unserem Form-System. Das bedeutet, du kannst eine formId
angeben, um die Eingabe 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.
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
Zusätzlich zur eigentlichen Eingabefunktion kannst du deinem Input-Element eine beliebige Anzahl an Actions zuweisen. 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
GIP_input({
uniqueId: "",
embedded: {
},
inputType: "",
recordId: "",
fieldId: "",
formId: "",
fieldContent: {
value: *any*,
},
})
html( raw(GIP_master({})) +
raw(GIP_input({
uniqueId: "",
embedded: {
height: "",
styleHtml: "",
styleStri: "",
},
inputType: "",
recordId: "",
fieldId: "",
formId: "",
class: "",
style: "",
title: {
style: "",
prefix: "",
suffix: "",
value: *any*,
numberFormat: {
formatType: "",
decimalDigits: 0,
decimalSign: "",
separatorDigits: 0,
separatorSign: "",
locale: "",
options: {
},
},
dateTimeFormat: {
locale: "",
options: {
},
},
},
fieldContent: {
style: "",
value: *any*,
},
placeholder: {
style: "",
value: *any*,
},
label: {
class: "",
style: "",
value: *any*,
orientation: "",
},
actions: [{
trigger: "",
scripts: [{
type: "",
}],
}],
contentEditable: true,
htmlAttribute: "",
})
))
Key-Table
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|