@aehrc/smart-forms-renderer 1.0.0-alpha.98 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/lib/api/callback.js +6 -15
- package/lib/api/callback.js.map +1 -1
- package/lib/api/smartClient.js +6 -21
- package/lib/api/smartClient.js.map +1 -1
- package/lib/components/Checkbox.styles.js +21 -19
- package/lib/components/Checkbox.styles.js.map +1 -1
- package/lib/components/ExpressionUpdateFadingGlow.styles.d.ts +2 -2
- package/lib/components/ExpressionUpdateFadingGlow.styles.js +12 -9
- package/lib/components/ExpressionUpdateFadingGlow.styles.js.map +1 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentField.d.ts +2 -2
- package/lib/components/FormComponents/AttachmentItem/AttachmentField.js +3 -3
- package/lib/components/FormComponents/AttachmentItem/AttachmentField.js.map +1 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.d.ts +2 -2
- package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js +1 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js.map +1 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentFileCollector.d.ts +2 -2
- package/lib/components/FormComponents/AttachmentItem/AttachmentFileCollector.js +1 -2
- package/lib/components/FormComponents/AttachmentItem/AttachmentFileCollector.js.map +1 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.d.ts +2 -2
- package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.js +4 -5
- package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.js.map +1 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js +27 -37
- package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js.map +1 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.d.ts +2 -2
- package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.js +3 -3
- package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.js.map +1 -1
- package/lib/components/FormComponents/BooleanItem/BooleanField.js +6 -7
- package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -1
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js +33 -24
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/CheckboxOptionList.js +1 -2
- package/lib/components/FormComponents/ChoiceItems/CheckboxOptionList.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js +12 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.d.ts +2 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +17 -28
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.d.ts +2 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +29 -14
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js +17 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.d.ts +2 -8
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +12 -13
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.d.ts +2 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js +30 -15
- package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.d.ts +2 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +32 -29
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.d.ts +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js +17 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.d.ts +2 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +15 -27
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js +9 -6
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js +28 -8
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.d.ts +2 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +14 -28
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js +4 -20
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js +19 -14
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.d.ts +2 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +16 -32
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.d.ts +2 -3
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js +9 -10
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js +17 -38
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePicker.js +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePicker.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePickerButton.js +3 -3
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/DatePickerButton.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js +19 -56
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.d.ts +2 -3
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js +25 -9
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.d.ts +2 -5
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.js +19 -3
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.js.map +1 -1
- package/lib/components/FormComponents/DecimalItem/DecimalField.d.ts +2 -3
- package/lib/components/FormComponents/DecimalItem/DecimalField.js +6 -6
- package/lib/components/FormComponents/DecimalItem/DecimalField.js.map +1 -1
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js +22 -45
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -1
- package/lib/components/FormComponents/DisplayItem/DisplayItem.js +1 -1
- package/lib/components/FormComponents/DisplayItem/DisplayItem.js.map +1 -1
- package/lib/components/FormComponents/GridGroup/GridGroup.d.ts +2 -2
- package/lib/components/FormComponents/GridGroup/GridGroup.js +29 -20
- package/lib/components/FormComponents/GridGroup/GridGroup.js.map +1 -1
- package/lib/components/FormComponents/GridGroup/GridRow.d.ts +6 -2
- package/lib/components/FormComponents/GridGroup/GridRow.js +7 -9
- package/lib/components/FormComponents/GridGroup/GridRow.js.map +1 -1
- package/lib/components/FormComponents/GridGroup/GridTable.d.ts +6 -2
- package/lib/components/FormComponents/GridGroup/GridTable.js +7 -4
- package/lib/components/FormComponents/GridGroup/GridTable.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupHeading.js +4 -4
- package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItem.d.ts +2 -2
- package/lib/components/FormComponents/GroupItem/GroupItem.js +8 -8
- package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.d.ts +2 -2
- package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +11 -11
- package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItemView.d.ts +2 -2
- package/lib/components/FormComponents/GroupItem/GroupItemView.js +8 -10
- package/lib/components/FormComponents/GroupItem/GroupItemView.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js +2 -2
- package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.js +2 -2
- package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.js.map +1 -1
- package/lib/components/FormComponents/IntegerItem/IntegerField.d.ts +2 -3
- package/lib/components/FormComponents/IntegerItem/IntegerField.js +6 -6
- package/lib/components/FormComponents/IntegerItem/IntegerField.js.map +1 -1
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js +20 -40
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/CheckboxFormGroup.d.ts +1 -1
- package/lib/components/FormComponents/ItemParts/CheckboxFormGroup.js +10 -11
- package/lib/components/FormComponents/ItemParts/CheckboxFormGroup.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/CheckboxSingle.js +10 -7
- package/lib/components/FormComponents/ItemParts/CheckboxSingle.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js +9 -7
- package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ClearButtonAdornment.js +1 -2
- package/lib/components/FormComponents/ItemParts/ClearButtonAdornment.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ClearInputButton.d.ts +1 -1
- package/lib/components/FormComponents/ItemParts/ClearInputButton.js +9 -7
- package/lib/components/FormComponents/ItemParts/ClearInputButton.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/DisplayUnitText.js +2 -2
- package/lib/components/FormComponents/ItemParts/DisplayUnitText.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingIcon.js +6 -2
- package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingIcon.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +3 -3
- package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ItemLabel.js +10 -9
- package/lib/components/FormComponents/ItemParts/ItemLabel.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ItemRepopulateButton.js +30 -48
- package/lib/components/FormComponents/ItemParts/ItemRepopulateButton.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ItemTextSwitcher.js +6 -5
- package/lib/components/FormComponents/ItemParts/ItemTextSwitcher.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/OpenLabelField.js +4 -4
- package/lib/components/FormComponents/ItemParts/OpenLabelField.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js +1 -1
- package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/RadioFormGroup.d.ts +1 -1
- package/lib/components/FormComponents/ItemParts/RadioFormGroup.js +12 -13
- package/lib/components/FormComponents/ItemParts/RadioFormGroup.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/RadioOptionList.js +1 -2
- package/lib/components/FormComponents/ItemParts/RadioOptionList.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/RequiredAsterisk.js +4 -15
- package/lib/components/FormComponents/ItemParts/RequiredAsterisk.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.d.ts +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js +21 -16
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.d.ts +2 -7
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +41 -18
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.d.ts +2 -7
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +18 -18
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetFields.js +18 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.d.ts +2 -7
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.js +18 -18
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.d.ts +2 -7
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js +28 -13
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.d.ts +2 -7
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +26 -17
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.js +18 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.d.ts +2 -7
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.js +26 -17
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.d.ts +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js +10 -6
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.d.ts +2 -7
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js +25 -13
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.d.ts +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js +10 -6
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.d.ts +2 -7
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js +21 -12
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.d.ts +2 -2
- package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js +5 -5
- package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js.map +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityField.d.ts +2 -3
- package/lib/components/FormComponents/QuantityItem/QuantityField.js +6 -6
- package/lib/components/FormComponents/QuantityItem/QuantityField.js.map +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityItem.js +31 -89
- package/lib/components/FormComponents/QuantityItem/QuantityItem.js.map +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityUnitField.d.ts +2 -2
- package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js +4 -4
- package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js.map +1 -1
- package/lib/components/FormComponents/RepeatGroup/AddItemButton.js +1 -2
- package/lib/components/FormComponents/RepeatGroup/AddItemButton.js.map +1 -1
- package/lib/components/FormComponents/RepeatGroup/RepeatGroup.d.ts +2 -2
- package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js +4 -6
- package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -1
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.d.ts +2 -2
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js +2 -2
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -1
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.d.ts +3 -4
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.js +3 -4
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.js.map +1 -1
- package/lib/components/FormComponents/RepeatItem/AddItemButton.js +1 -1
- package/lib/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -1
- package/lib/components/FormComponents/RepeatItem/RepeatField.d.ts +2 -2
- package/lib/components/FormComponents/RepeatItem/RepeatField.js +2 -3
- package/lib/components/FormComponents/RepeatItem/RepeatField.js.map +1 -1
- package/lib/components/FormComponents/RepeatItem/RepeatItem.d.ts +2 -2
- package/lib/components/FormComponents/RepeatItem/RepeatItem.js +17 -13
- package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -1
- package/lib/components/FormComponents/SingleItem/SingleItem.d.ts +2 -2
- package/lib/components/FormComponents/SingleItem/SingleItem.js +9 -9
- package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -1
- package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.d.ts +2 -2
- package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +54 -31
- package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/SingleItem/SingleItemView.d.ts +3 -4
- package/lib/components/FormComponents/SingleItem/SingleItemView.js +4 -5
- package/lib/components/FormComponents/SingleItem/SingleItemView.js.map +1 -1
- package/lib/components/FormComponents/SingleItem/SingleNestedItems.d.ts +2 -2
- package/lib/components/FormComponents/SingleItem/SingleNestedItems.js +8 -9
- package/lib/components/FormComponents/SingleItem/SingleNestedItems.js.map +1 -1
- package/lib/components/FormComponents/SliderItem/Slider.styles.js +23 -21
- package/lib/components/FormComponents/SliderItem/Slider.styles.js.map +1 -1
- package/lib/components/FormComponents/SliderItem/SliderField.d.ts +2 -2
- package/lib/components/FormComponents/SliderItem/SliderField.js +4 -4
- package/lib/components/FormComponents/SliderItem/SliderField.js.map +1 -1
- package/lib/components/FormComponents/SliderItem/SliderItem.js +10 -8
- package/lib/components/FormComponents/SliderItem/SliderItem.js.map +1 -1
- package/lib/components/FormComponents/StringItem/StringField.d.ts +2 -3
- package/lib/components/FormComponents/StringItem/StringField.js +22 -6
- package/lib/components/FormComponents/StringItem/StringField.js.map +1 -1
- package/lib/components/FormComponents/StringItem/StringItem.d.ts +2 -7
- package/lib/components/FormComponents/StringItem/StringItem.js +19 -55
- package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -1
- package/lib/components/FormComponents/Tables/GroupTable.d.ts +2 -2
- package/lib/components/FormComponents/Tables/GroupTable.js +33 -37
- package/lib/components/FormComponents/Tables/GroupTable.js.map +1 -1
- package/lib/components/FormComponents/Tables/GroupTableBody.d.ts +7 -4
- package/lib/components/FormComponents/Tables/GroupTableBody.js +4 -5
- package/lib/components/FormComponents/Tables/GroupTableBody.js.map +1 -1
- package/lib/components/FormComponents/Tables/GroupTableRow.d.ts +7 -4
- package/lib/components/FormComponents/Tables/GroupTableRow.js +3 -3
- package/lib/components/FormComponents/Tables/GroupTableRow.js.map +1 -1
- package/lib/components/FormComponents/Tables/GroupTableRowCells.d.ts +6 -2
- package/lib/components/FormComponents/Tables/GroupTableRowCells.js +5 -6
- package/lib/components/FormComponents/Tables/GroupTableRowCells.js.map +1 -1
- package/lib/components/FormComponents/Tables/GroupTableView.d.ts +7 -4
- package/lib/components/FormComponents/Tables/GroupTableView.js +8 -9
- package/lib/components/FormComponents/Tables/GroupTableView.js.map +1 -1
- package/lib/components/FormComponents/Tables/SelectRowButton.js +3 -4
- package/lib/components/FormComponents/Tables/SelectRowButton.js.map +1 -1
- package/lib/components/FormComponents/Tables/Table.styles.d.ts +2 -2
- package/lib/components/FormComponents/Tables/Table.styles.js +25 -20
- package/lib/components/FormComponents/Tables/Table.styles.js.map +1 -1
- package/lib/components/FormComponents/TextItem/TextField.d.ts +0 -1
- package/lib/components/FormComponents/TextItem/TextField.js +4 -4
- package/lib/components/FormComponents/TextItem/TextField.js.map +1 -1
- package/lib/components/FormComponents/TextItem/TextItem.js +14 -34
- package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -1
- package/lib/components/FormComponents/Textfield.styles.js +1 -1
- package/lib/components/FormComponents/Textfield.styles.js.map +1 -1
- package/lib/components/FormComponents/TimeItem/TimeField.d.ts +2 -2
- package/lib/components/FormComponents/TimeItem/TimeField.js +3 -2
- package/lib/components/FormComponents/TimeItem/TimeField.js.map +1 -1
- package/lib/components/FormComponents/TimeItem/TimeItem.js +8 -6
- package/lib/components/FormComponents/TimeItem/TimeItem.js.map +1 -1
- package/lib/components/FormComponents/UrlItem/UrlField.d.ts +2 -3
- package/lib/components/FormComponents/UrlItem/UrlField.js +5 -5
- package/lib/components/FormComponents/UrlItem/UrlField.js.map +1 -1
- package/lib/components/FormComponents/UrlItem/UrlItem.js +8 -17
- package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -1
- package/lib/components/Radio.styles.js +21 -19
- package/lib/components/Radio.styles.js.map +1 -1
- package/lib/components/Renderer/BaseRenderer.js +11 -15
- package/lib/components/Renderer/BaseRenderer.js.map +1 -1
- package/lib/components/Renderer/FormBodyCollapsible.d.ts +2 -2
- package/lib/components/Renderer/FormBodyCollapsible.js +5 -6
- package/lib/components/Renderer/FormBodyCollapsible.js.map +1 -1
- package/lib/components/Renderer/FormBodyPageContainer.d.ts +2 -2
- package/lib/components/Renderer/FormBodyPageContainer.js +7 -9
- package/lib/components/Renderer/FormBodyPageContainer.js.map +1 -1
- package/lib/components/Renderer/FormBodyPaginated.d.ts +2 -2
- package/lib/components/Renderer/FormBodyPaginated.js +11 -15
- package/lib/components/Renderer/FormBodyPaginated.js.map +1 -1
- package/lib/components/Renderer/FormBodySingleCollapsible.js +1 -2
- package/lib/components/Renderer/FormBodySingleCollapsible.js.map +1 -1
- package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.d.ts +2 -2
- package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js +2 -2
- package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js.map +1 -1
- package/lib/components/Renderer/FormBodyTabbed.d.ts +2 -2
- package/lib/components/Renderer/FormBodyTabbed.js +13 -15
- package/lib/components/Renderer/FormBodyTabbed.js.map +1 -1
- package/lib/components/Renderer/FormTopLevelItem.d.ts +2 -2
- package/lib/components/Renderer/FormTopLevelItem.js +12 -12
- package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
- package/lib/components/Renderer/SmartFormsRenderer.d.ts +4 -2
- package/lib/components/Renderer/SmartFormsRenderer.js +4 -2
- package/lib/components/Renderer/SmartFormsRenderer.js.map +1 -1
- package/lib/components/Tabs/FormBodySingleTab.d.ts +1 -0
- package/lib/components/Tabs/FormBodySingleTab.js +5 -2
- package/lib/components/Tabs/FormBodySingleTab.js.map +1 -1
- package/lib/components/Tabs/FormBodyTabList.js +2 -3
- package/lib/components/Tabs/FormBodyTabList.js.map +1 -1
- package/lib/hooks/index.d.ts +0 -2
- package/lib/hooks/index.js +1 -3
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useAnswerOptionsToggleExpressions.js +6 -8
- package/lib/hooks/useAnswerOptionsToggleExpressions.js.map +1 -1
- package/lib/hooks/useAttachmentUrlValidation.js +1 -1
- package/lib/hooks/useAttachmentUrlValidation.js.map +1 -1
- package/lib/hooks/useBuildForm.d.ts +13 -15
- package/lib/hooks/useBuildForm.js +26 -22
- package/lib/hooks/useBuildForm.js.map +1 -1
- package/lib/hooks/useCalculatedExpressionUpdated.d.ts +7 -0
- package/lib/hooks/useCalculatedExpressionUpdated.js +31 -0
- package/lib/hooks/useCalculatedExpressionUpdated.js.map +1 -0
- package/lib/hooks/useCodingCalculatedExpression.d.ts +0 -13
- package/lib/hooks/useCodingCalculatedExpression.js +1 -74
- package/lib/hooks/useCodingCalculatedExpression.js.map +1 -1
- package/lib/hooks/useDateCalculatedExpression.d.ts +0 -12
- package/lib/hooks/useDateCalculatedExpression.js +1 -58
- package/lib/hooks/useDateCalculatedExpression.js.map +1 -1
- package/lib/hooks/useDateTimeCalculatedExpression.d.ts +0 -12
- package/lib/hooks/useDateTimeCalculatedExpression.js +1 -58
- package/lib/hooks/useDateTimeCalculatedExpression.js.map +1 -1
- package/lib/hooks/useDisplayCqfAndCalculatedExpression.d.ts +13 -1
- package/lib/hooks/useDisplayCqfAndCalculatedExpression.js +14 -4
- package/lib/hooks/useDisplayCqfAndCalculatedExpression.js.map +1 -1
- package/lib/hooks/useDynamicValueSetEffect.js +6 -16
- package/lib/hooks/useDynamicValueSetEffect.js.map +1 -1
- package/lib/hooks/useHidden.js +2 -2
- package/lib/hooks/useHidden.js.map +1 -1
- package/lib/hooks/useInitialiseForm.d.ts +3 -2
- package/lib/hooks/useInitialiseForm.js +10 -3
- package/lib/hooks/useInitialiseForm.js.map +1 -1
- package/lib/hooks/useInitialiseRepeatAnswers.js +5 -5
- package/lib/hooks/useInitialiseRepeatAnswers.js.map +1 -1
- package/lib/hooks/useParseXhtml.js +2 -2
- package/lib/hooks/useParseXhtml.js.map +1 -1
- package/lib/hooks/useReadOnly.js +2 -2
- package/lib/hooks/useReadOnly.js.map +1 -1
- package/lib/hooks/useRenderingExtensions.js +11 -14
- package/lib/hooks/useRenderingExtensions.js.map +1 -1
- package/lib/hooks/useResizeColumns.d.ts +8 -0
- package/lib/hooks/useResizeColumns.js +46 -0
- package/lib/hooks/useResizeColumns.js.map +1 -0
- package/lib/hooks/useSliderExtensions.js +5 -6
- package/lib/hooks/useSliderExtensions.js.map +1 -1
- package/lib/hooks/useTerminologyServerQuery.js +2 -3
- package/lib/hooks/useTerminologyServerQuery.js.map +1 -1
- package/lib/hooks/useValidationFeedback.js +2 -3
- package/lib/hooks/useValidationFeedback.js.map +1 -1
- package/lib/hooks/useValueSetCodings.js +6 -39
- package/lib/hooks/useValueSetCodings.js.map +1 -1
- package/lib/index.d.ts +5 -7
- package/lib/index.js +3 -4
- package/lib/index.js.map +1 -1
- package/lib/interfaces/calculatedExpression.interface.d.ts +1 -1
- package/lib/interfaces/overrideComponent.interface.d.ts +2 -4
- package/lib/interfaces/renderProps.interface.d.ts +6 -31
- package/lib/interfaces/valueSet.interface.d.ts +2 -2
- package/lib/stores/formUpdateQueueStore.d.ts +6 -13
- package/lib/stores/formUpdateQueueStore.js +9 -24
- package/lib/stores/formUpdateQueueStore.js.map +1 -1
- package/lib/stores/index.d.ts +3 -3
- package/lib/stores/index.js +2 -2
- package/lib/stores/index.js.map +1 -1
- package/lib/stores/questionnaireResponseStore.d.ts +6 -9
- package/lib/stores/questionnaireResponseStore.js +22 -28
- package/lib/stores/questionnaireResponseStore.js.map +1 -1
- package/lib/stores/questionnaireStore.d.ts +39 -35
- package/lib/stores/questionnaireStore.js +136 -141
- package/lib/stores/questionnaireStore.js.map +1 -1
- package/lib/stores/{rendererStylingStore.d.ts → rendererConfigStore.d.ts} +8 -8
- package/lib/stores/rendererConfigStore.js +65 -0
- package/lib/stores/rendererConfigStore.js.map +1 -0
- package/lib/stores/smartConfigStore.d.ts +3 -3
- package/lib/stores/smartConfigStore.js +3 -3
- package/lib/stores/terminologyServerStore.d.ts +2 -2
- package/lib/stores/terminologyServerStore.js +2 -2
- package/lib/stories/storybookWrappers/InitialiseFormWrapperForStorybook.d.ts +1 -1
- package/lib/stories/storybookWrappers/InitialiseFormWrapperForStorybook.js +2 -2
- package/lib/stories/storybookWrappers/InitialiseFormWrapperForStorybook.js.map +1 -1
- package/lib/stories/testUtils.d.ts +23 -0
- package/lib/stories/testUtils.js +249 -0
- package/lib/stories/testUtils.js.map +1 -0
- package/lib/theme/rendererThemeOptions.js +1 -1
- package/lib/theme/rendererThemeOptions.js.map +1 -1
- package/lib/utils/answerOptionsToggleExpressions.d.ts +1 -1
- package/lib/utils/answerOptionsToggleExpressions.js +94 -111
- package/lib/utils/answerOptionsToggleExpressions.js.map +1 -1
- package/lib/utils/calculatedExpression.d.ts +39 -3
- package/lib/utils/calculatedExpression.js +426 -191
- package/lib/utils/calculatedExpression.js.map +1 -1
- package/lib/utils/choice.js +14 -11
- package/lib/utils/choice.js.map +1 -1
- package/lib/utils/columnWidth.d.ts +28 -0
- package/lib/utils/columnWidth.js +103 -0
- package/lib/utils/columnWidth.js.map +1 -0
- package/lib/utils/computedUpdates.js +14 -12
- package/lib/utils/computedUpdates.js.map +1 -1
- package/lib/utils/enableWhen.js +6 -8
- package/lib/utils/enableWhen.js.map +1 -1
- package/lib/utils/enableWhenExpression.d.ts +1 -1
- package/lib/utils/enableWhenExpression.js +143 -163
- package/lib/utils/enableWhenExpression.js.map +1 -1
- package/lib/utils/extensions.d.ts +9 -0
- package/lib/utils/extensions.js +77 -74
- package/lib/utils/extensions.js.map +1 -1
- package/lib/utils/extractObservation.js +37 -28
- package/lib/utils/extractObservation.js.map +1 -1
- package/lib/utils/fhirpath.d.ts +27 -21
- package/lib/utils/fhirpath.js +191 -171
- package/lib/utils/fhirpath.js.map +1 -1
- package/lib/utils/fileUtils.js +21 -32
- package/lib/utils/fileUtils.js.map +1 -1
- package/lib/utils/genericRecursive.js +4 -6
- package/lib/utils/genericRecursive.js.map +1 -1
- package/lib/utils/getExpressionsFromItem.js +59 -66
- package/lib/utils/getExpressionsFromItem.js.map +1 -1
- package/lib/utils/index.d.ts +2 -1
- package/lib/utils/index.js +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/initialise.js +88 -101
- package/lib/utils/initialise.js.map +1 -1
- package/lib/utils/inputSanitization.js +6 -6
- package/lib/utils/inputSanitization.js.map +1 -1
- package/lib/utils/itemPath.d.ts +2 -2
- package/lib/utils/manageForm.d.ts +87 -9
- package/lib/utils/manageForm.js +79 -54
- package/lib/utils/manageForm.js.map +1 -1
- package/lib/utils/misc.js +9 -9
- package/lib/utils/misc.js.map +1 -1
- package/lib/utils/openChoice.js +25 -23
- package/lib/utils/openChoice.js.map +1 -1
- package/lib/utils/page.js +3 -4
- package/lib/utils/page.js.map +1 -1
- package/lib/utils/parameterisedValueSets.d.ts +1 -1
- package/lib/utils/parameterisedValueSets.js +110 -124
- package/lib/utils/parameterisedValueSets.js.map +1 -1
- package/lib/utils/populateContexts.js +4 -5
- package/lib/utils/populateContexts.js.map +1 -1
- package/lib/utils/qItem.js +9 -21
- package/lib/utils/qItem.js.map +1 -1
- package/lib/utils/qrItem.js +2 -3
- package/lib/utils/qrItem.js.map +1 -1
- package/lib/utils/quantity.js +8 -9
- package/lib/utils/quantity.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/addDisplayToCodings.js +93 -111
- package/lib/utils/questionnaireStoreUtils/addDisplayToCodings.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/createQuestionnaireModel.js +53 -64
- package/lib/utils/questionnaireStoreUtils/createQuestionnaireModel.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js +3 -5
- package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractLaunchContext.js +1 -2
- package/lib/utils/questionnaireStoreUtils/extractLaunchContext.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js +200 -212
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractTabs.js +1 -1
- package/lib/utils/questionnaireStoreUtils/extractTabs.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractTargetConstraint.js +8 -9
- package/lib/utils/questionnaireStoreUtils/extractTargetConstraint.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractVariables.js +4 -10
- package/lib/utils/questionnaireStoreUtils/extractVariables.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/resolveValueSets.js +28 -37
- package/lib/utils/questionnaireStoreUtils/resolveValueSets.js.map +1 -1
- package/lib/utils/readValues.js +7 -7
- package/lib/utils/readValues.js.map +1 -1
- package/lib/utils/removeEmptyAnswers.js +11 -9
- package/lib/utils/removeEmptyAnswers.js.map +1 -1
- package/lib/utils/removeRepeatId.js +17 -22
- package/lib/utils/removeRepeatId.js.map +1 -1
- package/lib/utils/repopulateIntoResponse.js +7 -5
- package/lib/utils/repopulateIntoResponse.js.map +1 -1
- package/lib/utils/repopulateItems.js +6 -11
- package/lib/utils/repopulateItems.js.map +1 -1
- package/lib/utils/slider.js +3 -6
- package/lib/utils/slider.js.map +1 -1
- package/lib/utils/tabs.js +3 -5
- package/lib/utils/tabs.js.map +1 -1
- package/lib/utils/targetConstraint.d.ts +1 -1
- package/lib/utils/targetConstraint.js +85 -102
- package/lib/utils/targetConstraint.js.map +1 -1
- package/lib/utils/ucumQuantityConversion.d.ts +44 -0
- package/lib/utils/ucumQuantityConversion.js +132 -0
- package/lib/utils/ucumQuantityConversion.js.map +1 -0
- package/lib/utils/validate.js +35 -35
- package/lib/utils/validate.js.map +1 -1
- package/lib/utils/valueSet.d.ts +10 -1
- package/lib/utils/valueSet.js +67 -55
- package/lib/utils/valueSet.js.map +1 -1
- package/package.json +19 -19
- package/src/components/ExpressionUpdateFadingGlow.styles.ts +3 -3
- package/src/components/FormComponents/AttachmentItem/AttachmentField.tsx +5 -5
- package/src/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.tsx +3 -2
- package/src/components/FormComponents/AttachmentItem/AttachmentFileCollector.tsx +2 -2
- package/src/components/FormComponents/AttachmentItem/AttachmentFileDropBox.tsx +5 -5
- package/src/components/FormComponents/AttachmentItem/AttachmentUrlField.tsx +5 -5
- package/src/components/FormComponents/BooleanItem/BooleanField.tsx +4 -4
- package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +7 -26
- package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx +5 -5
- package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +15 -31
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.tsx +0 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +12 -32
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.tsx +3 -4
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +14 -34
- package/src/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.tsx +19 -43
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx +0 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +14 -59
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.tsx +4 -4
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx +2 -3
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +14 -52
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx +2 -2
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +8 -8
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +12 -59
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.tsx +8 -7
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx +12 -11
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx +11 -55
- package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.tsx +6 -11
- package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.tsx +11 -44
- package/src/components/FormComponents/DateTimeItems/CustomDateItem/DatePickerButton.tsx +2 -2
- package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.tsx +21 -76
- package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.tsx +11 -15
- package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/DateTimeField.tsx +6 -14
- package/src/components/FormComponents/DecimalItem/DecimalField.tsx +7 -10
- package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +20 -65
- package/src/components/FormComponents/DisplayItem/DisplayItem.tsx +1 -0
- package/src/components/FormComponents/GridGroup/GridGroup.tsx +45 -29
- package/src/components/FormComponents/GridGroup/GridRow.tsx +13 -15
- package/src/components/FormComponents/GridGroup/GridTable.tsx +6 -7
- package/src/components/FormComponents/GroupItem/GroupHeading.tsx +2 -2
- package/src/components/FormComponents/GroupItem/GroupItem.tsx +4 -9
- package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +0 -13
- package/src/components/FormComponents/GroupItem/GroupItemView.tsx +1 -7
- package/src/components/FormComponents/GroupItem/PageButtonWrapper.tsx +2 -2
- package/src/components/FormComponents/GroupItem/TabButtonsWrapper.tsx +2 -2
- package/src/components/FormComponents/IntegerItem/IntegerField.tsx +7 -10
- package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +18 -57
- package/src/components/FormComponents/ItemParts/CheckboxFormGroup.tsx +8 -8
- package/src/components/FormComponents/ItemParts/CheckboxSingle.tsx +2 -2
- package/src/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.tsx +2 -2
- package/src/components/FormComponents/ItemParts/ClearInputButton.tsx +17 -16
- package/src/components/FormComponents/ItemParts/DisplayUnitText.tsx +2 -2
- package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +2 -2
- package/src/components/FormComponents/ItemParts/ItemLabel.tsx +3 -6
- package/src/components/FormComponents/ItemParts/ItemRepopulateButton.tsx +1 -8
- package/src/components/FormComponents/ItemParts/ItemTextSwitcher.tsx +9 -4
- package/src/components/FormComponents/ItemParts/OpenLabelField.tsx +3 -3
- package/src/components/FormComponents/ItemParts/RadioFormGroup.tsx +9 -9
- package/src/components/FormComponents/ItemParts/RequiredAsterisk.tsx +3 -3
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx +5 -5
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +40 -40
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.tsx +1 -2
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +19 -37
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetFields.tsx +4 -5
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.tsx +24 -38
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.tsx +22 -46
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.tsx +0 -1
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +22 -33
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.tsx +3 -4
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.tsx +27 -36
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.tsx +5 -5
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx +10 -33
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.tsx +5 -5
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +11 -30
- package/src/components/FormComponents/QuantityItem/QuantityComparatorField.tsx +6 -6
- package/src/components/FormComponents/QuantityItem/QuantityField.tsx +7 -10
- package/src/components/FormComponents/QuantityItem/QuantityItem.tsx +15 -105
- package/src/components/FormComponents/QuantityItem/QuantityUnitField.tsx +11 -6
- package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +8 -21
- package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +0 -4
- package/src/components/FormComponents/RepeatGroup/RepeatGroupView.tsx +5 -19
- package/src/components/FormComponents/RepeatItem/RepeatField.tsx +0 -4
- package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +9 -27
- package/src/components/FormComponents/SingleItem/SingleItem.tsx +7 -12
- package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +56 -36
- package/src/components/FormComponents/SingleItem/SingleItemView.tsx +3 -15
- package/src/components/FormComponents/SingleItem/SingleNestedItems.tsx +5 -10
- package/src/components/FormComponents/SliderItem/SliderField.tsx +5 -5
- package/src/components/FormComponents/SliderItem/SliderItem.tsx +1 -0
- package/src/components/FormComponents/StringItem/StringField.tsx +7 -10
- package/src/components/FormComponents/StringItem/StringItem.tsx +19 -79
- package/src/components/FormComponents/Tables/GroupTable.tsx +69 -45
- package/src/components/FormComponents/Tables/GroupTableBody.tsx +7 -16
- package/src/components/FormComponents/Tables/GroupTableRow.tsx +7 -17
- package/src/components/FormComponents/Tables/GroupTableRowCells.tsx +5 -12
- package/src/components/FormComponents/Tables/GroupTableView.tsx +9 -13
- package/src/components/FormComponents/Tables/SelectRowButton.tsx +2 -2
- package/src/components/FormComponents/Tables/Table.styles.tsx +13 -8
- package/src/components/FormComponents/TextItem/TextField.tsx +3 -6
- package/src/components/FormComponents/TextItem/TextItem.tsx +11 -50
- package/src/components/FormComponents/Textfield.styles.ts +1 -1
- package/src/components/FormComponents/TimeItem/TimeField.tsx +5 -4
- package/src/components/FormComponents/TimeItem/TimeItem.tsx +6 -2
- package/src/components/FormComponents/UrlItem/UrlField.tsx +6 -9
- package/src/components/FormComponents/UrlItem/UrlItem.tsx +4 -19
- package/src/components/Renderer/BaseRenderer.tsx +18 -26
- package/src/components/Renderer/FormBodyCollapsible.tsx +3 -8
- package/src/components/Renderer/FormBodyPageContainer.tsx +3 -8
- package/src/components/Renderer/FormBodyPaginated.tsx +3 -11
- package/src/components/Renderer/FormBodySingleCollapsibleWrapper.tsx +2 -13
- package/src/components/Renderer/FormBodyTabbed.tsx +5 -10
- package/src/components/Renderer/FormTopLevelItem.tsx +3 -14
- package/src/components/Renderer/SmartFormsRenderer.tsx +4 -2
- package/src/components/Tabs/FormBodySingleTab.tsx +9 -2
- package/src/components/Tabs/FormBodyTabList.tsx +1 -0
- package/src/hooks/index.ts +1 -6
- package/src/hooks/useBuildForm.ts +31 -39
- package/src/hooks/useCalculatedExpressionUpdated.ts +39 -0
- package/src/hooks/useCodingCalculatedExpression.ts +0 -110
- package/src/hooks/useDateCalculatedExpression.ts +0 -90
- package/src/hooks/useDateTimeCalculatedExpression.ts +0 -90
- package/src/hooks/useDisplayCqfAndCalculatedExpression.ts +18 -2
- package/src/hooks/useHidden.ts +2 -2
- package/src/hooks/useInitialiseForm.ts +6 -5
- package/src/hooks/useReadOnly.ts +2 -2
- package/src/hooks/useResizeColumns.ts +53 -0
- package/src/hooks/useValueSetCodings.ts +5 -27
- package/src/index.ts +6 -12
- package/src/interfaces/calculatedExpression.interface.ts +1 -1
- package/src/interfaces/overrideComponent.interface.ts +2 -4
- package/src/interfaces/renderProps.interface.ts +8 -34
- package/src/interfaces/valueSet.interface.ts +2 -2
- package/src/stores/formUpdateQueueStore.ts +13 -29
- package/src/stores/index.ts +3 -3
- package/src/stores/questionnaireResponseStore.ts +28 -37
- package/src/stores/questionnaireStore.ts +230 -199
- package/src/stores/{rendererStylingStore.ts → rendererConfigStore.ts} +8 -8
- package/src/stores/smartConfigStore.ts +3 -3
- package/src/stores/terminologyServerStore.ts +2 -2
- package/src/theme/rendererThemeOptions.ts +1 -1
- package/src/utils/answerOptionsToggleExpressions.ts +12 -9
- package/src/utils/calculatedExpression.ts +466 -97
- package/src/utils/columnWidth.test.ts +75 -0
- package/src/utils/columnWidth.ts +110 -0
- package/src/utils/enableWhenExpression.ts +10 -6
- package/src/utils/extensions.ts +30 -0
- package/src/utils/extractObservation.ts +2 -1
- package/src/utils/fhirpath.ts +140 -115
- package/src/utils/getExpressionsFromItem.ts +33 -2
- package/src/utils/index.ts +2 -0
- package/src/utils/inputSanitization.ts +6 -6
- package/src/utils/manageForm.ts +148 -24
- package/src/utils/parameterisedValueSets.ts +20 -9
- package/src/utils/targetConstraint.ts +12 -9
- package/src/utils/ucumQuantityConversion.ts +195 -0
- package/src/utils/validate.ts +8 -3
- package/src/utils/valueSet.ts +44 -1
- package/src/vite-env.d.ts +2 -1
- package/tsconfig.json +2 -2
- package/vite.config.ts +5 -1
- package/lib/api/callbacks.d.ts +0 -8
- package/lib/api/callbacks.js +0 -52
- package/lib/api/callbacks.js.map +0 -1
- package/lib/api/xFhirQuerySync.d.ts +0 -1
- package/lib/api/xFhirQuerySync.js +0 -61
- package/lib/api/xFhirQuerySync.js.map +0 -1
- package/lib/components/ExpressionUpdateFadingGlow.d.ts +0 -0
- package/lib/components/ExpressionUpdateFadingGlow.js +0 -2
- package/lib/components/ExpressionUpdateFadingGlow.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingGlow.d.ts +0 -0
- package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingGlow.js +0 -2
- package/lib/components/FormComponents/ItemParts/ExpressionUpdateFadingGlow.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/FadingCheckIcon.d.ts +0 -7
- package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js +0 -26
- package/lib/components/FormComponents/ItemParts/FadingCheckIcon.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/FadingGlowExpressionUpdate.d.ts +0 -0
- package/lib/components/FormComponents/ItemParts/FadingGlowExpressionUpdate.js +0 -2
- package/lib/components/FormComponents/ItemParts/FadingGlowExpressionUpdate.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/GranularRepopulateButton.d.ts +0 -8
- package/lib/components/FormComponents/ItemParts/GranularRepopulateButton.js +0 -130
- package/lib/components/FormComponents/ItemParts/GranularRepopulateButton.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButton.d.ts +0 -8
- package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButton.js +0 -126
- package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButton.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButtonStates.d.ts +0 -8
- package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButtonStates.js +0 -118
- package/lib/components/FormComponents/ItemParts/GranularRepopulateSyncButtonStates.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/ItemLabelText.d.ts +0 -8
- package/lib/components/FormComponents/ItemParts/ItemLabelText.js +0 -63
- package/lib/components/FormComponents/ItemParts/ItemLabelText.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.d.ts +0 -8
- package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +0 -53
- package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/SrOnlyCheckboxLabel.d.ts +0 -0
- package/lib/components/FormComponents/ItemParts/SrOnlyCheckboxLabel.js +0 -2
- package/lib/components/FormComponents/ItemParts/SrOnlyCheckboxLabel.js.map +0 -1
- package/lib/components/FormComponents/ItemParts/TempCalculatedExpressionSyncButton.d.ts +0 -7
- package/lib/components/FormComponents/ItemParts/TempCalculatedExpressionSyncButton.js +0 -95
- package/lib/components/FormComponents/ItemParts/TempCalculatedExpressionSyncButton.js.map +0 -1
- package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.d.ts +0 -10
- package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js +0 -30
- package/lib/components/FormComponents/RepeatGroup/DeleteItemButton.js.map +0 -1
- package/lib/components/FormComponents/Tables/GroupTableRowCell.d.ts +0 -9
- package/lib/components/FormComponents/Tables/GroupTableRowCell.js +0 -15
- package/lib/components/FormComponents/Tables/GroupTableRowCell.js.map +0 -1
- package/lib/components/Iconify/Iconify.d.ts +0 -10
- package/lib/components/Iconify/Iconify.js +0 -26
- package/lib/components/Iconify/Iconify.js.map +0 -1
- package/lib/components/Renderer/FormBodyPage.d.ts +0 -9
- package/lib/components/Renderer/FormBodyPage.js +0 -43
- package/lib/components/Renderer/FormBodyPage.js.map +0 -1
- package/lib/components/Renderer/FormTitle.d.ts +0 -7
- package/lib/components/Renderer/FormTitle.js +0 -30
- package/lib/components/Renderer/FormTitle.js.map +0 -1
- package/lib/components/Renderer/FormTopLevelPage.d.ts +0 -9
- package/lib/components/Renderer/FormTopLevelPage.js +0 -29
- package/lib/components/Renderer/FormTopLevelPage.js.map +0 -1
- package/lib/hooks/useBooleanCalculatedExpression.d.ts +0 -12
- package/lib/hooks/useBooleanCalculatedExpression.js +0 -53
- package/lib/hooks/useBooleanCalculatedExpression.js.map +0 -1
- package/lib/hooks/useCalculatedExpressionAnimating.d.ts +0 -1
- package/lib/hooks/useCalculatedExpressionAnimating.js +0 -18
- package/lib/hooks/useCalculatedExpressionAnimating.js.map +0 -1
- package/lib/hooks/useCalculatedExpressionAnimation.d.ts +0 -1
- package/lib/hooks/useCalculatedExpressionAnimation.js +0 -18
- package/lib/hooks/useCalculatedExpressionAnimation.js.map +0 -1
- package/lib/hooks/useCqfAnswerValueSet.d.ts +0 -4
- package/lib/hooks/useCqfAnswerValueSet.js +0 -86
- package/lib/hooks/useCqfAnswerValueSet.js.map +0 -1
- package/lib/hooks/useCqfAnswerValueSetEffect.d.ts +0 -3
- package/lib/hooks/useCqfAnswerValueSetEffect.js +0 -111
- package/lib/hooks/useCqfAnswerValueSetEffect.js.map +0 -1
- package/lib/hooks/useDecimalCalculatedExpression.d.ts +0 -13
- package/lib/hooks/useDecimalCalculatedExpression.js +0 -64
- package/lib/hooks/useDecimalCalculatedExpression.js.map +0 -1
- package/lib/hooks/useIntegerCalculatedExpression.d.ts +0 -12
- package/lib/hooks/useIntegerCalculatedExpression.js +0 -61
- package/lib/hooks/useIntegerCalculatedExpression.js.map +0 -1
- package/lib/hooks/useQuantityCalculatedExpression.d.ts +0 -14
- package/lib/hooks/useQuantityCalculatedExpression.js +0 -115
- package/lib/hooks/useQuantityCalculatedExpression.js.map +0 -1
- package/lib/hooks/useShowDateTimeFeedback.d.ts +0 -13
- package/lib/hooks/useShowDateTimeFeedback.js +0 -40
- package/lib/hooks/useShowDateTimeFeedback.js.map +0 -1
- package/lib/hooks/useShowFeedback.d.ts +0 -11
- package/lib/hooks/useShowFeedback.js +0 -33
- package/lib/hooks/useShowFeedback.js.map +0 -1
- package/lib/hooks/useStringCalculatedExpression.d.ts +0 -12
- package/lib/hooks/useStringCalculatedExpression.js +0 -63
- package/lib/hooks/useStringCalculatedExpression.js.map +0 -1
- package/lib/hooks/useTempCalculatedExpressionsSyncButton.d.ts +0 -1
- package/lib/hooks/useTempCalculatedExpressionsSyncButton.js +0 -24
- package/lib/hooks/useTempCalculatedExpressionsSyncButton.js.map +0 -1
- package/lib/interfaces/fhirPathContext.interface.d.ts +0 -0
- package/lib/interfaces/fhirPathContext.interface.js +0 -2
- package/lib/interfaces/fhirPathContext.interface.js.map +0 -1
- package/lib/interfaces/itemDetails.interface.d.ts +0 -2
- package/lib/interfaces/itemDetails.interface.js +0 -2
- package/lib/interfaces/itemDetails.interface.js.map +0 -1
- package/lib/interfaces/itemMetadata.d.ts +0 -0
- package/lib/interfaces/itemMetadata.interface.d.ts +0 -6
- package/lib/interfaces/itemMetadata.interface.js +0 -2
- package/lib/interfaces/itemMetadata.interface.js.map +0 -1
- package/lib/interfaces/itemMetadata.js +0 -2
- package/lib/interfaces/itemMetadata.js.map +0 -1
- package/lib/interfaces/itemPath.d.ts +0 -31
- package/lib/interfaces/itemPath.js +0 -2
- package/lib/interfaces/itemPath.js.map +0 -1
- package/lib/stores/callbackStore.d.ts +0 -0
- package/lib/stores/callbackStore.js +0 -2
- package/lib/stores/callbackStore.js.map +0 -1
- package/lib/stores/extractOperationStore.d.ts +0 -26
- package/lib/stores/extractOperationStore.js +0 -20
- package/lib/stores/extractOperationStore.js.map +0 -1
- package/lib/stores/rendererStylingStore.js +0 -68
- package/lib/stores/rendererStylingStore.js.map +0 -1
- package/lib/stories/storybookWrappers/populateCallbackForStorybook.d.ts +0 -8
- package/lib/stories/storybookWrappers/populateCallbackForStorybook.js +0 -52
- package/lib/stories/storybookWrappers/populateCallbackForStorybook.js.map +0 -1
- package/lib/templates/bloodPressureTemplate.d.ts +0 -23
- package/lib/templates/bloodPressureTemplate.js +0 -80
- package/lib/templates/bloodPressureTemplate.js.map +0 -1
- package/lib/theme/RendererDynamicThemeProvider.d.ts +0 -24
- package/lib/theme/RendererDynamicThemeProvider.js +0 -65
- package/lib/theme/RendererDynamicThemeProvider.js.map +0 -1
- package/lib/theme/RendererThemeToggle.d.ts +0 -6
- package/lib/theme/RendererThemeToggle.js +0 -45
- package/lib/theme/RendererThemeToggle.js.map +0 -1
- package/lib/theme/Theme.d.ts +0 -44
- package/lib/theme/Theme.js +0 -43
- package/lib/theme/Theme.js.map +0 -1
- package/lib/theme/customGlobalStyles.d.ts +0 -1
- package/lib/theme/customGlobalStyles.js +0 -45
- package/lib/theme/customGlobalStyles.js.map +0 -1
- package/lib/theme/overrides/Accordion.d.ts +0 -14
- package/lib/theme/overrides/Accordion.js +0 -32
- package/lib/theme/overrides/Accordion.js.map +0 -1
- package/lib/theme/overrides/Autocomplete.d.ts +0 -10
- package/lib/theme/overrides/Autocomplete.js +0 -28
- package/lib/theme/overrides/Autocomplete.js.map +0 -1
- package/lib/theme/overrides/Button.d.ts +0 -33
- package/lib/theme/overrides/Button.js +0 -52
- package/lib/theme/overrides/Button.js.map +0 -1
- package/lib/theme/overrides/Card.d.ts +0 -35
- package/lib/theme/overrides/Card.js +0 -49
- package/lib/theme/overrides/Card.js.map +0 -1
- package/lib/theme/overrides/Input.d.ts +0 -64
- package/lib/theme/overrides/Input.js +0 -81
- package/lib/theme/overrides/Input.js.map +0 -1
- package/lib/theme/overrides/Overrides.d.ts +0 -3
- package/lib/theme/overrides/Overrides.js +0 -29
- package/lib/theme/overrides/Overrides.js.map +0 -1
- package/lib/theme/overrides/Paper.d.ts +0 -12
- package/lib/theme/overrides/Paper.js +0 -31
- package/lib/theme/overrides/Paper.js.map +0 -1
- package/lib/theme/overrides/SpeedDial.d.ts +0 -16
- package/lib/theme/overrides/SpeedDial.js +0 -34
- package/lib/theme/overrides/SpeedDial.js.map +0 -1
- package/lib/theme/overrides/Table.d.ts +0 -12
- package/lib/theme/overrides/Table.js +0 -30
- package/lib/theme/overrides/Table.js.map +0 -1
- package/lib/theme/overrides/rendererThemeComponentOverride.d.ts +0 -2
- package/lib/theme/overrides/rendererThemeComponentOverride.js +0 -28
- package/lib/theme/overrides/rendererThemeComponentOverride.js.map +0 -1
- package/lib/theme/overrides/rendererThemeComponentsOverride.d.ts +0 -2
- package/lib/theme/overrides/rendererThemeComponentsOverride.js +0 -28
- package/lib/theme/overrides/rendererThemeComponentsOverride.js.map +0 -1
- package/lib/theme/overrides/rendererThemeComponentsOverrides.d.ts +0 -2
- package/lib/theme/overrides/rendererThemeComponentsOverrides.js +0 -28
- package/lib/theme/overrides/rendererThemeComponentsOverrides.js.map +0 -1
- package/lib/theme/palette.d.ts +0 -27
- package/lib/theme/palette.js +0 -63
- package/lib/theme/palette.js.map +0 -1
- package/lib/theme/shadows.d.ts +0 -2
- package/lib/theme/shadows.js +0 -52
- package/lib/theme/shadows.js.map +0 -1
- package/lib/theme/themeOptions.d.ts +0 -2
- package/lib/theme/themeOptions.js +0 -85
- package/lib/theme/themeOptions.js.map +0 -1
- package/lib/theme/useRendererTheme.d.ts +0 -5
- package/lib/theme/useRendererTheme.js +0 -30
- package/lib/theme/useRendererTheme.js.map +0 -1
- package/lib/utils/FhirPathEvaluateParams.d.ts +0 -20
- package/lib/utils/FhirPathEvaluateParams.js +0 -35
- package/lib/utils/FhirPathEvaluateParams.js.map +0 -1
- package/lib/utils/dayjsExtend.d.ts +0 -1
- package/lib/utils/dayjsExtend.js +0 -22
- package/lib/utils/dayjsExtend.js.map +0 -1
- package/lib/utils/dayjsSetup.d.ts +0 -2
- package/lib/utils/dayjsSetup.js +0 -23
- package/lib/utils/dayjsSetup.js.map +0 -1
- package/lib/utils/extractTemplate.d.ts +0 -0
- package/lib/utils/extractTemplate.js +0 -1107
- package/lib/utils/extractTemplate.js.map +0 -1
- package/lib/utils/fhirathEvaluate.d.ts +0 -20
- package/lib/utils/fhirathEvaluate.js +0 -35
- package/lib/utils/fhirathEvaluate.js.map +0 -1
- package/lib/utils/fhirpathEvaluate.d.ts +0 -30
- package/lib/utils/fhirpathEvaluate.js +0 -68
- package/lib/utils/fhirpathEvaluate.js.map +0 -1
- package/lib/utils/find_item_no_text.d.ts +0 -1
- package/lib/utils/find_item_no_text.js +0 -65
- package/lib/utils/find_item_no_text.js.map +0 -1
- package/lib/utils/generateId.d.ts +0 -3
- package/lib/utils/generateId.js +0 -28
- package/lib/utils/generateId.js.map +0 -1
- package/lib/utils/granularRepopulateSync.d.ts +0 -1
- package/lib/utils/granularRepopulateSync.js +0 -70
- package/lib/utils/granularRepopulateSync.js.map +0 -1
- package/lib/utils/itemControl.d.ts +0 -103
- package/lib/utils/itemControl.js +0 -350
- package/lib/utils/itemControl.js.map +0 -1
- package/lib/utils/itemText.d.ts +0 -2
- package/lib/utils/itemText.js +0 -12
- package/lib/utils/itemText.js.map +0 -1
- package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.d.ts +0 -2
- package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js +0 -43
- package/lib/utils/questionnaireStoreUtils/addAdditionalVariables.js.map +0 -1
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.d.ts +0 -3
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +0 -114
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +0 -1
- package/lib/utils/questionnaireStoreUtils/itemDetails.d.ts +0 -5
- package/lib/utils/questionnaireStoreUtils/itemDetails.js +0 -2
- package/lib/utils/questionnaireStoreUtils/itemDetails.js.map +0 -1
- package/lib/utils/readItem.d.ts +0 -28
- package/lib/utils/readItem.js +0 -67
- package/lib/utils/readItem.js.map +0 -1
- package/lib/utils/syncInitialExpression.d.ts +0 -23
- package/lib/utils/syncInitialExpression.js +0 -407
- package/lib/utils/syncInitialExpression.js.map +0 -1
- package/lib/utils/templateMatching.d.ts +0 -15
- package/lib/utils/templateMatching.js +0 -56
- package/lib/utils/templateMatching.js.map +0 -1
- package/lib/utils/updateCodingsDynamic.d.ts +0 -1
- package/lib/utils/updateCodingsDynamic.js +0 -54
- package/lib/utils/updateCodingsDynamic.js.map +0 -1
- package/lib/utils/validateQuestionnaire.d.ts +0 -66
- package/lib/utils/validateQuestionnaire.js +0 -559
- package/lib/utils/validateQuestionnaire.js.map +0 -1
- package/src/hooks/useBooleanCalculatedExpression.ts +0 -83
- package/src/hooks/useDecimalCalculatedExpression.ts +0 -103
- package/src/hooks/useIntegerCalculatedExpression.ts +0 -93
- package/src/hooks/useQuantityCalculatedExpression.ts +0 -196
- package/src/hooks/useShowFeedback.ts +0 -36
- package/src/hooks/useStringCalculatedExpression.ts +0 -95
- package/src/interfaces/itemPath.interface.ts +0 -33
- package/src/utils/itemPath.ts +0 -79
- package/src/utils/questionnaireStoreUtils/addAdditionalVariables.ts +0 -52
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import type { Coding, Questionnaire, QuestionnaireItem, QuestionnaireResponse, QuestionnaireResponseItemAnswer } from 'fhir/r4';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { ComponentType } from 'react';
|
|
3
|
+
import type { QItemOverrideComponentProps, SdcUiOverrideComponentProps } from '../interfaces';
|
|
4
|
+
import type { AnswerExpression } from '../interfaces/answerExpression.interface';
|
|
5
|
+
import type { AnswerOptionsToggleExpression } from '../interfaces/answerOptionsToggleExpression.interface';
|
|
4
6
|
import type { CalculatedExpression } from '../interfaces/calculatedExpression.interface';
|
|
5
7
|
import type { EnableWhenExpressions, EnableWhenItems } from '../interfaces/enableWhen.interface';
|
|
6
|
-
import type { AnswerExpression } from '../interfaces/answerExpression.interface';
|
|
7
|
-
import type { Tabs } from '../interfaces/tab.interface';
|
|
8
|
-
import type { Pages } from '../interfaces/page.interface';
|
|
9
8
|
import type { InitialExpression } from '../interfaces/initialExpression.interface';
|
|
10
|
-
import type {
|
|
11
|
-
import type {
|
|
9
|
+
import type { Pages } from '../interfaces/page.interface';
|
|
10
|
+
import type { LaunchContext } from '../interfaces/populate.interface';
|
|
11
|
+
import type { Tabs } from '../interfaces/tab.interface';
|
|
12
12
|
import type { TargetConstraint } from '../interfaces/targetConstraint.interface';
|
|
13
13
|
import type { ProcessedValueSet } from '../interfaces/valueSet.interface';
|
|
14
|
-
import type {
|
|
14
|
+
import type { Variables } from '../interfaces/variables.interface';
|
|
15
15
|
/**
|
|
16
16
|
* QuestionnaireStore properties and methods
|
|
17
17
|
* Properties can be accessed for fine-grain details.
|
|
@@ -26,6 +26,9 @@ import type { AnswerOptionsToggleExpression } from '../interfaces/answerOptionsT
|
|
|
26
26
|
* @property currentPageIndex - Index of the current page
|
|
27
27
|
* @property variables - Questionnaire variables object containing FHIRPath and x-fhir-query variables
|
|
28
28
|
* @property launchContexts - Key-value pair of launch contexts `Record<launch context name, launch context properties>`
|
|
29
|
+
* @property initialExpressions - Key-value pair of initial expressions `Record<linkId, InitialExpression>`
|
|
30
|
+
* @property answerExpressions - Key-value pair of answer expressions `Record<linkId, answer expression properties>`
|
|
31
|
+
* @property calculatedExpressions - Key-value pair of calculated expressions `Record<linkId, array of calculated expression properties>`
|
|
29
32
|
* @property targetConstraints - Key-value pair of target constraints `Record<target constraint key, target constraint properties>`
|
|
30
33
|
* @property targetConstraintLinkIds - Key-value pair of linkIds against target constraint key(s) `Record<linkId, target constraint keys>`
|
|
31
34
|
* @property answerOptionsToggleExpressions - Key-value pair of answer options toggle expressions `Record<linkId, array of answer options toggle expressions>`
|
|
@@ -33,13 +36,11 @@ import type { AnswerOptionsToggleExpression } from '../interfaces/answerOptionsT
|
|
|
33
36
|
* @property enableWhenLinkedQuestions - Key-value pair of linked questions to enableWhen items `Record<linkId, linkIds of linked questions>`
|
|
34
37
|
* @property enableWhenIsActivated - Flag to turn enableWhen checks on/off
|
|
35
38
|
* @property enableWhenExpressions - EnableWhenExpressions object containing enableWhen expressions
|
|
36
|
-
* @property calculatedExpressions - Key-value pair of calculated expressions `Record<linkId, array of calculated expression properties>`
|
|
37
|
-
* @property answerExpressions - Key-value pair of answer expressions `Record<linkId, answer expression properties>`
|
|
38
39
|
* @property processedValueSets - Key-value pair of (pre-)processed value set codings `Record<valueSetUrl, ProcessedValueSet>`
|
|
39
40
|
* @property cachedValueSetCodings - Key-value pair of cached value set codings `Record<valueSetUrl, codings>`
|
|
40
41
|
* @property fhirPathContext - Key-value pair of evaluated FHIRPath values `Record<variable name, evaluated value(s)>`
|
|
41
42
|
* @property fhirPathTerminologyCache - Key-value pair of cached FHIRPath Terminology results `Record<cacheKey, cached terminology result>`
|
|
42
|
-
* @property
|
|
43
|
+
* @property additionalContext - Key-value pair of additional/pre-populated FHIRPath values `Record<variable/launchContext/sourceQueries batch name, evaluated value(s)>`
|
|
43
44
|
* @property qItemOverrideComponents - Key-value pair of React component overrides for Questionnaire Items via linkId `Record<linkId, React component>`
|
|
44
45
|
* @property sdcUiOverrideComponents - Key-value pair of React component overrides for SDC UI Controls https://hl7.org/fhir/extensions/ValueSet-questionnaire-item-control.html `Record<SDC UI code, React component>`
|
|
45
46
|
* @property focusedLinkId - LinkId of the currently focused item
|
|
@@ -50,14 +51,15 @@ import type { AnswerOptionsToggleExpression } from '../interfaces/answerOptionsT
|
|
|
50
51
|
* @property switchPage - Used to switch the current page index
|
|
51
52
|
* @property markTabAsComplete - Used to mark a tab index as complete
|
|
52
53
|
* @property markPageAsComplete - Used to mark a page index as complete
|
|
54
|
+
* @property resetToFirstVisibleTab - Used to reset the current tab to the first visible tab
|
|
55
|
+
* @property resetToFirstVisiblePage - Used to reset the current page to the first visible page
|
|
53
56
|
* @property updateEnableWhenItem - Used to update linked enableWhen items by updating a question with a new answer
|
|
54
57
|
* @property mutateRepeatEnableWhenItems - Used to add or remove instances of repeating enableWhen items
|
|
55
58
|
* @property toggleEnableWhenActivation - Used to toggle enableWhen checks on/off
|
|
56
|
-
* @property updateExpressions - Used to update all SDC expressions based on the updated questionnaire response
|
|
59
|
+
* @property updateExpressions - Used to update all SDC expressions based on the updated questionnaire response, initialUpdate flag is to ensure formChangesHistory is not updated during the first update after form build
|
|
57
60
|
* @property addCodingToCache - Used to add a coding to the cached value set codings
|
|
58
|
-
* @property updatePopulatedProperties - Used to update all SDC expressions based on a pre-populated questionnaire response
|
|
59
61
|
* @property onFocusLinkId - Used to set the focused linkId
|
|
60
|
-
* @property
|
|
62
|
+
* @property setAdditionalContext - Optionally used to set additional context information for FHIRPath eval. Useful to pass pre-populated context into the renderer. If you are rebuilding the form on pre-populate, you don't need to use this. pass `additionalContext` directly into buildForm().
|
|
61
63
|
* @property setFormAsReadOnly - Used to set the form as read-only
|
|
62
64
|
*
|
|
63
65
|
* @author Sean Fong
|
|
@@ -72,45 +74,46 @@ export interface QuestionnaireStoreType {
|
|
|
72
74
|
currentPageIndex: number;
|
|
73
75
|
variables: Variables;
|
|
74
76
|
launchContexts: Record<string, LaunchContext>;
|
|
77
|
+
initialExpressions: Record<string, InitialExpression>;
|
|
78
|
+
answerExpressions: Record<string, AnswerExpression>;
|
|
79
|
+
calculatedExpressions: Record<string, CalculatedExpression[]>;
|
|
75
80
|
targetConstraints: Record<string, TargetConstraint>;
|
|
76
81
|
targetConstraintLinkIds: Record<string, string[]>;
|
|
77
|
-
answerOptionsToggleExpressions: Record<string, AnswerOptionsToggleExpression[]>;
|
|
78
82
|
enableWhenItems: EnableWhenItems;
|
|
79
83
|
enableWhenLinkedQuestions: Record<string, string[]>;
|
|
80
84
|
enableWhenIsActivated: boolean;
|
|
81
85
|
enableWhenExpressions: EnableWhenExpressions;
|
|
82
|
-
|
|
83
|
-
initialExpressions: Record<string, InitialExpression>;
|
|
84
|
-
answerExpressions: Record<string, AnswerExpression>;
|
|
86
|
+
answerOptionsToggleExpressions: Record<string, AnswerOptionsToggleExpression[]>;
|
|
85
87
|
processedValueSets: Record<string, ProcessedValueSet>;
|
|
86
88
|
cachedValueSetCodings: Record<string, Coding[]>;
|
|
87
89
|
fhirPathContext: Record<string, any>;
|
|
88
90
|
fhirPathTerminologyCache: Record<string, any>;
|
|
89
|
-
|
|
91
|
+
additionalContext: Record<string, any>;
|
|
90
92
|
qItemOverrideComponents: Record<string, ComponentType<QItemOverrideComponentProps>>;
|
|
91
93
|
sdcUiOverrideComponents: Record<string, ComponentType<SdcUiOverrideComponentProps>>;
|
|
92
94
|
focusedLinkId: string;
|
|
93
95
|
readOnly: boolean;
|
|
94
|
-
buildSourceQuestionnaire: (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse,
|
|
96
|
+
buildSourceQuestionnaire: (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalContext?: Record<string, any>, terminologyServerUrl?: string, readOnly?: boolean, qItemOverrideComponents?: Record<string, ComponentType<QItemOverrideComponentProps>>, sdcUiOverrideComponents?: Record<string, ComponentType<SdcUiOverrideComponentProps>>) => Promise<void>;
|
|
95
97
|
destroySourceQuestionnaire: () => void;
|
|
96
98
|
switchTab: (newTabIndex: number) => void;
|
|
97
99
|
switchPage: (newPageIndex: number) => void;
|
|
98
100
|
markTabAsComplete: (tabLinkId: string) => void;
|
|
99
101
|
markPageAsComplete: (pageLinkId: string) => void;
|
|
102
|
+
resetToFirstVisibleTab: () => void;
|
|
103
|
+
resetToFirstVisiblePage: () => void;
|
|
100
104
|
updateEnableWhenItem: (linkId: string, newAnswer: QuestionnaireResponseItemAnswer[] | undefined, parentRepeatGroupIndex: number | null) => void;
|
|
101
105
|
mutateRepeatEnableWhenItems: (parentRepeatGroupLinkId: string, parentRepeatGroupIndex: number, actionType: 'add' | 'remove') => void;
|
|
102
106
|
toggleEnableWhenActivation: (isActivated: boolean) => void;
|
|
103
|
-
updateExpressions: (updatedResponse: QuestionnaireResponse) => Promise<void>;
|
|
107
|
+
updateExpressions: (updatedResponse: QuestionnaireResponse, isInitialUpdate: boolean) => Promise<void>;
|
|
104
108
|
addCodingToCache: (valueSetUrl: string, codings: Coding[]) => void;
|
|
105
|
-
updatePopulatedProperties: (populatedResponse: QuestionnaireResponse, populatedContext?: Record<string, any>, persistTabIndex?: boolean) => Promise<QuestionnaireResponse>;
|
|
106
109
|
onFocusLinkId: (linkId: string) => void;
|
|
107
|
-
|
|
110
|
+
setAdditionalContext: (additionalContext: Record<string, any>) => void;
|
|
108
111
|
setFormAsReadOnly: (readOnly: boolean) => void;
|
|
109
112
|
}
|
|
110
113
|
/**
|
|
111
114
|
* Questionnaire state management store which contains all properties and methods to manage the state of the questionnaire.
|
|
112
115
|
* This is the vanilla version of the store which can be used in non-React environments.
|
|
113
|
-
* @see QuestionnaireStoreType for available properties and methods.
|
|
116
|
+
* @see {@link QuestionnaireStoreType} for available properties and methods.
|
|
114
117
|
*
|
|
115
118
|
* @author Sean Fong
|
|
116
119
|
*/
|
|
@@ -118,8 +121,8 @@ export declare const questionnaireStore: import("zustand/vanilla").StoreApi<Ques
|
|
|
118
121
|
/**
|
|
119
122
|
* Questionnaire state management store which contains all properties and methods to manage the state of the questionnaire.
|
|
120
123
|
* This is the React version of the store which can be used as React hooks in React functional components.
|
|
121
|
-
* @see QuestionnaireStoreType for available properties and methods.
|
|
122
|
-
* @see questionnaireStore for the vanilla store.
|
|
124
|
+
* @see {@link QuestionnaireStoreType} for available properties and methods.
|
|
125
|
+
* @see {@link questionnaireStore} for the vanilla store.
|
|
123
126
|
*
|
|
124
127
|
* @author Sean Fong
|
|
125
128
|
*/
|
|
@@ -134,39 +137,40 @@ export declare const useQuestionnaireStore: import("zustand/vanilla").StoreApi<Q
|
|
|
134
137
|
currentPageIndex: () => number;
|
|
135
138
|
variables: () => Variables;
|
|
136
139
|
launchContexts: () => Record<string, LaunchContext>;
|
|
140
|
+
initialExpressions: () => Record<string, InitialExpression>;
|
|
141
|
+
answerExpressions: () => Record<string, AnswerExpression>;
|
|
142
|
+
calculatedExpressions: () => Record<string, CalculatedExpression[]>;
|
|
137
143
|
targetConstraints: () => Record<string, TargetConstraint>;
|
|
138
144
|
targetConstraintLinkIds: () => Record<string, string[]>;
|
|
139
|
-
answerOptionsToggleExpressions: () => Record<string, AnswerOptionsToggleExpression[]>;
|
|
140
145
|
enableWhenItems: () => EnableWhenItems;
|
|
141
146
|
enableWhenLinkedQuestions: () => Record<string, string[]>;
|
|
142
147
|
enableWhenIsActivated: () => boolean;
|
|
143
148
|
enableWhenExpressions: () => EnableWhenExpressions;
|
|
144
|
-
|
|
145
|
-
initialExpressions: () => Record<string, InitialExpression>;
|
|
146
|
-
answerExpressions: () => Record<string, AnswerExpression>;
|
|
149
|
+
answerOptionsToggleExpressions: () => Record<string, AnswerOptionsToggleExpression[]>;
|
|
147
150
|
processedValueSets: () => Record<string, ProcessedValueSet>;
|
|
148
151
|
cachedValueSetCodings: () => Record<string, Coding[]>;
|
|
149
152
|
fhirPathContext: () => Record<string, any>;
|
|
150
153
|
fhirPathTerminologyCache: () => Record<string, any>;
|
|
151
|
-
|
|
154
|
+
additionalContext: () => Record<string, any>;
|
|
152
155
|
qItemOverrideComponents: () => Record<string, ComponentType<QItemOverrideComponentProps>>;
|
|
153
156
|
sdcUiOverrideComponents: () => Record<string, ComponentType<SdcUiOverrideComponentProps>>;
|
|
154
157
|
focusedLinkId: () => string;
|
|
155
158
|
readOnly: () => boolean;
|
|
156
|
-
buildSourceQuestionnaire: () => (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse,
|
|
159
|
+
buildSourceQuestionnaire: () => (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalContext?: Record<string, any>, terminologyServerUrl?: string, readOnly?: boolean, qItemOverrideComponents?: Record<string, ComponentType<QItemOverrideComponentProps>>, sdcUiOverrideComponents?: Record<string, ComponentType<SdcUiOverrideComponentProps>>) => Promise<void>;
|
|
157
160
|
destroySourceQuestionnaire: () => () => void;
|
|
158
161
|
switchTab: () => (newTabIndex: number) => void;
|
|
159
162
|
switchPage: () => (newPageIndex: number) => void;
|
|
160
163
|
markTabAsComplete: () => (tabLinkId: string) => void;
|
|
161
164
|
markPageAsComplete: () => (pageLinkId: string) => void;
|
|
165
|
+
resetToFirstVisibleTab: () => () => void;
|
|
166
|
+
resetToFirstVisiblePage: () => () => void;
|
|
162
167
|
updateEnableWhenItem: () => (linkId: string, newAnswer: QuestionnaireResponseItemAnswer[] | undefined, parentRepeatGroupIndex: number | null) => void;
|
|
163
168
|
mutateRepeatEnableWhenItems: () => (parentRepeatGroupLinkId: string, parentRepeatGroupIndex: number, actionType: "add" | "remove") => void;
|
|
164
169
|
toggleEnableWhenActivation: () => (isActivated: boolean) => void;
|
|
165
|
-
updateExpressions: () => (updatedResponse: QuestionnaireResponse) => Promise<void>;
|
|
170
|
+
updateExpressions: () => (updatedResponse: QuestionnaireResponse, isInitialUpdate: boolean) => Promise<void>;
|
|
166
171
|
addCodingToCache: () => (valueSetUrl: string, codings: Coding[]) => void;
|
|
167
|
-
updatePopulatedProperties: () => (populatedResponse: QuestionnaireResponse, populatedContext?: Record<string, any>, persistTabIndex?: boolean) => Promise<QuestionnaireResponse>;
|
|
168
172
|
onFocusLinkId: () => (linkId: string) => void;
|
|
169
|
-
|
|
173
|
+
setAdditionalContext: () => (additionalContext: Record<string, any>) => void;
|
|
170
174
|
setFormAsReadOnly: () => (readOnly: boolean) => void;
|
|
171
175
|
};
|
|
172
176
|
};
|
|
@@ -14,34 +14,27 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
17
|
import { createStore } from 'zustand/vanilla';
|
|
18
|
+
import { processCalculatedExpressions } from '../utils/calculatedExpression';
|
|
19
|
+
import { applyComputedUpdates } from '../utils/computedUpdates';
|
|
27
20
|
import { mutateRepeatEnableWhenItemInstances, updateEnableWhenItemAnswer } from '../utils/enableWhen';
|
|
28
|
-
import { evaluateUpdatedExpressions } from '../utils/fhirpath';
|
|
29
|
-
import { evaluateInitialCalculatedExpressions, initialiseCalculatedExpressionValues } from '../utils/calculatedExpression';
|
|
30
|
-
import { createQuestionnaireModel } from '../utils/questionnaireStoreUtils/createQuestionnaireModel';
|
|
31
|
-
import { initialiseFormFromResponse } from '../utils/initialise';
|
|
32
21
|
import { emptyQuestionnaire, emptyResponse } from '../utils/emptyResource';
|
|
33
|
-
import { terminologyServerStore } from './terminologyServerStore';
|
|
34
|
-
import { createSelectors } from './selector';
|
|
35
22
|
import { mutateRepeatEnableWhenExpressionInstances } from '../utils/enableWhenExpression';
|
|
36
|
-
import {
|
|
23
|
+
import { evaluateOtherExpressions } from '../utils/fhirpath';
|
|
24
|
+
import { initialiseFormFromResponse } from '../utils/initialise';
|
|
37
25
|
import { createQuestionnaireResponseItemMap } from '../utils/questionnaireResponseStoreUtils/updatableResponseItems';
|
|
38
26
|
import { insertCompleteAnswerOptionsIntoQuestionnaire } from '../utils/questionnaireStoreUtils/insertAnswerOptions';
|
|
39
27
|
import { readTargetConstraintLocationLinkIds } from '../utils/targetConstraint';
|
|
40
|
-
import {
|
|
28
|
+
import { questionnaireResponseStore } from './questionnaireResponseStore';
|
|
29
|
+
import { createSelectors } from './selector';
|
|
30
|
+
import { terminologyServerStore } from './terminologyServerStore';
|
|
31
|
+
import { createQuestionnaireModel } from '../utils/questionnaireStoreUtils/createQuestionnaireModel';
|
|
32
|
+
import { getFirstVisibleTab } from '../utils/tabs';
|
|
33
|
+
import { getFirstVisiblePage } from '../utils/page';
|
|
41
34
|
/**
|
|
42
35
|
* Questionnaire state management store which contains all properties and methods to manage the state of the questionnaire.
|
|
43
36
|
* This is the vanilla version of the store which can be used in non-React environments.
|
|
44
|
-
* @see QuestionnaireStoreType for available properties and methods.
|
|
37
|
+
* @see {@link QuestionnaireStoreType} for available properties and methods.
|
|
45
38
|
*
|
|
46
39
|
* @author Sean Fong
|
|
47
40
|
*/
|
|
@@ -69,26 +62,22 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
69
62
|
cachedValueSetCodings: {},
|
|
70
63
|
fhirPathContext: {},
|
|
71
64
|
fhirPathTerminologyCache: {},
|
|
72
|
-
|
|
65
|
+
additionalContext: {},
|
|
73
66
|
qItemOverrideComponents: {},
|
|
74
67
|
sdcUiOverrideComponents: {},
|
|
75
68
|
focusedLinkId: '',
|
|
76
69
|
readOnly: false,
|
|
77
|
-
buildSourceQuestionnaire:
|
|
78
|
-
|
|
79
|
-
const questionnaireModel = yield createQuestionnaireModel(questionnaire, terminologyServerUrl);
|
|
70
|
+
buildSourceQuestionnaire: async (questionnaire, questionnaireResponse = structuredClone(emptyResponse), additionalContext = {}, terminologyServerUrl = terminologyServerStore.getState().url, readOnly = false, qItemOverrideComponents = {}, sdcUiOverrideComponents = {}) => {
|
|
71
|
+
const questionnaireModel = await createQuestionnaireModel(questionnaire, terminologyServerUrl);
|
|
80
72
|
// Insert answerOptions with displays into questionnaire
|
|
81
73
|
questionnaire = insertCompleteAnswerOptionsIntoQuestionnaire(questionnaire, questionnaireModel.answerOptions);
|
|
82
74
|
// If existing fhirPathContext is empty, use the one from the questionnaire model
|
|
83
75
|
// Mostly existing fhirPathContext will be empty, but in some cases it may not be e.g. after pre-population
|
|
84
|
-
let fhirPathContext = (_a = get().fhirPathContext) !== null && _a !== void 0 ? _a : questionnaireModel.fhirPathContext;
|
|
85
76
|
// TODO reminder to have documentation when upgrading to 1.0.0 - 05/06/2025
|
|
86
77
|
// TODO This is something new - the definition of additionalVariables is now <"name", "value">, which allows it to be injected into the renderer's fhirPathContext.
|
|
87
78
|
// TODO as an example, populatedContext from a pre-pop module can now be inserted into the renderer for further use.
|
|
88
|
-
fhirPathContext = Object.assign(Object.assign({}, fhirPathContext), additionalVariables);
|
|
89
|
-
const fhirPathTerminologyCache = (_b = get().fhirPathTerminologyCache) !== null && _b !== void 0 ? _b : questionnaireModel.fhirPathTerminologyCache;
|
|
90
79
|
// Initialise form with questionnaire response and properties in questionnaire model
|
|
91
|
-
const { initialTargetConstraints, initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, initialCalculatedExpressions, initialProcessedValueSets, initialAnswerOptionsToggleExpressions, firstVisibleTab, firstVisiblePage, updatedFhirPathContext, fhirPathTerminologyCache: updatedFhirPathTerminologyCache } =
|
|
80
|
+
const { initialTargetConstraints, initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, initialCalculatedExpressions, initialProcessedValueSets, initialAnswerOptionsToggleExpressions, firstVisibleTab, firstVisiblePage, updatedFhirPathContext, fhirPathTerminologyCache: updatedFhirPathTerminologyCache } = await initialiseFormFromResponse({
|
|
92
81
|
sourceQuestionnaire: questionnaire,
|
|
93
82
|
questionnaireResponse,
|
|
94
83
|
targetConstraints: questionnaireModel.targetConstraints,
|
|
@@ -100,12 +89,13 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
100
89
|
processedValueSets: questionnaireModel.processedValueSets,
|
|
101
90
|
tabs: questionnaireModel.tabs,
|
|
102
91
|
pages: questionnaireModel.pages,
|
|
103
|
-
fhirPathContext: fhirPathContext,
|
|
104
|
-
fhirPathTerminologyCache: fhirPathTerminologyCache,
|
|
92
|
+
fhirPathContext: questionnaireModel.fhirPathContext,
|
|
93
|
+
fhirPathTerminologyCache: questionnaireModel.fhirPathTerminologyCache,
|
|
105
94
|
terminologyServerUrl: terminologyServerUrl
|
|
106
95
|
});
|
|
107
96
|
// Read target constraint locations
|
|
108
97
|
const targetConstraintLinkIds = readTargetConstraintLocationLinkIds(questionnaire, initialTargetConstraints);
|
|
98
|
+
const finalFhirPathContext = { ...updatedFhirPathContext, ...additionalContext };
|
|
109
99
|
set({
|
|
110
100
|
sourceQuestionnaire: questionnaire,
|
|
111
101
|
itemMap: questionnaireModel.itemMap,
|
|
@@ -127,13 +117,14 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
127
117
|
answerExpressions: questionnaireModel.answerExpressions,
|
|
128
118
|
processedValueSets: initialProcessedValueSets,
|
|
129
119
|
cachedValueSetCodings: questionnaireModel.cachedValueSetCodings,
|
|
130
|
-
fhirPathContext:
|
|
120
|
+
fhirPathContext: finalFhirPathContext,
|
|
131
121
|
fhirPathTerminologyCache: updatedFhirPathTerminologyCache,
|
|
122
|
+
additionalContext: additionalContext,
|
|
132
123
|
qItemOverrideComponents: qItemOverrideComponents,
|
|
133
124
|
sdcUiOverrideComponents: sdcUiOverrideComponents,
|
|
134
125
|
readOnly: readOnly
|
|
135
126
|
});
|
|
136
|
-
}
|
|
127
|
+
},
|
|
137
128
|
destroySourceQuestionnaire: () => set({
|
|
138
129
|
sourceQuestionnaire: structuredClone(emptyQuestionnaire),
|
|
139
130
|
itemMap: {},
|
|
@@ -164,15 +155,39 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
164
155
|
markTabAsComplete: (tabLinkId) => {
|
|
165
156
|
const tabs = get().tabs;
|
|
166
157
|
set(() => ({
|
|
167
|
-
tabs:
|
|
158
|
+
tabs: {
|
|
159
|
+
...tabs,
|
|
160
|
+
[tabLinkId]: { ...tabs[tabLinkId], isComplete: !tabs[tabLinkId].isComplete }
|
|
161
|
+
}
|
|
168
162
|
}));
|
|
169
163
|
},
|
|
170
164
|
markPageAsComplete: (pageLinkId) => {
|
|
171
165
|
const pages = get().pages;
|
|
172
166
|
set(() => ({
|
|
173
|
-
pages:
|
|
167
|
+
pages: {
|
|
168
|
+
...pages,
|
|
169
|
+
[pageLinkId]: { ...pages[pageLinkId], isComplete: !pages[pageLinkId].isComplete }
|
|
170
|
+
}
|
|
174
171
|
}));
|
|
175
172
|
},
|
|
173
|
+
resetToFirstVisibleTab: () => {
|
|
174
|
+
const tabs = get().tabs;
|
|
175
|
+
const enableWhenItems = get().enableWhenItems;
|
|
176
|
+
const enableWhenExpressions = get().enableWhenExpressions;
|
|
177
|
+
const firstVisibleTab = Object.keys(tabs).length > 0
|
|
178
|
+
? getFirstVisibleTab(tabs, enableWhenItems, enableWhenExpressions)
|
|
179
|
+
: 0;
|
|
180
|
+
set(() => ({ currentTabIndex: firstVisibleTab }));
|
|
181
|
+
},
|
|
182
|
+
resetToFirstVisiblePage: () => {
|
|
183
|
+
const pages = get().pages;
|
|
184
|
+
const enableWhenItems = get().enableWhenItems;
|
|
185
|
+
const enableWhenExpressions = get().enableWhenExpressions;
|
|
186
|
+
const firstVisiblePage = Object.keys(pages).length > 0
|
|
187
|
+
? getFirstVisiblePage(pages, enableWhenItems, enableWhenExpressions)
|
|
188
|
+
: 0;
|
|
189
|
+
set(() => ({ currentPageIndex: firstVisiblePage }));
|
|
190
|
+
},
|
|
176
191
|
updateEnableWhenItem: (linkId, newAnswer, parentRepeatGroupIndex) => {
|
|
177
192
|
const enableWhenLinkedQuestions = get().enableWhenLinkedQuestions;
|
|
178
193
|
const enableWhenItems = get().enableWhenItems;
|
|
@@ -180,16 +195,18 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
180
195
|
return;
|
|
181
196
|
}
|
|
182
197
|
const itemLinkedQuestions = enableWhenLinkedQuestions[linkId];
|
|
183
|
-
const updatedEnableWhenItems = updateEnableWhenItemAnswer(
|
|
198
|
+
const updatedEnableWhenItems = updateEnableWhenItemAnswer({ ...enableWhenItems }, itemLinkedQuestions, linkId, newAnswer, parentRepeatGroupIndex);
|
|
184
199
|
set(() => ({
|
|
185
200
|
enableWhenItems: updatedEnableWhenItems
|
|
186
201
|
}));
|
|
187
202
|
},
|
|
188
|
-
mutateRepeatEnableWhenItems: (parentRepeatGroupLinkId, parentRepeatGroupIndex, actionType) =>
|
|
203
|
+
mutateRepeatEnableWhenItems: async (parentRepeatGroupLinkId, parentRepeatGroupIndex, actionType) => {
|
|
189
204
|
const enableWhenItems = get().enableWhenItems;
|
|
190
205
|
const enableWhenExpressions = get().enableWhenExpressions;
|
|
191
|
-
const updatedEnableWhenItems = mutateRepeatEnableWhenItemInstances(
|
|
192
|
-
|
|
206
|
+
const updatedEnableWhenItems = mutateRepeatEnableWhenItemInstances({
|
|
207
|
+
...enableWhenItems
|
|
208
|
+
}, parentRepeatGroupLinkId, parentRepeatGroupIndex, actionType);
|
|
209
|
+
const { updatedEnableWhenExpressions, isUpdated } = await mutateRepeatEnableWhenExpressionInstances({
|
|
193
210
|
questionnaireResponse: questionnaireResponseStore.getState().updatableResponse,
|
|
194
211
|
questionnaireResponseItemMap: questionnaireResponseStore.getState().updatableResponseItems,
|
|
195
212
|
variables: get().variables,
|
|
@@ -207,121 +224,99 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
207
224
|
enableWhenExpressions: updatedEnableWhenExpressions
|
|
208
225
|
}));
|
|
209
226
|
}
|
|
210
|
-
}
|
|
227
|
+
},
|
|
211
228
|
toggleEnableWhenActivation: (isActivated) => set(() => ({ enableWhenIsActivated: isActivated })),
|
|
212
|
-
updateExpressions: (updatedResponse) =>
|
|
213
|
-
|
|
229
|
+
updateExpressions: async (updatedResponse, isInitialUpdate) => {
|
|
230
|
+
/* Expression evaluation and application workflow
|
|
231
|
+
1. Evaluate calculatedExpressions to update answers in the QuestionnaireResponse.
|
|
232
|
+
- This must happen first, as these answers may affect subsequent expressions.
|
|
233
|
+
- Call updateResponse() once before proceeding to the next steps.
|
|
234
|
+
|
|
235
|
+
2. Evaluate other expressions using the QR with updated calculated answers.
|
|
236
|
+
- Target constraints
|
|
237
|
+
- Enable when expressions
|
|
238
|
+
- Answer options toggle expressions
|
|
239
|
+
- Dynamic valueSets (e.g. parameterised valueSets)
|
|
240
|
+
|
|
241
|
+
3. Apply computed updates from answerOptionsToggleExpressions and updated Dynamic ValueSets into the QuestionnaireResponse.
|
|
242
|
+
|
|
243
|
+
4. Re-run calculatedExpressions as a final step to ensure all calculations are up-to-date, incorporating any toggled options or dynamic value set changes.
|
|
244
|
+
5. Update store state based on the expressions that changed
|
|
245
|
+
*/
|
|
246
|
+
const { sourceQuestionnaire, itemMap, itemPreferredTerminologyServers, variables, targetConstraints, answerOptionsToggleExpressions, enableWhenExpressions, processedValueSets, calculatedExpressions, fhirPathContext, fhirPathTerminologyCache } = get();
|
|
214
247
|
const updateResponse = questionnaireResponseStore.getState().updateResponse;
|
|
215
248
|
const validateResponse = questionnaireResponseStore.getState().validateResponse;
|
|
216
|
-
const
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
targetConstraints: get().targetConstraints,
|
|
221
|
-
answerOptionsToggleExpressions: get().answerOptionsToggleExpressions,
|
|
222
|
-
enableWhenExpressions: get().enableWhenExpressions,
|
|
223
|
-
calculatedExpressions: get().calculatedExpressions,
|
|
224
|
-
processedValueSets: get().processedValueSets,
|
|
225
|
-
variables: get().variables,
|
|
226
|
-
existingFhirPathContext: get().fhirPathContext,
|
|
227
|
-
fhirPathTerminologyCache: get().fhirPathTerminologyCache,
|
|
228
|
-
terminologyServerUrl: terminologyServerStore.getState().url
|
|
229
|
-
});
|
|
230
|
-
/**
|
|
231
|
-
* Applies computed updates to the QR before updating the store.
|
|
232
|
-
* Before this, we were updating the store before applying the computed updates. This may cause downstream useEffects to use a stale QR.
|
|
233
|
-
* By applying the computed updates first, we ensure that the QR is up-to-date when downstream useEffects are fired.
|
|
234
|
-
*/
|
|
235
|
-
let lastUpdatedResponse = structuredClone(updatedResponse);
|
|
236
|
-
if (Object.keys(computedQRItemUpdates).length > 0) {
|
|
237
|
-
lastUpdatedResponse = applyComputedUpdates(get().sourceQuestionnaire, updatedResponse, computedQRItemUpdates);
|
|
238
|
-
updateResponse(lastUpdatedResponse, 'async');
|
|
239
|
-
}
|
|
240
|
-
if (isUpdated) {
|
|
249
|
+
const defaultTerminologyServerUrl = terminologyServerStore.getState().url;
|
|
250
|
+
// Helper function to extract common state update logic
|
|
251
|
+
function updateStoreState(updatedResponse, calculatedExpressions, fhirPathContext, fhirPathTerminologyCache, otherExpressions) {
|
|
252
|
+
// Update QuestionnaireStore state
|
|
241
253
|
set(() => ({
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
254
|
+
calculatedExpressions,
|
|
255
|
+
fhirPathContext,
|
|
256
|
+
fhirPathTerminologyCache,
|
|
257
|
+
...(otherExpressions?.targetConstraints && {
|
|
258
|
+
targetConstraints: otherExpressions.targetConstraints
|
|
259
|
+
}),
|
|
260
|
+
...(otherExpressions?.enableWhenExpressions && {
|
|
261
|
+
enableWhenExpressions: otherExpressions.enableWhenExpressions
|
|
262
|
+
}),
|
|
263
|
+
...(otherExpressions?.answerOptionsToggleExpressions && {
|
|
264
|
+
answerOptionsToggleExpressions: otherExpressions.answerOptionsToggleExpressions
|
|
265
|
+
}),
|
|
266
|
+
...(otherExpressions?.processedValueSets && {
|
|
267
|
+
processedValueSets: otherExpressions.processedValueSets
|
|
268
|
+
})
|
|
249
269
|
}));
|
|
250
|
-
//
|
|
251
|
-
validateResponse(sourceQuestionnaire,
|
|
270
|
+
// Final validation
|
|
271
|
+
validateResponse(sourceQuestionnaire, updatedResponse);
|
|
252
272
|
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
273
|
+
// Step 1: Process calculated expressions first
|
|
274
|
+
let { updatedResponse: lastUpdatedResponse, updatedCalculatedExpressions: updatedCalculatedExpressions } = await processCalculatedExpressions(sourceQuestionnaire, updatedResponse, itemMap, calculatedExpressions, variables, fhirPathContext, fhirPathTerminologyCache, itemPreferredTerminologyServers, defaultTerminologyServerUrl);
|
|
275
|
+
// Perform an immediate QR update first, then process other expressions asynchronously
|
|
276
|
+
updateResponse(lastUpdatedResponse, isInitialUpdate);
|
|
277
|
+
// Step 2: Evaluate other expressions
|
|
278
|
+
const updatedResponseItemMap = createQuestionnaireResponseItemMap(sourceQuestionnaire, lastUpdatedResponse);
|
|
279
|
+
const { updatedFhirPathContext, updatedFhirPathTerminologyCache, targetConstraintsUpdate, enableWhenExpressionsUpdate, answerOptionsToggleExpressionsUpdate, processedValueSetsUpdate, computedQRItemUpdates } = await evaluateOtherExpressions(lastUpdatedResponse, updatedResponseItemMap, variables, fhirPathContext, fhirPathTerminologyCache, targetConstraints, enableWhenExpressions, answerOptionsToggleExpressions, processedValueSets, defaultTerminologyServerUrl);
|
|
280
|
+
/* Step 3 & 4: Handle computed updates and re-run calculations if needed */
|
|
281
|
+
if (Object.keys(computedQRItemUpdates).length > 0) {
|
|
282
|
+
lastUpdatedResponse = applyComputedUpdates(sourceQuestionnaire, lastUpdatedResponse, computedQRItemUpdates);
|
|
283
|
+
// Re-run calculated expressions with the updated response
|
|
284
|
+
const finalCalculatedResult = await processCalculatedExpressions(sourceQuestionnaire, lastUpdatedResponse, itemMap, updatedCalculatedExpressions, variables, updatedFhirPathContext, updatedFhirPathTerminologyCache, itemPreferredTerminologyServers, defaultTerminologyServerUrl);
|
|
285
|
+
lastUpdatedResponse = finalCalculatedResult.updatedResponse;
|
|
286
|
+
updatedCalculatedExpressions = finalCalculatedResult.updatedCalculatedExpressions;
|
|
287
|
+
updateResponse(lastUpdatedResponse, isInitialUpdate);
|
|
288
|
+
}
|
|
289
|
+
/* Step 5: Update store state based on the expressions that changed */
|
|
290
|
+
const otherExpressionsToUpdate = {};
|
|
291
|
+
if (targetConstraintsUpdate.isUpdated) {
|
|
292
|
+
otherExpressionsToUpdate.targetConstraints = targetConstraintsUpdate.value;
|
|
293
|
+
}
|
|
294
|
+
if (enableWhenExpressionsUpdate.isUpdated) {
|
|
295
|
+
otherExpressionsToUpdate.enableWhenExpressions = enableWhenExpressionsUpdate.value;
|
|
296
|
+
}
|
|
297
|
+
if (answerOptionsToggleExpressionsUpdate.isUpdated) {
|
|
298
|
+
otherExpressionsToUpdate.answerOptionsToggleExpressions =
|
|
299
|
+
answerOptionsToggleExpressionsUpdate.value;
|
|
300
|
+
}
|
|
301
|
+
if (processedValueSetsUpdate.isUpdated) {
|
|
302
|
+
otherExpressionsToUpdate.processedValueSets = processedValueSetsUpdate.value;
|
|
303
|
+
}
|
|
304
|
+
updateStoreState(lastUpdatedResponse, updatedCalculatedExpressions, updatedFhirPathContext, updatedFhirPathTerminologyCache, Object.keys(otherExpressionsToUpdate).length > 0 ? otherExpressionsToUpdate : undefined);
|
|
305
|
+
},
|
|
258
306
|
addCodingToCache: (valueSetUrl, codings) => set(() => ({
|
|
259
|
-
cachedValueSetCodings:
|
|
307
|
+
cachedValueSetCodings: {
|
|
308
|
+
...get().cachedValueSetCodings,
|
|
309
|
+
[valueSetUrl]: codings
|
|
310
|
+
}
|
|
260
311
|
})),
|
|
261
|
-
updatePopulatedProperties: (populatedResponse, populatedContext, persistTabIndex, persistPageIndex) => __awaiter(void 0, void 0, void 0, function* () {
|
|
262
|
-
const sourceQuestionnaire = get().sourceQuestionnaire;
|
|
263
|
-
const fhirPathContext = Object.assign(Object.assign({}, get().fhirPathContext), (populatedContext !== null && populatedContext !== void 0 ? populatedContext : {}));
|
|
264
|
-
const initialResponseItemMap = createQuestionnaireResponseItemMap(sourceQuestionnaire, populatedResponse);
|
|
265
|
-
const evaluateInitialCalculatedExpressionsResult = yield evaluateInitialCalculatedExpressions({
|
|
266
|
-
initialResponse: populatedResponse,
|
|
267
|
-
initialResponseItemMap: initialResponseItemMap,
|
|
268
|
-
calculatedExpressions: get().calculatedExpressions,
|
|
269
|
-
variables: get().variables,
|
|
270
|
-
existingFhirPathContext: fhirPathContext,
|
|
271
|
-
fhirPathTerminologyCache: get().fhirPathTerminologyCache,
|
|
272
|
-
terminologyServerUrl: terminologyServerStore.getState().url
|
|
273
|
-
});
|
|
274
|
-
const { initialCalculatedExpressions } = evaluateInitialCalculatedExpressionsResult;
|
|
275
|
-
let updatedFhirPathContext = evaluateInitialCalculatedExpressionsResult.updatedFhirPathContext;
|
|
276
|
-
let fhirPathTerminologyCache = evaluateInitialCalculatedExpressionsResult.fhirPathTerminologyCache;
|
|
277
|
-
const updatedResponse = initialiseCalculatedExpressionValues(sourceQuestionnaire, populatedResponse, initialCalculatedExpressions);
|
|
278
|
-
const { initialTargetConstraints, initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, initialAnswerOptionsToggleExpressions, firstVisibleTab, firstVisiblePage } = yield initialiseFormFromResponse({
|
|
279
|
-
sourceQuestionnaire,
|
|
280
|
-
questionnaireResponse: updatedResponse,
|
|
281
|
-
targetConstraints: get().targetConstraints,
|
|
282
|
-
enableWhenItems: get().enableWhenItems,
|
|
283
|
-
enableWhenExpressions: get().enableWhenExpressions,
|
|
284
|
-
calculatedExpressions: initialCalculatedExpressions,
|
|
285
|
-
answerOptionsToggleExpressions: get().answerOptionsToggleExpressions,
|
|
286
|
-
variables: get().variables,
|
|
287
|
-
processedValueSets: get().processedValueSets,
|
|
288
|
-
tabs: get().tabs,
|
|
289
|
-
pages: get().pages,
|
|
290
|
-
fhirPathContext: updatedFhirPathContext,
|
|
291
|
-
fhirPathTerminologyCache: fhirPathTerminologyCache,
|
|
292
|
-
terminologyServerUrl: terminologyServerStore.getState().url
|
|
293
|
-
});
|
|
294
|
-
updatedFhirPathContext = evaluateInitialCalculatedExpressionsResult.updatedFhirPathContext;
|
|
295
|
-
fhirPathTerminologyCache = evaluateInitialCalculatedExpressionsResult.fhirPathTerminologyCache;
|
|
296
|
-
set(() => ({
|
|
297
|
-
targetConstraints: initialTargetConstraints,
|
|
298
|
-
answerOptionsToggleExpressions: initialAnswerOptionsToggleExpressions,
|
|
299
|
-
enableWhenItems: initialEnableWhenItems,
|
|
300
|
-
enableWhenLinkedQuestions: initialEnableWhenLinkedQuestions,
|
|
301
|
-
enableWhenExpressions: initialEnableWhenExpressions,
|
|
302
|
-
calculatedExpressions: initialCalculatedExpressions,
|
|
303
|
-
currentTabIndex: persistTabIndex ? get().currentTabIndex : firstVisibleTab,
|
|
304
|
-
currentPageIndex: persistPageIndex ? get().currentPageIndex : firstVisiblePage,
|
|
305
|
-
fhirPathContext: updatedFhirPathContext,
|
|
306
|
-
fhirPathTerminologyCache: fhirPathTerminologyCache,
|
|
307
|
-
populatedContext: populatedContext !== null && populatedContext !== void 0 ? populatedContext : get().populatedContext
|
|
308
|
-
}));
|
|
309
|
-
return updatedResponse;
|
|
310
|
-
}),
|
|
311
312
|
onFocusLinkId: (linkId) => set(() => ({
|
|
312
313
|
focusedLinkId: linkId
|
|
313
314
|
})),
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
const newFhirPathContext = Object.assign(Object.assign({}, get().fhirPathContext), newPopulatedContext);
|
|
317
|
-
set(() => ({
|
|
318
|
-
populatedContext: newPopulatedContext,
|
|
319
|
-
fhirPathContext: newFhirPathContext
|
|
320
|
-
}));
|
|
321
|
-
return;
|
|
322
|
-
}
|
|
315
|
+
setAdditionalContext: (additionalContext) => {
|
|
316
|
+
const newFhirPathContext = { ...get().fhirPathContext, ...additionalContext };
|
|
323
317
|
set(() => ({
|
|
324
|
-
|
|
318
|
+
additionalContext: additionalContext,
|
|
319
|
+
fhirPathContext: newFhirPathContext
|
|
325
320
|
}));
|
|
326
321
|
},
|
|
327
322
|
setFormAsReadOnly: (readOnly) => set(() => ({
|
|
@@ -331,8 +326,8 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
331
326
|
/**
|
|
332
327
|
* Questionnaire state management store which contains all properties and methods to manage the state of the questionnaire.
|
|
333
328
|
* This is the React version of the store which can be used as React hooks in React functional components.
|
|
334
|
-
* @see QuestionnaireStoreType for available properties and methods.
|
|
335
|
-
* @see questionnaireStore for the vanilla store.
|
|
329
|
+
* @see {@link QuestionnaireStoreType} for available properties and methods.
|
|
330
|
+
* @see {@link questionnaireStore} for the vanilla store.
|
|
336
331
|
*
|
|
337
332
|
* @author Sean Fong
|
|
338
333
|
*/
|