Änderungen von Dokument Zähler


Von Version 5.7
bearbeitet von gru
am 31.08.2021, 10:49
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 3.8
bearbeitet von gru
am 30.08.2021, 13:13
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -1,7 +1,7 @@
1 1  {{content/}}
2 2  
3 3  {{id name="fig_counter"/}}
4 -{{figure image="counter_de.png" clear="h1"}}Konfigurationsoberfläche zum Anlegen von Zählern: (1) Liste existierender Zähler, (2) Bereich zum Editieren der selektierten Zähler, (3) Metadaten des Zählers.{{/figure}}
4 +{{figure image="counter_de.png"}}Konfigurationsoberfläche zum Anlegen von Zählern: (1) Liste existierender Zähler, (2) Bereich zum Editieren der selektierten Zähler, (3) Metadaten des Zählers.{{/figure}}
5 5  
6 6  Die Werte der Zähler können mit der Aktion [[Zähler ändern>>doc:Formcycle.Designer.Workflow.Actions.ModifyCounter]] verändert und über [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] ausgelesen und so zum Beispiel in [[Bedingungen>>doc:Formcycle.Designer.Workflow.FlowControl.Condition]] verwendet werden.
7 7  
... ... @@ -27,7 +27,7 @@
27 27  ::: - wöchentlich
28 28  ::: - monatlich
29 29  ::: - jährlich
30 -:: Entsprechend der hier getroffenen Auswahl werden die folgenden Felder sichtbar:
30 +:: Entsprechend der hier getroffenen Auswahl werden die folgenden Felder sichtbar
31 31  ::; Wert
32 32  ::: Wert mit dem der Zähler verglichen werden soll. Nur verfügbar, wenn //Zähler größer gleich// oder //Zähler kleiner gleich// als Bedingung ausgewählt wurde.
33 33  ::; um
... ... @@ -50,33 +50,44 @@
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 -
57 57  
58 58  == Zugriff auf Zählerwert per Servlet ==
59 59  
60 -=== Servlet-URL und Parameter ===
61 -
62 62  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:
59 +{{code language="none"}}<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&name=<Name des Zählers>
60 +<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&uuid=<UUID des Zählers>{{/code}}
63 63  
64 -{{code language="none"}}https://<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&name=<Name des Zählers>{{/code}}
65 -und
66 -{{code language="none"}}https://<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&uuid=<UUID des Zählers>{{/code}}
67 -
68 -
69 69  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.
70 70  
71 -=== Rückgabewerte ===
64 +Eine bespielhafte JavaScript-Abfrage, welche den Zählerwert in das Feld //tf1// schreibt, könnte also wie folgt aussehen:
72 72  
73 -Das Erebnis wird als JSON zurückgegeben. Neben dem eigentlichen Wert sind auch andere Informationen zurückgegeben. Die Antwort hat die folgende Struktur:
66 +{{code language="javascript"}}
67 +$.ajax({
68 + url:[
69 + XFC_METADATA.urls.counter_client,
70 + "?frid=",
71 + XFC_METADATA.currentSessionFRID,
72 + "&name=Beispielzähler"
73 + ].join(""),
74 + success: function(data, textStatus, jqXHR) {
75 + if (data.success) {
76 + $('[data-name="tf1"]').val(data.result.value);
77 + } else {
78 + console.error("Zugriff auf Zähler Beispielzähler fehlgeschlagen:",data.msg);
79 + }
80 + }
81 +});
82 +{{/code}}
83 +
84 +Neben dem eigentlichen Wert werden auch andere Informationen zurückgegeben. Die Antwort hat die folgende Struktur:
74 74  ; success
75 -: Boolscher Wert, der aussagt, ob der Zählerwert erfolgreich ausgelesen werden konnte.
86 +: Boolscher Wert, der aussagt, ob die Werte gesetzt wurden.
76 76  ; msg
77 77  : Servernachricht bezüglich der Anfrage, welche zur Fehlersuche verwendet werden kann. Ein erfolgreicher Zugriff liefert z.B. //Counter found//.
78 78  ; result
79 -: Antwort auf die Anfrage. Wenn die Anfrage nicht erfolgreich war, wird nur ein leeres JSON-Objektliteral zurückgegeben. War die Anfrage hingegen erfolgreich, sind die folgenden Unterpunkte im JSON-Objektliteral enthalten:
90 +: Antwort auf die Anfrage. Wenn die anfrage erfolgreich war, sind die folgenden Unterpunkte enthalten:
80 80  :; lastChange
81 81  :: Formatierte Ausgabe von Datum und Uhrzeit der letzten Änderung des Zählerwertes
82 82  :; lastChangeTimestamp
... ... @@ -88,33 +88,3 @@
88 88  :; value
89 89  :: Aktueller Zählerwert
90 90  
91 -=== Beispiel für eine AJAX-Anfrage im Formular ===
92 -
93 -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:
94 -
95 -{{code language="javascript"}}
96 -$.ajax({
97 - method: "GET",
98 - url: XFC_METADATA.urls.counter_client,
99 - data: {
100 - name: "Beispielzähler",
101 - frid: XFC_METADATA.currentSessionFRID,
102 - }
103 -}).then(function(data) {
104 - if (data.success) {
105 - $('[data-name="tf1"]').val(data.result.value);
106 - } else {
107 - console.warn("Zugriff auf Zähler Beispielzähler fehlgeschlagen:", data.msg);
108 - }
109 -}).catch(function(jqXHR, errorTextStatus, errorThrown) {
110 - console.warn("Zugriff auf Zähler Beispielzähler fehlgeschlagen:", errorThrown, "(" + errorTextStatus + ")");
111 -});
112 -{{/code}}
113 -
114 -=== Einfügen eines Templates für eine AJAX-Anfrage im Formular ===
115 -
116 -{{figure image="counter_query_de.png"}}Auswahl des Templates für die Zähler-Abfrage im JavaScript-Bereich des Formulardesigners.{{/figure}}
117 -
118 -Ein Template, welches der obenstehenen Beispielfunktion ähnlich ist, kann per Autocomplete direkt im JavaScript-Bereich des Formulardesigners eingefügt werden. Hierzu muss im JavaScript-Bereich hintereinander {{code language=none}}Zähler{{/code}} eingegeben werden und die vom Autocomplete vorgeschlagene Option //Zähler-Abfrage// mit einem Klick oder mit der Enter-Taste bestätigt werden.
119 -
120 -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