App variables
App variables is a data source available in every app for storing global app state. App variables contains a number of built-in variables and you can also add your own.
These variables can be bound to properties in UI components and action nodes, and referenced in conditions and filters.
Custom app variables
Custom app variables are used to store app state for a given instance of the app. For example, you might need to store a boolean value to track if a component is visible or not, or a datetime value for filtering recently created objects in a list.
App variables are runtime variables, which means that they exist only in the user's browser and are not saved to the database or shared with other users. An app variable will be cleared each time an app is refreshed, unless the Persistence property is populated.
Properties
Property | Description |
---|---|
Name | The name used throughout Appfarm Create to refer to this app variable. This name can be changed at any time without technical consequences. |
Node Name | The key that is used to store the property in memory. |
Data Type | |
Cardinality | |
Property Type | An app variable can be either be value or a function.
|
Value on Create | Available for Value property type. A default value to set for the property when the app is loaded. |
Function | |
Label True | |
Label False | Available for Boolean data type. A text label to display when the value is false. |
Label Undefined | Available for Boolean data type. A text label to display when the value is undefined (empty) or null. |
Persistence | Specify if the value should be stored in the user's browser. There are three options:
|
Description | A longer description of the app variable. For your own reference. |
Built-in app variables
The built-in app variables contain standard information about an app while it's in use, such as the active environment or client screen size. Some of these variables are based on built-in enums which can be incorporated into your object classes.
Property | Data type | Description |
---|---|---|
Active Environment | Enum | The environment the end-user is using, either |
Active Language | Enum | |
Active Theme | Enum | |
App Time Zone | Enum | The time zone the app is operating in. By default the device time zone is used, but it can be overridden. Calendar data sources are based on this value.
Example: Your App has functionality for registering new Events in Norway, with Start and End time. You want to make sure that the start and end time is "Norway time" when your end users are working remote from Asia.
The solution is to set App Time Zone fixed for your App (or based on the Event's location). It may be done with a simple Update Object in the On App Load action (setting App Time Zone to |
Client IP | String | The end-user's IP address. |
Client Screen Size | Enum | The screen size of the end-user's device, either |
Device Orientation | Enum | The current orientation of the end-user's device, either |
Device OS | Enum | The end-user's device operating system. |
Device OS Version | String | The end-user's device operating system version. |
Document Title | String | This variable can be useful to change the page title dynamically. E.g. you may update this property using an Action with an Update Object action node. |
Hostname | String | |
Is Fullscreen | Boolean | If an app has been installed as a Progressive Web App and is running in fullscreen. |
Is Main Drawer Open | Boolean | |
Is Online | Boolean | If the app is currently connected to the server. |
Is Unauthenticated | Boolean | If the user is not logged in and using unauthenticated access. |
Notification Permission | Enum | Holds information on whether the user has granted or denied permissions for notifications from this app on this device. The default is |
Readable ID | String |
Last updated