Supported Data Items
There are a variety of different data items which you can pick from based on your particular use case.
If you want control a number of data item's simultaneously, look at:

The purpose of the DataItemContainer data item is to store a number of data items in XML under a nested node, as well as control their visibility, suppression, and disablement altogether. The dataName of this data item will be used as the tag name for an element, which stores a number of child data item nodes in the tool’s XML configuration. This data item has no value, only children.
Macro compatibility
The DataItemContainer is the only data item which is incompatible with a macro back end.
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
If you want to control the possible values stored in your tool’s configuration to match the value constraints your tool uses, look at:
-
ConstrainedDate
The purpose of the ConstrainedDate data item is to store a date, which conforms to a number of acceptable validation rules. The display format and persistence format are controlled through properties using moment.js formatting strings. You can change the format of the string as it persists in your tool's XML configuration independent of the format of the string used for display.
Defaults:
- value: the current date in format YYYY-MM-DD
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
- dateFormat
- persistenceFormat
- min
- max
-
ConstrainedDateTime
The purpose of the ConstrainedDateTime data item is to store a date and time value, which conforms to a number of acceptable validation rules. The display format and persistence format are controlled through properties using moment.js formatting strings. You can change the format of the string as it persists in your tool's XML configuration independent of the format of the string used for display.
Defaults:
- value: the current date and time in format YYYY\MM\DD hh:mm:ss
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
- dateFormat
- dateTimeDelimiter
- timeFormat
- persistenceFormat
- min
- max
-
ConstrainedFloat
The purpose of the ConstrainedFloat data item is to store a precise numerical value, which conforms to a number of acceptable validation rules. The value is confined between a minimum and a maximum. The value is truncated (not rounded) to the allowed precision of digits past the decimal. It has an acceptable incrementing step property to use for driving UI controls so it’s easier to modify the value within the expected precision.
Defaults:
- value is 0.0
- min is -9007199254740991
- max is 9007199254740991
- step is 1
- allowedPrecision is 0
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
- min
- max
- step
- allowedPrecision
-
ConstrainedInt
The purpose of the ConstrainedInt data item is to store an imprecise numerical value, which conforms to a number of acceptable validation rules. The value is confined between a minimum and a maximum. The value is truncated (not rounded) to the allowed precision of digits past the decimal. It has an acceptable incrementing step property to use for driving UI controls so it’s easier to modify the value within the expected precision.
Defaults:
- value is 0.0
- min is -9007199254740991
- max is 9007199254740991
- step is 1
- allowedPrecision is 0
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
- min
- max
- step
- allowedPrecision
-
FieldSelector
The purpose of the FieldSelector data item is to provide a list of possible fields from upstream connected tools, as well as store one of them as a choice in your tool’s XML configuration. It writes to your tool’s XML configuration the text of the name of the chosen field. It allows you to add choices as fields which show up on all FieldSelectors that look at the same upstream connection. It has facilities for choosing connection by anchor index, and connection index.
Defaults:
- value: undefined
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
- optionList
- includeNoneOption
-
FieldSelectorMulti
The purpose of the FieldSelectorMulti data item is to provide a list of possible fields from upstream connected tools, as well as store multiple of them as a list of choices in your tool’s XML configuration. It will write to your tool’s XML configuration the text of the name of the chosen fields with a delimiter between them. It will also allow you to add choices as fields which will show up on all FieldSelectors which are looking at the same upstream connection. It does have facilities for choosing connection by anchor index, and connection index.
Defaults:
- value is the empty array []
- delimiter is a comma ','
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
- optionList
- delimiter
-
StringSelector
The purpose of the StringSelector data item is to store a string value given a fixed selection of choices. It writes to your tool’s XML configuration the text of the value of the chosen option. It works with an optionList property, which is an array of objects with value and label properties, to provide user displayable text for each choice, independent of the value stored in the tool’s XML configuration.
Defaults:
- value: blank string
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
- optionList
-
StringSelectorMulti
The purpose of the StringSelectorMulti data item is to store a list of string values given a fixed selection of choices. It writes to your tool’s XML configuration the text of the value of the chosen options with a delimiter between them. It works with an optionList property, which is an array of objects with value and label properties, to provide user displayable text for each choice, independent of the value stored in the tool’s XML configuration.
Defaults:
- value is the empty array []
- delimiter is a comma ','
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
- optionList
- delimiter
If your tool allows free form data, where your only concern is the data type, look at:
-
SimpleBool
The purpose of the SimpleBool data item is to store a true or false value. It writes to your tool’s XML configuration the text “True” or “False”, depending on its value. The value it stores and provides through the HTML GUI SDK is a JavaScript boolean.
Defaults:
- value: false
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
-
SimpleDate
The purpose of the SimpleDate data item is to store a date. It will write to your tool’s XML configuration the text of the date value set on it. It uses moment.js for parsing and formatting date data. The display format and persistence format are controlled through properties using moment.js formatting strings. You can change the format of the string as it persists in your tool's XML configuration independent of the format of the string used for display.
Defaults:
- value: current date in format YYYY-MM-DD
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
- dateFormat
- persistenceFormat
-
SimpleDateTime
The purpose of the SimpleDateTime data item is to store a date and time. It will write to your tool’s XML configuration the text of the date and time value set on it. It uses moment.js for parsing and formatting date and time data. The display format and persistence format can be controlled through properties using moment.js formatting strings. You can change the format of the string it persists in your tools XML configuration independent of the format of the string used for display.
Defaults:
- value: current date and time in format YYYY\MM\DD hh:mm:ss
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
- dateFormat
- dateTimeDelimiter
- timeFormat
- persistenceFormat
-
SimpleFloat
The purpose of the SimpleFloat data item is to store a precise numerical value. It will write to your tool’s XML configuration the text of the value with a decimal. The value it stores and provides through the HTML GUI SDK is however a JavaScript number. The default value is 0.0.
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
-
SimpleInt
The purpose of the SimpleInt data item is to store an imprecise numerical value. It writes to your tool’s XML configuration the text of the value without a decimal. The value it stores and provides through the HTML GUI SDK is a JavaScript number.
Defaults:
- value: 0
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
-
SimpleString
The purpose of the SimpleString data item is to store an arbitrary string of text. It writes to your tool’s XML configuration the text as assigned to the value.
Defaults:
- value: blank string
Properties you can register listeners for by name:
- encryptionMode
- hidden
- suppressed
- disabled
- value
-
SimpleTime
The purpose of the SimpleTime data item is to store a time. It writes to your tool’s XML configuration the text of the time value set on it. It uses moment.js for parsing and formatting time data. The display format and persistence format are controlled through properties using moment.js formatting strings. You can change the format of the string it persists in your tools XML configuration independent of the format of the string used for display.
Defaults:
- current time in format of hours:minutes:seconds:3 digits of milliseconds
Properties you can register listeners for by name:
- hidden
- suppressed
- disabled
- value
- dateFormat
- dateTimeDelimiter
- timeFormat
- persistenceFormat