Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum.composite.form
Existiert für ein Element bereits eine Metadaten-Definition (name muss dem Namen des Metadatums entsprechen), dann lädt das System alle Eigenschaften aus der Metadaten-Definition.
Ist dies nicht gewünscht, kann durch die Eigenschaft manualConfig=true am Element dieses Verhalten deaktiviert werden.
Dieses Beispiel erstellt eine Oberfläche mit den Metadaten ag_tags (Globale Tags) und user_ag_tags (Benutzer Tags):
Die Metadaten müssen Sie zuvor definiert haben (siehe Metadaten mit YML definieren (metadata.yml) und Metadaten Designer konfigurieren).
Skript zur Oberfläche
let aguila = require('common/aguila');
let form = aguila.create({
width: 500,
height: 300,
type: 'agorum.composite.form.basic',
elements: [
{
name: 'ag_tags'
},
{
name: 'user_ag_tags'
}
]
});
form;
Sie können die Eigenschaften innerhalb der Definition des jeweiligen Elements aus der Metadaten-Definition überschreiben.
Dieses Beispiel überschreibt den Parameter label des jeweiligen Elements. Die Überschreibung funktioniert mit jeder weiteren Eigenschaft eines Elements (siehe agorum.composite.form - element - Grundlegende Eigenschaften).
let aguila = require('common/aguila');
let form = aguila.create({
width: 500,
height: 300,
type: 'agorum.composite.form.basic',
elements: [
{
name: 'ag_tags',
label: 'Tags'
},
{
name: 'user_ag_tags',
label: 'Meine Tags'
}
]
});
form;
Standardmäßig muss der name eines Elements dem Namen des Metadatums entsprechen, damit das System die Metadaten-Definition automatisch lädt. Mit dem Parameter mdName können Sie einen abweichenden Metadaten-Namen angeben. Das System lädt dann die Konfiguration aus der mit mdName angegebenen Metadaten-Definition, während name den Feldnamen im Formular bestimmt.
Mit der Punkt-Notation können Sie auch auf Unterfelder innerhalb von Listen-Metadaten zugreifen, etwa awt_sample_list.text oder awt_sample_list.sub_list.text.
let aguila = require('common/aguila');
let form = aguila.create({
width: 500,
height: 300,
type: 'agorum.composite.form.basic',
elements: [
{
name: 'meinTextfeld',
mdName: 'awt_sample_list.text',
},
],
});
form;
Dann können Sie die Unterfelder direkt in einem Formular verwenden:
let aguila = require('common/aguila');
let form = aguila.create({
type: 'agorum.composite.form.basic',
name: 'myForm',
labelPosition: 'top',
elements: [
{
name: 'list',
mdName: 'awt_sample_list',
},
{
name: 'text',
mdName: 'awt_sample_list.text',
},
{
name: 'number',
mdName: 'awt_sample_list.number',
},
{
name: 'subText',
mdName: 'awt_sample_list.sub_list.text',
},
],
});
form;
In diesem Beispiel:
list erhält die Konfiguration der gesamten Liste awt_sample_list.text erhält Typ und Label aus dem Unterfeld text der Liste.number erhält Typ, Label und Format aus dem Unterfeld number.subText greift über die verschachtelte Punkt-Notation auf das Unterfeld text innerhalb von sub_list zu.Hinweis: Der Parameter name bestimmt weiterhin den Feldnamen im Formular (für form.get(), form.set() und form.value). Der Parameter mdName beeinflusst ausschließlich, welche Metadaten-Definition zur automatischen Konfiguration des Elements herangezogen wird.