Field Data contains definitions for data which is entered inside a
Step Field ("Input Field" in the application). It is in its own class
so it can be re-used across thrift classes.
The different types of inputs a Step can have. There is no longer a 1to1 mapping of field types
to execution data fields. To make it easier to track, there will be comments after each field type
indicating which execution data types it can map to.
Text
1
Text that is entered
Number
2
Numerical input that can have a valid range
List
3
Selector list of options
Photo
4
Video
5
Audio
6
Signature
7
A person's signature
Date
8
A date value, encoded as a 64-bit unix timestamp (in seconds)
YesNo
9
Link
10
A url string. Will be validated for proper formatting
MultiSelectList
11
File
12
CompactList
13
CompactList can only have two options and each option must be under 20 characters
It will be displayed in a flattened/compacted form for faster execution
Union representing the various field input types
Don't confuse with various ExecutionData types in job.thrift [VR]
This is a slight misnomer. FieldEntry might've been a better name [VR]
Since there is no longer a 1to1 mapping of field types to execution data fields, there will be
comments indicating which field types maps to each exection data type