@aehrc/smart-forms-renderer 0.27.2 → 0.27.4
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 +2 -1
- package/.storybook/preview.ts +6 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.d.ts +3 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.js +9 -17
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +12 -9
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js +7 -9
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +12 -8
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.d.ts +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js +3 -3
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +6 -4
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.d.ts +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js +3 -3
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js +5 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +4 -4
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.d.ts +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js +2 -3
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +5 -3
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.d.ts +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js +3 -3
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js.map +1 -1
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js +1 -1
- package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.js +20 -20
- package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.d.ts +3 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js +7 -19
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +40 -40
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js +15 -3
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.d.ts +2 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js +3 -3
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +27 -26
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/StringItem/StringField.js +1 -1
- package/lib/components/FormComponents/StringItem/StringField.js.map +1 -1
- package/lib/hooks/useInitialiseRenderer.js +1 -1
- package/lib/hooks/useInitialiseRenderer.js.map +1 -1
- package/lib/hooks/useNextAndPreviousVisibleTabs.d.ts +7 -0
- package/lib/hooks/useNextAndPreviousVisibleTabs.js +63 -0
- package/lib/hooks/useNextAndPreviousVisibleTabs.js.map +1 -0
- package/lib/hooks/useNextPreviousVisibleTabs.d.ts +6 -0
- package/lib/hooks/useNextPreviousVisibleTabs.js +63 -0
- package/lib/hooks/useNextPreviousVisibleTabs.js.map +1 -0
- package/lib/index.d.ts +0 -7
- package/lib/index.js +0 -24
- package/lib/index.js.map +1 -1
- package/lib/utils/choice.d.ts +1 -7
- package/lib/utils/choice.js +10 -20
- package/lib/utils/choice.js.map +1 -1
- package/lib/utils/enableWhen.js +5 -7
- package/lib/utils/enableWhen.js.map +1 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +1 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/openChoice.d.ts +9 -4
- package/lib/utils/openChoice.js +47 -78
- package/lib/utils/openChoice.js.map +1 -1
- package/lib/utils/tabs.d.ts +0 -21
- package/lib/utils/tabs.js +0 -51
- package/lib/utils/tabs.js.map +1 -1
- package/package.json +4 -4
- package/src/components/FormComponents/ChoiceItems/CheckboxOptionList.tsx +82 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.tsx +23 -52
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +15 -9
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.tsx +17 -19
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +13 -8
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx +5 -4
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +6 -2
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.tsx +5 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx +9 -16
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +4 -4
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +4 -3
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +5 -2
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.tsx +5 -1
- package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +1 -1
- package/src/components/FormComponents/GroupItem/TabButtonsWrapper.tsx +28 -25
- package/src/components/FormComponents/ItemParts/{RadioAnswerOptionButtons.tsx → RadioOptionList.tsx} +7 -7
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.tsx +18 -50
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +70 -68
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetFields.tsx +110 -0
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.tsx +188 -0
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.tsx +46 -19
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.tsx +5 -3
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +37 -29
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.tsx +104 -0
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.tsx +156 -0
- package/src/components/FormComponents/StringItem/StringField.tsx +1 -1
- package/src/hooks/useInitialiseRenderer.ts +1 -1
- package/src/hooks/useNextAndPreviousVisibleTabs.ts +86 -0
- package/src/hooks/useOpenLabel.ts +43 -0
- package/src/index.ts +0 -21
- package/src/stories/BuildFormWrapper.tsx +57 -0
- package/src/stories/assets/questionnaires/QAdvancedAdditionalDisplayContent.ts +83 -0
- package/src/stories/assets/questionnaires/QAdvancedControlAppearance.ts +294 -0
- package/src/stories/assets/questionnaires/QAdvancedOther.ts +495 -0
- package/src/stories/assets/questionnaires/QAdvancedTextApperance.ts +188 -0
- package/src/stories/assets/questionnaires/QAttachment.ts +38 -0
- package/src/stories/assets/questionnaires/QBehaviorCalculations.ts +645 -0
- package/src/stories/assets/questionnaires/QBehaviorChoiceRestriction.ts +281 -0
- package/src/stories/assets/questionnaires/QBehaviorOther.ts +1149 -0
- package/src/stories/assets/questionnaires/QBehaviorValueConstraints.ts +508 -0
- package/src/stories/assets/questionnaires/QBoolean.ts +130 -0
- package/src/stories/assets/questionnaires/QChoice.ts +137 -0
- package/src/stories/assets/questionnaires/QDate.ts +56 -0
- package/src/stories/assets/questionnaires/QDateTime.ts +56 -0
- package/src/stories/assets/questionnaires/QDecimal.ts +56 -0
- package/src/stories/assets/questionnaires/QDisplay.ts +38 -0
- package/src/stories/assets/questionnaires/QGroup.ts +52 -0
- package/src/stories/assets/questionnaires/QInteger.ts +119 -0
- package/src/stories/assets/questionnaires/QItemControlDisplay.ts +114 -0
- package/src/stories/assets/questionnaires/QItemControlGroup.ts +419 -0
- package/src/stories/assets/questionnaires/QItemControlQuestion.ts +1271 -0
- package/src/stories/assets/questionnaires/QOpenChoice.ts +151 -0
- package/src/stories/assets/questionnaires/QQuantity.ts +38 -0
- package/src/stories/assets/questionnaires/QReference.ts +38 -0
- package/src/stories/assets/questionnaires/QSingleItems.ts +251 -0
- package/src/stories/assets/questionnaires/QString.ts +131 -0
- package/src/stories/assets/questionnaires/QText.ts +169 -0
- package/src/stories/assets/questionnaires/QTime.ts +38 -0
- package/src/stories/assets/questionnaires/QUrl.ts +38 -0
- package/src/stories/assets/questionnaires/index.ts +44 -0
- package/src/stories/itemTypes/Attachment.stories.tsx +39 -0
- package/src/stories/itemTypes/Boolean.stories.tsx +72 -0
- package/src/stories/{MedicalHistoryTable.stories.tsx → itemTypes/Choice.stories.tsx} +32 -26
- package/src/stories/itemTypes/Date.stories.tsx +46 -0
- package/src/stories/itemTypes/DateTime.stories.tsx +45 -0
- package/src/stories/itemTypes/Decimal.stories.tsx +56 -0
- package/src/stories/itemTypes/Display.stories.tsx +39 -0
- package/src/stories/itemTypes/Group.stories.tsx +39 -0
- package/src/stories/itemTypes/Integer.stories.tsx +55 -0
- package/src/stories/itemTypes/OpenChoice.stories.tsx +64 -0
- package/src/stories/itemTypes/Quantity.stories.tsx +39 -0
- package/src/stories/itemTypes/Reference.stories.tsx +39 -0
- package/src/stories/itemTypes/String.stories.tsx +51 -0
- package/src/stories/itemTypes/Text.stories.tsx +51 -0
- package/src/stories/itemTypes/Time.stories.tsx +39 -0
- package/src/stories/itemTypes/Url.stories.tsx +39 -0
- package/src/stories/sdc/AdvancedAdditionalDisplayContent.stories.tsx +45 -0
- package/src/stories/sdc/AdvancedControlAppearance.stories.tsx +51 -0
- package/src/stories/sdc/AdvancedOther.stories.tsx +76 -0
- package/src/stories/sdc/AdvancedTextAppearance.stories.tsx +69 -0
- package/src/stories/sdc/BehaviorCalculations.stories.tsx +69 -0
- package/src/stories/sdc/BehaviorChoiceRestriction.stories.tsx +76 -0
- package/src/stories/sdc/BehaviorOther.stories.tsx +90 -0
- package/src/stories/sdc/BehaviorValueConstraints.stories.tsx +88 -0
- package/src/stories/sdc/ItemControlDisplay.stories.tsx +39 -0
- package/src/stories/sdc/ItemControlGroup.stories.tsx +55 -0
- package/src/stories/sdc/ItemControlQuestion.stories.tsx +118 -0
- package/src/utils/buildForm.ts +23 -0
- package/src/utils/choice.ts +16 -23
- package/src/utils/enableWhen.ts +5 -7
- package/src/utils/index.ts +1 -0
- package/src/utils/openChoice.ts +83 -98
- package/src/utils/tabs.ts +0 -75
- package/vite.config.ts +23 -0
- package/doctor-storybook.log +0 -18
- package/src/stories/SmartFormsRenderer.stories.ts +0 -139
- package/src/stories/assets/QItems-and-QRItems/QR_GTableMedicalHistory.json +0 -80
- package/src/stories/assets/QItems-and-QRItems/Q_GTableMedicalHistory.json +0 -109
- package/src/stories/assets/Qs-and-QRs/Q715.json +0 -15086
- package/src/stories/assets/Qs-and-QRs/QDev715.json +0 -16081
- package/src/stories/assets/Qs-and-QRs/QTestGrid.json +0 -411
- package/src/stories/assets/Qs-and-QRs/R715.json +0 -311
- package/src/stories/assets/Qs-and-QRs/RTestGrid.json +0 -34
package/.storybook/main.ts
CHANGED
|
@@ -15,7 +15,8 @@ const config: StorybookConfig = {
|
|
|
15
15
|
getAbsolutePath('@storybook/addon-links'),
|
|
16
16
|
getAbsolutePath('@storybook/addon-essentials'),
|
|
17
17
|
getAbsolutePath('@storybook/addon-onboarding'),
|
|
18
|
-
getAbsolutePath('@storybook/addon-interactions')
|
|
18
|
+
getAbsolutePath('@storybook/addon-interactions'),
|
|
19
|
+
'@chromatic-com/storybook'
|
|
19
20
|
],
|
|
20
21
|
framework: {
|
|
21
22
|
name: getAbsolutePath('@storybook/react-vite'),
|
package/.storybook/preview.ts
CHANGED
|
@@ -21,12 +21,17 @@ export const decorators = [
|
|
|
21
21
|
|
|
22
22
|
const preview: Preview = {
|
|
23
23
|
parameters: {
|
|
24
|
-
actions: {
|
|
24
|
+
actions: {},
|
|
25
25
|
controls: {
|
|
26
26
|
matchers: {
|
|
27
27
|
color: /(background|color)$/i,
|
|
28
28
|
date: /Date$/
|
|
29
29
|
}
|
|
30
|
+
},
|
|
31
|
+
options: {
|
|
32
|
+
// The `a` and `b` arguments in this function have a type of `import('@storybook/types').IndexEntry`. Remember that the function is executed in a JavaScript environment, so use JSDoc for IntelliSense to introspect it.
|
|
33
|
+
storySort: (a, b) =>
|
|
34
|
+
a.id === b.id ? 0 : a.id.localeCompare(b.id, undefined, { numeric: true })
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
37
|
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { QuestionnaireItem, QuestionnaireResponseItemAnswer } from 'fhir/r4';
|
|
2
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption, QuestionnaireResponseItemAnswer } from 'fhir/r4';
|
|
3
3
|
interface ChoiceCheckboxAnswerOptionFieldsProps {
|
|
4
4
|
qItem: QuestionnaireItem;
|
|
5
|
+
options: QuestionnaireItemAnswerOption[];
|
|
5
6
|
answers: QuestionnaireResponseItemAnswer[];
|
|
6
7
|
readOnly: boolean;
|
|
7
8
|
onCheckedChange: (newValue: string) => void;
|
|
8
9
|
}
|
|
9
|
-
declare function ChoiceCheckboxAnswerOptionFields(props: ChoiceCheckboxAnswerOptionFieldsProps): React.JSX.Element;
|
|
10
|
+
declare function ChoiceCheckboxAnswerOptionFields(props: ChoiceCheckboxAnswerOptionFieldsProps): React.JSX.Element | null;
|
|
10
11
|
export default ChoiceCheckboxAnswerOptionFields;
|
|
@@ -15,27 +15,19 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import React from 'react';
|
|
18
|
+
import { getChoiceOrientation } from '../../../utils/choice';
|
|
18
19
|
import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
|
|
19
|
-
import
|
|
20
|
+
import CheckboxOptionList from './CheckboxOptionList';
|
|
20
21
|
import { StyledFormGroup } from '../Item.styles';
|
|
21
|
-
import { getChoiceOrientation } from '../../../utils/choice';
|
|
22
22
|
function ChoiceCheckboxAnswerOptionFields(props) {
|
|
23
|
-
var _a
|
|
24
|
-
const { qItem, answers, readOnly, onCheckedChange } = props;
|
|
23
|
+
var _a;
|
|
24
|
+
const { qItem, options, answers, readOnly, onCheckedChange } = props;
|
|
25
25
|
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
if (option['valueString']) {
|
|
32
|
-
return (React.createElement(QItemChoiceCheckboxSingle, { key: option.valueString, value: option.valueString, label: option.valueString, readOnly: readOnly, isChecked: answers.some((answer) => answer.valueString === option.valueString), onCheckedChange: onCheckedChange }));
|
|
33
|
-
}
|
|
34
|
-
if (option['valueInteger']) {
|
|
35
|
-
return (React.createElement(QItemChoiceCheckboxSingle, { key: option.valueInteger, value: option.valueInteger.toString(), label: option.valueInteger.toString(), readOnly: readOnly, isChecked: answers.some((answer) => answer.valueInteger === option.valueInteger), onCheckedChange: onCheckedChange }));
|
|
36
|
-
}
|
|
37
|
-
return null;
|
|
38
|
-
})));
|
|
26
|
+
if (options.length > 0) {
|
|
27
|
+
return (React.createElement(StyledFormGroup, { row: orientation === ChoiceItemOrientation.Horizontal },
|
|
28
|
+
React.createElement(CheckboxOptionList, { options: options, answers: answers, readOnly: readOnly, onCheckedChange: onCheckedChange })));
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
39
31
|
}
|
|
40
32
|
export default ChoiceCheckboxAnswerOptionFields;
|
|
41
33
|
//# sourceMappingURL=ChoiceCheckboxAnswerOptionFields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceCheckboxAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceCheckboxAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAUjD,SAAS,gCAAgC,CAAC,KAA4C;;IACpF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAErE,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IAElF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,OAAO,CACL,oBAAC,eAAe,IAAC,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU;YACpE,oBAAC,kBAAkB,IACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,GAChC,CACc,CACnB,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,gCAAgC,CAAC"}
|
|
@@ -16,43 +16,46 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import React from 'react';
|
|
18
18
|
import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
19
|
-
import {
|
|
19
|
+
import { updateChoiceCheckboxAnswers } from '../../../utils/choice';
|
|
20
20
|
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
21
21
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
22
22
|
import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
23
|
-
import ChoiceCheckboxAnswerValueSetFields from './ChoiceCheckboxAnswerOptionFields';
|
|
24
23
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
25
24
|
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
26
25
|
import { useQuestionnaireStore } from '../../../stores';
|
|
26
|
+
import ChoiceCheckboxAnswerOptionFields from './ChoiceCheckboxAnswerOptionFields';
|
|
27
27
|
function ChoiceCheckboxAnswerOptionItem(props) {
|
|
28
|
+
var _a, _b;
|
|
28
29
|
const { qItem, qrItem, isRepeated, isTabled, showMinimalView = false, parentIsReadOnly, onQrItemChange } = props;
|
|
29
30
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
30
31
|
// Init input value
|
|
31
32
|
const qrChoiceCheckbox = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem);
|
|
32
|
-
const answers = qrChoiceCheckbox.answer ?
|
|
33
|
+
const answers = (_a = qrChoiceCheckbox.answer) !== null && _a !== void 0 ? _a : [];
|
|
33
34
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
34
35
|
const { displayInstructions } = useRenderingExtensions(qItem);
|
|
35
36
|
// TODO Process calculated expressions
|
|
36
37
|
// This requires its own hook, because in the case of multi-select, we need to check if the value is already checked to prevent an infinite loop
|
|
37
38
|
// This will be done after the choice/open-choice refactoring
|
|
39
|
+
const options = (_b = qItem.answerOption) !== null && _b !== void 0 ? _b : [];
|
|
38
40
|
// Event handlers
|
|
39
41
|
function handleCheckedChange(changedValue) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return
|
|
43
|
-
|
|
42
|
+
if (options.length === 0) {
|
|
43
|
+
onQrItemChange(createEmptyQrItem(qItem));
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const updatedQrChoiceCheckbox = updateChoiceCheckboxAnswers(changedValue, answers, options, qrChoiceCheckbox, isRepeated);
|
|
44
47
|
if (updatedQrChoiceCheckbox) {
|
|
45
48
|
onQrItemChange(updatedQrChoiceCheckbox);
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
if (showMinimalView) {
|
|
49
52
|
return (React.createElement(React.Fragment, null,
|
|
50
|
-
React.createElement(
|
|
53
|
+
React.createElement(ChoiceCheckboxAnswerOptionFields, { qItem: qItem, options: options, answers: answers, readOnly: readOnly, onCheckedChange: handleCheckedChange }),
|
|
51
54
|
React.createElement(DisplayInstructions, { displayInstructions: displayInstructions, readOnly: readOnly })));
|
|
52
55
|
}
|
|
53
56
|
return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-checkbox-answer-option-box", "data-linkid": qItem.linkId, onClick: () => onFocusLinkId(qItem.linkId) },
|
|
54
57
|
React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly },
|
|
55
|
-
React.createElement(
|
|
58
|
+
React.createElement(ChoiceCheckboxAnswerOptionFields, { qItem: qItem, options: options, answers: answers, readOnly: readOnly, onCheckedChange: handleCheckedChange }))));
|
|
56
59
|
}
|
|
57
60
|
export default ChoiceCheckboxAnswerOptionItem;
|
|
58
61
|
//# sourceMappingURL=ChoiceCheckboxAnswerOptionItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceCheckboxAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ChoiceCheckboxAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAQ3E,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AAYlF,SAAS,8BAA8B,CAAC,KAA0C;;IAChF,MAAM,EACJ,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,EACR,eAAe,GAAG,KAAK,EACvB,gBAAgB,EAChB,cAAc,EACf,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,mBAAmB;IACnB,MAAM,gBAAgB,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAA,gBAAgB,CAAC,MAAM,mCAAI,EAAE,CAAC;IAE9C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE9D,sCAAsC;IACtC,gJAAgJ;IAChJ,6DAA6D;IAE7D,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,YAAY,mCAAI,EAAE,CAAC;IAEzC,iBAAiB;IACjB,SAAS,mBAAmB,CAAC,YAAoB;QAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,OAAO;SACR;QAED,MAAM,uBAAuB,GAAG,2BAA2B,CACzD,YAAY,EACZ,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,UAAU,CACX,CAAC;QAEF,IAAI,uBAAuB,EAAE;YAC3B,cAAc,CAAC,uBAAuB,CAAC,CAAC;SACzC;IACH,CAAC;IAED,IAAI,eAAe,EAAE;QACnB,OAAO,CACL;YACE,oBAAC,gCAAgC,IAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,mBAAmB,GACpC;YACF,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACpF,CACJ,CAAC;KACH;IAED,OAAO,CACL,oBAAC,yBAAyB,iBACd,0CAA0C,iBACvC,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1C,oBAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;YAC7C,oBAAC,gCAAgC,IAC/B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,mBAAmB,GACpC,CACY,CACU,CAC7B,CAAC;AACJ,CAAC;AAED,eAAe,8BAA8B,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption, QuestionnaireResponseItemAnswer } from 'fhir/r4';
|
|
3
3
|
import type { TerminologyError } from '../../../hooks/useValueSetCodings';
|
|
4
4
|
interface ChoiceCheckboxAnswerValueSetFieldsProps {
|
|
5
5
|
qItem: QuestionnaireItem;
|
|
6
|
-
|
|
6
|
+
options: QuestionnaireItemAnswerOption[];
|
|
7
7
|
answers: QuestionnaireResponseItemAnswer[];
|
|
8
8
|
readOnly: boolean;
|
|
9
9
|
terminologyError: TerminologyError;
|
|
@@ -15,22 +15,20 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import React from 'react';
|
|
18
|
-
import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
|
|
19
|
-
import CheckboxSingle from '../ItemParts/CheckboxSingle';
|
|
20
|
-
import { StyledFormGroup } from '../Item.styles';
|
|
21
18
|
import { StyledAlert } from '../../Alert.styles';
|
|
22
19
|
import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';
|
|
23
20
|
import Typography from '@mui/material/Typography';
|
|
24
21
|
import { getChoiceOrientation } from '../../../utils/choice';
|
|
22
|
+
import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
|
|
23
|
+
import CheckboxOptionList from './CheckboxOptionList';
|
|
24
|
+
import { StyledFormGroup } from '../Item.styles';
|
|
25
25
|
function ChoiceCheckboxAnswerValueSetFields(props) {
|
|
26
26
|
var _a;
|
|
27
|
-
const { qItem,
|
|
27
|
+
const { qItem, options, answers, readOnly, terminologyError, onCheckedChange } = props;
|
|
28
28
|
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
29
|
-
if (
|
|
30
|
-
return (React.createElement(StyledFormGroup, { row: orientation === ChoiceItemOrientation.Horizontal },
|
|
31
|
-
|
|
32
|
-
return (React.createElement(CheckboxSingle, { key: (_a = coding.code) !== null && _a !== void 0 ? _a : '', value: (_b = coding.code) !== null && _b !== void 0 ? _b : '', label: (_c = coding.display) !== null && _c !== void 0 ? _c : `${coding.code}`, readOnly: readOnly, isChecked: answers.some((answer) => JSON.stringify(answer.valueCoding) === JSON.stringify(coding)), onCheckedChange: onCheckedChange }));
|
|
33
|
-
})));
|
|
29
|
+
if (options.length > 0) {
|
|
30
|
+
return (React.createElement(StyledFormGroup, { row: orientation === ChoiceItemOrientation.Horizontal },
|
|
31
|
+
React.createElement(CheckboxOptionList, { options: options, answers: answers, readOnly: readOnly, onCheckedChange: onCheckedChange })));
|
|
34
32
|
}
|
|
35
33
|
if (terminologyError.error) {
|
|
36
34
|
return (React.createElement(StyledAlert, { color: "error" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceCheckboxAnswerValueSetFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceCheckboxAnswerValueSetFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAWjD,SAAS,kCAAkC,CAAC,KAA8C;;IACxF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAEvF,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IAElF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,OAAO,CACL,oBAAC,eAAe,IAAC,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU;YACpE,oBAAC,kBAAkB,IACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,GAChC,CACc,CACnB,CAAC;KACH;IAED,IAAI,gBAAgB,CAAC,KAAK,EAAE;QAC1B,OAAO,CACL,oBAAC,WAAW,IAAC,KAAK,EAAC,OAAO;YACxB,oBAAC,gBAAgB,IAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAI;YACpD,oBAAC,UAAU,IAAC,OAAO,EAAC,WAAW;;gBACuC,GAAG;gBACtE,gBAAgB,CAAC,cAAc,CACrB,CACD,CACf,CAAC;KACH;IAED,OAAO,CACL,oBAAC,WAAW,IAAC,KAAK,EAAC,OAAO;QACxB,oBAAC,gBAAgB,IAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAI;QACpD,oBAAC,UAAU,IAAC,OAAO,EAAC,WAAW,uEAElB,CACD,CACf,CAAC;AACJ,CAAC;AAED,eAAe,kCAAkC,CAAC"}
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import React from 'react';
|
|
17
|
+
import React, { useMemo } from 'react';
|
|
18
18
|
import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
19
19
|
import useValueSetCodings from '../../../hooks/useValueSetCodings';
|
|
20
|
-
import {
|
|
20
|
+
import { convertCodingsToAnswerOptions, updateChoiceCheckboxAnswers } from '../../../utils/choice';
|
|
21
21
|
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
22
22
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
23
23
|
import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
@@ -26,35 +26,39 @@ import useReadOnly from '../../../hooks/useReadOnly';
|
|
|
26
26
|
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
27
27
|
import { useQuestionnaireStore } from '../../../stores';
|
|
28
28
|
function ChoiceCheckboxAnswerValueSetItem(props) {
|
|
29
|
+
var _a;
|
|
29
30
|
const { qItem, qrItem, isRepeated, isTabled, showMinimalView = false, parentIsReadOnly, onQrItemChange } = props;
|
|
30
31
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
31
32
|
// Init input value
|
|
32
33
|
const qrChoiceCheckbox = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem);
|
|
33
|
-
const answers = qrChoiceCheckbox.answer ?
|
|
34
|
+
const answers = (_a = qrChoiceCheckbox.answer) !== null && _a !== void 0 ? _a : [];
|
|
34
35
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
35
36
|
const { displayInstructions } = useRenderingExtensions(qItem);
|
|
36
37
|
// Get codings/options from valueSet
|
|
37
38
|
const { codings, terminologyError } = useValueSetCodings(qItem);
|
|
39
|
+
const options = useMemo(() => convertCodingsToAnswerOptions(codings), [codings]);
|
|
38
40
|
// TODO Process calculated expressions
|
|
39
41
|
// This requires its own hook, because in the case of multi-select, we need to check if the value is already checked to prevent an infinite loop
|
|
40
42
|
// This will be done after the choice/open-choice refactoring
|
|
41
43
|
// Event handlers
|
|
42
44
|
function handleCheckedChange(changedValue) {
|
|
43
|
-
if (
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
if (options.length === 0) {
|
|
46
|
+
onQrItemChange(createEmptyQrItem(qItem));
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const updatedQrChoiceCheckbox = updateChoiceCheckboxAnswers(changedValue, answers, options, qrChoiceCheckbox, isRepeated);
|
|
46
50
|
if (updatedQrChoiceCheckbox) {
|
|
47
51
|
onQrItemChange(updatedQrChoiceCheckbox);
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
54
|
if (showMinimalView) {
|
|
51
55
|
return (React.createElement(React.Fragment, null,
|
|
52
|
-
React.createElement(ChoiceCheckboxAnswerValueSetFields, { qItem: qItem,
|
|
56
|
+
React.createElement(ChoiceCheckboxAnswerValueSetFields, { qItem: qItem, options: options, answers: answers, readOnly: readOnly, terminologyError: terminologyError, onCheckedChange: handleCheckedChange }),
|
|
53
57
|
React.createElement(DisplayInstructions, { displayInstructions: displayInstructions, readOnly: readOnly })));
|
|
54
58
|
}
|
|
55
59
|
return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-checkbox-answer-value-set-box", "data-linkid": qItem.linkId, onClick: () => onFocusLinkId(qItem.linkId) },
|
|
56
60
|
React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly },
|
|
57
|
-
React.createElement(ChoiceCheckboxAnswerValueSetFields, { qItem: qItem,
|
|
61
|
+
React.createElement(ChoiceCheckboxAnswerValueSetFields, { qItem: qItem, options: options, answers: answers, readOnly: readOnly, terminologyError: terminologyError, onCheckedChange: handleCheckedChange }))));
|
|
58
62
|
}
|
|
59
63
|
export default ChoiceCheckboxAnswerValueSetItem;
|
|
60
64
|
//# sourceMappingURL=ChoiceCheckboxAnswerValueSetItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceCheckboxAnswerValueSetItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceCheckboxAnswerValueSetItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAQ3E,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,kCAAkC,MAAM,sCAAsC,CAAC;AACtF,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAaxD,SAAS,gCAAgC,CAAC,KAA4C;;IACpF,MAAM,EACJ,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,EACR,eAAe,GAAG,KAAK,EACvB,gBAAgB,EAChB,cAAc,EACf,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,mBAAmB;IACnB,MAAM,gBAAgB,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,MAAA,gBAAgB,CAAC,MAAM,mCAAI,EAAE,CAAC;IAE9C,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE9D,oCAAoC;IACpC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjF,sCAAsC;IACtC,gJAAgJ;IAChJ,6DAA6D;IAE7D,iBAAiB;IACjB,SAAS,mBAAmB,CAAC,YAAoB;QAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,OAAO;SACR;QAED,MAAM,uBAAuB,GAAG,2BAA2B,CACzD,YAAY,EACZ,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,UAAU,CACX,CAAC;QAEF,IAAI,uBAAuB,EAAE;YAC3B,cAAc,CAAC,uBAAuB,CAAC,CAAC;SACzC;IACH,CAAC;IAED,IAAI,eAAe,EAAE;QACnB,OAAO,CACL;YACE,oBAAC,kCAAkC,IACjC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,mBAAmB,GACpC;YACF,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACpF,CACJ,CAAC;KACH;IAED,OAAO,CACL,oBAAC,yBAAyB,iBACd,6CAA6C,iBAC1C,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1C,oBAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;YAC7C,oBAAC,kCAAkC,IACjC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,eAAe,EAAE,mBAAmB,GACpC,CACY,CACU,CAC7B,CAAC;AACJ,CAAC;AAED,eAAe,gCAAgC,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { QuestionnaireItem } from 'fhir/r4';
|
|
2
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
|
|
3
3
|
import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
|
|
4
4
|
interface ChoiceRadioAnswerOptionFieldsProps extends PropsWithIsTabledAttribute {
|
|
5
5
|
qItem: QuestionnaireItem;
|
|
6
|
+
options: QuestionnaireItemAnswerOption[];
|
|
6
7
|
valueRadio: string | null;
|
|
7
8
|
readOnly: boolean;
|
|
8
9
|
calcExpUpdated: boolean;
|
|
@@ -16,18 +16,18 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import React from 'react';
|
|
18
18
|
import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
|
|
19
|
-
import
|
|
19
|
+
import RadioOptionList from '../ItemParts/RadioOptionList';
|
|
20
20
|
import { StyledRadioGroup } from '../Item.styles';
|
|
21
21
|
import { getChoiceOrientation } from '../../../utils/choice';
|
|
22
22
|
import Box from '@mui/material/Box';
|
|
23
23
|
import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
24
24
|
function ChoiceRadioAnswerOptionFields(props) {
|
|
25
25
|
var _a;
|
|
26
|
-
const { qItem, valueRadio, readOnly, calcExpUpdated, isTabled, onCheckedChange } = props;
|
|
26
|
+
const { qItem, options, valueRadio, readOnly, calcExpUpdated, isTabled, onCheckedChange } = props;
|
|
27
27
|
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
28
28
|
return (React.createElement(Box, { display: "flex", alignItems: "center" },
|
|
29
29
|
React.createElement(StyledRadioGroup, { row: orientation === ChoiceItemOrientation.Horizontal, name: qItem.text, id: qItem.id, onChange: (e) => onCheckedChange(e.target.value), value: valueRadio, "data-test": "q-item-radio-group" },
|
|
30
|
-
React.createElement(
|
|
30
|
+
React.createElement(RadioOptionList, { options: options, readOnly: readOnly })),
|
|
31
31
|
React.createElement(Box, { flexGrow: 1 }),
|
|
32
32
|
React.createElement(FadingCheckIcon, { fadeIn: calcExpUpdated, disabled: readOnly })));
|
|
33
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceRadioAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAW3D,SAAS,6BAA6B,CAAC,KAAyC;;IAC9E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAElG,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IAElF,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ;QACrC,oBAAC,gBAAgB,IACf,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAChD,KAAK,EAAE,UAAU,eACP,oBAAoB;YAC9B,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACxC;QAEnB,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI;QAEpB,oBAAC,eAAe,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC3D,CACP,CAAC;AACJ,CAAC;AAED,eAAe,6BAA6B,CAAC"}
|
|
@@ -25,12 +25,14 @@ import useCodingCalculatedExpression from '../../../hooks/useCodingCalculatedExp
|
|
|
25
25
|
import ChoiceRadioAnswerOptionView from './ChoiceRadioAnswerOptionView';
|
|
26
26
|
import ChoiceSelectAnswerOptionView from './ChoiceSelectAnswerOptionView';
|
|
27
27
|
function ChoiceRadioAnswerOptionItem(props) {
|
|
28
|
+
var _a;
|
|
28
29
|
const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
|
|
29
30
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
30
31
|
// Init input value
|
|
31
32
|
const qrChoice = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem);
|
|
32
33
|
const valueChoice = getQrChoiceValue(qrChoice);
|
|
33
34
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
35
|
+
const options = (_a = qItem.answerOption) !== null && _a !== void 0 ? _a : [];
|
|
34
36
|
// Process calculated expressions
|
|
35
37
|
const { calcExpUpdated } = useCodingCalculatedExpression({
|
|
36
38
|
qItem: qItem,
|
|
@@ -44,11 +46,11 @@ function ChoiceRadioAnswerOptionItem(props) {
|
|
|
44
46
|
});
|
|
45
47
|
// Event handlers
|
|
46
48
|
function handleChange(newValue) {
|
|
47
|
-
if (
|
|
49
|
+
if (options.length === 0) {
|
|
48
50
|
onQrItemChange(createEmptyQrItem(qItem));
|
|
49
51
|
return;
|
|
50
52
|
}
|
|
51
|
-
const qrAnswer = findInAnswerOptions(
|
|
53
|
+
const qrAnswer = findInAnswerOptions(options, newValue);
|
|
52
54
|
onQrItemChange(qrAnswer ? Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [qrAnswer] }) : createEmptyQrItem(qItem));
|
|
53
55
|
}
|
|
54
56
|
// TODO This is in preparation of refactoring all choice answerOption fields into one component
|
|
@@ -56,10 +58,10 @@ function ChoiceRadioAnswerOptionItem(props) {
|
|
|
56
58
|
switch (choiceControlType) {
|
|
57
59
|
// TODO At the moment only this case will be executed because this switch statment was already in the parent components
|
|
58
60
|
case ChoiceItemControl.Radio: {
|
|
59
|
-
return (React.createElement(ChoiceRadioAnswerOptionView, { qItem: qItem, valueChoice: valueChoice, isRepeated: isRepeated, isTabled: isTabled, readOnly: readOnly, calcExpUpdated: calcExpUpdated, onFocusLinkId: () => onFocusLinkId(qItem.linkId), onCheckedChange: handleChange }));
|
|
61
|
+
return (React.createElement(ChoiceRadioAnswerOptionView, { qItem: qItem, options: options, valueChoice: valueChoice, isRepeated: isRepeated, isTabled: isTabled, readOnly: readOnly, calcExpUpdated: calcExpUpdated, onFocusLinkId: () => onFocusLinkId(qItem.linkId), onCheckedChange: handleChange }));
|
|
60
62
|
}
|
|
61
63
|
case ChoiceItemControl.Select: {
|
|
62
|
-
return (React.createElement(ChoiceSelectAnswerOptionView, { qItem: qItem, valueChoice: valueChoice, isRepeated: isRepeated, isTabled: isTabled, readOnly: readOnly, calcExpUpdated: calcExpUpdated, onFocusLinkId: () => onFocusLinkId(qItem.linkId), onSelectChange: handleChange }));
|
|
64
|
+
return (React.createElement(ChoiceSelectAnswerOptionView, { qItem: qItem, options: options, valueChoice: valueChoice, isRepeated: isRepeated, isTabled: isTabled, readOnly: readOnly, calcExpUpdated: calcExpUpdated, onFocusLinkId: () => onFocusLinkId(qItem.linkId), onSelectChange: handleChange }));
|
|
63
65
|
}
|
|
64
66
|
default: {
|
|
65
67
|
return (React.createElement(Typography, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceRadioAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAO1D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,6BAA6B,MAAM,8CAA8C,CAAC;AACzF,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AACxE,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAW1E,SAAS,2BAA2B,CAAC,KAAuC
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { PropsWithIsRepeatedAttribute, PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
|
|
3
|
-
import type { QuestionnaireItem } from 'fhir/r4';
|
|
3
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
|
|
4
4
|
interface ChoiceRadioAnswerOptionViewProps extends PropsWithIsRepeatedAttribute, PropsWithIsTabledAttribute {
|
|
5
5
|
qItem: QuestionnaireItem;
|
|
6
|
+
options: QuestionnaireItemAnswerOption[];
|
|
6
7
|
valueChoice: string | null;
|
|
7
8
|
readOnly: boolean;
|
|
8
9
|
calcExpUpdated: boolean;
|
|
@@ -19,13 +19,13 @@ import ChoiceRadioAnswerOptionFields from './ChoiceRadioAnswerOptionFields';
|
|
|
19
19
|
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
20
20
|
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
21
21
|
function ChoiceRadioAnswerOptionView(props) {
|
|
22
|
-
const { qItem, valueChoice, isRepeated, isTabled, readOnly, calcExpUpdated, onFocusLinkId, onCheckedChange } = props;
|
|
22
|
+
const { qItem, options, valueChoice, isRepeated, isTabled, readOnly, calcExpUpdated, onFocusLinkId, onCheckedChange } = props;
|
|
23
23
|
if (isRepeated) {
|
|
24
|
-
return (React.createElement(ChoiceRadioAnswerOptionFields, { qItem: qItem, valueRadio: valueChoice, isTabled: isTabled, readOnly: readOnly, calcExpUpdated: calcExpUpdated, onCheckedChange: onCheckedChange }));
|
|
24
|
+
return (React.createElement(ChoiceRadioAnswerOptionFields, { qItem: qItem, options: options, valueRadio: valueChoice, isTabled: isTabled, readOnly: readOnly, calcExpUpdated: calcExpUpdated, onCheckedChange: onCheckedChange }));
|
|
25
25
|
}
|
|
26
26
|
return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-radio-answer-option-box", "data-linkid": qItem.linkId, onClick: onFocusLinkId },
|
|
27
27
|
React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly },
|
|
28
|
-
React.createElement(ChoiceRadioAnswerOptionFields, { qItem: qItem, valueRadio: valueChoice, readOnly: readOnly, isTabled: isTabled, calcExpUpdated: calcExpUpdated, onCheckedChange: onCheckedChange }))));
|
|
28
|
+
React.createElement(ChoiceRadioAnswerOptionFields, { qItem: qItem, options: options, valueRadio: valueChoice, readOnly: readOnly, isTabled: isTabled, calcExpUpdated: calcExpUpdated, onCheckedChange: onCheckedChange }))));
|
|
29
29
|
}
|
|
30
30
|
export default ChoiceRadioAnswerOptionView;
|
|
31
31
|
//# sourceMappingURL=ChoiceRadioAnswerOptionView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceRadioAnswerOptionView.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,aAAa,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerOptionView.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,6BAA6B,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAmBvD,SAAS,2BAA2B,CAAC,KAAuC;IAC1E,MAAM,EACJ,KAAK,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EAChB,GAAG,KAAK,CAAC;IAEV,IAAI,UAAU,EAAE;QACd,OAAO,CACL,oBAAC,6BAA6B,IAC5B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,WAAW,EACvB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,GAChC,CACH,CAAC;KACH;IAED,OAAO,CACL,oBAAC,yBAAyB,iBACd,uCAAuC,iBACpC,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,aAAa;QACtB,oBAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;YAC7C,oBAAC,6BAA6B,IAC5B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,WAAW,EACvB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,GAChC,CACY,CACU,CAC7B,CAAC;AACJ,CAAC;AAED,eAAe,2BAA2B,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
|
|
3
3
|
import type { TerminologyError } from '../../../hooks/useValueSetCodings';
|
|
4
4
|
import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
|
|
5
5
|
interface ChoiceRadioAnswerValueSetFieldsProps extends PropsWithIsTabledAttribute {
|
|
6
6
|
qItem: QuestionnaireItem;
|
|
7
|
-
|
|
7
|
+
options: QuestionnaireItemAnswerOption[];
|
|
8
8
|
valueRadio: string | null;
|
|
9
9
|
readOnly: boolean;
|
|
10
10
|
calcExpUpdated: boolean;
|
|
@@ -17,23 +17,21 @@
|
|
|
17
17
|
import React from 'react';
|
|
18
18
|
import Typography from '@mui/material/Typography';
|
|
19
19
|
import { ChoiceItemOrientation } from '../../../interfaces/choice.enum';
|
|
20
|
-
import ChoiceRadioSingle from './ChoiceRadioSingle';
|
|
21
20
|
import { StyledRadioGroup } from '../Item.styles';
|
|
22
21
|
import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline';
|
|
23
22
|
import { StyledAlert } from '../../Alert.styles';
|
|
24
23
|
import { getChoiceOrientation } from '../../../utils/choice';
|
|
25
24
|
import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
26
25
|
import Box from '@mui/material/Box';
|
|
26
|
+
import RadioOptionList from '../ItemParts/RadioOptionList';
|
|
27
27
|
function ChoiceRadioAnswerValueSetFields(props) {
|
|
28
28
|
var _a;
|
|
29
|
-
const { qItem,
|
|
29
|
+
const { qItem, options, valueRadio, readOnly, calcExpUpdated, terminologyError, isTabled, onCheckedChange } = props;
|
|
30
30
|
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
31
|
-
if (
|
|
31
|
+
if (options.length > 0) {
|
|
32
32
|
return (React.createElement(Box, { display: "flex", alignItems: "center" },
|
|
33
|
-
React.createElement(StyledRadioGroup, { row: orientation === ChoiceItemOrientation.Horizontal, name: qItem.text, id: qItem.id, onChange: (e) => onCheckedChange(e.target.value), value: valueRadio
|
|
34
|
-
|
|
35
|
-
return (React.createElement(ChoiceRadioSingle, { key: (_a = coding.code) !== null && _a !== void 0 ? _a : '', value: (_b = coding.code) !== null && _b !== void 0 ? _b : '', label: (_c = coding.display) !== null && _c !== void 0 ? _c : `${coding.code}`, readOnly: readOnly }));
|
|
36
|
-
})),
|
|
33
|
+
React.createElement(StyledRadioGroup, { row: orientation === ChoiceItemOrientation.Horizontal, name: qItem.text, id: qItem.id, onChange: (e) => onCheckedChange(e.target.value), value: valueRadio, "data-test": "q-item-radio-group" },
|
|
34
|
+
React.createElement(RadioOptionList, { options: options, readOnly: readOnly })),
|
|
37
35
|
React.createElement(Box, { flexGrow: 1 }),
|
|
38
36
|
React.createElement(FadingCheckIcon, { fadeIn: calcExpUpdated, disabled: readOnly })));
|
|
39
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceRadioAnswerValueSetFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerValueSetFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAE3D,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAY3D,SAAS,+BAA+B,CAAC,KAA2C;;IAClF,MAAM,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,eAAe,EAChB,GAAG,KAAK,CAAC;IAEV,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IAElF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ;YACrC,oBAAC,gBAAgB,IACf,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAChD,KAAK,EAAE,UAAU,eACP,oBAAoB;gBAC9B,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACxC;YAEnB,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI;YAEpB,oBAAC,eAAe,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC3D,CACP,CAAC;KACH;IAED,IAAI,gBAAgB,CAAC,KAAK,EAAE;QAC1B,OAAO,CACL,oBAAC,WAAW,IAAC,KAAK,EAAC,OAAO;YACxB,oBAAC,gBAAgB,IAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAI;YACpD,oBAAC,UAAU,IAAC,OAAO,EAAC,WAAW;;gBACuC,GAAG;gBACtE,gBAAgB,CAAC,cAAc,CACrB,CACD,CACf,CAAC;KACH;IAED,OAAO,CACL,oBAAC,WAAW,IAAC,KAAK,EAAC,OAAO;QACxB,oBAAC,gBAAgB,IAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAI;QACpD,oBAAC,UAAU,IAAC,OAAO,EAAC,WAAW,uEAElB,CACD,CACf,CAAC;AACJ,CAAC;AAED,eAAe,+BAA+B,CAAC"}
|
|
@@ -37,7 +37,7 @@ function ChoiceRadioAnswerValueSetItem(props) {
|
|
|
37
37
|
}
|
|
38
38
|
// Get codings/options from valueSet
|
|
39
39
|
const { codings, terminologyError } = useValueSetCodings(qItem);
|
|
40
|
-
const
|
|
40
|
+
const options = useMemo(() => convertCodingsToAnswerOptions(codings), [codings]);
|
|
41
41
|
const { calcExpUpdated } = useCodingCalculatedExpression({
|
|
42
42
|
qItem: qItem,
|
|
43
43
|
valueInString: valueRadio !== null && valueRadio !== void 0 ? valueRadio : '',
|
|
@@ -50,16 +50,16 @@ function ChoiceRadioAnswerValueSetItem(props) {
|
|
|
50
50
|
});
|
|
51
51
|
function handleChange(newValue) {
|
|
52
52
|
if (codings.length > 0) {
|
|
53
|
-
const qrAnswer = findInAnswerOptions(
|
|
53
|
+
const qrAnswer = findInAnswerOptions(options, newValue);
|
|
54
54
|
onQrItemChange(qrAnswer ? Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [qrAnswer] }) : createEmptyQrItem(qItem));
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
if (isRepeated) {
|
|
58
|
-
return (React.createElement(ChoiceRadioAnswerValueSetFields, { qItem: qItem,
|
|
58
|
+
return (React.createElement(ChoiceRadioAnswerValueSetFields, { qItem: qItem, options: options, valueRadio: valueRadio, readOnly: readOnly, calcExpUpdated: calcExpUpdated, terminologyError: terminologyError, isTabled: isTabled, onCheckedChange: handleChange }));
|
|
59
59
|
}
|
|
60
60
|
return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-radio-answer-value-set-box", "data-linkid": qItem.linkId, onClick: () => onFocusLinkId(qItem.linkId) },
|
|
61
61
|
React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly },
|
|
62
|
-
React.createElement(ChoiceRadioAnswerValueSetFields, { qItem: qItem,
|
|
62
|
+
React.createElement(ChoiceRadioAnswerValueSetFields, { qItem: qItem, options: options, valueRadio: valueRadio, readOnly: readOnly, calcExpUpdated: calcExpUpdated, terminologyError: terminologyError, isTabled: isTabled, onCheckedChange: handleChange }))));
|
|
63
63
|
}
|
|
64
64
|
export default ChoiceRadioAnswerValueSetItem;
|
|
65
65
|
//# sourceMappingURL=ChoiceRadioAnswerValueSetItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceRadioAnswerValueSetItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AAOnE,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAChF,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,6BAA6B,MAAM,8CAA8C,CAAC;AAWzF,SAAS,6BAA6B,CAAC,KAAyC;;IAC9E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAExF,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAEtD,mBAAmB;IACnB,MAAM,aAAa,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAEzD,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,aAAa,CAAC,MAAM,EAAE;QACxB,UAAU,GAAG,MAAA,MAAA,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,0CAAE,IAAI,mCAAI,IAAI,CAAC;KAChE;IAED,oCAAoC;IACpC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhE,MAAM,
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerValueSetItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AAOnE,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAChF,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,6BAA6B,MAAM,8CAA8C,CAAC;AAWzF,SAAS,6BAA6B,CAAC,KAAyC;;IAC9E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAExF,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAEtD,mBAAmB;IACnB,MAAM,aAAa,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAEzD,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,aAAa,CAAC,MAAM,EAAE;QACxB,UAAU,GAAG,MAAA,MAAA,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,0CAAE,IAAI,mCAAI,IAAI,CAAC;KAChE;IAED,oCAAoC;IACpC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjF,MAAM,EAAE,cAAc,EAAE,GAAG,6BAA6B,CAAC;QACvD,KAAK,EAAE,KAAK;QACZ,aAAa,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;QAC/B,8BAA8B,EAAE,CAAC,cAAsB,EAAE,EAAE;YACzD,YAAY,CAAC,cAAc,CAAC,CAAC;QAC/B,CAAC;QACD,4BAA4B,EAAE,GAAG,EAAE;YACjC,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC,CAAC;IAEH,SAAS,YAAY,CAAC,QAAgB;QACpC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACxD,cAAc,CACZ,QAAQ,CAAC,CAAC,iCAAM,iBAAiB,CAAC,KAAK,CAAC,KAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAG,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAC1F,CAAC;SACH;IACH,CAAC;IAED,IAAI,UAAU,EAAE;QACd,OAAO,CACL,oBAAC,+BAA+B,IAC9B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,YAAY,GAC7B,CACH,CAAC;KACH;IAED,OAAO,CACL,oBAAC,yBAAyB,iBACd,0CAA0C,iBACvC,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1C,oBAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;YAC7C,oBAAC,+BAA+B,IAC9B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,YAAY,GAC7B,CACY,CACU,CAC7B,CAAC;AACJ,CAAC;AAED,eAAe,6BAA6B,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { QuestionnaireItem } from 'fhir/r4';
|
|
2
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption } from 'fhir/r4';
|
|
3
3
|
import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
|
|
4
4
|
interface ChoiceSelectAnswerOptionFieldsProps extends PropsWithIsTabledAttribute {
|
|
5
5
|
qItem: QuestionnaireItem;
|
|
6
|
+
options: QuestionnaireItemAnswerOption[];
|
|
6
7
|
valueSelect: string;
|
|
7
8
|
readOnly: boolean;
|
|
8
9
|
calcExpUpdated: boolean;
|
|
@@ -21,11 +21,10 @@ import Select from '@mui/material/Select';
|
|
|
21
21
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
22
22
|
import { TEXT_FIELD_WIDTH } from '../Textfield.styles';
|
|
23
23
|
function ChoiceSelectAnswerOptionFields(props) {
|
|
24
|
-
|
|
25
|
-
const { qItem, valueSelect, readOnly, calcExpUpdated, isTabled, onSelectChange } = props;
|
|
24
|
+
const { qItem, options, valueSelect, readOnly, calcExpUpdated, isTabled, onSelectChange } = props;
|
|
26
25
|
const { displayUnit, displayPrompt, entryFormat } = useRenderingExtensions(qItem);
|
|
27
26
|
// TODO use calcExpUpdated as updated feedback
|
|
28
|
-
return (React.createElement(Select, { id: qItem.id, name: qItem.text, value: valueSelect, disabled: readOnly, fullWidth: true, placeholder: entryFormat, label: displayPrompt, endAdornment: React.createElement(InputAdornment, { position: "end" }, displayUnit), sx: { maxWidth: !isTabled ? TEXT_FIELD_WIDTH : 3000, minWidth: 160 }, size: "small", onChange: (e) => onSelectChange(e.target.value) },
|
|
27
|
+
return (React.createElement(Select, { id: qItem.id, name: qItem.text, value: valueSelect, disabled: readOnly, fullWidth: true, placeholder: entryFormat, label: displayPrompt, endAdornment: React.createElement(InputAdornment, { position: "end" }, displayUnit), sx: { maxWidth: !isTabled ? TEXT_FIELD_WIDTH : 3000, minWidth: 160 }, size: "small", onChange: (e) => onSelectChange(e.target.value) }, options.map((option, index) => {
|
|
29
28
|
var _a;
|
|
30
29
|
if (option['valueCoding']) {
|
|
31
30
|
return (React.createElement(MenuItem, { key: option.valueCoding.code, value: option.valueCoding.code }, (_a = option.valueCoding.display) !== null && _a !== void 0 ? _a : option.valueCoding.code));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceSelectAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAE1C,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceSelectAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAE1C,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAWvD,SAAS,8BAA8B,CAAC,KAA0C;IAChF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAElG,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAElF,8CAA8C;IAE9C,OAAO,CACL,oBAAC,MAAM,IACL,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,QACT,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,oBAAC,cAAc,IAAC,QAAQ,EAAC,KAAK,IAAE,WAAW,CAAkB,EAC3E,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EACpE,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;;QAC7B,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;YACzB,OAAO,CACL,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,IACnE,MAAA,MAAM,CAAC,WAAW,CAAC,OAAO,mCAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAC7C,CACZ,CAAC;SACH;QAED,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE;YACzB,OAAO,CACL,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,IACzD,MAAM,CAAC,WAAW,CACV,CACZ,CAAC;SACH;QAED,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE;YAC1B,OAAO,CACL,oBAAC,QAAQ,IAAC,GAAG,EAAE,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IACtE,MAAM,CAAC,YAAY,CACX,CACZ,CAAC;SACH;QAED,OAAO,oBAAC,QAAQ,IAAC,GAAG,EAAE,KAAK,GAAI,CAAC;IAClC,CAAC,CAAC,CACK,CACV,CAAC;AACJ,CAAC;AAED,eAAe,8BAA8B,CAAC"}
|