kf
kf oder auch KolibriForm bildet den Einstiegspunkt für das Arbeiten mit Formularen und ihrem Lifecycle.
Die KolibriForm API steht nur Clientseitig zur Verfügung.
save
Speichert das Formular, das gerade geöffnet ist. Speichert dabei auch alle NestedForms, die potenziell auf dem Formular sind. Die Validierung der Felder lässt sich mit dieser Funktion optional auch abschalten.
Parameter
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
cb | Function | Nein | Optionale Callback Funktion die nach dem Speichern ausgeführt wird |
validate | Boolean | Nein | Steuert, ob die Felder des Formulars vor dem Speichern validiert werden sollen. Standardwert ist true |
checkForm
Validiert alle Felder auf dem Formular, ohne es direkt zu speichern. Ein optionales Speichern, bei gelungener Validierung, ist auch möglich. Falls die Validierung fehlschlägt, werden alle Felder die invalide sind dementsprechend für den User visuell markiert.
Parameter
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
save | Boolean | Nein | Steuert, ob nach erfolgreicher Validierung gespeichert werden soll. Standardwert ist false |
isValid
Funktioniert analog zu checkForm, nur das hier die invaliden Felder nicht markiert werden. Prüft lediglich, ob eins der Felder invalide ist und gibt dies in einem Boolean Wert zurück.
Parameter
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
N/A | N/A | N/A | N/A |
Beispiel
Dieses Beispiel prüft, ob alle Felder des Formulars valide sind und schreibt eine Nachricht in die Konsole, falls die Validierung fehlschlägt. Falls alle Felder valide sind, wird das Formular ohne explizite Validierung gespeichert.
const isValid = kf.isValid();
if (!isValid) {
console.error('not all fields are valid!');
} else {
await kf.save(undefined, false);
}
validateAttribute
Falls man nur ein spezifisches Feld validiert werden soll, ist dies mit validateAttribute möglich.
Parameter
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
inputName | String | Ja | Name des Felds das validiert werden soll |
Beispiel
Dieses Beispiel prüft, ob das Feld firstName valide ist.
const isFirstNameValid = kf.validateAttribute('firstName');
if (!isFirstNameValid) {
console.error('firstName is not valid!');
}
record
Mit record kann man auf den gerade geöffneten Datensatz auf dem Formular zugreifen. Falls auf diesem Datensatz Werte geändert werden, werden diese direkt im Formular widergespiegelt.
refresh
refresh aktualisiert das Formular komplett. Dadurch wird die ReadOnly Bedingungen des Formulars erneut evaluiert. Dadurch kann es passieren, dass das ganze Formular zum Lesen beschränkt wird.
Parameter
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
N/A | N/A | N/A | N/A |
readonly
kf.readonly kann das ganze Formular in einen schreibgeschützten Modus versetzen. Dadurch lassen sich keine Felder mehr bearbeiten. Auch die meisten Knöpfe werden schreibgeschützt und lassen sich nicht mehr drücken.
Beispiel
let isReadonly = kf.readonly;
console.log(isReadonly); // false
kf.readonly = true;
// das Formular ist jetzt schreibgeschützt und lässt sich nicht mehr bearbeiten
isReadonly = kf.readonly;
console.log(isReadonly); // true
nestedForm
Damit Layouts wiederverwendet werden können, lassen sich die Formulare auch verschachteln. Um auf ein bestimmtes verschachteltes Formular zuzugreifen, kann nestedForm verwendet werden.
Parameter
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
name | String | Ja | Name des Formulars |
Beispiel
Das Beispiel sucht das verschachtelte Formular mit dem Namen LayoutNestedPlatformUser heraus und prüft, ob dieses Formular valide ist.
const nestedForm = kf.nestedForm('LayoutNestedPlatformUser');
const isNestedFormValid = nestedForm.isValid();
nestedForms
Funktioniert analog zu nestedForm, nur das hier alle verschachtelten Formulare zurückgegeben werden.
nestedList
Genauso wie Layouts lassen sich auch Listen auf einem Formular verschachteln. Diese Funktion gibt die Liste mit dem angegebenen Namen zurück.
Parameter
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
name | String | Ja | Name der Liste |
nestedGraph
Analog zu nestedForm und nestedList lassen sich auch Graphen verschachteln. Diese Funktion gibt den Graphen mi dem angegebenen Namen zurück.
Parameter
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
name | String | Ja | Name der Liste |
skipNestedSave
Schaltet das Speichern für eine bestimmte verschachtelte Komponente aus. Das ist gelegentlich nötig, falls eine verschachtelte Komponente nur zur Anzeige verwendet wird und der dahinter liegende Datensatz nicht aktualisiert werden soll. Dabei kann die Komponente ein Formular, eine Liste oder ein Graph sein.
Parameter
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
name | String | Ja | Name der verschachtelten Komponente |
shouldDoNestedSaved
Prüft die submitCondition des Formulars und gibt dieses Ergebnis auch wieder zurück.
reloadNestedForm
???
parent
Wenn man im Kontext einer verschachtelten Komponente arbeitet und auf den darüber liegenden Formular/Datensatz zugreifen möchte, kann dies über den parent machen.
Beispiel
Als Ausgangslage sind wir in einem Readonly Skript, das auf einem der verschachtelten Formulare ausgeführt wird. Das Beispiel prüft, ob das Feld Vorname des darüber liegenden Datensatzes mit Max befüllt ist.
const parentForm = kf.parent;
return parentForm.record.firstName === 'Max';
addSuccessMessage
Zeigt eine Growl mit der Standardnachricht für das erfolgreiche Speichern des Formulars an.
skipConfirmUnload
Falls der Datensatz bearbeitet und nicht gespeichert wurde, und dann versucht wird von dem Datensatz weg zu navigieren, wird dies normalerweise verhindert und man muss explizit bestätigen, dass man das aktuelle Formular verlassen möchte. Mit skipConfirmUnload kann dies verhindert werden und das Formular wird direkt verlassen.
getValidationMessage
Wandelt die gegebenen Eingaben in ein Validierungsobjekt um, das beispielsweise in einem onValidation ScriptTrigger verwendet werden kann.
Parameter
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
message | String | Ja | Nachricht die angezeigt werden soll |
severity | String | Nein | Schwere der Nachricht. Bestimmt die Farbe in der die Nachricht angezeigt wird. Standardwert ist error |
Beispiel
Das folgende Beispiel ist ein Auszug aus einem onValidation ScriptTrigger. Es prüft, ob das Feld firstName valide ist. Falls nicht, wird eine Warnnachricht angezeigt, die den User darauf hinweist, das sein Vorname nicht valide ist.
const isFirstNameValid = kf.validateAttribute('firstName');
if (!isFirstNameValid) {
return kf.getValidationMessage(ks.translate.instant('Validation.FirstName.Invalid'), 'warn');
}
return kf.getValidationMessage(ks.translate.instant('Validation.FirstName.Valid'), 'success');
variables
Gibt alle Variablen oder die Variable, die unter dem angegebenen Namen gefunden werden können, zurück.
Name | Typ | Pflichtangabe | Beschreibung |
---|---|---|---|
name | String | Nein | Optionaler Name für eine Variablensektion |
local
Enthält alle Script Werte, die manuell in den temporären Speicher des Formulars geschrieben wurde. Kann verwendet werden, um gewissen Werte zwischenzuspeichern oder um Werte zwischen verschiedenen Komponenten zu teilen.
id
Gibt die aktuelle Id des Formulars zurück. Kann verwendet werden, um auf die Daten in der ViewData des Formulars zuzugreifen.
viewMode
Gibt den aktuellen Anzeigemodus des Formulars zurück.
Wert | Beschreibung |
---|---|
0 | FULL_PAGE |
1 | DIALOG |
2 | PAGE_RIGHT |
3 | NESTED |
4 | WIDGET |
5 | PRESENTATION |
6 | TAB |
layoutName
Gibt den Namen des Formulars zurück.