Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum.composite.form


agorum.composite.form.metadataBasic

Dieses Widget basiert auf agorum.composite.form.basic und erbt davon alle Eigenschaften.

Sie können mithilfe des Widgets:

Parameter


Alle Parameter in agorum.composite.form.basic gelten. Zusätzlich gelten die folgenden Parameter.

type

Der type ist immer agorum.composite.form.metadataBasic.

id

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;

Events (on)


Alle Events in agorum.composite.form.basic gelten. Zusätzlich gelten die folgenden Events.

saved

Löst aus, sobald das Event (fire) save abgeschlossen ist.

failed

Löst aus, wenn beim Event (fire) save ein Fehler auftritt.

Das System übergibt als Parameter die Fehlermeldung.

idChanged

Löst aus, wenn sich der Parameter id geändert hat. 

Das System übergibt als Parameter die neue Id.

Events (fire)


save

Speichert die form und löst das Event save aus.


Beispiel

form.fire('save');

Komplettes Beispiel


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;