Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum.composite.form
Dieses Widget basiert auf agorum.composite.form.basic und erbt davon alle Eigenschaften.
Sie können mithilfe des Widgets:
Alle Parameter in agorum.composite.form.basic gelten. Zusätzlich gelten die folgenden Parameter.
Der type ist immer agorum.composite.form.metadataBasic.
Lädt die Metadaten des dahinterliegenden Objekts und setzt die Werte auf die definierten Elemente der form.
Beispiel
form.id = objects.find('/agorum/roi/Files/Demo').ID;
Werte zurücksetzen
Um die Werte neu zu laden, setzen Sie den Parameter id zurück:
form.id = null; form.id = testObject.ID;
Alle Events in agorum.composite.form.basic gelten. Zusätzlich gelten die folgenden Events.
Löst aus, sobald das Event (fire) save abgeschlossen ist.
Löst aus, wenn beim Event (fire) save ein Fehler auftritt.
Das System übergibt als Parameter die Fehlermeldung.
Löst aus, wenn sich der Parameter id geändert hat.
Das System übergibt als Parameter die neue Id.
Speichert die form und löst das Event save aus.
Beispiel
form.fire('save');
Das folgende Beispiel enthält die komplette Steuerung des Speichervorgangs mit den Schaltflächen save, edit und cancel.
Das System:
let aguila = require('common/aguila');
let objects = require('common/objects');
// a test folder, to load and save the metadata to
let testObject = objects.find('/agorum/roi/Files/Demo');
let form = aguila.create({
width: 500,
height: 300,
type: 'agorum.composite.form.metadataBasic',
docked: {
top: {
type: 'agorum.toolbar',
border: true,
items: [
{
type: 'agorum.button',
name: 'save',
text: 'Save'
},
{
type: 'agorum.button',
name: 'cancel',
text: 'Cancel'
},
{
type: 'agorum.button',
name: 'edit',
text: 'Edit',
disabled: true
}
]
}
},
// the metadata, that should be edited
// all settings are loaded from the metadata definition
elements: [
{
name: 'ag_tags'
},
{
name: 'user_ag_tags'
}
]
});
let saveBtn = form.down('save');
let editBtn = form.down('edit');
let cancelBtn = form.down('cancel');
saveBtn.on('clicked', () => {
// save
form.fire('save');
// set form to view mode
form.readOnly = true;
// switch button states
saveBtn.disabled = true;
cancelBtn.disabled = true;
editBtn.disabled = false;
});
cancelBtn.on('clicked', () => {
// reload original data
form.id = null;
form.id = testObject.ID;
// set form to view mode
form.readOnly = true;
// switch button states
saveBtn.disabled = true;
cancelBtn.disabled = true;
editBtn.disabled = false;
});
editBtn.on('clicked', () => {
// set form to edit mode
form.readOnly = false;
// switch button states
saveBtn.disabled = false;
cancelBtn.disabled = false;
editBtn.disabled = true;
});
// load a sample object
form.id = testObject.ID;
form;