Änderungen von Dokument Widget-Plugin: Berechnungselement


Von Version 11.1
bearbeitet von rpe
am 16.02.2023, 16:05
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 3.2
bearbeitet von awa
am 16.08.2021, 19:59
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.rpe
1 +XWiki.awa
Inhalt
... ... @@ -2,7 +2,7 @@
2 2  Das Symbol für Widgets vom Typ //Berechnungselement// im {{designer/}}.
3 3  {{/figure}}
4 4  
5 -[[**Plugin-Download**>>https://customer.formcycle.eu/index.php/s/0dj4omg2bvsdkHe||rel="noopener noreferrer" target="_blank"]] (erfordert Anmeldung)
5 +[[**Plugin-Download**>>url:https://customer.formcycle.eu/index.php/apps/files/?dir=/FORMCYCLE%20-%20Plugins%20Customer/fc-plugin-widget-bundle-xformula&fileid=24138||rel="noopener noreferrer" target="_blank"]] (erfordert Anmeldung)
6 6  
7 7  {{content/}}
8 8  
... ... @@ -62,7 +62,6 @@
62 62  |=Name|=Beschreibung
63 63  |Berechnungsfeld|In dieses nicht mit einem Label benannte Feld kann ein Berechnungsformel eingegeben werden, welche bei jeder Wertänderung von einem der in der Berechnungsformel verwendeten Eingabelemente erneut ausgeführt wird.
64 64  Als Syntax wird //JavaScript// verwendet. Für das Ermitteln der zu verwendenden Werte von anderen Eingabelementen können neben //jQuery//-Selektoren auch {{formcycle/}} [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] verwendet werden.
65 -|Feldwerte|Hier kann ausgewählt werden, mit welchem Datentypen die Feldwerte behandelt werden sollen. Entwerder soll für jeden Feldwert automatisch ermittelt, welcher Datentyp der er hat oder es sollen alle Feldwerte als Text gelesen werden. Letzteres ist zum Verketten von Strings sinnvoll. Jedoch sind damit Berechnungen (z.B. [%tf1%] - [%tf2%]) ausgeschlossen.
66 66  |Leere Felder|Hier kann ausgewählt werden, was passieren soll, wenn ein Formularelement keinen Wert hat. Entweder wird es wie die Zahl 0 behandlelt oder wie leerer Text. Bei nummerischen Berechnungen sollte der Wert in der Regel wie die Zahl 0 behandelt werden.
67 67  |Reihenfolge Index|Diese Option ist nur in Ausnahmefällen notwendig. Standardmäßig werden die Felder automatisch in der Reihenfolge abgearbeitet, wie es die Formeln vorgeben. Falls die automatisch erkannte Reihenfolge einmal nicht korrekt sein sollte, kann eine Indexzahl vergeben werden. Wenn in wenigstens einem Formelfeld ein Index gesetzt ist, ist die Reihenfolge der Abarbeitung wie folgt: Zuerst werden alle Berechnungenfelder mit einem Index abgearbeitet, wobei vom niedrigsten Indexwert zum größten Indexwert vorgegangen wird. Anschließend werden alle Berechnungen ohne einen Index ausgeführt, entsprechend den normalen Regeln (von oben nach unten und von links nach rechts).
68 68  {{/table}}
... ... @@ -85,7 +85,7 @@
85 85  
86 86  == Formelbeispiele ==
87 87  
88 -{{table colWidth="-500"}}
87 +{{table fullwidth="false" colWidth="-500"}}
89 89  |=Formel|=Erklärung
90 90  |{{code language="none"}}[%tf1%] - [%tf2%]
91 91  
... ... @@ -92,15 +92,12 @@
92 92  $('[name=tf1]').val() - $('[name=tf2]').val(){{/code}}|Subtraktion der Werte in den Eingabefeldern //tf1// und //tf2// einmal unter Verwendung von Passwörtern und einmal mittels //jQuery//-Selektoren
93 93  |{{code language="none"}}[%tf2%] * (1 + ([%tf1%] / 100)){{/code}}|Wird in //tf1// z.B. der Steuersatz und in //tf2// der Nettobetrag eingegeben, wird der Bruttobetrag berechnet
94 94  |{{code language="none"}}[%tf1%] + " " + [%tf2%]{{/code}}|Stringverkettung aus den Eingaben in den Eingabefeldern //tf1// und //tf2//
95 -|{{code language="none"}}[%tf1%].length{{/code}}|Anzahl der eigegebenen Zeichen im Eingabefeld //tf1//
94 +|{{code language="none"}}[%tf1%].length(){{/code}}|Anzahl der eigegebenen Zeichen im EIngabefeld //tf1//
96 96  |{{code language="none"}}([%tf1%]<2) ? "Genehmigt" : "Abgelehnt"{{/code}}|Wenn der Wert in //tf1// kleiner als 2 ist, soll "Genehmigt" ausgegeben werden. Ansonsten "Abgelehnt".
97 -|{{code language="none"}}$('[org_name=tf1]').sum()
98 -
99 -$('[data-org-name=tf1]').sum(){{/code}}
100 -(neue Schreibweise bei W3C konformen Modus)|Beispiel für Berechnen der Summe von wiederholten Elementen mit dem Namen //tf1//. Für wiederholte Elemente und Elemente innerhalb von wiederholten Containern und Fieldsets muss ein normaler JavaScript-Selektor oder wie in diesem Beispiel ein //jQuery//-Selektor verwendet werden.
96 +|{{code language="none"}}$('[org_name=tf1]').sum(){{/code}}|Beispiel für Berechnen der Summe von wiederholten Elementen mit dem Namen //tf1//. Für wiederholte Elemente und Elemente innerhalb von wiederholten Containern und Fieldsets muss ein normaler JavaScript-Selektor oder wie in diesem Beispiel ein //jQuery//-Selektor verwendet werden.
101 101  {{/table}}
102 102  
103 -Ein Demo-Beispiel zu den erwähnten Möglichkeiten finden Sie [[hier>>https://formexchange.formcycle.eu/formcycle/form/alias/104/widget_formula||rel="noopener noreferrer" target="_blank"]].
99 +Ein Demo-Beispiel zu den erwähnten Möglichkeiten finden Sie [[hier>>https://demo2.formcycle.eu/formcycle/form/provide/653/||target="_blank"]].
104 104  
105 105  == Mögliche CSS-Anpassungen ==
106 106  
... ... @@ -120,71 +120,16 @@
120 120  
121 121  == Versionshistorie ==
122 122  
123 -=== 2.3.0 ===
119 +**Version 2.0.2**
124 124  
125 -* Feature: Es kann nun ausgewählt werden, ob die Datentypen der Feldwerte automatisch ermittelt werden sollen oder ob die Feldwerte immer als Text gelesen werden sollen. Bisher wurden sie immer automatisch ermittelt.
121 +* XSS verhindern
122 +* Abarbeitungsreihenfolge der Berechnungsfelder angepasst, sodass nun problemlos in der Formel eines Berechnungsfeldes, Platzhalter für andere Berechnungselemente genutzt werden können
123 +* Berechnungsfelder können nun initial Gesperrt und als Mussfeld geschalten werden
126 126  
127 -=== 2.2.1 ===
125 +**Version 2.0.1**
128 128  
129 -* Verbesserung der Performance beim Auswerten der Formeln.
130 -
131 -=== 2.2.0 ===
132 -
133 -* Erfordert mindestens {{formcycle/}} Version 7.2.0.
134 -* Auch nicht Formel-Platzhalter in der Formel werden ersetzt
135 -* Das Eingabfeld für die Formel passt sich in der Höhe automatisch seinem Inhalt an.
136 -* Das Eingabfeld für die Formel erlaubt die Eingabe von Zeilenumbrüchen.
137 -* Bei Änderungen des Werts eines Formelfelds wird das JQuery-Ereignis //change// ausgelöst.
138 -* Der this-Kontext innerhalb des Formel-JavaScript-Ausdrucks wird nun auf die JQuery-Instanz des Formelfelds gesetzt, dessen Formel evaluiert wird.
139 -
140 -=== 2.1.1 ===
141 -
142 -* Fix: Formeln, welche von einem Element abhängen, welches über eine Bedingung versteckt oder gesperrt geschalten und geleert wird, aktualisieren sich, wenn die abängigen Elemente geleert werden.
143 -
144 -=== 2.1.0 ===
145 -
146 -* Feature: Validationsattribute wie etwa Pflichtfeld, maximaler Wert und minimaler Wert sind nun auch am Berechnungsfeld verfügbar. Damit kann etwa einfach geprüft werden, ob die Summe von Elementen einen bestimmten Wert nicht überschreitet.
147 -
148 -=== 2.0.9 ===
149 -
150 -* Fix: Beim Auführen einer Formel wird das Symbol "$" and "xm_jq()" gebunden, wenn verfügbar. Dies vermeidet Probleme, wenn das Formular in einer Drittseite eingebettet ist und die Drittseite das global "$" anders definiert.
151 -
152 -=== 2.0.8 ===
153 -
154 -* Fix: Es wird "xm_jq()" verwendet, wenn verfügbar. Dies behebt Problem bei der Einbindung in Drittseiten, wenn die Drittseite eine andere JQuery-Bibliothek lädt.
155 -
156 -=== 2.0.7 ===
157 -
158 -* Change: Verhalten für Checkbox-Elemente geändert: Bei Nutzung von Platzhalter ist Wert nun der am Element hinterlegte Werte (z.B. on), statt immer 0 oder 1.
159 -* Change: Für Auswahlelemente mit der Darstellung "Radiobutton" ist bei Nutzung von Platzhaltern der Wert nun der Wert der ausgewählten Option, nicht mehr die Anzahl der ausgewählten Optionen.
160 -* Change: Für Auswahlelemente mit der Darstellung "Checkbox" ist bei Nutzung von Platzhaltern der Wert nun die Summe der Werte aller ausgewählten Optionen (falls alle Werte nummerisch sind) oder die String-Konkatenation der Werte aller ausgewählten Optionen (wenn nicht alle Werte nummerisch sind), nicht mehr die Anzahl der ausgewählten Optionen.
161 -
162 -=== 2.0.6 ===
163 -
164 -* Fix: Titel- und Platzhalter-Attribute werden korrekt kodiert, wenn das Berechnungsfeld erzeugt wird.
165 -
166 -=== 2.0.5 ===
167 -
168 -* Performanz beim Auswerten von Formeln verbessert
169 -
170 -=== 2.0.4 ===
171 -
172 -* Feature: Platzhalterauswahl im Editor hinzugefügt.
173 -
174 -=== 2.0.3 ===
175 -
176 -* Fix: Kleinere Darstellungsfehler behoben
177 -
178 -=== 2.0.2 ===
179 -
180 -* Feature: Berechnungsfelder können nun initial gesperrt und als Mussfeld geschalten werden.
181 -* Fix: XSS-Angriffe verhindern
182 -* Fix: Abarbeitungsreihenfolge der Berechnungsfelder angepasst, sodass nun problemlos in der Formel eines Berechnungsfeldes, Platzhalter für andere Berechnungselemente genutzt werden können.
183 -
184 -=== 2.0.1 ===
185 -
186 186  * Attribut data-name hinzugefügt (W3C-Konformität)
187 187  
188 -=== 2.0.0 ===
129 +**Version 2.0.0**
189 189  
190 -* Initialer Release für die Version 7
131 +* Initialer Plugins-Release für die Version 7