@aehrc/smart-forms-renderer 0.23.2 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/FormComponents/BooleanItem/BooleanField.d.ts +1 -0
- package/lib/components/FormComponents/BooleanItem/BooleanField.js +3 -1
- package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -1
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js +10 -3
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +4 -1
- 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 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.d.ts +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js +10 -5
- package/lib/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.d.ts +3 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js +9 -3
- 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 +39 -17
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.d.ts +13 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js +31 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js.map +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.d.ts +3 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js +11 -5
- 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 +16 -9
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.d.ts +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js +3 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +18 -21
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.d.ts +13 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js +31 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js.map +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.d.ts +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js +3 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js +17 -3
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.js.map +1 -1
- package/lib/hooks/useBooleanCalculatedExpression.d.ts +11 -0
- package/lib/hooks/useBooleanCalculatedExpression.js +47 -0
- package/lib/hooks/useBooleanCalculatedExpression.js.map +1 -0
- package/lib/hooks/useCodingCalculatedExpression.d.ts +11 -0
- package/lib/hooks/useCodingCalculatedExpression.js +51 -0
- package/lib/hooks/useCodingCalculatedExpression.js.map +1 -0
- package/lib/interfaces/calculatedExpression.interface.d.ts +1 -1
- package/lib/utils/choice.d.ts +8 -2
- package/lib/utils/choice.js +20 -14
- package/lib/utils/choice.js.map +1 -1
- package/lib/utils/enableWhen.js +11 -10
- package/lib/utils/enableWhen.js.map +1 -1
- package/lib/utils/initialise.js +6 -0
- package/lib/utils/initialise.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FormComponents/BooleanItem/BooleanField.tsx +5 -1
- package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +11 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +7 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +7 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceItemSwitcher.tsx +10 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx +25 -11
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +65 -32
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.tsx +83 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx +41 -19
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +24 -10
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +5 -2
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +30 -39
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.tsx +83 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetFields.tsx +13 -2
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerValueSetItem.tsx +20 -0
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceSelectAnswerValueSetItem.tsx +1 -0
- package/src/hooks/useBooleanCalculatedExpression.ts +75 -0
- package/src/hooks/useCodingCalculatedExpression.ts +80 -0
- package/src/interfaces/calculatedExpression.interface.ts +1 -1
- package/src/utils/choice.ts +23 -13
- package/src/utils/enableWhen.ts +32 -10
- package/src/utils/initialise.ts +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enableWhen.js","sourceRoot":"","sources":["../../src/utils/enableWhen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAOzC;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAAC,eAAgC;IAC9E,MAAM,kBAAkB,GAA6B,EAAE,CAAC;IAExD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC;IAErD,KAAK,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE;QAC9C,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;YAC1B,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC/C,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE;oBAChC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;iBAClC;gBAED,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACjD,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;SACJ;KACF;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAuC,EACvC,MAAuC;;IAEvC,IAAI,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"enableWhen.js","sourceRoot":"","sources":["../../src/utils/enableWhen.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/initialise.js
CHANGED
|
@@ -52,6 +52,12 @@ export function initialiseQuestionnaireResponse(questionnaire, questionnaireResp
|
|
|
52
52
|
if (!questionnaireResponse.questionnaire) {
|
|
53
53
|
questionnaireResponse.questionnaire = createQuestionnaireReference(questionnaire);
|
|
54
54
|
}
|
|
55
|
+
// Add "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse" profile
|
|
56
|
+
const profiles = [
|
|
57
|
+
'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse'
|
|
58
|
+
];
|
|
59
|
+
questionnaireResponse.meta = questionnaireResponse.meta || {};
|
|
60
|
+
questionnaireResponse.meta.profile = profiles;
|
|
55
61
|
return questionnaireResponse;
|
|
56
62
|
}
|
|
57
63
|
function createQuestionnaireReference(questionnaire) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -28,17 +28,20 @@ import type { QuestionnaireItem } from 'fhir/r4';
|
|
|
28
28
|
import ChoiceRadioSingle from '../ChoiceItems/ChoiceRadioSingle';
|
|
29
29
|
import { StyledRadioGroup } from '../Item.styles';
|
|
30
30
|
import { getChoiceOrientation } from '../../../utils/choice';
|
|
31
|
+
import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
31
32
|
|
|
32
33
|
interface BooleanFieldProps extends PropsWithIsTabledAttribute {
|
|
33
34
|
qItem: QuestionnaireItem;
|
|
34
35
|
readOnly: boolean;
|
|
35
36
|
valueBoolean: boolean | undefined;
|
|
37
|
+
calcExpUpdated: boolean;
|
|
36
38
|
onCheckedChange: (newValue: string) => void;
|
|
37
39
|
onClear: () => void;
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
const BooleanField = memo(function BooleanField(props: BooleanFieldProps) {
|
|
41
|
-
const { qItem, readOnly, valueBoolean, isTabled, onCheckedChange, onClear } =
|
|
43
|
+
const { qItem, readOnly, valueBoolean, calcExpUpdated, isTabled, onCheckedChange, onClear } =
|
|
44
|
+
props;
|
|
42
45
|
|
|
43
46
|
// defaults to horizontal, only set to vertical if explicitly set
|
|
44
47
|
const orientation = getChoiceOrientation(qItem) ?? ChoiceItemOrientation.Horizontal;
|
|
@@ -62,6 +65,7 @@ const BooleanField = memo(function BooleanField(props: BooleanFieldProps) {
|
|
|
62
65
|
|
|
63
66
|
<Box flexGrow={1} />
|
|
64
67
|
|
|
68
|
+
<FadingCheckIcon fadeIn={calcExpUpdated} />
|
|
65
69
|
<Fade in={valueBoolean !== undefined} timeout={100}>
|
|
66
70
|
<Tooltip title="Set question as unanswered">
|
|
67
71
|
<Button
|
|
@@ -30,6 +30,7 @@ import BooleanField from './BooleanField';
|
|
|
30
30
|
import Box from '@mui/material/Box';
|
|
31
31
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
32
32
|
import { useQuestionnaireStore } from '../../../stores';
|
|
33
|
+
import useBooleanCalculatedExpression from '../../../hooks/useBooleanCalculatedExpression';
|
|
33
34
|
|
|
34
35
|
interface BooleanItemProps
|
|
35
36
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -49,6 +50,13 @@ function BooleanItem(props: BooleanItemProps) {
|
|
|
49
50
|
|
|
50
51
|
const valueBoolean = qrItem?.answer && qrItem.answer[0].valueBoolean;
|
|
51
52
|
|
|
53
|
+
// Process calculated expressions
|
|
54
|
+
const { calcExpUpdated } = useBooleanCalculatedExpression({
|
|
55
|
+
qItem: qItem,
|
|
56
|
+
booleanValue: valueBoolean,
|
|
57
|
+
onQrItemChange: onQrItemChange
|
|
58
|
+
});
|
|
59
|
+
|
|
52
60
|
// Event handlers
|
|
53
61
|
function handleValueChange(newValue: string) {
|
|
54
62
|
switch (newValue) {
|
|
@@ -82,6 +90,7 @@ function BooleanItem(props: BooleanItemProps) {
|
|
|
82
90
|
readOnly={readOnly}
|
|
83
91
|
isTabled={isTabled}
|
|
84
92
|
valueBoolean={valueBoolean}
|
|
93
|
+
calcExpUpdated={calcExpUpdated}
|
|
85
94
|
onCheckedChange={handleValueChange}
|
|
86
95
|
onClear={handleClear}
|
|
87
96
|
/>
|
|
@@ -96,6 +105,7 @@ function BooleanItem(props: BooleanItemProps) {
|
|
|
96
105
|
readOnly={readOnly}
|
|
97
106
|
isTabled={isTabled}
|
|
98
107
|
valueBoolean={valueBoolean}
|
|
108
|
+
calcExpUpdated={calcExpUpdated}
|
|
99
109
|
onCheckedChange={handleValueChange}
|
|
100
110
|
onClear={handleClear}
|
|
101
111
|
/>
|
|
@@ -112,6 +122,7 @@ function BooleanItem(props: BooleanItemProps) {
|
|
|
112
122
|
readOnly={readOnly}
|
|
113
123
|
isTabled={isTabled}
|
|
114
124
|
valueBoolean={valueBoolean}
|
|
125
|
+
calcExpUpdated={calcExpUpdated}
|
|
115
126
|
onCheckedChange={handleValueChange}
|
|
116
127
|
onClear={handleClear}
|
|
117
128
|
/>
|
|
@@ -23,6 +23,7 @@ import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
|
23
23
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
24
24
|
import type {
|
|
25
25
|
PropsWithIsRepeatedAttribute,
|
|
26
|
+
PropsWithIsTabledAttribute,
|
|
26
27
|
PropsWithParentIsReadOnlyAttribute,
|
|
27
28
|
PropsWithQrItemChangeHandler,
|
|
28
29
|
PropsWithShowMinimalViewAttribute
|
|
@@ -36,6 +37,7 @@ import { useQuestionnaireStore } from '../../../stores';
|
|
|
36
37
|
interface ChoiceCheckboxAnswerOptionItemProps
|
|
37
38
|
extends PropsWithQrItemChangeHandler,
|
|
38
39
|
PropsWithIsRepeatedAttribute,
|
|
40
|
+
PropsWithIsTabledAttribute,
|
|
39
41
|
PropsWithShowMinimalViewAttribute,
|
|
40
42
|
PropsWithParentIsReadOnlyAttribute {
|
|
41
43
|
qItem: QuestionnaireItem;
|
|
@@ -47,6 +49,7 @@ function ChoiceCheckboxAnswerOptionItem(props: ChoiceCheckboxAnswerOptionItemPro
|
|
|
47
49
|
qItem,
|
|
48
50
|
qrItem,
|
|
49
51
|
isRepeated,
|
|
52
|
+
isTabled,
|
|
50
53
|
showMinimalView = false,
|
|
51
54
|
parentIsReadOnly,
|
|
52
55
|
onQrItemChange
|
|
@@ -61,6 +64,10 @@ function ChoiceCheckboxAnswerOptionItem(props: ChoiceCheckboxAnswerOptionItemPro
|
|
|
61
64
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
62
65
|
const { displayInstructions } = useRenderingExtensions(qItem);
|
|
63
66
|
|
|
67
|
+
// TODO Process calculated expressions
|
|
68
|
+
// 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
|
|
69
|
+
// This will be done after the choice/open-choice refactoring
|
|
70
|
+
|
|
64
71
|
// Event handlers
|
|
65
72
|
function handleCheckedChange(changedValue: string) {
|
|
66
73
|
const answerOptions = qItem.answerOption;
|
|
@@ -24,6 +24,7 @@ import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
|
24
24
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
25
25
|
import type {
|
|
26
26
|
PropsWithIsRepeatedAttribute,
|
|
27
|
+
PropsWithIsTabledAttribute,
|
|
27
28
|
PropsWithParentIsReadOnlyAttribute,
|
|
28
29
|
PropsWithQrItemChangeHandler,
|
|
29
30
|
PropsWithShowMinimalViewAttribute
|
|
@@ -38,6 +39,7 @@ interface ChoiceCheckboxAnswerValueSetItemProps
|
|
|
38
39
|
extends PropsWithQrItemChangeHandler,
|
|
39
40
|
PropsWithIsRepeatedAttribute,
|
|
40
41
|
PropsWithShowMinimalViewAttribute,
|
|
42
|
+
PropsWithIsTabledAttribute,
|
|
41
43
|
PropsWithParentIsReadOnlyAttribute {
|
|
42
44
|
qItem: QuestionnaireItem;
|
|
43
45
|
qrItem: QuestionnaireResponseItem | null;
|
|
@@ -49,6 +51,7 @@ function ChoiceCheckboxAnswerValueSetItem(props: ChoiceCheckboxAnswerValueSetIte
|
|
|
49
51
|
qItem,
|
|
50
52
|
qrItem,
|
|
51
53
|
isRepeated,
|
|
54
|
+
isTabled,
|
|
52
55
|
showMinimalView = false,
|
|
53
56
|
parentIsReadOnly,
|
|
54
57
|
onQrItemChange
|
|
@@ -66,6 +69,10 @@ function ChoiceCheckboxAnswerValueSetItem(props: ChoiceCheckboxAnswerValueSetIte
|
|
|
66
69
|
// Get codings/options from valueSet
|
|
67
70
|
const { codings, terminologyError } = useValueSetCodings(qItem);
|
|
68
71
|
|
|
72
|
+
// TODO Process calculated expressions
|
|
73
|
+
// 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
|
|
74
|
+
// This will be done after the choice/open-choice refactoring
|
|
75
|
+
|
|
69
76
|
// Event handlers
|
|
70
77
|
function handleCheckedChange(changedValue: string) {
|
|
71
78
|
if (codings.length < 1) return null;
|
|
@@ -33,6 +33,7 @@ import type {
|
|
|
33
33
|
PropsWithQrItemChangeHandler,
|
|
34
34
|
PropsWithShowMinimalViewAttribute
|
|
35
35
|
} from '../../../interfaces/renderProps.interface';
|
|
36
|
+
import Typography from '@mui/material/Typography';
|
|
36
37
|
|
|
37
38
|
interface ChoiceItemSwitcherProps
|
|
38
39
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -58,6 +59,7 @@ function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
|
|
|
58
59
|
qItem={qItem}
|
|
59
60
|
qrItem={qrItem}
|
|
60
61
|
isRepeated={isRepeated}
|
|
62
|
+
isTabled={isTabled}
|
|
61
63
|
parentIsReadOnly={parentIsReadOnly}
|
|
62
64
|
onQrItemChange={onQrItemChange}
|
|
63
65
|
/>
|
|
@@ -68,6 +70,7 @@ function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
|
|
|
68
70
|
qItem={qItem}
|
|
69
71
|
qrItem={qrItem}
|
|
70
72
|
isRepeated={isRepeated}
|
|
73
|
+
isTabled={isTabled}
|
|
71
74
|
parentIsReadOnly={parentIsReadOnly}
|
|
72
75
|
onQrItemChange={onQrItemChange}
|
|
73
76
|
/>
|
|
@@ -80,6 +83,7 @@ function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
|
|
|
80
83
|
qItem={qItem}
|
|
81
84
|
qrItem={qrItem}
|
|
82
85
|
isRepeated={qItem.repeats ?? false}
|
|
86
|
+
isTabled={isTabled}
|
|
83
87
|
showMinimalView={showMinimalView}
|
|
84
88
|
parentIsReadOnly={parentIsReadOnly}
|
|
85
89
|
onQrItemChange={onQrItemChange}
|
|
@@ -91,6 +95,7 @@ function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
|
|
|
91
95
|
qItem={qItem}
|
|
92
96
|
qrItem={qrItem}
|
|
93
97
|
isRepeated={qItem.repeats ?? false}
|
|
98
|
+
isTabled={isTabled}
|
|
94
99
|
showMinimalView={showMinimalView}
|
|
95
100
|
parentIsReadOnly={parentIsReadOnly}
|
|
96
101
|
onQrItemChange={onQrItemChange}
|
|
@@ -133,7 +138,11 @@ function ChoiceItemSwitcher(props: ChoiceItemSwitcherProps) {
|
|
|
133
138
|
);
|
|
134
139
|
}
|
|
135
140
|
default:
|
|
136
|
-
return
|
|
141
|
+
return (
|
|
142
|
+
<Typography>
|
|
143
|
+
Something has went wrong when parsing item {qItem.linkId} - {qItem.text}
|
|
144
|
+
</Typography>
|
|
145
|
+
);
|
|
137
146
|
}
|
|
138
147
|
}
|
|
139
148
|
|
|
@@ -21,29 +21,43 @@ import type { QuestionnaireItem } from 'fhir/r4';
|
|
|
21
21
|
import RadioAnswerOptionButtons from '../ItemParts/RadioAnswerOptionButtons';
|
|
22
22
|
import { StyledRadioGroup } from '../Item.styles';
|
|
23
23
|
import { getChoiceOrientation } from '../../../utils/choice';
|
|
24
|
+
import { TEXT_FIELD_WIDTH } from '../Textfield.styles';
|
|
25
|
+
import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
|
|
26
|
+
import Box from '@mui/material/Box';
|
|
27
|
+
import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
24
28
|
|
|
25
|
-
interface ChoiceRadioAnswerOptionFieldsProps {
|
|
29
|
+
interface ChoiceRadioAnswerOptionFieldsProps extends PropsWithIsTabledAttribute {
|
|
26
30
|
qItem: QuestionnaireItem;
|
|
27
31
|
valueRadio: string | null;
|
|
28
32
|
readOnly: boolean;
|
|
33
|
+
calcExpUpdated: boolean;
|
|
29
34
|
onCheckedChange: (newValue: string) => void;
|
|
30
35
|
}
|
|
31
36
|
|
|
32
37
|
function ChoiceRadioAnswerOptionFields(props: ChoiceRadioAnswerOptionFieldsProps) {
|
|
33
|
-
const { qItem, valueRadio, readOnly, onCheckedChange } = props;
|
|
38
|
+
const { qItem, valueRadio, readOnly, calcExpUpdated, isTabled, onCheckedChange } = props;
|
|
34
39
|
|
|
35
40
|
const orientation = getChoiceOrientation(qItem) ?? ChoiceItemOrientation.Vertical;
|
|
36
41
|
|
|
37
42
|
return (
|
|
38
|
-
<
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
<Box
|
|
44
|
+
display="flex"
|
|
45
|
+
alignItems="center"
|
|
46
|
+
sx={{ maxWidth: !isTabled ? TEXT_FIELD_WIDTH : 3000, minWidth: 160 }}>
|
|
47
|
+
<StyledRadioGroup
|
|
48
|
+
row={orientation === ChoiceItemOrientation.Horizontal}
|
|
49
|
+
name={qItem.text}
|
|
50
|
+
id={qItem.id}
|
|
51
|
+
onChange={(e) => onCheckedChange(e.target.value)}
|
|
52
|
+
value={valueRadio}
|
|
53
|
+
data-test="q-item-radio-group">
|
|
54
|
+
<RadioAnswerOptionButtons qItem={qItem} readOnly={readOnly} />
|
|
55
|
+
</StyledRadioGroup>
|
|
56
|
+
|
|
57
|
+
<Box flexGrow={1} />
|
|
58
|
+
|
|
59
|
+
<FadingCheckIcon fadeIn={calcExpUpdated} />
|
|
60
|
+
</Box>
|
|
47
61
|
);
|
|
48
62
|
}
|
|
49
63
|
|
|
@@ -17,74 +17,107 @@
|
|
|
17
17
|
|
|
18
18
|
import React from 'react';
|
|
19
19
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
20
|
-
import { findInAnswerOptions, getQrChoiceValue } from '../../../utils/choice';
|
|
20
|
+
import { findInAnswerOptions, getChoiceControlType, getQrChoiceValue } from '../../../utils/choice';
|
|
21
21
|
import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
22
|
-
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
23
22
|
import type {
|
|
24
23
|
PropsWithIsRepeatedAttribute,
|
|
24
|
+
PropsWithIsTabledAttribute,
|
|
25
25
|
PropsWithParentIsReadOnlyAttribute,
|
|
26
26
|
PropsWithQrItemChangeHandler
|
|
27
27
|
} from '../../../interfaces/renderProps.interface';
|
|
28
|
-
import ChoiceRadioAnswerOptionFields from './ChoiceRadioAnswerOptionFields';
|
|
29
28
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
30
|
-
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
31
29
|
import { useQuestionnaireStore } from '../../../stores';
|
|
30
|
+
import { ChoiceItemControl } from '../../../interfaces/choice.enum';
|
|
31
|
+
import Typography from '@mui/material/Typography';
|
|
32
|
+
import useCodingCalculatedExpression from '../../../hooks/useCodingCalculatedExpression';
|
|
33
|
+
import ChoiceRadioAnswerOptionView from './ChoiceRadioAnswerOptionView';
|
|
34
|
+
import ChoiceSelectAnswerOptionView from './ChoiceSelectAnswerOptionView';
|
|
32
35
|
|
|
33
36
|
interface ChoiceRadioAnswerOptionItemProps
|
|
34
37
|
extends PropsWithQrItemChangeHandler,
|
|
35
38
|
PropsWithIsRepeatedAttribute,
|
|
39
|
+
PropsWithIsTabledAttribute,
|
|
36
40
|
PropsWithParentIsReadOnlyAttribute {
|
|
37
41
|
qItem: QuestionnaireItem;
|
|
38
42
|
qrItem: QuestionnaireResponseItem | null;
|
|
39
43
|
}
|
|
40
44
|
|
|
41
45
|
function ChoiceRadioAnswerOptionItem(props: ChoiceRadioAnswerOptionItemProps) {
|
|
42
|
-
const { qItem, qrItem, isRepeated, parentIsReadOnly, onQrItemChange } = props;
|
|
46
|
+
const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
|
|
43
47
|
|
|
44
48
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
45
49
|
|
|
46
50
|
// Init input value
|
|
47
|
-
const
|
|
48
|
-
const
|
|
51
|
+
const qrChoice = qrItem ?? createEmptyQrItem(qItem);
|
|
52
|
+
const valueChoice = getQrChoiceValue(qrChoice);
|
|
49
53
|
|
|
50
54
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
51
55
|
|
|
56
|
+
// Process calculated expressions
|
|
57
|
+
const { calcExpUpdated } = useCodingCalculatedExpression({
|
|
58
|
+
qItem: qItem,
|
|
59
|
+
valueInString: valueChoice ?? '',
|
|
60
|
+
onChangeByCalcExpression: (newValueInString) => {
|
|
61
|
+
handleChange(newValueInString);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
|
|
52
65
|
// Event handlers
|
|
53
66
|
function handleChange(newValue: string) {
|
|
54
|
-
if (qItem.answerOption) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
onQrItemChange({ ...createEmptyQrItem(qItem), answer: [qrAnswer] });
|
|
58
|
-
}
|
|
67
|
+
if (!qItem.answerOption) {
|
|
68
|
+
onQrItemChange(createEmptyQrItem(qItem));
|
|
69
|
+
return;
|
|
59
70
|
}
|
|
60
|
-
}
|
|
61
71
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
qItem={qItem}
|
|
66
|
-
valueRadio={valueRadio}
|
|
67
|
-
readOnly={readOnly}
|
|
68
|
-
onCheckedChange={handleChange}
|
|
69
|
-
/>
|
|
72
|
+
const qrAnswer = findInAnswerOptions(qItem.answerOption, newValue);
|
|
73
|
+
onQrItemChange(
|
|
74
|
+
qrAnswer ? { ...createEmptyQrItem(qItem), answer: [qrAnswer] } : createEmptyQrItem(qItem)
|
|
70
75
|
);
|
|
71
76
|
}
|
|
72
77
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
// TODO This is in preparation of refactoring all choice answerOption fields into one component
|
|
79
|
+
const choiceControlType = getChoiceControlType(qItem);
|
|
80
|
+
|
|
81
|
+
switch (choiceControlType) {
|
|
82
|
+
// TODO At the moment only this case will be executed because this switch statment was already in the parent components
|
|
83
|
+
case ChoiceItemControl.Radio: {
|
|
84
|
+
return (
|
|
85
|
+
<ChoiceRadioAnswerOptionView
|
|
80
86
|
qItem={qItem}
|
|
81
|
-
|
|
87
|
+
valueChoice={valueChoice}
|
|
88
|
+
isRepeated={isRepeated}
|
|
89
|
+
isTabled={isTabled}
|
|
82
90
|
readOnly={readOnly}
|
|
91
|
+
calcExpUpdated={calcExpUpdated}
|
|
92
|
+
onFocusLinkId={() => onFocusLinkId(qItem.linkId)}
|
|
83
93
|
onCheckedChange={handleChange}
|
|
84
94
|
/>
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
case ChoiceItemControl.Select: {
|
|
99
|
+
return (
|
|
100
|
+
<ChoiceSelectAnswerOptionView
|
|
101
|
+
qItem={qItem}
|
|
102
|
+
valueChoice={valueChoice}
|
|
103
|
+
isRepeated={isRepeated}
|
|
104
|
+
isTabled={isTabled}
|
|
105
|
+
readOnly={readOnly}
|
|
106
|
+
calcExpUpdated={calcExpUpdated}
|
|
107
|
+
onFocusLinkId={() => onFocusLinkId(qItem.linkId)}
|
|
108
|
+
onSelectChange={handleChange}
|
|
109
|
+
/>
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
default: {
|
|
114
|
+
return (
|
|
115
|
+
<Typography>
|
|
116
|
+
Something has went wrong when parsing item {qItem.linkId} - {qItem.text}
|
|
117
|
+
</Typography>
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
88
121
|
}
|
|
89
122
|
|
|
90
123
|
export default ChoiceRadioAnswerOptionItem;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import React from 'react';
|
|
19
|
+
import ChoiceRadioAnswerOptionFields from './ChoiceRadioAnswerOptionFields';
|
|
20
|
+
import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
21
|
+
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
22
|
+
import type {
|
|
23
|
+
PropsWithIsRepeatedAttribute,
|
|
24
|
+
PropsWithIsTabledAttribute
|
|
25
|
+
} from '../../../interfaces/renderProps.interface';
|
|
26
|
+
import type { QuestionnaireItem } from 'fhir/r4';
|
|
27
|
+
|
|
28
|
+
interface ChoiceRadioAnswerOptionViewProps
|
|
29
|
+
extends PropsWithIsRepeatedAttribute,
|
|
30
|
+
PropsWithIsTabledAttribute {
|
|
31
|
+
qItem: QuestionnaireItem;
|
|
32
|
+
valueChoice: string | null;
|
|
33
|
+
readOnly: boolean;
|
|
34
|
+
calcExpUpdated: boolean;
|
|
35
|
+
onCheckedChange: (linkId: string) => void;
|
|
36
|
+
onFocusLinkId: () => void;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function ChoiceRadioAnswerOptionView(props: ChoiceRadioAnswerOptionViewProps) {
|
|
40
|
+
const {
|
|
41
|
+
qItem,
|
|
42
|
+
valueChoice,
|
|
43
|
+
isRepeated,
|
|
44
|
+
isTabled,
|
|
45
|
+
readOnly,
|
|
46
|
+
calcExpUpdated,
|
|
47
|
+
onFocusLinkId,
|
|
48
|
+
onCheckedChange
|
|
49
|
+
} = props;
|
|
50
|
+
|
|
51
|
+
if (isRepeated) {
|
|
52
|
+
return (
|
|
53
|
+
<ChoiceRadioAnswerOptionFields
|
|
54
|
+
qItem={qItem}
|
|
55
|
+
valueRadio={valueChoice}
|
|
56
|
+
isTabled={isTabled}
|
|
57
|
+
readOnly={readOnly}
|
|
58
|
+
calcExpUpdated={calcExpUpdated}
|
|
59
|
+
onCheckedChange={onCheckedChange}
|
|
60
|
+
/>
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return (
|
|
65
|
+
<FullWidthFormComponentBox
|
|
66
|
+
data-test="q-item-choice-radio-answer-option-box"
|
|
67
|
+
data-linkid={qItem.linkId}
|
|
68
|
+
onClick={onFocusLinkId}>
|
|
69
|
+
<ItemFieldGrid qItem={qItem} readOnly={readOnly}>
|
|
70
|
+
<ChoiceRadioAnswerOptionFields
|
|
71
|
+
qItem={qItem}
|
|
72
|
+
valueRadio={valueChoice}
|
|
73
|
+
readOnly={readOnly}
|
|
74
|
+
isTabled={isTabled}
|
|
75
|
+
calcExpUpdated={calcExpUpdated}
|
|
76
|
+
onCheckedChange={onCheckedChange}
|
|
77
|
+
/>
|
|
78
|
+
</ItemFieldGrid>
|
|
79
|
+
</FullWidthFormComponentBox>
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export default ChoiceRadioAnswerOptionView;
|