@aehrc/smart-forms-renderer 0.44.3 → 1.0.0-alpha.10
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/.storybook/main.ts +6 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentField.js +3 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentField.js.map +1 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js +2 -5
- package/lib/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.js.map +1 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.js +3 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.js.map +1 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.styles.d.ts +1 -0
- package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.styles.js +3 -4
- package/lib/components/FormComponents/AttachmentItem/AttachmentFileDropBox.styles.js.map +1 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentItem.d.ts +2 -2
- package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js.map +1 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.js +3 -1
- package/lib/components/FormComponents/AttachmentItem/AttachmentUrlField.js.map +1 -1
- package/lib/components/FormComponents/BooleanItem/BooleanField.js +27 -17
- package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -1
- package/lib/components/FormComponents/BooleanItem/BooleanItem.d.ts +2 -2
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js +2 -2
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
- package/lib/components/FormComponents/BooleanItem/index.d.ts +1 -0
- package/lib/components/FormComponents/BooleanItem/index.js +18 -0
- package/lib/components/FormComponents/BooleanItem/index.js.map +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js +8 -6
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +4 -4
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +4 -5
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +4 -5
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js +8 -8
- package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js +7 -13
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +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 +7 -13
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.d.ts +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js +3 -3
- 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 +8 -6
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +2 -2
- 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 -4
- 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 +7 -6
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +4 -4
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/index.d.ts +1 -0
- package/lib/components/FormComponents/ChoiceItems/index.js +18 -0
- package/lib/components/FormComponents/ChoiceItems/index.js.map +1 -0
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js +3 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.d.ts +2 -2
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js +4 -5
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.d.ts +2 -2
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js +4 -5
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js +3 -2
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.js.map +1 -1
- package/lib/components/FormComponents/DecimalItem/DecimalField.js +5 -2
- package/lib/components/FormComponents/DecimalItem/DecimalField.js.map +1 -1
- package/lib/components/FormComponents/DecimalItem/DecimalItem.d.ts +2 -2
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js +4 -5
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -1
- package/lib/components/FormComponents/DisplayItem/DisplayItem.d.ts +2 -1
- package/lib/components/FormComponents/DisplayItem/DisplayItem.js +13 -2
- package/lib/components/FormComponents/DisplayItem/DisplayItem.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupAccordion.styles.d.ts +1 -1
- package/lib/components/FormComponents/GroupItem/GroupHeading.js +10 -2
- package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItem.d.ts +1 -0
- package/lib/components/FormComponents/GroupItem/GroupItem.js +2 -2
- package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +10 -0
- package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItemView.d.ts +1 -0
- package/lib/components/FormComponents/GroupItem/GroupItemView.js +12 -2
- package/lib/components/FormComponents/GroupItem/GroupItemView.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js +7 -0
- package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/index.d.ts +1 -0
- package/lib/components/FormComponents/GroupItem/index.js +18 -0
- package/lib/components/FormComponents/GroupItem/index.js.map +1 -0
- package/lib/components/FormComponents/IntegerItem/IntegerField.js +5 -2
- package/lib/components/FormComponents/IntegerItem/IntegerField.js.map +1 -1
- package/lib/components/FormComponents/IntegerItem/IntegerItem.d.ts +2 -2
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js +4 -5
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/CheckboxSingle.js +2 -2
- package/lib/components/FormComponents/ItemParts/CheckboxSingle.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js +4 -2
- package/lib/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ClearInputButton.d.ts +8 -0
- package/lib/components/FormComponents/ItemParts/ClearInputButton.js +33 -0
- package/lib/components/FormComponents/ItemParts/ClearInputButton.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/ContextDisplayItem.js +1 -1
- package/lib/components/FormComponents/ItemParts/ContextDisplayItem.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/FlyoverItem.d.ts +2 -1
- package/lib/components/FormComponents/ItemParts/FlyoverItem.js +2 -2
- package/lib/components/FormComponents/ItemParts/FlyoverItem.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ItemFieldGrid.d.ts +2 -1
- package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +9 -8
- package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ItemLabelText.d.ts +1 -1
- package/lib/components/FormComponents/ItemParts/ItemLabelText.js +31 -13
- package/lib/components/FormComponents/ItemParts/ItemLabelText.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +7 -21
- package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js +4 -2
- package/lib/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/RadioOptionList.d.ts +1 -0
- package/lib/components/FormComponents/ItemParts/RadioOptionList.js +4 -4
- package/lib/components/FormComponents/ItemParts/RadioOptionList.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/RequiredAsterisk.d.ts +7 -0
- package/lib/components/FormComponents/ItemParts/RequiredAsterisk.js +35 -0
- package/lib/components/FormComponents/ItemParts/RequiredAsterisk.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/index.d.ts +1 -0
- package/lib/components/FormComponents/ItemParts/index.js +1 -0
- package/lib/components/FormComponents/ItemParts/index.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.d.ts +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js +8 -6
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.d.ts +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +4 -4
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.d.ts +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +4 -5
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.d.ts +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.js +4 -5
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.d.ts +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js +8 -8
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js +4 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.d.ts +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.js +4 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.d.ts +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.js +2 -2
- 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 +8 -6
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.d.ts +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.js +4 -4
- 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 +7 -6
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.d.ts +2 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js +4 -4
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.d.ts +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js +5 -0
- package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js.map +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityField.js +5 -2
- package/lib/components/FormComponents/QuantityItem/QuantityField.js.map +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityItem.d.ts +2 -2
- package/lib/components/FormComponents/QuantityItem/QuantityItem.js +15 -11
- package/lib/components/FormComponents/QuantityItem/QuantityItem.js.map +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js +4 -2
- package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js.map +1 -1
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js +1 -1
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupItem.js.map +1 -1
- package/lib/components/FormComponents/RepeatItem/RepeatItem.js +3 -3
- package/lib/components/FormComponents/RepeatItem/RepeatItem.js.map +1 -1
- package/lib/components/FormComponents/SingleItem/NestedSingleItemAccordion.styles.d.ts +1 -1
- package/lib/components/FormComponents/SingleItem/SingleItem.js +1 -1
- 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 +26 -18
- package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/SingleItem/SingleItemView.js +5 -4
- package/lib/components/FormComponents/SingleItem/SingleItemView.js.map +1 -1
- package/lib/components/FormComponents/SingleItem/SingleNestedItems.js +1 -0
- package/lib/components/FormComponents/SingleItem/SingleNestedItems.js.map +1 -1
- package/lib/components/FormComponents/SliderItem/SliderField.js +3 -2
- package/lib/components/FormComponents/SliderItem/SliderField.js.map +1 -1
- package/lib/components/FormComponents/SliderItem/SliderItem.d.ts +2 -2
- package/lib/components/FormComponents/SliderItem/SliderItem.js +3 -3
- package/lib/components/FormComponents/SliderItem/SliderItem.js.map +1 -1
- package/lib/components/FormComponents/StringItem/StringField.js +5 -2
- package/lib/components/FormComponents/StringItem/StringField.js.map +1 -1
- package/lib/components/FormComponents/StringItem/StringItem.d.ts +2 -2
- package/lib/components/FormComponents/StringItem/StringItem.js +4 -5
- package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -1
- package/lib/components/FormComponents/TextItem/TextField.js +3 -2
- package/lib/components/FormComponents/TextItem/TextField.js.map +1 -1
- package/lib/components/FormComponents/TextItem/TextItem.d.ts +2 -2
- package/lib/components/FormComponents/TextItem/TextItem.js +4 -5
- package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -1
- package/lib/components/FormComponents/Textfield.styles.d.ts +1 -1
- package/lib/components/FormComponents/Textfield.styles.js +5 -6
- package/lib/components/FormComponents/Textfield.styles.js.map +1 -1
- 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.d.ts +2 -2
- package/lib/components/FormComponents/TimeItem/TimeItem.js +4 -5
- package/lib/components/FormComponents/TimeItem/TimeItem.js.map +1 -1
- package/lib/components/FormComponents/UrlItem/UrlField.js +7 -1
- package/lib/components/FormComponents/UrlItem/UrlField.js.map +1 -1
- package/lib/components/FormComponents/UrlItem/UrlItem.d.ts +2 -2
- package/lib/components/FormComponents/UrlItem/UrlItem.js +4 -5
- package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -1
- package/lib/components/FormComponents/index.d.ts +6 -0
- package/lib/components/FormComponents/index.js +7 -0
- package/lib/components/FormComponents/index.js.map +1 -1
- package/lib/components/Renderer/BaseRenderer.js +5 -5
- package/lib/components/Renderer/BaseRenderer.js.map +1 -1
- package/lib/components/Renderer/FormTopLevelItem.js +0 -7
- package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +3 -1
- package/lib/components/index.js.map +1 -1
- package/lib/hooks/index.d.ts +7 -0
- package/lib/hooks/index.js +8 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useBuildForm.d.ts +8 -1
- package/lib/hooks/useBuildForm.js +23 -3
- package/lib/hooks/useBuildForm.js.map +1 -1
- package/lib/hooks/useCodingCalculatedExpression.d.ts +2 -1
- package/lib/hooks/useCodingCalculatedExpression.js +1 -1
- package/lib/hooks/useCodingCalculatedExpression.js.map +1 -1
- package/lib/hooks/useHidden.js +8 -0
- package/lib/hooks/useHidden.js.map +1 -1
- package/lib/hooks/useParseXhtml.d.ts +3 -0
- package/lib/hooks/useParseXhtml.js +60 -0
- package/lib/hooks/useParseXhtml.js.map +1 -0
- package/lib/hooks/useReadOnly.d.ts +1 -1
- package/lib/hooks/useReadOnly.js +22 -1
- package/lib/hooks/useReadOnly.js.map +1 -1
- package/lib/hooks/useRenderingExtensions.d.ts +3 -2
- package/lib/hooks/useValidationFeedback.js +5 -3
- package/lib/hooks/useValidationFeedback.js.map +1 -1
- package/lib/hooks/useValueSetCodings.js +7 -1
- package/lib/hooks/useValueSetCodings.js.map +1 -1
- package/lib/hooks/useXhtmlParse.d.ts +4 -0
- package/lib/hooks/useXhtmlParse.js +63 -0
- package/lib/hooks/useXhtmlParse.js.map +1 -0
- package/lib/index.d.ts +6 -6
- package/lib/index.js +4 -4
- package/lib/index.js.map +1 -1
- package/lib/interfaces/index.d.ts +2 -0
- package/lib/interfaces/overrideComponent.interface.d.ts +12 -3
- package/lib/interfaces/qItemOverrideComponent.interface.d.ts +7 -6
- package/lib/interfaces/renderProps.interface.d.ts +4 -0
- package/lib/stores/index.d.ts +2 -0
- package/lib/stores/index.js +1 -0
- package/lib/stores/index.js.map +1 -1
- package/lib/stores/questionnaireStore.d.ts +17 -9
- package/lib/stores/questionnaireStore.js +47 -22
- package/lib/stores/questionnaireStore.js.map +1 -1
- package/lib/stores/rendererStylingStore.d.ts +35 -3
- package/lib/stores/rendererStylingStore.js +20 -4
- package/lib/stores/rendererStylingStore.js.map +1 -1
- package/lib/utils/calculatedExpression.d.ts +5 -4
- package/lib/utils/calculatedExpression.js +76 -55
- package/lib/utils/calculatedExpression.js.map +1 -1
- package/lib/utils/enableWhenExpression.d.ts +10 -8
- package/lib/utils/enableWhenExpression.js +153 -118
- package/lib/utils/enableWhenExpression.js.map +1 -1
- package/lib/utils/fhirpath.d.ts +7 -5
- package/lib/utils/fhirpath.js +105 -72
- package/lib/utils/fhirpath.js.map +1 -1
- package/lib/utils/getExpressionsFromItem.d.ts +2 -1
- package/lib/utils/getExpressionsFromItem.js +1 -1
- package/lib/utils/getExpressionsFromItem.js.map +1 -1
- package/lib/utils/index.d.ts +6 -2
- package/lib/utils/index.js +6 -2
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/initialise.d.ts +3 -2
- package/lib/utils/initialise.js +49 -36
- package/lib/utils/initialise.js.map +1 -1
- package/lib/utils/itemControl.d.ts +4 -1
- package/lib/utils/itemControl.js +27 -0
- package/lib/utils/itemControl.js.map +1 -1
- package/lib/utils/manageForm.d.ts +5 -1
- package/lib/utils/manageForm.js +4 -2
- package/lib/utils/manageForm.js.map +1 -1
- package/lib/utils/misc.d.ts +0 -1
- package/lib/utils/misc.js +1 -1
- package/lib/utils/misc.js.map +1 -1
- package/lib/utils/openChoice.js +2 -10
- package/lib/utils/openChoice.js.map +1 -1
- package/lib/utils/page.d.ts +3 -3
- package/lib/utils/page.js +2 -5
- package/lib/utils/page.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +1 -1
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.d.ts +1 -1
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js +166 -150
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractPages.js +5 -11
- package/lib/utils/questionnaireStoreUtils/extractPages.js.map +1 -1
- package/lib/utils/repopulateItems.js +0 -8
- package/lib/utils/repopulateItems.js.map +1 -1
- package/lib/utils/validateQuestionnaire.js +8 -4
- package/lib/utils/validateQuestionnaire.js.map +1 -1
- package/package.json +3 -3
- package/src/components/FormComponents/AttachmentItem/AttachmentField.tsx +4 -0
- package/src/components/FormComponents/AttachmentItem/AttachmentFieldWrapper.tsx +17 -15
- package/src/components/FormComponents/AttachmentItem/AttachmentFileDropBox.styles.ts +12 -10
- package/src/components/FormComponents/AttachmentItem/AttachmentFileDropBox.tsx +4 -0
- package/src/components/FormComponents/AttachmentItem/AttachmentItem.tsx +3 -1
- package/src/components/FormComponents/AttachmentItem/AttachmentUrlField.tsx +4 -0
- package/src/components/FormComponents/BooleanItem/BooleanField.tsx +87 -30
- package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +20 -11
- package/src/components/FormComponents/BooleanItem/index.ts +18 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteField.tsx +16 -7
- package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +34 -16
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +19 -11
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +20 -12
- package/src/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.tsx +19 -2
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx +10 -20
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +13 -2
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.tsx +17 -11
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx +11 -20
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +21 -13
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx +5 -4
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +28 -8
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +13 -2
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.tsx +24 -13
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx +18 -7
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx +32 -14
- package/src/components/FormComponents/ChoiceItems/index.ts +18 -0
- package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateField.tsx +4 -0
- package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.tsx +36 -21
- package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.tsx +40 -25
- package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomTimeField.tsx +4 -19
- package/src/components/FormComponents/DecimalItem/DecimalField.tsx +8 -1
- package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +33 -18
- package/src/components/FormComponents/DecimalItem/index.ts +18 -0
- package/src/components/FormComponents/DisplayItem/DisplayItem.tsx +18 -3
- package/src/components/FormComponents/GroupItem/GroupHeading.tsx +27 -6
- package/src/components/FormComponents/GroupItem/GroupItem.tsx +3 -0
- package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +26 -0
- package/src/components/FormComponents/GroupItem/GroupItemView.tsx +34 -1
- package/src/components/FormComponents/GroupItem/PageButtonWrapper.tsx +8 -0
- package/src/components/FormComponents/GroupItem/index.ts +18 -0
- package/src/components/FormComponents/IntegerItem/IntegerField.tsx +8 -1
- package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +33 -18
- package/src/components/FormComponents/ItemParts/CheckboxSingle.tsx +2 -3
- package/src/components/FormComponents/ItemParts/CheckboxSingleWithOpenLabel.tsx +4 -1
- package/src/components/FormComponents/ItemParts/ClearInputButton.tsx +52 -0
- package/src/components/FormComponents/ItemParts/ContextDisplayItem.tsx +1 -1
- package/src/components/FormComponents/ItemParts/FlyoverItem.tsx +62 -0
- package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +23 -9
- package/src/components/FormComponents/ItemParts/ItemLabelText.tsx +64 -13
- package/src/components/FormComponents/ItemParts/ItemLabelWrapper.tsx +15 -36
- package/src/components/FormComponents/ItemParts/RadioButtonWithOpenLabel.tsx +11 -1
- package/src/components/FormComponents/ItemParts/RadioOptionList.tsx +5 -1
- package/src/components/FormComponents/ItemParts/RequiredAsterisk.tsx +36 -0
- package/src/components/FormComponents/ItemParts/index.ts +19 -0
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteField.tsx +16 -7
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +35 -17
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +25 -17
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.tsx +26 -18
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.tsx +19 -2
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.tsx +5 -1
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +22 -14
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.tsx +5 -1
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.tsx +23 -15
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionField.tsx +16 -8
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerOptionItem.tsx +30 -12
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetField.tsx +24 -9
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +31 -13
- package/src/components/FormComponents/QuantityItem/QuantityComparatorField.tsx +6 -0
- package/src/components/FormComponents/QuantityItem/QuantityField.tsx +8 -1
- package/src/components/FormComponents/QuantityItem/QuantityItem.tsx +56 -35
- package/src/components/FormComponents/QuantityItem/QuantityUnitField.tsx +8 -3
- package/src/components/FormComponents/RepeatGroup/RepeatGroupItem.tsx +1 -1
- package/src/components/FormComponents/RepeatItem/RepeatItem.tsx +34 -28
- package/src/components/FormComponents/SingleItem/SingleItem.tsx +1 -1
- package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +50 -4
- package/src/components/FormComponents/SingleItem/SingleItemView.tsx +14 -11
- package/src/components/FormComponents/SingleItem/SingleNestedItems.tsx +1 -0
- package/src/components/FormComponents/SliderItem/SliderField.tsx +4 -2
- package/src/components/FormComponents/SliderItem/SliderItem.tsx +26 -18
- package/src/components/FormComponents/StringItem/StringField.tsx +8 -1
- package/src/components/FormComponents/StringItem/StringItem.tsx +33 -18
- package/src/components/FormComponents/StringItem/index.ts +18 -0
- package/src/components/FormComponents/TextItem/TextField.tsx +5 -2
- package/src/components/FormComponents/TextItem/TextItem.tsx +25 -17
- package/src/components/FormComponents/Textfield.styles.ts +5 -7
- package/src/components/FormComponents/TimeItem/TimeField.tsx +4 -2
- package/src/components/FormComponents/TimeItem/TimeItem.tsx +29 -14
- package/src/components/FormComponents/UrlItem/UrlField.tsx +14 -1
- package/src/components/FormComponents/UrlItem/UrlItem.tsx +32 -17
- package/src/components/FormComponents/index.ts +8 -0
- package/src/components/Renderer/BaseRenderer.tsx +5 -5
- package/src/components/Renderer/FormBodyPaginated.tsx +127 -0
- package/src/components/Renderer/FormTopLevelItem.tsx +0 -17
- package/src/components/index.ts +11 -1
- package/src/hooks/index.ts +12 -0
- package/src/hooks/useBuildForm.ts +33 -3
- package/src/hooks/useCodingCalculatedExpression.ts +1 -1
- package/src/hooks/useHidden.ts +12 -0
- package/src/hooks/useParseXhtml.tsx +73 -0
- package/src/hooks/useReadOnly.ts +32 -1
- package/src/hooks/useRenderingExtensions.ts +2 -2
- package/src/hooks/useValidationFeedback.ts +11 -3
- package/src/hooks/useValueSetCodings.ts +10 -6
- package/src/index.ts +49 -6
- package/src/interfaces/index.ts +5 -0
- package/src/interfaces/overrideComponent.interface.ts +39 -0
- package/src/interfaces/renderProps.interface.ts +5 -0
- package/src/stores/index.ts +3 -0
- package/src/stores/questionnaireStore.ts +73 -31
- package/src/stores/rendererStylingStore.ts +120 -0
- package/src/stories/assets/questionnaires/QQuantity.ts +45 -6
- package/src/stories/itemTypes/Attachment.stories.tsx +1 -1
- package/src/stories/itemTypes/Boolean.stories.tsx +1 -1
- package/src/stories/itemTypes/Choice.stories.tsx +1 -1
- package/src/stories/itemTypes/Date.stories.tsx +1 -1
- package/src/stories/itemTypes/DateTime.stories.tsx +1 -1
- package/src/stories/itemTypes/Decimal.stories.tsx +1 -1
- package/src/stories/itemTypes/Display.stories.tsx +1 -1
- package/src/stories/itemTypes/Group.stories.tsx +1 -1
- package/src/stories/itemTypes/Integer.stories.tsx +1 -1
- package/src/stories/itemTypes/OpenChoice.stories.tsx +1 -1
- package/src/stories/itemTypes/Quantity.stories.tsx +1 -1
- package/src/stories/itemTypes/Reference.stories.tsx +1 -1
- package/src/stories/itemTypes/String.stories.tsx +1 -1
- package/src/stories/itemTypes/Text.stories.tsx +1 -1
- package/src/stories/itemTypes/Time.stories.tsx +1 -1
- package/src/stories/itemTypes/Url.stories.tsx +1 -1
- package/src/stories/sdc/AdvancedAdditionalDisplayContent.stories.tsx +1 -1
- package/src/stories/sdc/AdvancedControlAppearance.stories.tsx +1 -1
- package/src/stories/sdc/AdvancedOther.stories.tsx +1 -1
- package/src/stories/sdc/AdvancedTextAppearance.stories.tsx +1 -1
- package/src/stories/sdc/BehaviorCalculations.stories.tsx +1 -1
- package/src/stories/sdc/BehaviorChoiceRestriction.stories.tsx +1 -1
- package/src/stories/sdc/BehaviorOther.stories.tsx +1 -1
- package/src/stories/sdc/BehaviorValueConstraints.stories.tsx +1 -1
- package/src/stories/sdc/FormPopulation.stories.tsx +1 -1
- package/src/stories/sdc/ItemControlDisplay.stories.tsx +1 -1
- package/src/stories/sdc/ItemControlGroup.stories.tsx +1 -1
- package/src/stories/sdc/ItemControlQuestion.stories.tsx +1 -1
- package/src/stories/sdc/OtherExtensions.stories.tsx +1 -1
- package/src/stories/testing/AuCoreTester.stories.tsx +1 -1
- package/src/stories/testing/BuildFormButtonTesterWrapper.stories.tsx +1 -1
- package/src/stories/testing/GroupTableTester.stories.tsx +1 -1
- package/src/stories/testing/IdRemoverDebuggerWrapper.stories.tsx +1 -1
- package/src/stories/testing/Mbs715Tester.stories.tsx +1 -1
- package/src/stories/testing/PrePopButtonTesterWrapper.stories.tsx +1 -1
- package/src/stories/testing/ValidateFormTesterWrapper.stories.tsx +1 -1
- package/src/utils/calculatedExpression.ts +29 -15
- package/src/utils/enableWhenExpression.ts +91 -48
- package/src/utils/fhirpath.ts +64 -27
- package/src/utils/getExpressionsFromItem.ts +1 -1
- package/src/utils/index.ts +8 -2
- package/src/utils/initialise.ts +11 -7
- package/src/utils/itemControl.ts +38 -1
- package/src/utils/manageForm.ts +16 -2
- package/src/utils/misc.ts +1 -1
- package/src/utils/openChoice.ts +2 -13
- package/src/utils/page.ts +4 -11
- package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +1 -1
- package/src/utils/questionnaireStoreUtils/extractOtherExtensions.ts +20 -18
- package/src/utils/questionnaireStoreUtils/extractPages.ts +5 -12
- package/src/utils/repopulateItems.ts +0 -11
- package/src/utils/validateQuestionnaire.ts +6 -1
- package/vite.config.ts +2 -2
- package/src/components/Renderer/FormBodyPage.tsx +0 -93
- package/src/components/Renderer/FormTopLevelPage.tsx +0 -70
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
|
|
29
29
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
30
30
|
const meta = {
|
|
31
|
-
title: '
|
|
31
|
+
title: 'SDC/8.1.4 Advanced Other',
|
|
32
32
|
component: BuildFormWrapperForStorybook,
|
|
33
33
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
34
34
|
tags: []
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
|
|
30
30
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
31
31
|
const meta = {
|
|
32
|
-
title: '
|
|
32
|
+
title: 'SDC/8.1.1 Advanced Text Appearance',
|
|
33
33
|
component: BuildFormWrapperForStorybook,
|
|
34
34
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
35
35
|
tags: []
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
|
|
28
28
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
29
29
|
const meta = {
|
|
30
|
-
title: '
|
|
30
|
+
title: 'SDC/9.1.3 Form Behavior Calculations',
|
|
31
31
|
component: BuildFormWrapperForStorybook,
|
|
32
32
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
33
33
|
tags: []
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
|
|
29
29
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
30
30
|
const meta = {
|
|
31
|
-
title: '
|
|
31
|
+
title: 'SDC/9.1.2 Form Behavior Choice Restriction',
|
|
32
32
|
component: BuildFormWrapperForStorybook,
|
|
33
33
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
34
34
|
tags: []
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
|
|
32
32
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
33
33
|
const meta = {
|
|
34
|
-
title: '
|
|
34
|
+
title: 'SDC/9.1.4 Form Behavior Other Control',
|
|
35
35
|
component: BuildFormWrapperForStorybook,
|
|
36
36
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
37
37
|
tags: []
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
|
|
35
35
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
36
36
|
const meta = {
|
|
37
|
-
title: '
|
|
37
|
+
title: 'SDC/9.1.1 Form Behavior Value Constraints',
|
|
38
38
|
component: BuildFormWrapperForStorybook,
|
|
39
39
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
40
40
|
tags: []
|
|
@@ -31,7 +31,7 @@ import { pracPrimaryPeter } from '../assets/practitioners/PracPrimaryPeter';
|
|
|
31
31
|
|
|
32
32
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
33
33
|
const meta = {
|
|
34
|
-
title: '
|
|
34
|
+
title: 'SDC/12 Form Population',
|
|
35
35
|
component: PrePopWrapperForStorybook,
|
|
36
36
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
37
37
|
tags: []
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
|
|
28
28
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
29
29
|
const meta = {
|
|
30
|
-
title: '
|
|
30
|
+
title: 'SDC/8.1.2 Advanced Control Appearance - Item Control Display',
|
|
31
31
|
component: BuildFormWrapperForStorybook,
|
|
32
32
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
33
33
|
tags: []
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
|
|
31
31
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
32
32
|
const meta = {
|
|
33
|
-
title: '
|
|
33
|
+
title: 'SDC/8.1.2 Advanced Control Appearance - Item Control Group',
|
|
34
34
|
component: BuildFormWrapperForStorybook,
|
|
35
35
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
36
36
|
tags: []
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
|
|
35
35
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
36
36
|
const meta = {
|
|
37
|
-
title: '
|
|
37
|
+
title: 'SDC/8.1.2 Advanced Control Appearance - Item Control Question',
|
|
38
38
|
component: BuildFormWrapperForStorybook,
|
|
39
39
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
40
40
|
tags: []
|
|
@@ -21,7 +21,7 @@ import { qPreferredTerminologyServer } from '../assets/questionnaires';
|
|
|
21
21
|
|
|
22
22
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
23
23
|
const meta = {
|
|
24
|
-
title: '
|
|
24
|
+
title: 'SDC/Other Extensions',
|
|
25
25
|
component: BuildFormWrapperForStorybook,
|
|
26
26
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
27
27
|
tags: []
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
|
|
42
42
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
43
43
|
const meta = {
|
|
44
|
-
title: '
|
|
44
|
+
title: 'Testing/AU Core Tester',
|
|
45
45
|
component: PrePopWrapperForStorybook,
|
|
46
46
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
47
47
|
tags: []
|
|
@@ -21,7 +21,7 @@ import { qButtonTester, qrButtonTesterResponse } from '../assets/questionnaires/
|
|
|
21
21
|
|
|
22
22
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
23
23
|
const meta = {
|
|
24
|
-
title: '
|
|
24
|
+
title: 'Testing/Build Form Button Tester',
|
|
25
25
|
component: BuildFormButtonTesterWrapperForStorybook,
|
|
26
26
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
27
27
|
tags: []
|
|
@@ -21,7 +21,7 @@ import { qGTableWithBoolean } from '../assets/questionnaires/QGroupTableTester';
|
|
|
21
21
|
|
|
22
22
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
23
23
|
const meta = {
|
|
24
|
-
title: '
|
|
24
|
+
title: 'Testing/Group Table Tester',
|
|
25
25
|
component: BuildFormWrapperForStorybook,
|
|
26
26
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
27
27
|
tags: []
|
|
@@ -21,7 +21,7 @@ import { qMyPatient } from '../assets/questionnaires/QIdRemoverDebugger';
|
|
|
21
21
|
|
|
22
22
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
23
23
|
const meta = {
|
|
24
|
-
title: '
|
|
24
|
+
title: 'Testing/ID Remover Debugger',
|
|
25
25
|
component: IdRemoverDebuggerWrapperForStorybook,
|
|
26
26
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
27
27
|
tags: []
|
|
@@ -27,7 +27,7 @@ import { pracPrimaryPeter } from '../assets/practitioners/PracPrimaryPeter';
|
|
|
27
27
|
|
|
28
28
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
29
29
|
const meta = {
|
|
30
|
-
title: '
|
|
30
|
+
title: 'Testing/MBS 715 Tester',
|
|
31
31
|
component: PrePopWrapperForStorybook,
|
|
32
32
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
33
33
|
tags: []
|
|
@@ -25,7 +25,7 @@ import { qSelectivePrePopTester } from '../assets/questionnaires/QPrePopTester';
|
|
|
25
25
|
|
|
26
26
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
27
27
|
const meta = {
|
|
28
|
-
title: '
|
|
28
|
+
title: 'Testing/Pre Pop Tester',
|
|
29
29
|
component: PrePopWrapperForStorybook,
|
|
30
30
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
31
31
|
tags: []
|
|
@@ -21,7 +21,7 @@ import { qValidateTester } from '../assets/questionnaires/QValidateTester';
|
|
|
21
21
|
|
|
22
22
|
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
|
|
23
23
|
const meta = {
|
|
24
|
-
title: '
|
|
24
|
+
title: 'Testing/Validate Tester',
|
|
25
25
|
component: ValidationFormTesterWrapper,
|
|
26
26
|
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
|
|
27
27
|
tags: []
|
|
@@ -28,7 +28,7 @@ import type {
|
|
|
28
28
|
QuestionnaireResponseItemAnswer
|
|
29
29
|
} from 'fhir/r4';
|
|
30
30
|
import { emptyResponse } from './emptyResource';
|
|
31
|
-
import { createFhirPathContext } from './fhirpath';
|
|
31
|
+
import { createFhirPathContext, handleFhirPathResult } from './fhirpath';
|
|
32
32
|
import { getQrItemsIndex, mapQItemsIndex } from './mapItem';
|
|
33
33
|
import { updateQrItemsInGroup } from './qrItem';
|
|
34
34
|
import dayjs from 'dayjs';
|
|
@@ -41,20 +41,22 @@ interface EvaluateInitialCalculatedExpressionsParams {
|
|
|
41
41
|
calculatedExpressions: Record<string, CalculatedExpression[]>;
|
|
42
42
|
variablesFhirPath: Record<string, Expression[]>;
|
|
43
43
|
existingFhirPathContext: Record<string, any>;
|
|
44
|
+
terminologyServerUrl: string;
|
|
44
45
|
}
|
|
45
46
|
|
|
46
|
-
export function evaluateInitialCalculatedExpressions(
|
|
47
|
+
export async function evaluateInitialCalculatedExpressions(
|
|
47
48
|
params: EvaluateInitialCalculatedExpressionsParams
|
|
48
|
-
): {
|
|
49
|
+
): Promise<{
|
|
49
50
|
initialCalculatedExpressions: Record<string, CalculatedExpression[]>;
|
|
50
51
|
updatedFhirPathContext: Record<string, any>;
|
|
51
|
-
} {
|
|
52
|
+
}> {
|
|
52
53
|
const {
|
|
53
54
|
initialResponse,
|
|
54
55
|
initialResponseItemMap,
|
|
55
56
|
calculatedExpressions,
|
|
56
57
|
variablesFhirPath,
|
|
57
|
-
existingFhirPathContext
|
|
58
|
+
existingFhirPathContext,
|
|
59
|
+
terminologyServerUrl
|
|
58
60
|
} = params;
|
|
59
61
|
|
|
60
62
|
// Return early if initialResponse is empty or there are no calculated expressions to evaluate
|
|
@@ -72,11 +74,12 @@ export function evaluateInitialCalculatedExpressions(
|
|
|
72
74
|
...calculatedExpressions
|
|
73
75
|
};
|
|
74
76
|
|
|
75
|
-
const updatedFhirPathContext = createFhirPathContext(
|
|
77
|
+
const updatedFhirPathContext = await createFhirPathContext(
|
|
76
78
|
initialResponse,
|
|
77
79
|
initialResponseItemMap,
|
|
78
80
|
variablesFhirPath,
|
|
79
|
-
existingFhirPathContext
|
|
81
|
+
existingFhirPathContext,
|
|
82
|
+
terminologyServerUrl
|
|
80
83
|
);
|
|
81
84
|
|
|
82
85
|
for (const linkId in initialCalculatedExpressions) {
|
|
@@ -84,12 +87,17 @@ export function evaluateInitialCalculatedExpressions(
|
|
|
84
87
|
|
|
85
88
|
for (const calcExpression of itemCalcExpressions) {
|
|
86
89
|
try {
|
|
87
|
-
const
|
|
90
|
+
const fhirPathResult = fhirpath.evaluate(
|
|
88
91
|
{},
|
|
89
92
|
calcExpression.expression,
|
|
90
93
|
updatedFhirPathContext,
|
|
91
|
-
fhirpath_r4_model
|
|
94
|
+
fhirpath_r4_model,
|
|
95
|
+
{
|
|
96
|
+
async: true,
|
|
97
|
+
terminologyUrl: terminologyServerUrl
|
|
98
|
+
}
|
|
92
99
|
);
|
|
100
|
+
const result = await handleFhirPathResult(fhirPathResult);
|
|
93
101
|
|
|
94
102
|
// Only update calculatedExpressions if length of result array > 0
|
|
95
103
|
if (result.length > 0 && !isEqual(calcExpression.value, result[0])) {
|
|
@@ -109,13 +117,14 @@ export function evaluateInitialCalculatedExpressions(
|
|
|
109
117
|
};
|
|
110
118
|
}
|
|
111
119
|
|
|
112
|
-
export function evaluateCalculatedExpressions(
|
|
120
|
+
export async function evaluateCalculatedExpressions(
|
|
113
121
|
fhirPathContext: Record<string, any>,
|
|
114
|
-
calculatedExpressions: Record<string, CalculatedExpression[]
|
|
115
|
-
|
|
122
|
+
calculatedExpressions: Record<string, CalculatedExpression[]>,
|
|
123
|
+
terminologyServerUrl: string
|
|
124
|
+
): Promise<{
|
|
116
125
|
calculatedExpsIsUpdated: boolean;
|
|
117
126
|
updatedCalculatedExpressions: Record<string, CalculatedExpression[]>;
|
|
118
|
-
} {
|
|
127
|
+
}> {
|
|
119
128
|
const updatedCalculatedExpressions: Record<string, CalculatedExpression[]> = {
|
|
120
129
|
...calculatedExpressions
|
|
121
130
|
};
|
|
@@ -126,12 +135,17 @@ export function evaluateCalculatedExpressions(
|
|
|
126
135
|
|
|
127
136
|
for (const calcExpression of itemCalcExpressions) {
|
|
128
137
|
try {
|
|
129
|
-
const
|
|
138
|
+
const fhirPathResult = fhirpath.evaluate(
|
|
130
139
|
{},
|
|
131
140
|
calcExpression.expression,
|
|
132
141
|
fhirPathContext,
|
|
133
|
-
fhirpath_r4_model
|
|
142
|
+
fhirpath_r4_model,
|
|
143
|
+
{
|
|
144
|
+
async: true,
|
|
145
|
+
terminologyUrl: terminologyServerUrl
|
|
146
|
+
}
|
|
134
147
|
);
|
|
148
|
+
const result = await handleFhirPathResult(fhirPathResult);
|
|
135
149
|
|
|
136
150
|
// Update calculatedExpressions if length of result array > 0
|
|
137
151
|
// Only update when current calcExpression value is different from the result, otherwise it will result in an infinite loop as per issue #733
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import type { Expression, QuestionnaireResponse, QuestionnaireResponseItem } from 'fhir/r4';
|
|
19
|
-
import { createFhirPathContext } from './fhirpath';
|
|
19
|
+
import { createFhirPathContext, handleFhirPathResult } from './fhirpath';
|
|
20
20
|
import fhirpath from 'fhirpath';
|
|
21
21
|
import fhirpath_r4_model from 'fhirpath/fhir-context/r4';
|
|
22
22
|
import type {
|
|
@@ -31,40 +31,45 @@ interface EvaluateInitialEnableWhenExpressionsParams {
|
|
|
31
31
|
enableWhenExpressions: EnableWhenExpressions;
|
|
32
32
|
variablesFhirPath: Record<string, Expression[]>;
|
|
33
33
|
existingFhirPathContext: Record<string, any>;
|
|
34
|
+
terminologyServerUrl: string;
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
export function evaluateInitialEnableWhenExpressions(
|
|
37
|
+
export async function evaluateInitialEnableWhenExpressions(
|
|
37
38
|
params: EvaluateInitialEnableWhenExpressionsParams
|
|
38
|
-
): {
|
|
39
|
+
): Promise<{
|
|
39
40
|
initialEnableWhenExpressions: EnableWhenExpressions;
|
|
40
41
|
updatedFhirPathContext: Record<string, any>;
|
|
41
|
-
} {
|
|
42
|
+
}> {
|
|
42
43
|
const {
|
|
43
44
|
initialResponse,
|
|
44
45
|
initialResponseItemMap,
|
|
45
46
|
enableWhenExpressions,
|
|
46
47
|
variablesFhirPath,
|
|
47
|
-
existingFhirPathContext
|
|
48
|
+
existingFhirPathContext,
|
|
49
|
+
terminologyServerUrl
|
|
48
50
|
} = params;
|
|
49
51
|
|
|
50
52
|
const initialEnableWhenExpressions: EnableWhenExpressions = {
|
|
51
53
|
...enableWhenExpressions
|
|
52
54
|
};
|
|
53
|
-
const updatedFhirPathContext = createFhirPathContext(
|
|
55
|
+
const updatedFhirPathContext = await createFhirPathContext(
|
|
54
56
|
initialResponse,
|
|
55
57
|
initialResponseItemMap,
|
|
56
58
|
variablesFhirPath,
|
|
57
|
-
existingFhirPathContext
|
|
59
|
+
existingFhirPathContext,
|
|
60
|
+
terminologyServerUrl
|
|
58
61
|
);
|
|
59
62
|
|
|
60
|
-
const initialEnableWhenSingleExpressions = evaluateEnableWhenSingleExpressions(
|
|
63
|
+
const initialEnableWhenSingleExpressions = await evaluateEnableWhenSingleExpressions(
|
|
61
64
|
initialEnableWhenExpressions.singleExpressions,
|
|
62
|
-
updatedFhirPathContext
|
|
65
|
+
updatedFhirPathContext,
|
|
66
|
+
terminologyServerUrl
|
|
63
67
|
);
|
|
64
68
|
|
|
65
|
-
const initialEnableWhenRepeatExpressions = evaluateEnableWhenRepeatExpressions(
|
|
69
|
+
const initialEnableWhenRepeatExpressions = await evaluateEnableWhenRepeatExpressions(
|
|
66
70
|
initialEnableWhenExpressions.repeatExpressions,
|
|
67
|
-
updatedFhirPathContext
|
|
71
|
+
updatedFhirPathContext,
|
|
72
|
+
terminologyServerUrl
|
|
68
73
|
);
|
|
69
74
|
|
|
70
75
|
return {
|
|
@@ -76,20 +81,31 @@ export function evaluateInitialEnableWhenExpressions(
|
|
|
76
81
|
};
|
|
77
82
|
}
|
|
78
83
|
|
|
79
|
-
function evaluateEnableWhenSingleExpressions(
|
|
84
|
+
async function evaluateEnableWhenSingleExpressions(
|
|
80
85
|
enableWhenSingleExpressions: Record<string, EnableWhenSingleExpression>,
|
|
81
|
-
updatedFhirPathContext: Record<string, any
|
|
82
|
-
|
|
86
|
+
updatedFhirPathContext: Record<string, any>,
|
|
87
|
+
terminologyServerUrl: string
|
|
88
|
+
): Promise<{
|
|
83
89
|
updatedExpressions: Record<string, EnableWhenSingleExpression>;
|
|
84
90
|
isUpdated: boolean;
|
|
85
|
-
} {
|
|
91
|
+
}> {
|
|
86
92
|
let isUpdated = false;
|
|
87
93
|
for (const linkId in enableWhenSingleExpressions) {
|
|
88
94
|
const initialValue = enableWhenSingleExpressions[linkId].isEnabled;
|
|
89
95
|
const expression = enableWhenSingleExpressions[linkId].expression;
|
|
90
96
|
|
|
91
97
|
try {
|
|
92
|
-
const
|
|
98
|
+
const fhirPathResult = fhirpath.evaluate(
|
|
99
|
+
{},
|
|
100
|
+
expression,
|
|
101
|
+
updatedFhirPathContext,
|
|
102
|
+
fhirpath_r4_model,
|
|
103
|
+
{
|
|
104
|
+
async: true,
|
|
105
|
+
terminologyUrl: terminologyServerUrl
|
|
106
|
+
}
|
|
107
|
+
);
|
|
108
|
+
const result = await handleFhirPathResult(fhirPathResult);
|
|
93
109
|
|
|
94
110
|
// Update enableWhenExpressions if length of result array > 0
|
|
95
111
|
// Only update when current isEnabled value is different from the result, otherwise it will result in an infinite loop as per issue #733
|
|
@@ -124,35 +140,43 @@ function evaluateEnableWhenSingleExpressions(
|
|
|
124
140
|
return { updatedExpressions: enableWhenSingleExpressions, isUpdated };
|
|
125
141
|
}
|
|
126
142
|
|
|
127
|
-
function getNumOfEnableWhenExpressionItemInstances(
|
|
143
|
+
async function getNumOfEnableWhenExpressionItemInstances(
|
|
128
144
|
enableWhenExpression: EnableWhenRepeatExpression,
|
|
129
|
-
fhirPathContext: Record<string, any
|
|
145
|
+
fhirPathContext: Record<string, any>,
|
|
146
|
+
terminologyServerUrl: string
|
|
130
147
|
) {
|
|
131
|
-
const
|
|
132
|
-
|
|
148
|
+
const fhirPathResult = fhirpath.evaluate(
|
|
149
|
+
{},
|
|
133
150
|
`%resource.descendants().where(linkId = '${enableWhenExpression.parentLinkId}').count()`,
|
|
134
151
|
fhirPathContext,
|
|
135
|
-
fhirpath_r4_model
|
|
152
|
+
fhirpath_r4_model,
|
|
153
|
+
{
|
|
154
|
+
async: true,
|
|
155
|
+
terminologyUrl: terminologyServerUrl
|
|
156
|
+
}
|
|
136
157
|
);
|
|
158
|
+
const result = await handleFhirPathResult(fhirPathResult);
|
|
137
159
|
|
|
138
160
|
return typeof result[0] === 'number' ? result[0] : null;
|
|
139
161
|
}
|
|
140
162
|
|
|
141
|
-
function evaluateEnableWhenRepeatExpressions(
|
|
163
|
+
async function evaluateEnableWhenRepeatExpressions(
|
|
142
164
|
enableWhenRepeatExpressions: Record<string, EnableWhenRepeatExpression>,
|
|
143
|
-
fhirPathContext: Record<string, any
|
|
144
|
-
|
|
165
|
+
fhirPathContext: Record<string, any>,
|
|
166
|
+
terminologyServerUrl: string
|
|
167
|
+
): Promise<{
|
|
145
168
|
updatedExpressions: Record<string, EnableWhenRepeatExpression>;
|
|
146
169
|
isUpdated: boolean;
|
|
147
|
-
} {
|
|
170
|
+
}> {
|
|
148
171
|
let aggregatedUpdated = false;
|
|
149
172
|
for (const linkId in enableWhenRepeatExpressions) {
|
|
150
173
|
// Get number of repeat group instances in the QR
|
|
151
174
|
const enableWhenExpression = enableWhenRepeatExpressions[linkId];
|
|
152
175
|
|
|
153
|
-
const numOfInstances = getNumOfEnableWhenExpressionItemInstances(
|
|
176
|
+
const numOfInstances = await getNumOfEnableWhenExpressionItemInstances(
|
|
154
177
|
enableWhenExpression,
|
|
155
|
-
fhirPathContext
|
|
178
|
+
fhirPathContext,
|
|
179
|
+
terminologyServerUrl
|
|
156
180
|
);
|
|
157
181
|
if (!numOfInstances) {
|
|
158
182
|
continue;
|
|
@@ -164,12 +188,13 @@ function evaluateEnableWhenRepeatExpressions(
|
|
|
164
188
|
}
|
|
165
189
|
|
|
166
190
|
for (let i = 0; i < numOfInstances; i++) {
|
|
167
|
-
const { isEnabled, isUpdated } = evaluateEnableWhenRepeatExpressionInstance(
|
|
191
|
+
const { isEnabled, isUpdated } = await evaluateEnableWhenRepeatExpressionInstance(
|
|
168
192
|
linkId,
|
|
169
193
|
fhirPathContext,
|
|
170
194
|
enableWhenExpression,
|
|
171
195
|
lastLinkIdIndex,
|
|
172
|
-
i
|
|
196
|
+
i,
|
|
197
|
+
terminologyServerUrl
|
|
173
198
|
);
|
|
174
199
|
|
|
175
200
|
if (typeof isEnabled === 'boolean') {
|
|
@@ -183,13 +208,14 @@ function evaluateEnableWhenRepeatExpressions(
|
|
|
183
208
|
return { updatedExpressions: enableWhenRepeatExpressions, isUpdated: aggregatedUpdated };
|
|
184
209
|
}
|
|
185
210
|
|
|
186
|
-
export function evaluateEnableWhenRepeatExpressionInstance(
|
|
211
|
+
export async function evaluateEnableWhenRepeatExpressionInstance(
|
|
187
212
|
linkId: string,
|
|
188
213
|
fhirPathContext: Record<string, any>,
|
|
189
214
|
enableWhenRepeatExpression: EnableWhenRepeatExpression,
|
|
190
215
|
lastLinkIdIndex: number,
|
|
191
|
-
instanceIndex: number
|
|
192
|
-
|
|
216
|
+
instanceIndex: number,
|
|
217
|
+
terminologyServerUrl: string
|
|
218
|
+
): Promise<{ isEnabled: boolean | null; isUpdated: boolean }> {
|
|
193
219
|
const expression = enableWhenRepeatExpression.expression;
|
|
194
220
|
const parentLinkId = enableWhenRepeatExpression.parentLinkId;
|
|
195
221
|
const initialValue = enableWhenRepeatExpression.enabledIndexes[instanceIndex];
|
|
@@ -202,7 +228,17 @@ export function evaluateEnableWhenRepeatExpressionInstance(
|
|
|
202
228
|
let isEnabled = null;
|
|
203
229
|
let isUpdated = false;
|
|
204
230
|
try {
|
|
205
|
-
const
|
|
231
|
+
const fhirPathResult = fhirpath.evaluate(
|
|
232
|
+
{},
|
|
233
|
+
modifiedExpression,
|
|
234
|
+
fhirPathContext,
|
|
235
|
+
fhirpath_r4_model,
|
|
236
|
+
{
|
|
237
|
+
async: true,
|
|
238
|
+
terminologyUrl: terminologyServerUrl
|
|
239
|
+
}
|
|
240
|
+
);
|
|
241
|
+
const result = await handleFhirPathResult(fhirPathResult);
|
|
206
242
|
|
|
207
243
|
// Update enableWhenExpressions if length of result array > 0
|
|
208
244
|
// Only update when current isEnabled value is different from the result, otherwise it will result in am infinite loop as per #733
|
|
@@ -229,25 +265,28 @@ export function evaluateEnableWhenRepeatExpressionInstance(
|
|
|
229
265
|
return { isEnabled, isUpdated };
|
|
230
266
|
}
|
|
231
267
|
|
|
232
|
-
export function evaluateEnableWhenExpressions(
|
|
268
|
+
export async function evaluateEnableWhenExpressions(
|
|
233
269
|
fhirPathContext: Record<string, any>,
|
|
234
|
-
enableWhenExpressions: EnableWhenExpressions
|
|
235
|
-
|
|
270
|
+
enableWhenExpressions: EnableWhenExpressions,
|
|
271
|
+
terminologyServerUrl: string
|
|
272
|
+
): Promise<{
|
|
236
273
|
enableWhenExpsIsUpdated: boolean;
|
|
237
274
|
updatedEnableWhenExpressions: EnableWhenExpressions;
|
|
238
|
-
} {
|
|
275
|
+
}> {
|
|
239
276
|
const updatedEnableWhenExpressions: EnableWhenExpressions = {
|
|
240
277
|
...enableWhenExpressions
|
|
241
278
|
};
|
|
242
279
|
|
|
243
|
-
const updatedEnableWhenSingleExpressions = evaluateEnableWhenSingleExpressions(
|
|
280
|
+
const updatedEnableWhenSingleExpressions = await evaluateEnableWhenSingleExpressions(
|
|
244
281
|
updatedEnableWhenExpressions.singleExpressions,
|
|
245
|
-
fhirPathContext
|
|
282
|
+
fhirPathContext,
|
|
283
|
+
terminologyServerUrl
|
|
246
284
|
);
|
|
247
285
|
|
|
248
|
-
const updatedEnableWhenRepeatExpressions = evaluateEnableWhenRepeatExpressions(
|
|
286
|
+
const updatedEnableWhenRepeatExpressions = await evaluateEnableWhenRepeatExpressions(
|
|
249
287
|
updatedEnableWhenExpressions.repeatExpressions,
|
|
250
|
-
fhirPathContext
|
|
288
|
+
fhirPathContext,
|
|
289
|
+
terminologyServerUrl
|
|
251
290
|
);
|
|
252
291
|
|
|
253
292
|
const isUpdated =
|
|
@@ -271,11 +310,12 @@ interface MutateRepeatEnableWhenExpressionInstancesParams {
|
|
|
271
310
|
parentRepeatGroupLinkId: string;
|
|
272
311
|
parentRepeatGroupIndex: number;
|
|
273
312
|
actionType: 'add' | 'remove';
|
|
313
|
+
terminologyServerUrl: string;
|
|
274
314
|
}
|
|
275
315
|
|
|
276
|
-
export function mutateRepeatEnableWhenExpressionInstances(
|
|
316
|
+
export async function mutateRepeatEnableWhenExpressionInstances(
|
|
277
317
|
params: MutateRepeatEnableWhenExpressionInstancesParams
|
|
278
|
-
): { updatedEnableWhenExpressions: EnableWhenExpressions; isUpdated: boolean } {
|
|
318
|
+
): Promise<{ updatedEnableWhenExpressions: EnableWhenExpressions; isUpdated: boolean }> {
|
|
279
319
|
const {
|
|
280
320
|
questionnaireResponse,
|
|
281
321
|
questionnaireResponseItemMap,
|
|
@@ -284,16 +324,18 @@ export function mutateRepeatEnableWhenExpressionInstances(
|
|
|
284
324
|
enableWhenExpressions,
|
|
285
325
|
parentRepeatGroupLinkId,
|
|
286
326
|
parentRepeatGroupIndex,
|
|
287
|
-
actionType
|
|
327
|
+
actionType,
|
|
328
|
+
terminologyServerUrl
|
|
288
329
|
} = params;
|
|
289
330
|
|
|
290
331
|
const { repeatExpressions } = enableWhenExpressions;
|
|
291
332
|
|
|
292
|
-
const updatedFhirPathContext = createFhirPathContext(
|
|
333
|
+
const updatedFhirPathContext = await createFhirPathContext(
|
|
293
334
|
questionnaireResponse,
|
|
294
335
|
questionnaireResponseItemMap,
|
|
295
336
|
variablesFhirPath,
|
|
296
|
-
existingFhirPathContext
|
|
337
|
+
existingFhirPathContext,
|
|
338
|
+
terminologyServerUrl
|
|
297
339
|
);
|
|
298
340
|
|
|
299
341
|
let isUpdated = false;
|
|
@@ -303,12 +345,13 @@ export function mutateRepeatEnableWhenExpressionInstances(
|
|
|
303
345
|
}
|
|
304
346
|
|
|
305
347
|
if (actionType === 'add') {
|
|
306
|
-
const { isEnabled } = evaluateEnableWhenRepeatExpressionInstance(
|
|
348
|
+
const { isEnabled } = await evaluateEnableWhenRepeatExpressionInstance(
|
|
307
349
|
linkId,
|
|
308
350
|
updatedFhirPathContext,
|
|
309
351
|
repeatExpressions[linkId],
|
|
310
352
|
repeatExpressions[linkId].expression.lastIndexOf('.where(linkId'),
|
|
311
|
-
parentRepeatGroupIndex
|
|
353
|
+
parentRepeatGroupIndex,
|
|
354
|
+
terminologyServerUrl
|
|
312
355
|
);
|
|
313
356
|
|
|
314
357
|
if (typeof isEnabled === 'boolean') {
|