Wiki-Quellcode von Metadaten


Zeige letzte Bearbeiter
1 {{figure image="designer_advanced_xfc_metadata_de.png" width="700"}}
2 Über das globale Objekt {{code language="javascript"}}window.XFC_METADATA{{/code}} kann auf Informationen zum Formular zugegriffen werden. Hier wird ein E-Mail-Feld mit der E-Mail_Adresse des angemeldet Nutzers befüllt (nur wenn das Formular noch nicht abgesendet wurde). Die Autovervollständigung des Editors funktioniert wie in der Abbildung zu sehen auch für verschachtelte Eigenschaften.
3 {{/figure}}
4
5 Das globale Objekt {{code language="javascript"}}window.XFC_METADATA{{/code}} 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.
6
7 Das //XFC_METADATA//-Objekt hat die folgenden Eigenschaften. Weitere Informationen zu diesen Eigenschaften und Untereigenschaften finden sich in der verlinkten Dokumentation:
8
9 * {{jsdoc page="metadata" name="attachments"/}}
10 * {{jsdoc page="metadata" name="currentClient"/}}
11 * {{jsdoc page="metadata" name="currentLanguage"/}}
12 * {{jsdoc page="metadata" name="currentLanguageTag"/}}
13 * {{jsdoc page="metadata" name="currentProcess"/}}
14 * {{jsdoc page="metadata" name="currentProject"/}}
15 * {{jsdoc page="metadata" name="currentSessionFRID"/}}
16 * {{jsdoc page="metadata" name="currentSessionID"/}}
17 * {{jsdoc page="metadata" name="pluginResults"/}}
18 * {{jsdoc page="metadata" name="renderStatus"/}}
19 * {{jsdoc page="metadata" name="requestType"/}}
20 * {{jsdoc page="metadata" name="serverTime"/}}
21 * {{jsdoc page="metadata" name="urlParams"/}}
22 * {{jsdoc page="metadata" name="urls"/}}
23 * {{jsdoc page="metadata" name="user"/}}
24
25 Veraltete Eigenschaften des //XFC_METADATA//-Objektes:
26
27 * --XFC_METADATA.currentUser--: Abgelöst durch {{jsdoc page="metadata" name="user"/}}
28
29 == Beispiele ==
30
31 {{panel title="Auslesen des Benutzernamens des angemeldeten Benutzers"}}
32
33 {{js}}
34 const benutzername = XFC_METADATA.user.userName;
35 {{/js}}
36
37 {{jsIE}}
38 var benutzername = XFC_METADATA.user.userName;
39 {{/jsIE}}
40
41 {{/panel}}
42
43
44 {{panel width="600px" title="Auslesen der LDAP-Daten des angemeldeten Benutzers"}}
45
46 {{js}}
47 const rawData = XFC_METADATA.user.rawData;
48 {{/js}}
49
50 {{jsIE}}
51 var rawData = XFC_METADATA.user.rawData;
52 {{/jsIE}}
53
54 {{/panel}}
55
56
57 {{panel width="600px" title="Auslesen eines URL-Parameters namens lang"}}
58
59 {{js}}
60 const urlParameter = XFC_METADATA.urlParams.lang;
61 {{/js}}
62
63 {{jsIE}}
64 var urlParameter = XFC_METADATA.urlParams.lang;
65 {{/jsIE}}
66
67 {{/panel}}
68
69
70 {{panel width="600px" title="Auslesen der Serverzeit und Anzeige dieser in einem Textfeld"}}
71 {{code language="javascript"}}
72 $("[name='tfServertime']").val(XFC_METADATA.serverTime.toString());
73 {{/code}}
74 {{/panel}}
75
76
77 {{panel width="600px" title="E-Mail-Feld nur vorbelegen, wenn das Formular neu geöffnet wurde"}}
78
79 {{js}}
80 $.xutil.onStatus(() => $('[name="tfMail"]').val(XFC_METADATA.user.mail));
81 {{/js}}
82
83 {{jsIE}}
84 $.xutil.onStatus(function() {
85 $('[name="tfMail"]').val(XFC_METADATA.user.mail);
86 });
87 {{/jsIE}}
88
89 {{/panel}}
90
91 {{panel title="Zugreifen auf formularspezifische Resourcen"}}
92
93 {{js}}
94 // URL für eine Formulardatei ermitteln
95 function getResourceURL(filename) {
96 // Auslesen der ID des Formulars
97 const pid = String(window.XFC_METADATA.currentProject.id);
98 // Anfangsteils der URL wird aus den Metadaten genommen
99 const url = `${XFC_METADATA.urls.context}includes/ressource?pid=${pid}&name=${encodeURIComponent(filename)}`;
100 return url;
101 }
102 // Die Datei myData.json wurde als formularspezifische Resource hochgeladen,
103 $.get(getResourceURL("myData.json")).then(data => {
104 // Etwas mit den Daten der Datei myData.json anfangen.
105 });
106 {{/js}}
107
108 {{jsIE}}
109 // URL für eine Formulardatei ermitteln
110 function getResourceURL(filename) {
111 // Auslesen der ID des Formulars
112 var pid = String(window.XFC_METADATA.currentProject.id);
113 // Anfangsteils der URL wird aus den Metadaten genommen
114 var url = XFC_METADATA.urls.context + "includes/ressource?pid=" + pid + "&name=" + encodeURIComponent(filename);
115 return url;
116 }
117 // Die Datei myData.json wurde als formularspezifische Resource hochgeladen,
118 $.get(getResourceURL("myData.json"), undefined, function(data) {
119 // Etwas mit den Daten der Datei myData.json anfangen.
120 });
121 {{/jsIE}}
122
123 {{/panel}}
124
125 == Beispiele für ältere FORMCYCLE-Versionen ==
126
127 {{panel title="Auslesen des Benutzernamens des angemeldeten Benutzers in FORMCYCLE vor Version 6.4.0" closed="true"}}
128
129 {{js}}
130 const benutzername = XFC_METADATA.currentUser.userame;
131 {{/js}}
132
133 {{jsIE}}
134 var benutzername = XFC_METADATA.currentUser.userame;
135 {{/jsIE}}
136
137 {{/panel}}
138
139 {{panel width="600px" title="Auslesen der LDAP-Daten des angemeldeten Benutzers in FORMCYCLE vor Version 6.4.0"}}
140
141 {{js}}
142 const ldapData = XFC_METADATA.currentUser.ldap;
143 {{/js}}
144
145 {{jsIE}}
146 var ldapData = XFC_METADATA.currentUser.ldap;
147 {{/jsIE}}
148
149 {{/panel}}