The FieldWithTableSelection component is a field that, when clicked, opens a table view that can be used to select a value. The component is used by giving it
- a
targetField
which is the field in editData that the component should change (Required) - a
sourceField
which is a field in the object that the FieldWithTableSelection receives when the user selects an item (Required) - a
selectorTable
which is the table that is shown when the user clicks the field (Required) - a
disabled
boolean value (Optional)
The FieldWithTableSelection looks like a normal text field. When the user clicks the field, a pop-up with a table view is shown. When the user selects an item from this table, the selectorFn
function inside the component is called, with the selected
parameter being an object that contains the item's data. Since we don't want to write this entire object to editData, the sourceField
parameter is used to specify which field we want to use.
If disabled
is set to true, the FieldWithTableSelection cannot be clicked.
If the user selects an invalid value, the FieldWithTableSelection will show a red text underneath it explaining the issue. This is done by getting the validator from the current context (if one exists), and then passing it the current editData
(also from context) and the targetField
value. The validator will check if the value in editData corresponding to targetField
is valid.