The `DynamicField` is a flexible field structure that can be used in different contexts such as bookings, jobs, and trips. Each `DynamicField` can hold different dataType and tags.
Properties
- Key
- field name
- Control
- whether field is required or optional
- Type
- TEXT: text field
- SELECTOR: predefined dropdown field
- DATE: date field
- DOCUMENT: file upload field
- Query - visible only when Type is SELECTOR
- CUSTOM_VALUES: show custom defined values
- DEPARTMENT
- QUOTATION
- ENUMS: show predefined enum values and required enumName
- PORT
- PLACE
- COMPANY: required companyTypes
- ADDRESS: required companyTypes
- Tags - used to store various boolean flags that modify the behavior of the field
- SEARCHABLE: Indicates that the field is searchable.
BLOCK_DUPLICATE: Prevents duplicate booking with same values for this field.
HIDE_FROM_NEW_BOOKING: Hides the field from new booking forms.
OPERATIONS_ONLY: Restricts the field to operations use only.
MULTIPLE: Allows multiple selection of the field.
MULTILINE: Indicates that the field supports multiline text.
CAPITALIZE: Automatically capitalizes the text in the field.
DRIVER_APP_UPDATEABLE: Allows the field to be updated via the driver app.
VALIDATE_CONTAINER_NUMBER: Validates the field as a container number.
FOR_RFC: Indicates that the field is for RFC (Request for Collection).