Änderungen von Dokument Widget-Plugin: Berechnungselement


Von Version 1.1
bearbeitet von gru
am 04.03.2021, 10:12
Änderungskommentar: Imported from XAR
Auf Version 4.6
bearbeitet von awa
am 24.03.2022, 14:27
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.gru
1 +XWiki.awa
Inhalt
... ... @@ -1,6 +1,8 @@
1 -{{figure image="1_WidgetXFormula_Logo_de.png" clear="h3"}}Das Symbol für Widgets vom Typ //Berechnungselement// im {{designer/}}.{{/figure}}
1 +{{figure image="1_WidgetXFormula_Logo_de.png" clear="h3"}}
2 +Das Symbol für Widgets vom Typ //Berechnungselement// im {{designer/}}.
3 +{{/figure}}
2 2  
3 -[[**Plugin-Download**>>url:https://customer.formcycle.eu/index.php/apps/files/?dir=/FORMCYCLE%20-%20Plugins%20Customer/fc-plugin-widget-bundle-xformula&fileid=24138||target="_blank"]] (erfordert Anmeldung)
5 +[[**Plugin-Download**>>https://customer.formcycle.eu/index.php/s/0dj4omg2bvsdkHe||rel="noopener noreferrer" target="_blank"]] (erfordert Anmeldung)
4 4  
5 5  {{content/}}
6 6  
... ... @@ -18,10 +18,7 @@
18 18  
19 19  {{internBaseOptionsElement page="base" headline="h3"/}}
20 20  
21 -=== Darstellung ===
22 -
23 -Die in diesem Bereich vorhandenen Eigenschaften dienen dazu, die Sichtbarkeit des Berechnungs-Widgets zu konfigurieren. Die Grundeigenschaft //Versteckt// steht dabei jedem Formularelement zur Verfügung.
24 -
23 +{{internBaseOptionsElement page="style"}}
25 25  {{figure image="2_WidgetXFormula_Autonumeric_de.png"}}
26 26  Mögliche Eigenenschaften und deren Standardwerte, nachdem die Option //Ausgabeformat// angewählt wurde und das Ergebnis dieser Konfiguration im Formular.
27 27  {{/figure}}
... ... @@ -30,13 +30,9 @@
30 30  Konfigurationsmöglichkeiten für der Schriftfarbe, nachdem die Option //Farbänderung// angewählt wurde.
31 31  {{/figure}}
32 32  
32 +
33 33  {{table dataTypeAlpha="0" fullwidth="false" colWidth="-500"}}
34 34  |=Name|=Beschreibung
35 -|Versteckt|Ist hier ein Häkchen gesetzt, so wird das Element versteckt. Um es wieder anzuzeigen, kann die Eigenschaft [[sichtbar wenn>>doc:Formcycle.FormDesigner.ElementProperties.Constraints]] oder eine entsprechende JavaScript-Funktion wie {{jsdoc name="visible" page="jquery"/}} verwendet werden.
36 -|Wiederholen{{id name="repeat"/}}|Ist diese Option aktiviert, so kann der Nutzer eine beliebige Anzahl an Wiederholungen (Kopien) von diesem Formularelement erstellen. Damit ist es etwa möglich, eine oder mehrere E-Mail-Adressen anzugeben. Es ist nicht möglich, wiederholte Elemente zu verschachteln: Ist ein Fieldset oder Container wiederholt, so kann kein Element darin mehr wiederholt werden.
37 -|Min. wdh.|Mindestzahl an Wiederholungen, die vorhanden sein müssen. Eine wiederholtes Formularelement ist nicht löschbar, wenn dadurch diese Mindestzahl unterschritten werden würde. Die hier eingestellte Anzahl ist zudem auch anfangs sichtbare Anzahl an Wiederholungen (beim Aufrufs des Formulars).
38 -|Max. wdh.|Höchstzahl an Wiederholungen, die erlaubt ist. Es kann keine weitere Kopie von einem Formularelement erzeugt werden, wenn dadurch diese Höchstzahl überschritten werden würde.
39 -|Element wdh.|Falls hier ein Element ausgewählt ist, bestimmt der Wert des ausgewählten Elements (Trigger-Element) die Anzahl an Wiederholungen.
40 40  |Ausgabeformat|Durch Anwählen dieser Option kann die Ausgabe (wenn es sich um eine Zahl handelt) mit Eigenschaften aus der Autonumeric-Javascript-Bibliothek formatiert werden. Wenn diese Option gewählt ist, werden die Eigenschaften //Ausrichtung der Einheit//, //Dezimalstellen//, //Tausendertrennzeichen//, //Dezimaltrennzeichen// und //Einheit// konfigurierbar.
41 41  |Ausrichtung der Einheit|Legt die Position der Einheit fest. Es kann zwischen //Rechts vom Wert// und //Links vom Wert// gewählt werden. Nur sichtbar, wenn die Option //Ausgabeformat// angewählt wurde.
42 42  |Dezimalstellen|Anzahl der Nachkommastellen, die immer sichtbar sind. Wenn dieses Feld sichtbar ist, muss es zwingend befüllt werden, da das Berechnungs-Widget ansonsten funktionsunfähig ist. Nur sichtbar, wenn die Option //Ausgabeformat// angewählt wurde. Standardwert: {{code language="none"}}2{{/code}}
... ... @@ -47,6 +47,7 @@
47 47  |Positive Farbe|Über eine vorgegebene Auswahl von Farben oder einen Colorpicker kann hier die Farbe bestimmt werden, mit der der im Feld sichtbare wert angezeigt werden soll, wenn es sich um eine positive Zahl handelt. Nur sichtbar, wenn die Option //Farbänderung// angewählt wurde.
48 48  |Negative Farbe|Über eine vorgegebene Auswahl von Farben oder einen Colorpicker kann hier die Farbe bestimmt werden, mit der der im Feld sichtbare wert angezeigt werden soll, wenn es sich um eine negative Zahl handelt. Nur sichtbar, wenn die Option //Farbänderung// angewählt wurde.
49 49  {{/table}}
45 +{{/internBaseOptionsElement}}
50 50  
51 51  {{internBaseOptionsElement page="label" headline="h3"/}}
52 52  
... ... @@ -64,8 +64,10 @@
64 64  
65 65  {{table dataTypeAlpha="0" fullwidth="false" colWidth="-500"}}
66 66  |=Name|=Beschreibung
67 -|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. Als Syntax wird //JavaScript// verwendet, wobei als Selektoren für die Elemente auch {{formcycle/}} [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] verwendet werden können.
68 -|Reihenfolge Index|Die Abarbeitungsreihenfolge einer Berechnung findet in der Regel von oben nach unten und von links nach rechts statt, so wie diese auf dem Formular hinterlegt wurden. Dies ist für die meisten Anwendungsfälle ausreichend. Ist es jedoch notwendig, dass eine bestimmte Berechnung vor einer anderen stattfinden muss, kann für diese eine Indexzahl vergeben werden. Dies ist zum Beispiel nötig, wenn die Summe aus bestimmten Berechnungsfeldern weiter oben im Formular ausgegeben werden soll. Wenn es merhere Berechnungs-Widgets im Formular gibt 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).
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 +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 +|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.
66 +|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).
69 69  {{/table}}
70 70  
71 71  {{internBaseOptionsElement page="cond" headline="h3"/}}
... ... @@ -80,24 +80,28 @@
80 80  
81 81  {{internBaseOptionsElement page="misc" headline="h3"/}}
82 82  
83 -==Druckbild im Word-/PDF-Export==
81 +== Druckbild im Word-/PDF-Export ==
84 84  
85 85  Wenn ein Formular per Word-/PDF-Export exportiert wird, sieht das Widget wie ein normales, auf Readonly geschaltetes, Eingabefeld aus.
86 86  
87 -==Formelbeispiele==
85 +== Formelbeispiele ==
88 88  
89 89  {{table fullwidth="false" colWidth="-500"}}
90 90  |=Formel|=Erklärung
91 -|{{code language="none"}}[%tf1%] - [%tf2%]{{/code}}|Subtraktion der Werte in den Eingabefeldern //tf1// und //tf2//
89 +|{{code language="none"}}[%tf1%] - [%tf2%]
90 +
91 +$('[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
92 92  |{{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
93 -|{{code language="none"}}[%tf1%] + + [%tf2%]{{/code}}|Stringverkettung aus den Eingaben in den Eingabefeldern //tf1// und //tf2//
93 +|{{code language="none"}}[%tf1%] + " " + [%tf2%]{{/code}}|Stringverkettung aus den Eingaben in den Eingabefeldern //tf1// und //tf2//
94 94  |{{code language="none"}}[%tf1%].length(){{/code}}|Anzahl der eigegebenen Zeichen im EIngabefeld //tf1//
95 95  |{{code language="none"}}([%tf1%]<2) ? "Genehmigt" : "Abgelehnt"{{/code}}|Wenn der Wert in //tf1// kleiner als 2 ist, soll "Genehmigt" ausgegeben werden. Ansonsten "Abgelehnt".
96 -|{{code language="none"}}$('[org_name=tf1]').sum(){{/code}}|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 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.
97 97  {{/table}}
98 98  
99 -==Mögliche CSS-Anpassungen==
99 +Ein Demo-Beispiel zu den erwähnten Möglichkeiten finden Sie [[hier>>https://demo2.formcycle.eu/formcycle/form/provide/653/||rel="noopener noreferrer" target="_blank"]].
100 100  
101 +== Mögliche CSS-Anpassungen ==
102 +
101 101  Um die Ausgabe zu formatieren, können per //CSS// Anpassungen vorgenommen werden. Wenn zum Beispiel die Ausgabe anstatt einem gesperrten Eingabefeld wie ein Text aussehen soll, kann folgender //CSS//-Code verwendet werden:
102 102  
103 103  {{code language="css"}}
... ... @@ -110,3 +110,46 @@
110 110   padding: 0;
111 111  }
112 112  {{/code}}
115 +
116 +
117 +== Versionshistorie ==
118 +
119 +=== 2.0.8 ===
120 +
121 +* 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.
122 +
123 +=== 2.0.7 ===
124 +
125 +* breaking: 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.
126 +* breaking: 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.
127 +* breaking: 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.
128 +
129 +=== 2.0.6 ===
130 +
131 +* fix: Titel- und Platzhalter-Attribute werden korrekt kodiert, wenn das Berechnungsfeld erzeugt wird.
132 +
133 +=== 2.0.5 ===
134 +
135 +* Performanz beim Auswerten von Formeln verbessert
136 +
137 +=== 2.0.4 ===
138 +
139 +* feat: Platzhalterauswahl im Editor hinzugefügt.
140 +
141 +=== 2.0.3 ===
142 +
143 +* fix: Kleinere Darstellungsfehler behoben
144 +
145 +=== 2.0.2 ===
146 +
147 +* feat: Berechnungsfelder können nun initial gesperrt und als Mussfeld geschalten werden.
148 +* fix: XSS-Angriffe verhindern
149 +* fix: Abarbeitungsreihenfolge der Berechnungsfelder angepasst, sodass nun problemlos in der Formel eines Berechnungsfeldes, Platzhalter für andere Berechnungselemente genutzt werden können.
150 +
151 +=== 2.0.1 ===
152 +
153 +* Attribut data-name hinzugefügt (W3C-Konformität)
154 +
155 +=== 2.0.0 ===
156 +
157 +* Initialer Release für die Version 7