Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum.composite.form


agorum.composite.form - element - Metadatum

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. 

Beispiel einer Oberfläche


Dieses Beispiel erstellt eine Oberfläche mit den Metadaten ag_tags (Globale Tags) und user_ag_tags (Benutzer Tags):

Beispiel einer Oberfläche

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;

Eigenschaften überschreiben


Sie können die Eigenschaften innerhalb der Definition des jeweiligen Elements aus der Metadaten-Definition überschreiben.

Beispiel Label ü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;

Abweichenden Metadaten-Namen verwenden (mdName)

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:

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.