Add new attribute for survey item and responses to be able to define mapping to an other key for confidential data (marked as such in the survey def).
- new shortcut expressions for
hasParticipantFlagKey,getParticipantFlagValueandhasParticipantFlagKeyAndValueto make it easier to access participant flags.
- Upgraded dependencies to fix security vulnerabilities.
- Added new expression:
validateSelectedOptionHasValueDefinedthat returns false if the selected option has no value defined.
- When expression arg "num" or "str" are undefined, return 0 or empty string respectively. This is to avoid issues where server omits the value of the expression argument in case of zero or empty string.
Improved handling when expression arguments are not valid expressions (threw client side error before crashing the application).
- Added resolving disabled attribute to component groups.
- Fix default values for response meta that prevented submitting confidential responses
Updated survey data model to fix issues with limited history size. This change should be deployed together with changes in other components, especially on the backend side.
- Replacing moment.js with date-fns.
- Fix validation issue after first rendering as well.
- Included security update PRs.
- Rerender tree after initialisation immediately to handle prefill validations.
- Minor fixes
- Added new attribute for survey item and responses to handle confidential data (marked as such in the survey def). For these items, the meta data will be removed.
- LocalisedObject datatype adapted to include resolved data type format as well.
- Survey engine's expression eval gets only the responses that are currently rendered in the survey Rendered means, they are in the survey tree, not necessarily on the screen. This change intends to prevent previously answered questions to influce the survey expressions, if they are hidden due to changed previous responses. The responses are not removed from the cache when an item gets hidden due to changed values, to prevent the user to loose the survey's state by accidentaly clicking an option that would cause a large portion of the survey to be hidden. At the end of the survey, only responses are submitted for the items that are part of the rendered survey, so this change makes the survey evaluation consistent with this behaviour.
- Add isLoggedIn attribute to context.
- New expression:
parseValueAsNumaccepting one agrument, that should contain the reference to a value. - Require Login attribute to survey model is added.
- Added new attribute to survey model (
availableFor). - Remove study engine expression names, and acceot instead a generic string.
Consolidate repository structure and setup rollup for deployment.