...
- Fixed missing header in Smart multi-row field when set to render as TableView
- Fixed issue with default fields in ConfiForms Filter Control macro (rendering system fields by default as well, which it should not)
- Experimental support in Import API to allow users to specify "field or fields as unique key" to identify a record to update (in addition to "entryId" column mapping)
- Added support for importing of smart multi-row field values via Import API
Version 2.25.1
- Fixed issues with migrating (to cloud) forms data that have non-latin names
- Fixed issue with labels auto-align option set in ConfiForms Registrations Control (FormView) macros
- Fixed issue with double rendering of the template in ConfiForms emails (IFTTT to send emails)
- _previousState is now accessible directly through ConfiForms Field macros (not only through [entry._previousState]) - if it exists in the context for the current record, see where it exists Virtual functions
Virtual function to remove items is enhanced to work better on arguments given as CSV (asList). An example below that removes options from "choice1" field that already being selected and stored in choice1 and choice2 fields
Code Block id.getOptions(choice1).remove([entry.choice1.transform(id).asList]).remove([entry.choice2.transform(id).asList]).asList
similar approach to create a filter dynamically (filters OUT choices from choice1 that are already used in fields choice2 and choice3). In these examples our choice1,choice2,choice3 fields are of the same structure and type
Code Block choice1:[entry.id.getOptions(choice1).remove([entry.choice3.transform(id).asList]).remove([entry.choice2.transform(id).asList]).join( OR choice1:)]
...