Metadaten
Das globale Objekt window.XFC_METADATA enthält alle Metadaten des aktuell geöffneten Formulars. Es steht zur Verfügung, um über JavaScript Informationen zum Formular, zum aktuell angemeldeten Benutzer und des dazugehörigen Vorgangs sowie vielen weiteren Informationen zu erhalten. Dieses Objekt wird beim Aufruf eines Formulars mit den aktuellen Daten automatisch befüllt.
Das XFC_METADATA-Objekt hat die folgenden Eigenschaften. Weitere Informationen zu diesen Eigenschaften und Untereigenschaften finden sich in der verlinkten Dokumentation:
- XFC_METADATA.attachments
- XFC_METADATA.currentclient
- XFC_METADATA.currentlanguage
- XFC_METADATA.currentlanguagetag
- XFC_METADATA.currentprocess
- XFC_METADATA.currentproject
- XFC_METADATA.currentuser
- XFC_METADATA.pluginresults
- XFC_METADATA.requesttype
- XFC_METADATA.servertime
- XFC_METADATA.urlparams
- XFC_METADATA.urls
Beispiele
Zugreifen auf formularspezifische Resourcen
Wurde etwa eine Datei myData.json als formularspezifische Resource hochgeladen, kann auf diese wie folgt zugegriffen werden.
// Get the URL for a file uploaded to this project.
function getResourceURL(filename) {
const pid = String(window.XFC_METADATA.currentProject.id);
const url = `${XFC_METADATA.urls.context}includes/ressource?pid=${pid}&name=${encodeURIComponent(filename)}`;
return url;
}
$.get(getResourceURL("myData.json")).then(data => {
// Etwas mit den Daten anfangen.
});
function getResourceURL(filename) {
const pid = String(window.XFC_METADATA.currentProject.id);
const url = `${XFC_METADATA.urls.context}includes/ressource?pid=${pid}&name=${encodeURIComponent(filename)}`;
return url;
}
$.get(getResourceURL("myData.json")).then(data => {
// Etwas mit den Daten anfangen.
});
Auslesen des Benutzernamen des aktuellen Benutzers
const benutzername = XFC_METADATA.currentUser.username;
Auslesen der LDAP-Daten des am Formular authentifizierten Benutzers
const urlParameter = XFC_METADATA.currentUser.ldap;
Auslesen des URL-Parameters parameter
const urlParameter = XFC_METADATA.urlParams.parameter;
Auslesen der Serverzeit und Anzeige dieser in einem Textfeld tfServertime
$('[name=tfServertime]').val(XFC_METADATA.serverTime.toString());
Eine bestimmte Aktion nur ausführen, wenn es sich um einen neuen Vorgang handelt. Zum Beispiel die Vorbelegung von Daten.
if (!XFC_METADATA.currentProcess.processId) {
//Programmcode ausführen
}
//Programmcode ausführen
}