Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core JavaScript-API > agorum core smart search > Aktionen des agorum core template managers im Kontextmenü
Hinweis: Diese Dokumentation bezieht sich auf die aktuellste Version des agorum core template managers. Aktualisieren Sie ggf. das hier beschriebene Plugin, um die Dokumentation verwenden zu können.
Mit dieser dateiabhängigen Aktion registrieren Sie ein Overview-Widget, um die angezeigten Informationen im Reiter „Übersicht“ im Detailfenster für Ihre Zwecke anzupassen.
Sie könnten die Anzeige im Reiter Übersicht etwa um weitere Informationen nach dem Muster der Anzeige des Ursprungsdokuments über andere Metadaten erweitern.
In diesem Beispiel wird der Abschnitt Ursprung nur angezeigt, wenn das entsprechende Metadatum gesetzt ist. Wenn das Metadatum vorhanden ist, wird das Ursprungsdokument angezeigt und Benutzer können über einen Klick darauf direkt zu dem Dokument gelangen.
So registrieren Sie ein Overview-Widget:
Voraussetzung:
Die Aktion overview widget registrieren erleichtert Ihnen die Einrichtung eines Skripts für den Reiter Übersicht. Sie benötigen dafür:
let items = [ { name: 'agorum.standard.agOrigin.overview', title: '_agorum.standard.agOrigin.overview.title', order: 10, // aguila widget that will be displayed aon: { type: 'standard.agOriginOverview', }, // best practice: selection when the information will be displayed selector: ['[~ag_origin]'], }, ]; exports.settings = () => items;
Ergebnis: Das System registriert das Overview-Widget. Die angezeigten Informationen in der Übersicht im Detailfenster ändern sich abhängig von den in Ihrem Skript angegebenen Bedingungen. Bei der Registrierung werden folgende Dateien/Einträge angelegt:
• Ein MetaDB-Eintrag mit Verweis auf das Skript unter folgendem Pfad.
MAIN_MODULE_MANAGEMENT/customers/agorum.composite.details/settings/[ <Konfigurationsprojekt> ]/<Registrierungsname>
• Eine uninstall-Datei im Workspace des Konfigurationsprojekts:
/agorum/roi/workspace/<Konfigurationsprojekt>/uninstall/<Registrierungsname>/<Registrierungsname>.json
Das folgende Skript zeigt beispielhaft, wie Sie selbst eine Card-Ansicht für den Reiter Übersicht erstellt können. In der Ansicht werden Benutzern Informationen über das Ursprungsobjekt eines Dokuments angezeigt. Der widget.synchronizer() verwaltet asynchrone Datenoperationen und reagiert auf ID-Änderungen, um den Inhalt der Anzeige dynamisch zu aktualisieren.
let aguila = require('common/aguila'); let objects = require('common/objects'); let metadata = require('common/metadata'); let decorators = require('/agorum/roi/customers/agorum.cards/js/decorators'); let i18n = require('common/i18n'); let widget = aguila.create({ type: 'agorum.vbox', properties: ['id'], items: [ { type: 'agorum.composite.form.element.text', readOnly: true, name: 'noOrigin', value: i18n.translate('agorum.standard.agOrigin.overview.noOrigin'), }, { type: 'agorum.vbox', name: 'cardContainer', hidden: true, items: [ { name: 'cardView', type: 'agorum.cards.view', }, ], }, ], }); let noOrigin = widget.down('noOrigin'); let openContainer = widget.down('openContainer'); let cardView = widget.down('cardView'); let cardContainer = widget.down('cardContainer'); let synchronizer = widget.synchronizer(); widget.on('idChanged', id => { if (!id) { openContainer.hidden = true; noOrigin.hidden = false; return; } synchronizer .fork(() => { let obj = objects.tryFind(id); if (!obj) return; let origin = metadata() .load(obj, /^ag_origin$/) .data().ag_origin; if (!origin) return; let originObj = objects.tryFind(origin); if (!originObj) return; return { id: originObj.UUID, name: originObj.displayName, }; }) .then(data => { cardContainer.hidden = !data; noOrigin.hidden = !!data; cardView.replace({ type: 'agorum.object', id: data && data.id, borderless: true, level: decorators.LEVEL.SMALL, // MINIMUM, SMALL, REDUCED, DEFAULT, MAXIMUM interactive: true, }); }); }); widget;