Skip to main content
Version: Dingo

kf

kf oder auch KolibriForm bildet den Einstiegspunkt für das Arbeiten mit Formularen und ihrem Lifecycle.

info

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

NameTypPflichtangabeBeschreibung
cbFunctionNeinOptionale Callback Funktion die nach dem Speichern ausgeführt wird
validateBooleanNeinSteuert, 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

NameTypPflichtangabeBeschreibung
saveBooleanNeinSteuert, 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

NameTypPflichtangabeBeschreibung
N/AN/AN/AN/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

NameTypPflichtangabeBeschreibung
inputNameStringJaName 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

NameTypPflichtangabeBeschreibung
N/AN/AN/AN/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

NameTypPflichtangabeBeschreibung
nameStringJaName 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

NameTypPflichtangabeBeschreibung
nameStringJaName 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

NameTypPflichtangabeBeschreibung
nameStringJaName 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

NameTypPflichtangabeBeschreibung
nameStringJaName 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

NameTypPflichtangabeBeschreibung
messageStringJaNachricht die angezeigt werden soll
severityStringNeinSchwere 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.

NameTypPflichtangabeBeschreibung
nameStringNeinOptionaler 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.

WertBeschreibung
0FULL_PAGE
1DIALOG
2PAGE_RIGHT
3NESTED
4WIDGET
5PRESENTATION
6TAB

layoutName

Gibt den Namen des Formulars zurück.