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.

TypeDescriptionData Type
integerInteger fieldinteger
numberNumber fielddouble
floatFloat fieldfloat
stringString (single-line) fieldString
textMulti line text areaString
booleanCheckbox fieldboolean
countryCountry selector fieldString
cronCron expression fieldString
javascriptJavascript Editor fieldString
jsonJSON Editor fieldString
sqlSQL Editor fieldString
text_encodingAllows to select text encodingString
dateSelect dateString
timeSelect time (hour + minute)String
timezoneSelect time zoneString

Enumerated Types

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

TypeDescriptionData Type
enumEnumeric field ( e.g. )String
multiselectMulti selection fieldSet
tagsField 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.

TypeDescriptionData Type
datasetSelect data setSee below
datatypeSelect data typeSee below
robotSelect robotSee below
dictionarySelect dictionarySee below
robotrunSelect robot configuration (run)See below
folderSelect folderSee 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

TypeDescriptionData Type
fileFile upload fieldData Uri String
imageImage upload fieldData 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