Configuration Field Types

All fields have a common base structure as seen in the below example:

myField:
  title: The Label of the field
  type: text #The type of field - see full list below
  help: A help text shown below the field.
  required: true #Determines if the field is required
  secret: true # If true keeps values hidden from users once they've entered them
  sortOrder: 1 #Where the field should appear visually
  placeholder: Show this when field is empty
  defaultValue: Some default value 
  dynamicDefaultValue: #Defines a dynamic default value based on other values
    type: "conditional" #Right now this is the only type
    conditions:
    - condition:
        otherField: otherFieldValue #When another field has this value
      value: 5432 #Use this as the default value
  dependsOn: #Makes this field disabled until the fields mentioned have been filled
  - otherField
  - otherField2 
  options: #Various options - depends on the field type
  configuration: #Various configuration - depends on the field type

Below you'll find all field types and how to use them.

Simple Types

The following will result in a simple value such as a boolean, string or number.

Type

Description

Data Type

integer

Integer field

integer

number

Number field

double

float

Float field

float

string

String (single-line) field

String

text

Multi line text area

String

boolean

Checkbox field

boolean

country

Country selector field

String

cron

Cron expression field

String

javascript

Javascript Editor field

String

json

JSON Editor field

String

sql

SQL Editor field

String

text_encoding

Allows to select text encoding

String

date

Select date

String

time

Select time (hour + minute)

String

timezone

Select time zone

String

Enumerated Types

The following will result in a simple value such as a boolean, string or number.

Type

Description

Data Type

enum

Enumeric field ( e.g. )

String

multiselect

Multi selection field

Set

tags

Field that allows to add / edit multiple strings as "tags"

Set

Both enum and multiselect require a List<String> or Map<String,String> of options provided in the options property:

myEnumField:
  id: myEnumField
  type: enum
  options:
    first: First option
    second: Second option
myEnumFieldWithEmptyText:
  id: myEnumField
  type: enum
  options:
    first: First option
    second: Second option
  configuration:
    emptyText: Select a value...
myMultiSelectField:
  id: myEnumField
  type: enum
  options:
    - First option
    - Second option

Dexi Types

The following will provide a reference to a Dexi asset such as a robot or a folder.

Type

Description

Data Type

dataset

Select data set

See below

datatype

Select data type

See below

robot

Select robot

See below

dictionary

Select dictionary

See below

robotrun

Select robot configuration (run)

See below

folder

Select folder

See below

The above types all produce the same data structure which is an object with the following structure:

{
  "id": "some-id", //The unique identifier for the selected asset
  "type": "dataset", //The type of reference - See below for types
  "name": "My Data Set", //The name of the asset
  "pathName": "/My Folder/My Data Set" //The full path of the asset in the users projects view
}

The following asset types are supported:

  • scraper: An extractor robot
  • crawler: An crawler robot
  • pipes: A pipes robot
  • dataset: A data set
  • datatype: A data type
  • category: A folder
  • robotrun: A robot configuration (/ run)
  • dictionary: A dictionary

File Types

The following types are file uploads. All will result in a string containing a data URI

Type

Description

Data Type

file

File upload field

Data Uri String

image

Image upload field

Data Uri String

Special Types

type: maparea

Selects a map area - provides an object containing the results to your app which is structured as you'll see below:

{
  "west": float, //Longitude West
  "east": float, //Longitude East
  "north": float, //Latitude North
  "south": float //Latitude South
}

type: oauth

Add 3rd party OAuth authentication.

See OAuth Support for more information