Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core für Entwickler > agorum core JavaScript-API


agorum.registry

Die JavaScript-Bibliothek agorum.registry bietet Funktionen zur Registrierung und Verwaltung von Widgets und ihren zugehörigen Funktionen. Sie ermöglicht es Entwicklern, Widgets im System zu registrieren, sie mit einem eindeutigen Namen zu versehen und benutzerdefinierte Funktionen darauf auszuführen.

Die folgenden Hinweise erläutern das rekursive Verhalten der Widgets: 

Verwendung


Binden Sie die Bibliothek stets am Anfang eines Skripts ein:

let registry = require('/agorum/roi/customers/agorum.registry/js/registry');

Beispiel


let aguila = require('common/aguila');
let registry = require('/agorum/roi/customers/agorum.registry/js/registry');

let widget = aguila.create({
  type: 'agorum.vbox',
  width: 400,
  height: 400,
  items: [
    {
      type: 'agorum.vbox',
      items: [
        {
          type: 'agorum.vbox',
          items: [
            {
              name: 'inner',
              type: 'agorum.vbox',
              items: [],
            },
          ],
        },
      ],
    },
  ],
});

registry.register(widget, 'test', (a, b) => a + b);

console.log('result', registry.call(widget.down('inner'), 'test', 1, 'Hallo'));

widget;

In diesem Beispiel wird:

  1. Ein neues Widget wird erstellt.
  2. Verschachtelte Widgets werden innerhalb des Haupt-Widgets hinzugefügt. Das innerste Widget hat den Namen inner.
  3. Die Methode registry.register wird verwendet, um das erstellte Widget im Registry-System mit einer test-Funktion zu verknüpfen, die eine einfache Addition durchführt.
  4. Die Methode registry.call wird benutzt, um die test-Funktion für das Widget inner aufzurufen.
  5. Das Ergebnis des Aufrufs wird exemplarisch auf der Konsole ausgegeben.

Dieses Beispiel zeigt, wie eine komplexe Widget-Struktur aufgebaut wird und dynamisch mit benutzerdefinierten Funktionen erweitert werden kann. Durch die Verwendung der registry-Funktionen kann auf spezifische Teile des Widgets zugegriffen werden, um maßgeschneiderte Aktionen auszuführen, etwa um die spezifische Geschäftslogik direkt innerhalb der Benutzeroberfläche zu integrieren. Die Verschachtelung von Widgets bietet zudem eine strukturierte Art und Weise, komplexe Oberflächen zu gestalten, wobei jedes Widget seine Funktionalität und sein Verhalten einer übergeordneten Regelstruktur anpassen kann.

Funktionen


register

Registriert ein Widget mit einem eindeutigen Namen und einer zugehörigen Funktion im Registry-System.


Syntax

registry.register(widget, service, fn);


Parameter

Parameter Beschreibung Pflicht Standard
widget Das zu registrierende Widget. ja
service Der eindeutige Name des Services, unter dem das Widget registriert wird. ja  
fn Die Funktion, die mit dem Widget verknüpft wird. ja  


Beispiel

let registry = require('/agorum/roi/customers/agorum.registry/js/registry');

// Registers a widget with the name 'test' and an addition function
registry.register(widget, 'test', (a, b) => a + b);

 

Verwendung

Diese Funktion verwenden Sie, wenn Sie ein Widget mit einer eigenen Funktion im Registry-System erfassen und später darauf zugreifen möchten.

call

Ruft eine registrierte Funktion für ein bestimmtes Widget auf, übergibt die erforderlichen Parameter, und gibt das Ergebnis der Funktionsausführung zurück.


Syntax

registry.call(widget, service, ...params);


Parameter

Parameter Beschreibung Pflicht Standard
widget Das Widget, für das die Funktion aufgerufen wird. ja
service Der Name des registrierten Service. ja  
params Eine beliebige Anzahl von Parametern, die an die Funktion übergeben werden. nein  


Beispiel

let result = registry.call(widget.down('inner'), 'test', 1, 'Hallo');
console.log('result', result); // Output: result 1Hallo

 

Rückgabewerte

Der Rückgabewert ist das Ergebnis der ausgeführten Funktion. Im oben gezeigten Beispiel würde dies eine String-Konkatenation sein, da '1' und 'Hallo' als Strings interpretiert werden.

Verwendung

Diese Funktion verwenden Sie, um eine zuvor registrierte Funktion für ein Widget auszuführen und das Ergebnis zu erhalten. Sie eignet sich besonders, wenn Logik für Widgets dynamisch beibehalten werden soll.

Exceptions

Zu dieser Funktion existieren keine spezifischen Exceptions. Stellen Sie sicher, dass die Funktion ordnungsgemäß registriert ist, bevor call aufgerufen wird, um unerwartetes Verhalten zu vermeiden.