|
| 1 | +--- |
| 2 | +title: "Parameter" |
| 3 | +url: /refguide/page-parameter/ |
| 4 | +weight: 70 |
| 5 | +#If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. |
| 6 | +--- |
| 7 | + |
| 8 | +## Introduction |
| 9 | + |
| 10 | +Parameters are the means by which you pass data to your logic. When a page is loaded, the parameters are filled with the current values. |
| 11 | + |
| 12 | +If you want to use an object or primitive in your page, use the parameter. In the image below, the parameter name is **CustomerName** is of **Type** `string`, is not **Required** and has a **Default value** shown in string empty. |
| 13 | + |
| 14 | +{{< figure src="/attachments/refguide/modeling/pages/page/page-parameter.png" class="no-border" >}} |
| 15 | + |
| 16 | +## Common Section |
| 17 | + |
| 18 | +The **Documentation** property can be used to store developer documentation. This can be used to explain to other developers about the parameter. End-users will never see this documentation. |
| 19 | + |
| 20 | +## Output Section |
| 21 | + |
| 22 | +### Data Type |
| 23 | + |
| 24 | +The data type of a parameter defines the type of the value that it expects. See [Data Types](/refguide/data-types/) for the possible data types. |
| 25 | + |
| 26 | +Default: *Object* |
| 27 | + |
| 28 | +### Argument {#argument} |
| 29 | + |
| 30 | +Determines whether the argument is optional or required. When the argument is set to be **Optional**, it can be omitted when opening the page. When the argument is set to be **Required**, an argument must be passed. |
| 31 | + |
| 32 | +#### Default Value |
| 33 | + |
| 34 | +When an argument is set to **optional**, a default value can be set: |
| 35 | + |
| 36 | +{{< figure src="/attachments/refguide/modeling/pages/page/page-parameter-default-value.png" max-width=70% >}} |
| 37 | + |
| 38 | +{{% alert color="info" %}} |
| 39 | + The default value is used when the argument is omitted, not when the argument value is `empty`. |
| 40 | +{{% /alert %}} |
| 41 | + |
| 42 | +### Name |
| 43 | + |
| 44 | +**Name** refers to the name of the parameter. |
| 45 | + |
| 46 | +### Variable Arguments |
| 47 | + |
| 48 | +Variable arguments are used to pass parameters from the context to the page. This is done by selecting the desired `arguments` from the dropdown. **Optional** can be omitted by selecting `(None)` . |
| 49 | + |
| 50 | +{{< figure src="/attachments/refguide/modeling/pages/page/page-parameter-argument-variable.png" max-width=70% >}} |
| 51 | + |
| 52 | +### Expression-Based Arguments (All Data Types) |
| 53 | + |
| 54 | +Primitive values, such as strings, booleans, and enumerations, can be passed as expressions. This method allows users to use functions and follow associations within the expression to set the argument values. Using expressions for arguments provides flexibility in setting values and improves the functionality of pages. In the example below, the page has an parameter **AnimalName** which is populated by the **Name** member of the provided **Animal** object. |
| 55 | + |
| 56 | +{{< figure src="/attachments/refguide/modeling/pages/page/page-parameter-expression.png" width="500px" >}} |
0 commit comments