pict-section-formeditor 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +118 -0
- package/docs/.nojekyll +0 -0
- package/docs/README.md +162 -0
- package/docs/_sidebar.md +23 -0
- package/docs/_topbar.md +5 -0
- package/docs/cover.md +12 -0
- package/docs/css/docuserve.css +73 -0
- package/docs/index.html +39 -0
- package/docs/retold-catalog.json +224 -0
- package/docs/retold-keyword-index.json +46846 -0
- package/example_applications/form_editor/.quackage.json +10 -0
- package/example_applications/form_editor/FormEditor-Example-Application.js +226 -0
- package/example_applications/form_editor/html/icon-chooser.html +375 -0
- package/example_applications/form_editor/html/index.html +54 -0
- package/example_applications/form_editor/package.json +50 -0
- package/package.json +55 -0
- package/sample_manifests/Complex-Table.json +974 -0
- package/sample_manifests/Distill-Example.json +200 -0
- package/sample_manifests/Gradebook-Assignment.json +38 -0
- package/sample_manifests/Gradebook-Student.json +40 -0
- package/sample_manifests/Manyfest-Editor.json +347 -0
- package/sample_manifests/Simple-Form.json +232 -0
- package/sample_manifests/Simple-Table.json +79 -0
- package/source/Pict-Section-FormEditor-DefaultConfiguration.js +3321 -0
- package/source/Pict-Section-FormEditor.js +35 -0
- package/source/providers/Pict-Provider-ChildPictManager-Application.js +40 -0
- package/source/providers/Pict-Provider-ChildPictManager.js +238 -0
- package/source/providers/Pict-Provider-FormEditorDocumentation.js +356 -0
- package/source/providers/Pict-Provider-FormEditorDragDrop.js +535 -0
- package/source/providers/Pict-Provider-FormEditorIconography.js +1002 -0
- package/source/providers/Pict-Provider-FormEditorManifestOps.js +1443 -0
- package/source/providers/Pict-Provider-FormEditorRendering.js +730 -0
- package/source/providers/Pict-Provider-FormEditorUtilities.js +862 -0
- package/source/providers/Pict-Provider-PreviewCSS.js +42 -0
- package/source/views/PictView-FormEditor-InlineEditing.js +309 -0
- package/source/views/PictView-FormEditor-InputTypePicker.js +532 -0
- package/source/views/PictView-FormEditor-PropertiesPanel.js +7730 -0
- package/source/views/PictView-FormEditor.js +681 -0
- package/test/Pict-Section-FormEditor_tests.js +4102 -0
- package/user-documentation/.pict_documentation_topics.json +695 -0
- package/user-documentation/Getting-Started.md +32 -0
- package/user-documentation/Groups.md +52 -0
- package/user-documentation/Inputs.md +98 -0
- package/user-documentation/Sections.md +36 -0
- package/user-documentation/Shortcuts.md +44 -0
- package/user-documentation/Solver-Expression-Walkthrough.md +176 -0
- package/user-documentation/Solver-Expressions-Advanced.md +344 -0
- package/user-documentation/Solver-Functions.md +213 -0
- package/user-documentation/Solvers.md +81 -0
- package/user-documentation/ToC.md +18 -0
- package/user-documentation/solverfunctions/abs.md +84 -0
- package/user-documentation/solverfunctions/aggregationhistogram.md +83 -0
- package/user-documentation/solverfunctions/aggregationhistogrambyobject.md +64 -0
- package/user-documentation/solverfunctions/arrayconcat.md +64 -0
- package/user-documentation/solverfunctions/avg.md +81 -0
- package/user-documentation/solverfunctions/bucketset.md +69 -0
- package/user-documentation/solverfunctions/ceil.md +70 -0
- package/user-documentation/solverfunctions/cleanvaluearray.md +66 -0
- package/user-documentation/solverfunctions/cleanvalueobject.md +68 -0
- package/user-documentation/solverfunctions/colorgroupbackground.md +60 -0
- package/user-documentation/solverfunctions/colorinputbackground.md +62 -0
- package/user-documentation/solverfunctions/colorinputbackgroundtabular.md +64 -0
- package/user-documentation/solverfunctions/colorsectionbackground.md +59 -0
- package/user-documentation/solverfunctions/compare.md +72 -0
- package/user-documentation/solverfunctions/concat.md +73 -0
- package/user-documentation/solverfunctions/concatraw.md +73 -0
- package/user-documentation/solverfunctions/cos.md +75 -0
- package/user-documentation/solverfunctions/count.md +73 -0
- package/user-documentation/solverfunctions/countset.md +65 -0
- package/user-documentation/solverfunctions/countsetelements.md +63 -0
- package/user-documentation/solverfunctions/createarrayfromabsolutevalues.md +63 -0
- package/user-documentation/solverfunctions/createvalueobjectbyhashes.md +69 -0
- package/user-documentation/solverfunctions/cumulativesummation.md +96 -0
- package/user-documentation/solverfunctions/dateadddays.md +79 -0
- package/user-documentation/solverfunctions/dateaddhours.md +74 -0
- package/user-documentation/solverfunctions/dateaddmilliseconds.md +65 -0
- package/user-documentation/solverfunctions/dateaddminutes.md +72 -0
- package/user-documentation/solverfunctions/dateaddmonths.md +74 -0
- package/user-documentation/solverfunctions/dateaddseconds.md +66 -0
- package/user-documentation/solverfunctions/dateaddweeks.md +73 -0
- package/user-documentation/solverfunctions/dateaddyears.md +74 -0
- package/user-documentation/solverfunctions/datedaydifference.md +84 -0
- package/user-documentation/solverfunctions/datefromparts.md +81 -0
- package/user-documentation/solverfunctions/datehourdifference.md +64 -0
- package/user-documentation/solverfunctions/datemathadd.md +72 -0
- package/user-documentation/solverfunctions/datemilliseconddifference.md +64 -0
- package/user-documentation/solverfunctions/dateminutedifference.md +64 -0
- package/user-documentation/solverfunctions/datemonthdifference.md +66 -0
- package/user-documentation/solverfunctions/dateseconddifference.md +64 -0
- package/user-documentation/solverfunctions/dateweekdifference.md +65 -0
- package/user-documentation/solverfunctions/dateyeardifference.md +64 -0
- package/user-documentation/solverfunctions/differencearrays.md +59 -0
- package/user-documentation/solverfunctions/disablesolverordinal.md +58 -0
- package/user-documentation/solverfunctions/distributionhistogram.md +96 -0
- package/user-documentation/solverfunctions/distributionhistogrambyobject.md +64 -0
- package/user-documentation/solverfunctions/enablesolverordinal.md +57 -0
- package/user-documentation/solverfunctions/entryinset.md +72 -0
- package/user-documentation/solverfunctions/euler.md +77 -0
- package/user-documentation/solverfunctions/exp.md +74 -0
- package/user-documentation/solverfunctions/findfirstvaluebyexactmatch.md +67 -0
- package/user-documentation/solverfunctions/findfirstvaluebystringincludes.md +67 -0
- package/user-documentation/solverfunctions/flatten.md +76 -0
- package/user-documentation/solverfunctions/floor.md +70 -0
- package/user-documentation/solverfunctions/gaussianelimination.md +75 -0
- package/user-documentation/solverfunctions/generatearrayofobjectsfromsets.md +70 -0
- package/user-documentation/solverfunctions/generatehtmlhexcolor.md +67 -0
- package/user-documentation/solverfunctions/getvalue.md +90 -0
- package/user-documentation/solverfunctions/getvaluearray.md +64 -0
- package/user-documentation/solverfunctions/getvalueobject.md +67 -0
- package/user-documentation/solverfunctions/hidesections.md +58 -0
- package/user-documentation/solverfunctions/if.md +109 -0
- package/user-documentation/solverfunctions/iterativeseries.md +107 -0
- package/user-documentation/solverfunctions/join.md +75 -0
- package/user-documentation/solverfunctions/joinraw.md +64 -0
- package/user-documentation/solverfunctions/largestinset.md +63 -0
- package/user-documentation/solverfunctions/leastsquares.md +66 -0
- package/user-documentation/solverfunctions/linest.md +58 -0
- package/user-documentation/solverfunctions/log.md +74 -0
- package/user-documentation/solverfunctions/logvalues.md +65 -0
- package/user-documentation/solverfunctions/match.md +71 -0
- package/user-documentation/solverfunctions/matrixinverse.md +67 -0
- package/user-documentation/solverfunctions/matrixmultiply.md +71 -0
- package/user-documentation/solverfunctions/matrixtranspose.md +72 -0
- package/user-documentation/solverfunctions/matrixvectormultiply.md +69 -0
- package/user-documentation/solverfunctions/max.md +73 -0
- package/user-documentation/solverfunctions/mean.md +63 -0
- package/user-documentation/solverfunctions/median.md +79 -0
- package/user-documentation/solverfunctions/min.md +73 -0
- package/user-documentation/solverfunctions/mode.md +66 -0
- package/user-documentation/solverfunctions/objectkeystoarray.md +66 -0
- package/user-documentation/solverfunctions/objectvaluessortbyexternalobjectarray.md +65 -0
- package/user-documentation/solverfunctions/objectvaluestoarray.md +67 -0
- package/user-documentation/solverfunctions/percent.md +75 -0
- package/user-documentation/solverfunctions/pi.md +77 -0
- package/user-documentation/solverfunctions/polynomialregression.md +69 -0
- package/user-documentation/solverfunctions/predict.md +71 -0
- package/user-documentation/solverfunctions/rad.md +85 -0
- package/user-documentation/solverfunctions/randomfloat.md +63 -0
- package/user-documentation/solverfunctions/randomfloatbetween.md +72 -0
- package/user-documentation/solverfunctions/randomfloatupto.md +65 -0
- package/user-documentation/solverfunctions/randominteger.md +56 -0
- package/user-documentation/solverfunctions/randomintegerbetween.md +72 -0
- package/user-documentation/solverfunctions/randomintegerupto.md +64 -0
- package/user-documentation/solverfunctions/refreshtabularsection.md +57 -0
- package/user-documentation/solverfunctions/resolvehtmlentities.md +64 -0
- package/user-documentation/solverfunctions/round.md +111 -0
- package/user-documentation/solverfunctions/runsolvers.md +49 -0
- package/user-documentation/solverfunctions/setconcatenate.md +64 -0
- package/user-documentation/solverfunctions/setgroupvisibility.md +60 -0
- package/user-documentation/solverfunctions/setsectionvisibility.md +59 -0
- package/user-documentation/solverfunctions/setsolverordinalenabled.md +59 -0
- package/user-documentation/solverfunctions/settabularrowlength.md +57 -0
- package/user-documentation/solverfunctions/setvalue.md +65 -0
- package/user-documentation/solverfunctions/showsections.md +58 -0
- package/user-documentation/solverfunctions/sin.md +83 -0
- package/user-documentation/solverfunctions/slice.md +80 -0
- package/user-documentation/solverfunctions/smallestinset.md +63 -0
- package/user-documentation/solverfunctions/sortarray.md +58 -0
- package/user-documentation/solverfunctions/sorthistogram.md +70 -0
- package/user-documentation/solverfunctions/sorthistogrambykeys.md +69 -0
- package/user-documentation/solverfunctions/sortset.md +75 -0
- package/user-documentation/solverfunctions/sqrt.md +85 -0
- package/user-documentation/solverfunctions/stdev.md +81 -0
- package/user-documentation/solverfunctions/stdeva.md +58 -0
- package/user-documentation/solverfunctions/stdevp.md +83 -0
- package/user-documentation/solverfunctions/stringcountsegments.md +66 -0
- package/user-documentation/solverfunctions/stringgetsegments.md +74 -0
- package/user-documentation/solverfunctions/subtractingsummation.md +66 -0
- package/user-documentation/solverfunctions/sum.md +78 -0
- package/user-documentation/solverfunctions/tan.md +78 -0
- package/user-documentation/solverfunctions/tofixed.md +75 -0
- package/user-documentation/solverfunctions/unionarrays.md +59 -0
- package/user-documentation/solverfunctions/uniquearray.md +58 -0
- package/user-documentation/solverfunctions/var.md +67 -0
- package/user-documentation/solverfunctions/vara.md +58 -0
- package/user-documentation/solverfunctions/varp.md +66 -0
- package/user-documentation/solverfunctions/when.md +98 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# rad
|
|
2
|
+
|
|
3
|
+
Converts degrees to radians.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
rad(degrees)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `degrees` | Number/String | The angle in degrees |
|
|
16
|
+
|
|
17
|
+
## Returns
|
|
18
|
+
|
|
19
|
+
String - The angle converted to radians.
|
|
20
|
+
|
|
21
|
+
## Description
|
|
22
|
+
|
|
23
|
+
The `rad` function converts an angle from degrees to radians. This is necessary because the trigonometric functions (`sin`, `cos`, `tan`) expect angles in radians.
|
|
24
|
+
|
|
25
|
+
The conversion formula is: radians = degrees × (π / 180)
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
### Basic Usage
|
|
30
|
+
|
|
31
|
+
```expression
|
|
32
|
+
Result = rad(180)
|
|
33
|
+
// Result: "3.14159265358979..." (π)
|
|
34
|
+
|
|
35
|
+
Result = rad(90)
|
|
36
|
+
// Result: "1.5707963267948966..." (π/2)
|
|
37
|
+
|
|
38
|
+
Result = rad(360)
|
|
39
|
+
// Result: "6.28318530717958..." (2π)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### With Trigonometric Functions
|
|
43
|
+
|
|
44
|
+
```expression
|
|
45
|
+
// Sine of 60 degrees
|
|
46
|
+
Result = sin(rad(60))
|
|
47
|
+
// Result: "0.8660254037844386"
|
|
48
|
+
|
|
49
|
+
// Cosine of 45 degrees
|
|
50
|
+
Result = cos(rad(45))
|
|
51
|
+
// Result: "0.7071067811865476"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Common Angle Conversions
|
|
55
|
+
|
|
56
|
+
```expression
|
|
57
|
+
rad(0) // 0
|
|
58
|
+
rad(30) // π/6 ≈ 0.5236
|
|
59
|
+
rad(45) // π/4 ≈ 0.7854
|
|
60
|
+
rad(60) // π/3 ≈ 1.0472
|
|
61
|
+
rad(90) // π/2 ≈ 1.5708
|
|
62
|
+
rad(180) // π ≈ 3.1416
|
|
63
|
+
rad(270) // 3π/2 ≈ 4.7124
|
|
64
|
+
rad(360) // 2π ≈ 6.2832
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Use Cases
|
|
68
|
+
|
|
69
|
+
- **Trigonometry**: Converting user-friendly degree inputs to radians
|
|
70
|
+
- **Graphics**: Rotation calculations
|
|
71
|
+
- **Physics**: Angular motion calculations
|
|
72
|
+
- **Engineering**: Angle-based computations
|
|
73
|
+
|
|
74
|
+
## Related Functions
|
|
75
|
+
|
|
76
|
+
- [sin](./sin.md) - Sine (requires radians)
|
|
77
|
+
- [cos](./cos.md) - Cosine (requires radians)
|
|
78
|
+
- [tan](./tan.md) - Tangent (requires radians)
|
|
79
|
+
- [pi](./pi.md) - Pi constant
|
|
80
|
+
|
|
81
|
+
## Notes
|
|
82
|
+
|
|
83
|
+
- Uses arbitrary precision arithmetic
|
|
84
|
+
- The result is (degrees × π / 180)
|
|
85
|
+
- Essential for using trig functions with degree-based inputs
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# randomfloat
|
|
2
|
+
|
|
3
|
+
Generates a random floating-point number.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
randomfloat()
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
None
|
|
14
|
+
|
|
15
|
+
## Returns
|
|
16
|
+
|
|
17
|
+
String - A random floating-point number between 0 and 1.
|
|
18
|
+
|
|
19
|
+
## Description
|
|
20
|
+
|
|
21
|
+
The `randomfloat` function generates a random decimal number, typically between 0 and 1. This is useful for probability calculations and generating random decimal values.
|
|
22
|
+
|
|
23
|
+
## Examples
|
|
24
|
+
|
|
25
|
+
### Basic Usage
|
|
26
|
+
|
|
27
|
+
```expression
|
|
28
|
+
Result = RANDOMFLOAT()
|
|
29
|
+
// Result: "0.7423589" (random each time)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Probability Check
|
|
33
|
+
|
|
34
|
+
```expression
|
|
35
|
+
// 50% chance
|
|
36
|
+
Happened = RANDOMFLOAT() < 0.5
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Scale to Range
|
|
40
|
+
|
|
41
|
+
```expression
|
|
42
|
+
// Random value between 0 and 100
|
|
43
|
+
Scaled = RANDOMFLOAT() * 100
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Use Cases
|
|
47
|
+
|
|
48
|
+
- **Probability**: Random chance calculations
|
|
49
|
+
- **Simulation**: Monte Carlo simulations
|
|
50
|
+
- **Weighting**: Random weighted selection
|
|
51
|
+
- **Testing**: Generate decimal test data
|
|
52
|
+
|
|
53
|
+
## Related Functions
|
|
54
|
+
|
|
55
|
+
- [randomfloatbetween](./randomfloatbetween.md) - Random decimal in range
|
|
56
|
+
- [randomfloatupto](./randomfloatupto.md) - Random decimal up to max
|
|
57
|
+
- [randominteger](./randominteger.md) - Random whole number
|
|
58
|
+
|
|
59
|
+
## Notes
|
|
60
|
+
|
|
61
|
+
- Returns value between 0 and 1
|
|
62
|
+
- Returns result as string
|
|
63
|
+
- Uses the DataGeneration service
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# randomfloatbetween
|
|
2
|
+
|
|
3
|
+
Generates a random floating-point number between two values.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
randomfloatbetween(min, max)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `min` | Number | Minimum value |
|
|
16
|
+
| `max` | Number | Maximum value |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
String - A random floating-point number between min and max.
|
|
21
|
+
|
|
22
|
+
## Description
|
|
23
|
+
|
|
24
|
+
The `randomfloatbetween` function generates a random decimal number within a specified range.
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Basic Usage
|
|
29
|
+
|
|
30
|
+
```expression
|
|
31
|
+
Result = RANDOMFLOATBETWEEN(1.0, 10.0)
|
|
32
|
+
// Result: "5.732" (random between 1 and 10)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Temperature Range
|
|
36
|
+
|
|
37
|
+
```expression
|
|
38
|
+
RandomTemp = RANDOMFLOATBETWEEN(98.0, 99.5)
|
|
39
|
+
// Random body temperature
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Price Variation
|
|
43
|
+
|
|
44
|
+
```expression
|
|
45
|
+
RandomPrice = RANDOMFLOATBETWEEN(9.99, 19.99)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Coordinate Generation
|
|
49
|
+
|
|
50
|
+
```expression
|
|
51
|
+
RandomLat = RANDOMFLOATBETWEEN(-90, 90)
|
|
52
|
+
RandomLng = RANDOMFLOATBETWEEN(-180, 180)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Use Cases
|
|
56
|
+
|
|
57
|
+
- **Simulation**: Random values in realistic ranges
|
|
58
|
+
- **Testing**: Generate bounded decimal test data
|
|
59
|
+
- **Coordinates**: Random geographic coordinates
|
|
60
|
+
- **Pricing**: Random price generation
|
|
61
|
+
|
|
62
|
+
## Related Functions
|
|
63
|
+
|
|
64
|
+
- [randomfloat](./randomfloat.md) - Random decimal 0-1
|
|
65
|
+
- [randomfloatupto](./randomfloatupto.md) - Random decimal up to max
|
|
66
|
+
- [randomintegerbetween](./randomintegerbetween.md) - Random integer in range
|
|
67
|
+
|
|
68
|
+
## Notes
|
|
69
|
+
|
|
70
|
+
- Returns result as string
|
|
71
|
+
- Uses the DataGeneration service
|
|
72
|
+
- Includes decimal precision
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# randomfloatupto
|
|
2
|
+
|
|
3
|
+
Generates a random floating-point number from 0 up to a maximum value.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
randomfloatupto(max)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `max` | Number | Maximum value |
|
|
16
|
+
|
|
17
|
+
## Returns
|
|
18
|
+
|
|
19
|
+
String - A random floating-point number from 0 to max.
|
|
20
|
+
|
|
21
|
+
## Description
|
|
22
|
+
|
|
23
|
+
The `randomfloatupto` function generates a random decimal number starting from 0 up to the specified maximum value.
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
|
|
27
|
+
### Basic Usage
|
|
28
|
+
|
|
29
|
+
```expression
|
|
30
|
+
Result = RANDOMFLOATUPTO(100.0)
|
|
31
|
+
// Result: "47.832" (random between 0 and 100)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Random Percentage
|
|
35
|
+
|
|
36
|
+
```expression
|
|
37
|
+
RandomPercent = RANDOMFLOATUPTO(100)
|
|
38
|
+
// Random percentage with decimals
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Random Duration
|
|
42
|
+
|
|
43
|
+
```expression
|
|
44
|
+
RandomSeconds = RANDOMFLOATUPTO(60)
|
|
45
|
+
// Random duration up to 1 minute
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Use Cases
|
|
49
|
+
|
|
50
|
+
- **Scaling**: Random values up to a limit
|
|
51
|
+
- **Percentages**: Random percent with decimals
|
|
52
|
+
- **Time**: Random durations
|
|
53
|
+
- **Testing**: Bounded decimal test data
|
|
54
|
+
|
|
55
|
+
## Related Functions
|
|
56
|
+
|
|
57
|
+
- [randomfloat](./randomfloat.md) - Random decimal 0-1
|
|
58
|
+
- [randomfloatbetween](./randomfloatbetween.md) - Random decimal in range
|
|
59
|
+
- [randomintegerupto](./randomintegerupto.md) - Random integer up to max
|
|
60
|
+
|
|
61
|
+
## Notes
|
|
62
|
+
|
|
63
|
+
- Starts from 0
|
|
64
|
+
- Returns result as string
|
|
65
|
+
- Uses the DataGeneration service
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# randominteger
|
|
2
|
+
|
|
3
|
+
Generates a random integer.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
randominteger()
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
None
|
|
14
|
+
|
|
15
|
+
## Returns
|
|
16
|
+
|
|
17
|
+
String - A random integer value.
|
|
18
|
+
|
|
19
|
+
## Description
|
|
20
|
+
|
|
21
|
+
The `randominteger` function generates a random integer. This is useful for creating random test data, unique identifiers, or implementing random selection.
|
|
22
|
+
|
|
23
|
+
## Examples
|
|
24
|
+
|
|
25
|
+
### Basic Usage
|
|
26
|
+
|
|
27
|
+
```expression
|
|
28
|
+
Result = RANDOMINTEGER()
|
|
29
|
+
// Result: "7342985621" (random each time)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Random Selection
|
|
33
|
+
|
|
34
|
+
```expression
|
|
35
|
+
// Generate random index for array selection
|
|
36
|
+
Index = RANDOMINTEGER() % ArrayLength
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Use Cases
|
|
40
|
+
|
|
41
|
+
- **Test data**: Generate random values
|
|
42
|
+
- **Randomization**: Random selection
|
|
43
|
+
- **IDs**: Generate identifiers
|
|
44
|
+
- **Games**: Random number generation
|
|
45
|
+
|
|
46
|
+
## Related Functions
|
|
47
|
+
|
|
48
|
+
- [randomintegerbetween](./randomintegerbetween.md) - Random integer in range
|
|
49
|
+
- [randomintegerupto](./randomintegerupto.md) - Random integer up to max
|
|
50
|
+
- [randomfloat](./randomfloat.md) - Random decimal number
|
|
51
|
+
|
|
52
|
+
## Notes
|
|
53
|
+
|
|
54
|
+
- Returns result as string
|
|
55
|
+
- Uses the DataGeneration service
|
|
56
|
+
- Each call produces different result
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# randomintegerbetween
|
|
2
|
+
|
|
3
|
+
Generates a random integer between two values (inclusive).
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
randomintegerbetween(min, max)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `min` | Number | Minimum value (inclusive) |
|
|
16
|
+
| `max` | Number | Maximum value (inclusive) |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
String - A random integer between min and max.
|
|
21
|
+
|
|
22
|
+
## Description
|
|
23
|
+
|
|
24
|
+
The `randomintegerbetween` function generates a random integer within a specified range, including both the minimum and maximum values.
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Basic Usage
|
|
29
|
+
|
|
30
|
+
```expression
|
|
31
|
+
Result = RANDOMINTEGERBETWEEN(1, 10)
|
|
32
|
+
// Result: "7" (random between 1 and 10)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Dice Roll
|
|
36
|
+
|
|
37
|
+
```expression
|
|
38
|
+
DiceRoll = RANDOMINTEGERBETWEEN(1, 6)
|
|
39
|
+
// Result: "4" (simulates rolling a die)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Random Selection Index
|
|
43
|
+
|
|
44
|
+
```expression
|
|
45
|
+
// Select random item from list of 5 items
|
|
46
|
+
Index = RANDOMINTEGERBETWEEN(0, 4)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Random Age in Range
|
|
50
|
+
|
|
51
|
+
```expression
|
|
52
|
+
RandomAge = RANDOMINTEGERBETWEEN(18, 65)
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Use Cases
|
|
56
|
+
|
|
57
|
+
- **Games**: Dice rolls, card draws
|
|
58
|
+
- **Testing**: Generate bounded random values
|
|
59
|
+
- **Sampling**: Random selection from range
|
|
60
|
+
- **Simulation**: Random parameters
|
|
61
|
+
|
|
62
|
+
## Related Functions
|
|
63
|
+
|
|
64
|
+
- [randominteger](./randominteger.md) - Unbounded random integer
|
|
65
|
+
- [randomintegerupto](./randomintegerupto.md) - Random integer from 0 to max
|
|
66
|
+
- [randomfloatbetween](./randomfloatbetween.md) - Random decimal in range
|
|
67
|
+
|
|
68
|
+
## Notes
|
|
69
|
+
|
|
70
|
+
- Both min and max are inclusive
|
|
71
|
+
- Returns result as string
|
|
72
|
+
- Uses the DataGeneration service
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# randomintegerupto
|
|
2
|
+
|
|
3
|
+
Generates a random integer from 0 up to a maximum value.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
randomintegerupto(max)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `max` | Number | Maximum value (exclusive or inclusive based on implementation) |
|
|
16
|
+
|
|
17
|
+
## Returns
|
|
18
|
+
|
|
19
|
+
String - A random integer from 0 to max.
|
|
20
|
+
|
|
21
|
+
## Description
|
|
22
|
+
|
|
23
|
+
The `randomintegerupto` function generates a random integer starting from 0 up to the specified maximum value. This is useful for array indexing and random selection from lists.
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
|
|
27
|
+
### Basic Usage
|
|
28
|
+
|
|
29
|
+
```expression
|
|
30
|
+
Result = RANDOMINTEGERUPTO(100)
|
|
31
|
+
// Result: "42" (random between 0 and 100)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Array Index Selection
|
|
35
|
+
|
|
36
|
+
```expression
|
|
37
|
+
// Select random index for 10-element array
|
|
38
|
+
Index = RANDOMINTEGERUPTO(10)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Percentage Simulation
|
|
42
|
+
|
|
43
|
+
```expression
|
|
44
|
+
RandomPercent = RANDOMINTEGERUPTO(100)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Use Cases
|
|
48
|
+
|
|
49
|
+
- **Array indexing**: Random element selection
|
|
50
|
+
- **Percentages**: Random percentage values
|
|
51
|
+
- **Simulation**: Random values from zero
|
|
52
|
+
- **Testing**: Generate test indices
|
|
53
|
+
|
|
54
|
+
## Related Functions
|
|
55
|
+
|
|
56
|
+
- [randominteger](./randominteger.md) - Unbounded random integer
|
|
57
|
+
- [randomintegerbetween](./randomintegerbetween.md) - Random integer in range
|
|
58
|
+
- [randomfloatupto](./randomfloatupto.md) - Random decimal up to max
|
|
59
|
+
|
|
60
|
+
## Notes
|
|
61
|
+
|
|
62
|
+
- Starts from 0
|
|
63
|
+
- Returns result as string
|
|
64
|
+
- Uses the DataGeneration service
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# refreshtabularsection
|
|
2
|
+
|
|
3
|
+
Forces a tabular section to re-render its display.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
refreshtabularsection(sectionHash, groupHash)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `sectionHash` | String | The hash identifier of the section containing the tabular group |
|
|
16
|
+
| `groupHash` | String | The hash identifier of the tabular group |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
Void. This function does not return a value.
|
|
21
|
+
|
|
22
|
+
## Description
|
|
23
|
+
|
|
24
|
+
The `refreshtabularsection` function forces a tabular form group to re-render its display. This is useful after programmatically modifying the underlying data of a tabular section, such as changing row counts, updating cell values, or restructuring the data. The re-render ensures that the displayed table reflects the current state of the data.
|
|
25
|
+
|
|
26
|
+
## Examples
|
|
27
|
+
|
|
28
|
+
### Refreshing after data modification
|
|
29
|
+
|
|
30
|
+
```expression
|
|
31
|
+
refreshtabularsection("DataSection", "DataGroup")
|
|
32
|
+
// Forces the DataGroup table in DataSection to re-render
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Refreshing after row count change
|
|
36
|
+
|
|
37
|
+
```expression
|
|
38
|
+
settabularrowlength("Orders", "LineItems", 5)
|
|
39
|
+
refreshtabularsection("Orders", "LineItems")
|
|
40
|
+
// Sets row count then refreshes the display
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Use Cases
|
|
44
|
+
|
|
45
|
+
- **Post-update refresh**: Re-render a table after programmatically modifying its data
|
|
46
|
+
- **Data synchronization**: Ensure the display matches the current application state after bulk changes
|
|
47
|
+
- **Layout correction**: Force a re-render to correct any display inconsistencies
|
|
48
|
+
|
|
49
|
+
## Related Functions
|
|
50
|
+
|
|
51
|
+
- [settabularrowlength](./settabularrowlength.md) - Sets the number of rows in a tabular data group
|
|
52
|
+
|
|
53
|
+
## Notes
|
|
54
|
+
|
|
55
|
+
- The section and group hashes must match hashes defined in the form configuration
|
|
56
|
+
- This function only affects the display; it does not modify the underlying data
|
|
57
|
+
- Typically called after other functions that modify tabular data programmatically
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# resolvehtmlentities
|
|
2
|
+
|
|
3
|
+
Converts HTML entities to their corresponding characters.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
resolvehtmlentities(text)
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Type | Description |
|
|
14
|
+
|-----------|------|-------------|
|
|
15
|
+
| `text` | String | Text containing HTML entities |
|
|
16
|
+
|
|
17
|
+
## Returns
|
|
18
|
+
|
|
19
|
+
String - Text with HTML entities decoded.
|
|
20
|
+
|
|
21
|
+
## Description
|
|
22
|
+
|
|
23
|
+
The `resolvehtmlentities` function converts HTML entities (like `&`, `<`, `>`) back to their original characters.
|
|
24
|
+
|
|
25
|
+
## Examples
|
|
26
|
+
|
|
27
|
+
### Basic Usage
|
|
28
|
+
|
|
29
|
+
```expression
|
|
30
|
+
Result = RESOLVEHTMLENTITIES("Hello & World")
|
|
31
|
+
// Result: "Hello & World"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Multiple Entities
|
|
35
|
+
|
|
36
|
+
```expression
|
|
37
|
+
Result = RESOLVEHTMLENTITIES("<div>Content</div>")
|
|
38
|
+
// Result: "<div>Content</div>"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Special Characters
|
|
42
|
+
|
|
43
|
+
```expression
|
|
44
|
+
Result = RESOLVEHTMLENTITIES("Price: £100 © 2025")
|
|
45
|
+
// Result: "Price: £100 © 2025"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Use Cases
|
|
49
|
+
|
|
50
|
+
- **Data cleaning**: Decode HTML-encoded data
|
|
51
|
+
- **Display**: Show proper characters
|
|
52
|
+
- **Import**: Process HTML data
|
|
53
|
+
- **Text processing**: Normalize text
|
|
54
|
+
|
|
55
|
+
## Related Functions
|
|
56
|
+
|
|
57
|
+
- [concat](./concat.md) - Combine strings
|
|
58
|
+
- [join](./join.md) - Join strings
|
|
59
|
+
|
|
60
|
+
## Notes
|
|
61
|
+
|
|
62
|
+
- Decodes common HTML entities
|
|
63
|
+
- Handles numeric entities
|
|
64
|
+
- Uses the DataFormat service
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# round
|
|
2
|
+
|
|
3
|
+
Rounds a number to a specified number of decimal places.
|
|
4
|
+
|
|
5
|
+
## Syntax
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
round(value)
|
|
9
|
+
round(value, decimalPlaces)
|
|
10
|
+
round(value, decimalPlaces, roundingMethod)
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
| Parameter | Type | Default | Description |
|
|
16
|
+
|-----------|------|---------|-------------|
|
|
17
|
+
| `value` | Number/String | required | The value to round |
|
|
18
|
+
| `decimalPlaces` | Number | 0 | Number of decimal places |
|
|
19
|
+
| `roundingMethod` | Number | 1 | Rounding method (0-3) |
|
|
20
|
+
|
|
21
|
+
### Rounding Methods
|
|
22
|
+
|
|
23
|
+
| Value | Method | Description |
|
|
24
|
+
|-------|--------|-------------|
|
|
25
|
+
| 0 | Round Down | Truncate toward zero |
|
|
26
|
+
| 1 | Round Half Up | Round to nearest, ties away from zero (default) |
|
|
27
|
+
| 2 | Round Half Even | Round to nearest, ties to even (banker's rounding) |
|
|
28
|
+
| 3 | Round Up | Always round away from zero |
|
|
29
|
+
|
|
30
|
+
## Returns
|
|
31
|
+
|
|
32
|
+
String - The rounded value.
|
|
33
|
+
|
|
34
|
+
## Description
|
|
35
|
+
|
|
36
|
+
The `round` function rounds a number to a specified number of decimal places using arbitrary precision arithmetic. It supports multiple rounding methods for different use cases.
|
|
37
|
+
|
|
38
|
+
## Examples
|
|
39
|
+
|
|
40
|
+
### Basic Usage (No Decimal Places)
|
|
41
|
+
|
|
42
|
+
```expression
|
|
43
|
+
Result = round(3.7)
|
|
44
|
+
// Result: "4"
|
|
45
|
+
|
|
46
|
+
Result = round(3.2)
|
|
47
|
+
// Result: "3"
|
|
48
|
+
|
|
49
|
+
Result = round(3.5)
|
|
50
|
+
// Result: "4" (rounds up by default)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### With Decimal Places
|
|
54
|
+
|
|
55
|
+
```expression
|
|
56
|
+
Result = round(3.14159, 2)
|
|
57
|
+
// Result: "3.14"
|
|
58
|
+
|
|
59
|
+
Result = round(3.14159, 4)
|
|
60
|
+
// Result: "3.1416"
|
|
61
|
+
|
|
62
|
+
// From unit tests:
|
|
63
|
+
Area = ROUND(X * Y * Z, 2)
|
|
64
|
+
// With X=5.867, Y=3.1, Z=75: Area = 1364.0775
|
|
65
|
+
// Result: "1364.08"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### With Custom Rounding Method
|
|
69
|
+
|
|
70
|
+
```expression
|
|
71
|
+
// Round up (method 3)
|
|
72
|
+
Result = ROUND(X * Y * Z, 3, 3)
|
|
73
|
+
// With X=5.867, Y=3.5, Z=75.248923423
|
|
74
|
+
// Result: "1545.2"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Dynamic Decimal Places
|
|
78
|
+
|
|
79
|
+
```expression
|
|
80
|
+
// Decimal places can be computed
|
|
81
|
+
MATH_DP = ROUND(1.2345, 5 - 2)
|
|
82
|
+
// Result: "1.235"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### In Complex Expressions
|
|
86
|
+
|
|
87
|
+
```expression
|
|
88
|
+
EGS = ROUND(ROUND(0.0172834*2.71828182845905^(-0.0117685*Temp),5)*SQRT(ROUND(16.294-0.163*HR,1)/60),4)
|
|
89
|
+
// With Temp=24, HR=20.5
|
|
90
|
+
// Result: "0.0061"
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Use Cases
|
|
94
|
+
|
|
95
|
+
- **Financial calculations**: Rounding currency values
|
|
96
|
+
- **Display formatting**: Showing clean numeric values
|
|
97
|
+
- **Precision control**: Limiting decimal places in results
|
|
98
|
+
- **Statistical output**: Rounding means, percentages, etc.
|
|
99
|
+
|
|
100
|
+
## Related Functions
|
|
101
|
+
|
|
102
|
+
- [tofixed](./tofixed.md) - Format to fixed decimal places
|
|
103
|
+
- [floor](./floor.md) - Round down
|
|
104
|
+
- [ceil](./ceil.md) - Round up
|
|
105
|
+
|
|
106
|
+
## Notes
|
|
107
|
+
|
|
108
|
+
- Uses arbitrary precision arithmetic
|
|
109
|
+
- Returns a string representation
|
|
110
|
+
- When no decimal places specified, rounds to nearest integer
|
|
111
|
+
- Be careful with rounding methods in financial applications (banker's rounding may be preferred)
|