Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum.composite.form
Eine Oberfläche besteht aus zwei Elementen:
Die form bündelt die Elemente zu einer Einheit.
Beispiel
Dieses Beispiel erstellt eine basic-form mit zwei enthaltenen Text-Elementen.
let aguila = require('common/aguila'); let form = aguila.create({ width: 300, height: 300, type: 'agorum.composite.form.basic', name: 'basicForm', elements: [ { type: 'agorum.composite.form.element.text', name: 'textField1', label: 'Text 1', validation: [ { required: true } ] }, { type: 'agorum.composite.form.element.text', name: 'textField2', label: 'Text 2' }, { name: 'ag_tags' } ], readOnly: false }); form;
Die umliegende form mit dem Namen basicForm ist somit eine Oberfläche, bestehend aus drei Feldern. Sie können über die basic-form alle Parameter steuern.
Hinweis: Die folgenden Abschnitte beschreiben die grundlegende Funktionsweise. Zur Beschreibung der einzelnen Parameter von agorum.composite.form.basic siehe agorum.composite.form - basic.
form.down('basicForm').readOnly = true;
Das folgende Beispiel ermittelt, ob alle Eingaben valide sind:
let valid = form.down('basicForm').valid;
Wenn ja, erhalten Sie true zurück, ansonsten false.
Setzt Parameter und Werte direkt.
Verwenden Sie set bevorzugt vor form.down (siehe Werte setzen), um Werte direkt zu setzen.
Verwendung
form.set(path, propertyValue); // Beispiel form.set('textField1.value', 'Ein Wert');
Parameter
Parameter | Beschreibung | Beispiel |
---|---|---|
path | Definiert den Pfad zum Element inklusive Parameter (etwa value, hidden, readOnly), von wo aus das System die Funktion aufruft. Befindet sich das Element textField1 etwa direkt unter form, lautet der Pfad dazu textField1 (relativ zu form gesehen). |
Werte von tiefer verschachtelten Elementen setzen (Listen) // setzt den Wert für column1 in Zeile 0 in Liste listField1: form.set('listField1[0].column1.value', 'Wert für Liste, Zeile 0, Spalte column1'); Parameter setzen (hidden, readOnly) // Deaktiviert das Feld in column1 in Zeile 0 in Liste listField1: form.set('listField1[0].column1.disabled', true); path kann entweder in Punkt und Array [] Notation erfolgen, wie in den obigen Beispielen, oder Sie können path als Array definieren. Das ist notwendig, wenn der Namen eines Parameters einen Punkt oder [] besitzt. // setzt den Wert für column1 in Zeile 0 in Liste listField1: form.set([ 'listField1', 0, 'column1', 'value' ], 'Wert für Liste, Zeile 0, Spalte column1'); // Deaktiviert das Feld in column1 in Zeile 0 in Liste listField1: form.set([ 'listField1', 0, 'column1', 'disabled' ], true); |
Liest Parameter und Werte direkt.
Verwenden Sie get bevorzugt vor form.down (siehe Werte lesen), um Werte direkt zu lesen.
Verwendung
let value = form.get(path); // Beispiel: holt den Wert von textField1 let value = form.get('textField1.value');
Parameter
Parameter | Beschreibung | Beispiel |
---|---|---|
path | Definiert den Pfad zum Element inklusive Parameter (etwa value, hidden, readOnly), von wo aus das System die Funktion aufruft. Befindet sich das Element textField1 etwa direkt unter form, lautet der Pfad dazu textField1 (relativ zu form gesehen). |
Werte von tiefer verschachtelten Elementen lesen (Listen) // holt den Wert für column1 in Zeile 0 in Liste listField1: let value = form.get('listField1[0].column1.value'); Parameter lesen (hidden, readOnly) // liest den Status von disabled vom Feld in column1 in Zeile 0 in Liste listField1: let disabled = form.get('listField1[0].column1.disabled'); path kann entweder in Punkt und Array [] Notation erfolgen, wie in den obigen Beispielen, oder Sie können path als Array definieren. Das ist notwendig, wenn der Namen eines Parameters einen Punkt oder [] besitzt. // holt den Wert für column1 in Zeile 0 in Liste listField1: let value = form.get([ 'listField1', 0, 'column1', 'value' ]); // liest den Status von disabled vom Feld in column1 in Zeile 0 in Liste listField1: let disabled = form.get([ 'listField1', 0, 'column1', 'disabled' ]); |
Hinweis: Verwenden Sie die Funktion set, um Werte zu setzen, da Sie bei form.down einige Besonderheiten beachten müssen.
Verwendung
form.down('basicForm').value = { textField1: 'Wert 1', textField2: 'Wert 2' };
Werte direkt auf die jeweiligen Elemente setzen
... items: [ { type: 'agorum.composite.form.element.text', name: 'textField1', label: 'Text 1', value: 'Wert 1' }, { type: 'agorum.composite.form.element.text', name: 'textField2', label: 'Text 2', value: 'Wert 2' } ] ...
Hinweis: Verwenden Sie die Funktion get, um Werte zu lesen, da Sie bei form.down einige Besonderheiten beachten müssen.
Verwendung
let values = form.down('basicForm').value;
Ergebnis (Beispiel)
{ textField1: 'Wert 1', textField2: 'Wert 2' }
Sie können die einzelnen Elemente mit aguila-Widgets mischen, sodass Sie die einzelnen Felder nach Wunsch anordnen können.
Textfelder durch agorum.hbox nebeneinander darstellen
let aguila = require('common/aguila'); let form = aguila.create({ width: 600, height: 300, type: 'agorum.composite.form.basic', name: 'basicForm', elements: [ { type: 'agorum.hbox', items: [ { type: 'agorum.composite.form.element.text', name: 'textField1', label: 'Text 1', flexible: true }, { type: 'agorum.composite.form.element.text', name: 'textField2', label: 'Text 2', flexible: true } ] }, { name: 'ag_tags' } ], readOnly: false }); form;
Sie können Elemente ohne form verwenden, wenn Sie keine form benötigen, um mehrere Elemente zu einer Einheit zu bündeln, sondern nur die Funktionen des Elements verwenden möchten.
Beispiel
let aguila = require('common/aguila'); let widget = aguila.create({ width: 600, height: 300, type: 'agorum.vbox', items: [ { type: 'agorum.composite.form.element.text', name: 'textField1', label: 'Text 1' }, { type: 'agorum.composite.form.element.text', name: 'textField2', label: 'Text 2' } ] }); widget;