Änderungen von Dokument Zähler


Von Version 5.1
bearbeitet von gru
am 30.08.2021, 17:30
Änderungskommentar: Neues Bild counter_query_en.png hochladen
Auf Version 3.10
bearbeitet von gru
am 30.08.2021, 13:17
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -50,32 +50,45 @@
50 50  
51 51  == Platzhalter ==
52 52  
53 -Die Werte von Zählern können über [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] zum Beispiel im Workflow oder als Wert von Formularelementen ausgelesen werden. Die Syntax ist dabei wie folgt:
54 -
53 +Die Werte von Zählern können über [[Platzhalter:doc>>Formcycle.UserInterface.Variables]] zum Beispiel im Workflow oder als Wert von Formularelementen ausgelesen werden. Die Syntax ist dabei wie folgt:
55 55  {{code language="none"}}[%$COUNTER_CLIENT.<Name des Zählers>%]{{/code}}
56 56  
57 57  == Zugriff auf Zählerwert per Servlet ==
58 58  
59 -=== Servlet-URL und Parameter ===
60 -
61 61  Der Wert der Zähler kann innerhalb von Formularen über einen Servletaufruf ermittelt werden. Es ist dabei möglich, den Zähler über seinen Namen oder seine UUID auszuwählen. Die entsprechenden {{smallcaps}}URL{{/smallcaps}}s zum Aufruf der Werte könnten zum Beispiel wie folgt aussehen:
62 -
63 -{{code language="none"}}https://<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&name=<Name des Zählers>{{/code}}
59 +{{code language="none"}}<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&name=<Name des Zählers>{{/code}}
64 64  und
65 -{{code language="none"}}https://<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&uuid=<UUID des Zählers>{{/code}}
61 +{{code language="none"}}<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&uuid=<UUID des Zählers>{{/code}}
66 66  
67 -
68 68  In beiden Fällen wird eine gültige //form request id// (frid) benötigt, welche im Formular per JavaScript unter {{code language="none"}}XFC_METADATA.currentSessionFRID{{/code}} zu finden ist. Auf gleiche Art kann zudem die {{smallcaps}}URL{{/smallcaps}} des Servlets per JavaScript unter {{code language="none"}}XFC_METADATA.urls.counter_client{{/code}} ausgelesen werden. Dies ist wichtig, da sich die {{smallcaps}}URL{{/smallcaps}} bei Aufrufen über Frontend- und Masterserver unterscheidet.
69 69  
70 -=== Rückgabewerte ===
65 +Eine bespielhafte JavaScript-Abfrage, welche den Zählerwert in das Feld //tf1// schreibt, könnte also wie folgt aussehen:
71 71  
72 -Das Erebnis wird als JSON zurückgegeben. Neben dem eigentlichen Wert sind auch andere Informationen zurückgegeben. Die Antwort hat die folgende Struktur:
67 +{{code language="javascript"}}
68 +$.ajax({
69 + url:[
70 + XFC_METADATA.urls.counter_client,
71 + "?frid=",
72 + XFC_METADATA.currentSessionFRID,
73 + "&name=Beispielzähler"
74 + ].join(""),
75 + success: function(data, textStatus, jqXHR) {
76 + if (data.success) {
77 + $('[data-name="tf1"]').val(data.result.value);
78 + } else {
79 + console.error("Zugriff auf Zähler Beispielzähler fehlgeschlagen:",data.msg);
80 + }
81 + }
82 +});
83 +{{/code}}
84 +
85 +Neben dem eigentlichen Wert werden auch andere Informationen zurückgegeben. Die Antwort hat die folgende Struktur:
73 73  ; success
74 -: Boolscher Wert, der aussagt, ob der Zählerwert erfolgreich ausgelesen werden konnte.
87 +: Boolscher Wert, der aussagt, ob die Werte gesetzt wurden.
75 75  ; msg
76 76  : Servernachricht bezüglich der Anfrage, welche zur Fehlersuche verwendet werden kann. Ein erfolgreicher Zugriff liefert z.B. //Counter found//.
77 77  ; result
78 -: Antwort auf die Anfrage. Wenn die Anfrage erfolgreich war, sind die folgenden Unterpunkte enthalten:
91 +: Antwort auf die Anfrage. Wenn die anfrage erfolgreich war, sind die folgenden Unterpunkte enthalten:
79 79  :; lastChange
80 80  :: Formatierte Ausgabe von Datum und Uhrzeit der letzten Änderung des Zählerwertes
81 81  :; lastChangeTimestamp
... ... @@ -87,33 +87,3 @@
87 87  :; value
88 88  :: Aktueller Zählerwert
89 89  
90 -=== Beispiel für eine AJAX-Anfrage im Formular ===
91 -
92 -Eine beispielhafte AJAX-Anfrage, welche den aktuellen Zählerwert des Zählers //Beispielzähler// in das Feld //tf1// schreibt, könnte also wie folgt aussehen:
93 -
94 -{{code language="javascript"}}
95 -$.ajax({
96 - method: "GET",
97 - url: XFC_METADATA.urls.counter_client,
98 - data: {
99 - name: "Beispielzähler",
100 - frid: XFC_METADATA.currentSessionFRID,
101 - }
102 -}).then(function(data) {
103 - if (data.success) {
104 - $('[data-name="tf1"]').val(data.result.value);
105 - } else {
106 - console.warn("Zugriff auf Zähler Beispielzähler fehlgeschlagen:", data.msg);
107 - }
108 -}).catch(function(jqXHR, errorTextStatus, errorThrown) {
109 - console.warn("Zugriff auf Zähler Beispielzähler fehlgeschlagen:", errorThrown, "(" + errorTextStatus + ")");
110 -});
111 -{{/code}}
112 -
113 -=== Einfügen eines Templates für eine AJAX-Anfrage im Formular ===
114 -
115 -{{figure image="counter_query_de.png"}}Auswahl des Templates für die Zähler-Abfrage im JavaScript-Bereich des Formulardesigners.{{/figure}}
116 -
117 -Ein Template, welches der obenstehenen Beispielfunktion ähnliche ist, kann auch per Autocomplete direkt im JavaScript-Bereich des Formulardesigners eingefügt werden. Hierzu muss hintereinander {{code language=none}}Zähler{{/code}}eingegeben werden und die vom Autocomplete vorgeschlagene Option //Zähler-Abfrage// mit einem Klick oder mit den Pfeiltasten ausgewählt und der der Enter-Taste bestätigt werden.
118 -
119 -Nachdem das Template eingefügt wurde, müssen die benötigten Funktionaltitäten hinzugefügt und der Name des Zählers abgeändert werden.
counter_query_de.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.gru
Größe
... ... @@ -1,1 +1,0 @@
1 -7.6 KB
Inhalt
counter_query_en.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.gru
Größe
... ... @@ -1,1 +1,0 @@
1 -7.9 KB
Inhalt