Jigx Variables

Jigx Variables

Jigx has a set of variables that can be used in expressions to manipulate data specific to a Jigx App, for example, determining the logged-in user, or the Jigx organization and solution.

Organization

The organization variable is used to get information about the actual organization in Jigx, such as your Jigx organization's id.

Configuration

Result
Expression

Examples and code snippets

Organization expression
Organization expression

This example returns the organization's id . Each organization configured in Organization Settings in Jigx Management and will have a unique id. See the full code sample in GitHub.

children:
  - type: component.entity
    options:
      children:
        - type: component.entity-field
          options:
            label: Organization ID
            value: [email protected]

System

The system variable in an expression is used to get information about devices, for example, you can find information about the internet connection of the device, the language preference, the device's timezone and location details. System expressions are configured by [email protected]. followed by the specific variable name.

Configuration

The supported variables for the system variable are:

Variable
Expression
Results

appVersion

This variable returns the current version of the installed app, which is useful for troubleshooting, crash tracing, and debugging issues. E.g. 1.110.7

deviceType

The variable returns the current user's device type, such as tablet or handset.

isOffline

Boolean

isOnline

Boolean

isPortrait

The variable is set with a boolean and is used to configure the behavior of components in either portrait or landscape mode.

user

or XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

isLocationSharingEnabled

Boolean

solution

XXXXXXXX-XXX-XXXX-XXXX-XXXXXXXXXXXX

timezone

Get the information about the device's timezone, it can be: -name: e.g. Europe/Prague -offset: e.g. +200

geolocation

Accuracy: [email protected]

Altitude: [email protected]

Altitude Accuracy: [email protected]

Location - Heading: [email protected]

Location - Latitude: [email protected]

Location - Longitude: [email protected]

Location - Speed: [email protected]

Location - Timestamp: [email protected]

Location - Entire array (All details): =$string(@ctx.system.geolocation)

Examples and code snippets

System isOffline

System expression
System expression

With this expression, you can disable the action button to prevent it from being pressed if the device is offline.

See the full code sample in GitHub

isOffline.jigx
actions:
  - children:
      - type: action.go-to
        options:
          style:
            isDisabled: [email protected] = true
          title: Go to action
          linkTo: advanced-expressions

System timezone

This example uses system.timezone to get the information about the device's timezone, it can be the name of the timezone or the offset. Use it further to convert date/time using Date & Time expressions into the format that you require.

See the full code sample in GitHub.

System timezone expression
System timezone expression
children:
  - type: component.entity
    options:
      children:
        - type: component.entity-field
          options:
            label: Timezone name
            value: [email protected]
        - type: component.entity-field
          options:
            label: Timezone offset
            value: [email protected]

System geolocation

system geolocation expression
system geolocation expression

This example shows how you can use system.geolocation to get the device's location (details).

See the full code sample in GitHub.

children: 
  - type: component.entity
    options:
      children:
        - type: component.entity-field
          options:
            label: System Location - Accuracy
            value: [email protected]
        - type: component.entity-field
          options:
            label: System Location - Altitude
            value: [email protected]
        - type: component.entity-field
          options:
            label: System Location - Altitude Accuracy
            value: [email protected]
        - type: component.entity-field
          options:
            label: System Location - Heading
            value: [email protected]
        - type: component.entity-field
          options:
            label: System Location - Latitude
            value: [email protected]
        - type: component.entity-field
          options:
            label: System Location - Longitude
            value: [email protected]
        - type: component.entity-field
          options:
            label: System Location - Speed
            value: [email protected]
        - type: component.entity-field
          options:
            label: System Location - Timestamp
            value: [email protected]
            contentType: time
        - type: component.entity-field
          options:
            label: System Location - Entire array (All details)
            value: =$string(@ctx.system.geolocation)

System appVersion & deviceType

Device information is important to identify the types of devices and the app version users are using. This is useful for troubleshooting issues and diagnosing app crashes. The details can be retrieved in multiple ways when using the system variable, such as on the app screen or when connected to Jigx dev tools in Jigx Builder.

Jigx dev tools for debugging
Jigx dev tools for debugging
children:
  - type: component.entity
    options:
      children:
        - type: component.entity-field
          options:
            label: AppVersion
            value: [email protected]
        - type: component.entity-field
          options:
            label: Device Type
            value: [email protected] 

System isLocationSharingEnabled

See the example using dynamic data in GitHub.

  onFinish: 
            type: action.confirm
            options:
              isConfirmedAutomatically: false
              onConfirmed: 
                type: action.go-back
              modal:
                title: Enjoy your pizza
      # Add the ability to stop sharing your location 
      - type: action.stop-location-sharing
        when: [email protected]
        options:
          title: Stop sharing

User

Configuration

Examples and code snippets

The user is used to get information about the logged-in user, for example, name, and email.

See the full code sample in GitHub.

User expression
User expression
user.jigx
children:
  - type: component.entity
    options:
      children:
        - type: component.entity-field
          options:
            label: User Display Name
            value: [email protected]
        - type: component.entity-field
          options:
            label: User Email
            value: [email protected]
        - type: component.entity-field
          options:
            label: User Id
            value: [email protected]

Solution

The solution variable is used to get information about the specific Jigx solution, for example, name, and id. Custom variables can be set in Solution Settings in Jigx Management, and the variable value referenced in the solution expression.

Configuration

Result
Expression

Examples and code snippets

Solution Id and name

Solution expression
Solution expression

This example shows how to get the solution's id and name using the solution variable.

See the full code sample in GitHub

children:
  - type: component.entity
    options:
      children:
        - type: component.entity-field
          options:
            label: Solution ID
            value: [email protected]
        - type: component.entity-field
          options:
            label: Solution Name
            value: [email protected]

Solution settings - custom variable

children:
  - type: component.entity
    options:
      children:
        - type: component.entity-field
          options:
            rightIcon: cursor-click-computers
            label: Click to view the report in SharePoint
# Reference the custom variable set in Management in the expression            
            value: [email protected]_URL

Last updated

Was this helpful?