@aehrc/smart-forms-renderer 1.0.0-alpha.21 → 1.0.0-alpha.23
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 +20 -17
- package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -1
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js +6 -3
- package/lib/components/FormComponents/BooleanItem/BooleanItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.d.ts +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js +15 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +5 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.d.ts +1 -0
- 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 +1 -0
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js +14 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +6 -3
- 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 +7 -5
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +4 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.d.ts +1 -0
- 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/DecimalItem/DecimalItem.js.map +1 -1
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js +1 -1
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityItem.js +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityItem.js.map +1 -1
- package/lib/components/FormComponents/StringItem/StringItem.js +1 -1
- package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -1
- package/lib/components/FormComponents/TextItem/TextItem.js +1 -1
- package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -1
- package/lib/components/FormComponents/UrlItem/UrlItem.js +1 -1
- package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -1
- package/lib/components/Renderer/BaseRenderer.js +6 -4
- package/lib/components/Renderer/BaseRenderer.js.map +1 -1
- package/lib/components/Renderer/FormBodyTabbed.js +1 -1
- package/lib/components/Renderer/FormBodyTabbed.js.map +1 -1
- package/lib/hooks/useValidationFeedback.js +33 -2
- package/lib/hooks/useValidationFeedback.js.map +1 -1
- package/lib/interfaces/questionnaireStore.interface.d.ts +2 -0
- package/lib/interfaces/targetConstraint.interface.d.ts +30 -0
- package/lib/interfaces/targetConstraint.interface.js +2 -0
- package/lib/interfaces/targetConstraint.interface.js.map +1 -0
- package/lib/stores/questionnaireResponseStore.d.ts +8 -2
- package/lib/stores/questionnaireResponseStore.js +15 -16
- package/lib/stores/questionnaireResponseStore.js.map +1 -1
- package/lib/stores/questionnaireStore.d.ts +7 -0
- package/lib/stores/questionnaireStore.js +22 -8
- package/lib/stores/questionnaireStore.js.map +1 -1
- package/lib/utils/calculatedExpression.d.ts +3 -2
- package/lib/utils/calculatedExpression.js +2 -2
- package/lib/utils/calculatedExpression.js.map +1 -1
- package/lib/utils/enableWhenExpression.d.ts +4 -3
- package/lib/utils/enableWhenExpression.js +4 -4
- package/lib/utils/enableWhenExpression.js.map +1 -1
- package/lib/utils/fhirpath.d.ts +8 -3
- package/lib/utils/fhirpath.js +27 -8
- package/lib/utils/fhirpath.js.map +1 -1
- package/lib/utils/initialise.d.ts +6 -2
- package/lib/utils/initialise.js +16 -4
- package/lib/utils/initialise.js.map +1 -1
- package/lib/utils/itemControl.d.ts +1 -0
- package/lib/utils/itemControl.js +11 -0
- package/lib/utils/itemControl.js.map +1 -1
- package/lib/utils/manageForm.js +2 -0
- package/lib/utils/manageForm.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +4 -0
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractTargetConstraint.d.ts +4 -0
- package/lib/utils/questionnaireStoreUtils/extractTargetConstraint.js +39 -0
- package/lib/utils/questionnaireStoreUtils/extractTargetConstraint.js.map +1 -0
- package/lib/utils/targetConstraint.d.ts +23 -0
- package/lib/utils/targetConstraint.js +179 -0
- package/lib/utils/targetConstraint.js.map +1 -0
- package/lib/utils/validate.d.ts +73 -0
- package/lib/utils/validate.js +742 -0
- package/lib/utils/validate.js.map +1 -0
- package/lib/utils/validateQuestionnaire.d.ts +40 -40
- package/lib/utils/validateQuestionnaire.js +1 -0
- package/lib/utils/validateQuestionnaire.js.map +1 -1
- package/lib/utils/validateQuestionnaireResponse.d.ts +71 -0
- package/lib/utils/validateQuestionnaireResponse.js +710 -0
- package/lib/utils/validateQuestionnaireResponse.js.map +1 -0
- package/lib/utils/validateTargetConstraint.d.ts +1 -0
- package/lib/utils/validateTargetConstraint.js +34 -0
- package/lib/utils/validateTargetConstraint.js.map +1 -0
- package/package.json +1 -1
- package/src/components/FormComponents/BooleanItem/BooleanField.tsx +82 -73
- package/src/components/FormComponents/BooleanItem/BooleanItem.tsx +7 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx +43 -18
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +6 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.tsx +4 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx +35 -17
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +8 -2
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +41 -34
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +5 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.tsx +4 -0
- package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +2 -1
- package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +2 -1
- package/src/components/FormComponents/QuantityItem/QuantityItem.tsx +2 -1
- package/src/components/FormComponents/StringItem/StringItem.tsx +1 -1
- package/src/components/FormComponents/TextItem/TextItem.tsx +2 -1
- package/src/components/FormComponents/UrlItem/UrlItem.tsx +2 -1
- package/src/components/Renderer/BaseRenderer.tsx +6 -4
- package/src/components/Renderer/FormBodyTabbed.tsx +1 -1
- package/src/hooks/useValidationFeedback.ts +39 -2
- package/src/interfaces/questionnaireStore.interface.ts +2 -0
- package/src/interfaces/renderProps.interface.ts +1 -0
- package/src/interfaces/targetConstraint.interface.ts +36 -0
- package/src/stores/questionnaireResponseStore.ts +25 -18
- package/src/stores/questionnaireStore.ts +31 -5
- package/src/utils/calculatedExpression.ts +4 -4
- package/src/utils/enableWhenExpression.ts +8 -7
- package/src/utils/fhirpath.ts +57 -9
- package/src/utils/initialise.ts +23 -6
- package/src/utils/itemControl.ts +15 -0
- package/src/utils/manageForm.ts +3 -0
- package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +6 -0
- package/src/utils/questionnaireStoreUtils/extractTargetConstraint.ts +71 -0
- package/src/utils/targetConstraint.ts +243 -0
- package/src/utils/{validateQuestionnaire.ts → validate.ts} +138 -58
|
@@ -27,9 +27,10 @@ import { isSpecificItemControl } from '../../../utils';
|
|
|
27
27
|
import ClearInputButton from '../ItemParts/ClearInputButton';
|
|
28
28
|
import { useRendererStylingStore } from '../../../stores';
|
|
29
29
|
import { findCalculatedExpressionsInExtensions } from '../../../utils/getExpressionsFromItem';
|
|
30
|
+
import Typography from '@mui/material/Typography';
|
|
30
31
|
const BooleanField = memo(function BooleanField(props) {
|
|
31
32
|
var _a, _b;
|
|
32
|
-
const { qItem, readOnly, valueBoolean, calcExpUpdated, onCheckedChange, onClear } = props;
|
|
33
|
+
const { qItem, readOnly, valueBoolean, feedback, calcExpUpdated, onCheckedChange, onClear } = props;
|
|
33
34
|
const inputsFlexGrow = useRendererStylingStore.use.inputsFlexGrow();
|
|
34
35
|
const reverseBooleanYesNo = useRendererStylingStore.use.reverseBooleanYesNo();
|
|
35
36
|
const hideClearButton = useRendererStylingStore.use.hideClearButton();
|
|
@@ -38,22 +39,24 @@ const BooleanField = memo(function BooleanField(props) {
|
|
|
38
39
|
// defaults to horizontal, only set to vertical if explicitly set
|
|
39
40
|
const orientation = (_b = getChoiceOrientation(qItem)) !== null && _b !== void 0 ? _b : ChoiceItemOrientation.Horizontal;
|
|
40
41
|
const selection = valueBoolean === undefined ? null : valueBoolean.toString();
|
|
41
|
-
return (React.createElement(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
42
|
+
return (React.createElement(React.Fragment, null,
|
|
43
|
+
React.createElement(Box, { display: "flex", alignItems: "center" },
|
|
44
|
+
booleanAsCheckbox ? (React.createElement(FormControlLabel, { id: qItem.linkId, disabled: readOnly, control: React.createElement(Checkbox, { size: "small", checked: selection === 'true', onChange: () => {
|
|
45
|
+
if (selection === 'true') {
|
|
46
|
+
onCheckedChange('false');
|
|
47
|
+
}
|
|
48
|
+
if (selection === 'false' || selection === null) {
|
|
49
|
+
onCheckedChange('true');
|
|
50
|
+
}
|
|
51
|
+
} }), label: "" })) : (React.createElement(StyledRadioGroup, { id: qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, name: qItem.text, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}, onChange: (e) => onCheckedChange(e.target.value), value: selection }, reverseBooleanYesNo ? (React.createElement(React.Fragment, null,
|
|
52
|
+
React.createElement(ChoiceRadioSingle, { value: "false", label: "No", readOnly: readOnly, fullWidth: inputsFlexGrow }),
|
|
53
|
+
React.createElement(ChoiceRadioSingle, { value: "true", label: "Yes", readOnly: readOnly, fullWidth: inputsFlexGrow }))) : (React.createElement(React.Fragment, null,
|
|
54
|
+
React.createElement(ChoiceRadioSingle, { value: "true", label: "Yes", readOnly: readOnly, fullWidth: inputsFlexGrow }),
|
|
55
|
+
React.createElement(ChoiceRadioSingle, { value: "false", label: "No", readOnly: readOnly, fullWidth: inputsFlexGrow }))))),
|
|
56
|
+
React.createElement(Box, { flexGrow: 1 }),
|
|
57
|
+
calculatedExpressionExist ? (React.createElement(FadingCheckIcon, { fadeIn: calcExpUpdated, disabled: readOnly })) : null,
|
|
58
|
+
hideClearButton ? null : (React.createElement(ClearInputButton, { buttonShown: valueBoolean !== undefined, readOnly: readOnly, onClear: onClear }))),
|
|
59
|
+
feedback ? (React.createElement(Typography, { sx: { color: 'error.main', fontSize: '0.75rem', mt: 1 } }, feedback)) : null));
|
|
57
60
|
});
|
|
58
61
|
export default BooleanField;
|
|
59
62
|
//# sourceMappingURL=BooleanField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/BooleanItem/BooleanField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,qCAAqC,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/BooleanItem/BooleanField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -24,11 +24,14 @@ import useReadOnly from '../../../hooks/useReadOnly';
|
|
|
24
24
|
import { useQuestionnaireStore } from '../../../stores';
|
|
25
25
|
import useBooleanCalculatedExpression from '../../../hooks/useBooleanCalculatedExpression';
|
|
26
26
|
import { ItemLabelWrapper } from '../ItemParts';
|
|
27
|
+
import useValidationFeedback from '../../../hooks/useValidationFeedback';
|
|
27
28
|
function BooleanItem(props) {
|
|
28
29
|
var _a, _b, _c;
|
|
29
30
|
const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
|
|
30
31
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
31
32
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
33
|
+
// Perform validation checks - there's no string-based input here
|
|
34
|
+
const feedback = useValidationFeedback(qItem, '');
|
|
32
35
|
// Init input value
|
|
33
36
|
const answerKey = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) === null || _a === void 0 ? void 0 : _a[0].id;
|
|
34
37
|
let valueBoolean = undefined;
|
|
@@ -65,13 +68,13 @@ function BooleanItem(props) {
|
|
|
65
68
|
}
|
|
66
69
|
if (isTabled) {
|
|
67
70
|
return (React.createElement(Box, { display: "flex", justifyContent: "center" },
|
|
68
|
-
React.createElement(BooleanField, { qItem: qItem, readOnly: readOnly, valueBoolean: valueBoolean, calcExpUpdated: calcExpUpdated, onCheckedChange: handleValueChange, onClear: handleClear })));
|
|
71
|
+
React.createElement(BooleanField, { qItem: qItem, readOnly: readOnly, valueBoolean: valueBoolean, feedback: feedback, calcExpUpdated: calcExpUpdated, onCheckedChange: handleValueChange, onClear: handleClear })));
|
|
69
72
|
}
|
|
70
73
|
if (isRepeated) {
|
|
71
|
-
return (React.createElement(BooleanField, { qItem: qItem, readOnly: readOnly, valueBoolean: valueBoolean, calcExpUpdated: calcExpUpdated, onCheckedChange: handleValueChange, onClear: handleClear }));
|
|
74
|
+
return (React.createElement(BooleanField, { qItem: qItem, readOnly: readOnly, valueBoolean: valueBoolean, feedback: feedback, calcExpUpdated: calcExpUpdated, onCheckedChange: handleValueChange, onClear: handleClear }));
|
|
72
75
|
}
|
|
73
76
|
return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-boolean-box", "data-linkid": qItem.linkId, onClick: () => onFocusLinkId(qItem.linkId) },
|
|
74
|
-
React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly, labelChildren: React.createElement(ItemLabelWrapper, { qItem: qItem, readOnly: readOnly }), fieldChildren: React.createElement(BooleanField, { qItem: qItem, readOnly: readOnly, valueBoolean: valueBoolean, calcExpUpdated: calcExpUpdated, onCheckedChange: handleValueChange, onClear: handleClear }) })));
|
|
77
|
+
React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly, labelChildren: React.createElement(ItemLabelWrapper, { qItem: qItem, readOnly: readOnly }), fieldChildren: React.createElement(BooleanField, { qItem: qItem, readOnly: readOnly, valueBoolean: valueBoolean, feedback: feedback, calcExpUpdated: calcExpUpdated, onCheckedChange: handleValueChange, onClear: handleClear }) })));
|
|
75
78
|
}
|
|
76
79
|
export default BooleanItem;
|
|
77
80
|
//# sourceMappingURL=BooleanItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/BooleanItem/BooleanItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,8BAA8B,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"BooleanItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/BooleanItem/BooleanItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,18 +23,26 @@ import Box from '@mui/material/Box';
|
|
|
23
23
|
import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
24
24
|
import ClearInputButton from '../ItemParts/ClearInputButton';
|
|
25
25
|
import { useRendererStylingStore } from '../../../stores';
|
|
26
|
+
import Typography from '@mui/material/Typography';
|
|
26
27
|
function ChoiceRadioAnswerOptionFields(props) {
|
|
27
28
|
var _a;
|
|
28
|
-
const { qItem, options, valueRadio, readOnly, calcExpUpdated, onCheckedChange, onClear } = props;
|
|
29
|
+
const { qItem, options, valueRadio, feedback, readOnly, calcExpUpdated, onCheckedChange, onClear } = props;
|
|
29
30
|
const inputsFlexGrow = useRendererStylingStore.use.inputsFlexGrow();
|
|
30
31
|
const hideClearButton = useRendererStylingStore.use.hideClearButton();
|
|
31
32
|
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
32
|
-
return (React.createElement(
|
|
33
|
-
React.createElement(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
return (React.createElement(React.Fragment, null,
|
|
34
|
+
React.createElement(Box, { display: "flex", sx: {
|
|
35
|
+
justifyContent: 'space-between',
|
|
36
|
+
alignItems: { xs: 'start', sm: 'center' },
|
|
37
|
+
flexDirection: { xs: 'column', sm: 'row' }
|
|
38
|
+
} },
|
|
39
|
+
React.createElement(Box, { display: "flex", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} },
|
|
40
|
+
React.createElement(StyledRadioGroup, { id: qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, name: qItem.text, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}, onChange: (e) => onCheckedChange(e.target.value), value: valueRadio, "data-test": "q-item-radio-group" },
|
|
41
|
+
React.createElement(RadioOptionList, { options: options, readOnly: readOnly, fullWidth: inputsFlexGrow })),
|
|
42
|
+
React.createElement(Box, { flexGrow: 1 }),
|
|
43
|
+
React.createElement(FadingCheckIcon, { fadeIn: calcExpUpdated, disabled: readOnly })),
|
|
44
|
+
hideClearButton ? null : (React.createElement(ClearInputButton, { buttonShown: !!valueRadio, readOnly: readOnly, onClear: onClear }))),
|
|
45
|
+
feedback ? (React.createElement(Typography, { sx: { color: 'error.main', fontSize: '0.75rem', mt: 1 } }, feedback)) : null));
|
|
38
46
|
}
|
|
39
47
|
export default ChoiceRadioAnswerOptionFields;
|
|
40
48
|
//# sourceMappingURL=ChoiceRadioAnswerOptionFields.js.map
|
|
@@ -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,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;
|
|
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;AAC7D,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAalD,SAAS,6BAA6B,CAAC,KAAyC;;IAC9E,MAAM,EACJ,KAAK,EACL,OAAO,EACP,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,eAAe,EACf,OAAO,EACR,GAAG,KAAK,CAAC;IAEV,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACpE,MAAM,eAAe,GAAG,uBAAuB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IAEtE,MAAM,WAAW,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,mCAAI,qBAAqB,CAAC,QAAQ,CAAC;IAElF,OAAO,CACL;QACE,oBAAC,GAAG,IACF,OAAO,EAAC,MAAM,EACd,EAAE,EAAE;gBACF,cAAc,EAAE,eAAe;gBAC/B,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE;gBACzC,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE;aAC3C;YACD,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;gBACjF,oBAAC,gBAAgB,IACf,EAAE,EAAE,KAAK,CAAC,MAAM,EAChB,GAAG,EAAE,WAAW,KAAK,qBAAqB,CAAC,UAAU,EACrD,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAC/D,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAChD,KAAK,EAAE,UAAU,eACP,oBAAoB;oBAC9B,oBAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,GAAI,CACnE;gBAEnB,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI;gBAEpB,oBAAC,eAAe,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC3D;YAEL,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,oBAAC,gBAAgB,IAAC,WAAW,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,CACtF,CACG;QACL,QAAQ,CAAC,CAAC,CAAC,CACV,oBAAC,UAAU,IAAC,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,IAAG,QAAQ,CAAc,CAC7F,CAAC,CAAC,CAAC,IAAI,CACP,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,6BAA6B,CAAC"}
|
|
@@ -24,6 +24,7 @@ import Typography from '@mui/material/Typography';
|
|
|
24
24
|
import useCodingCalculatedExpression from '../../../hooks/useCodingCalculatedExpression';
|
|
25
25
|
import ChoiceRadioAnswerOptionView from './ChoiceRadioAnswerOptionView';
|
|
26
26
|
import ChoiceSelectAnswerOptionView from './ChoiceSelectAnswerOptionView';
|
|
27
|
+
import useValidationFeedback from '../../../hooks/useValidationFeedback';
|
|
27
28
|
function ChoiceRadioAnswerOptionItem(props) {
|
|
28
29
|
var _a, _b;
|
|
29
30
|
const { qItem, qrItem, isRepeated, isTabled, renderingExtensions, parentIsReadOnly, onQrItemChange } = props;
|
|
@@ -33,6 +34,8 @@ function ChoiceRadioAnswerOptionItem(props) {
|
|
|
33
34
|
const qrChoice = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem, answerKey);
|
|
34
35
|
const valueChoice = getQrChoiceValue(qrChoice);
|
|
35
36
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
37
|
+
// Perform validation checks - there's no string-based input here
|
|
38
|
+
const feedback = useValidationFeedback(qItem, '');
|
|
36
39
|
const options = (_b = qItem.answerOption) !== null && _b !== void 0 ? _b : [];
|
|
37
40
|
// Process calculated expressions
|
|
38
41
|
const { calcExpUpdated } = useCodingCalculatedExpression({
|
|
@@ -71,10 +74,10 @@ function ChoiceRadioAnswerOptionItem(props) {
|
|
|
71
74
|
switch (choiceControlType) {
|
|
72
75
|
// TODO At the moment only this case will be executed because this switch statement was already in the parent components
|
|
73
76
|
case ChoiceItemControl.Radio: {
|
|
74
|
-
return (React.createElement(ChoiceRadioAnswerOptionView, { qItem: qItem, options: options, valueChoice: valueChoice, isRepeated: isRepeated, readOnly: readOnly, calcExpUpdated: calcExpUpdated, onFocusLinkId: () => onFocusLinkId(qItem.linkId), onCheckedChange: handleChange, onClear: handleClear }));
|
|
77
|
+
return (React.createElement(ChoiceRadioAnswerOptionView, { qItem: qItem, options: options, valueChoice: valueChoice, feedback: feedback, isRepeated: isRepeated, readOnly: readOnly, calcExpUpdated: calcExpUpdated, onFocusLinkId: () => onFocusLinkId(qItem.linkId), onCheckedChange: handleChange, onClear: handleClear }));
|
|
75
78
|
}
|
|
76
79
|
case ChoiceItemControl.Select: {
|
|
77
|
-
return (React.createElement(ChoiceSelectAnswerOptionView, { qItem: qItem, options: options, valueChoice: valueChoice, isRepeated: isRepeated, isTabled: isTabled, readOnly: readOnly, calcExpUpdated: calcExpUpdated, renderingExtensions: renderingExtensions, onFocusLinkId: () => onFocusLinkId(qItem.linkId), onSelectChange: handleChange }));
|
|
80
|
+
return (React.createElement(ChoiceSelectAnswerOptionView, { qItem: qItem, options: options, valueChoice: valueChoice, feedback: feedback, isRepeated: isRepeated, isTabled: isTabled, readOnly: readOnly, calcExpUpdated: calcExpUpdated, renderingExtensions: renderingExtensions, onFocusLinkId: () => onFocusLinkId(qItem.linkId), onSelectChange: handleChange }));
|
|
78
81
|
}
|
|
79
82
|
default: {
|
|
80
83
|
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;AAM1B,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAQ1D,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;
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ interface ChoiceRadioAnswerOptionViewProps extends PropsWithIsRepeatedAttribute
|
|
|
5
5
|
qItem: QuestionnaireItem;
|
|
6
6
|
options: QuestionnaireItemAnswerOption[];
|
|
7
7
|
valueChoice: string | null;
|
|
8
|
+
feedback: string;
|
|
8
9
|
readOnly: boolean;
|
|
9
10
|
calcExpUpdated: boolean;
|
|
10
11
|
onCheckedChange: (linkId: string) => void;
|
|
@@ -20,12 +20,12 @@ import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
|
20
20
|
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
21
21
|
import { ItemLabelWrapper } from '../ItemParts';
|
|
22
22
|
function ChoiceRadioAnswerOptionView(props) {
|
|
23
|
-
const { qItem, options, valueChoice, isRepeated, readOnly, calcExpUpdated, onFocusLinkId, onCheckedChange, onClear } = props;
|
|
23
|
+
const { qItem, options, valueChoice, feedback, isRepeated, readOnly, calcExpUpdated, onFocusLinkId, onCheckedChange, onClear } = props;
|
|
24
24
|
if (isRepeated) {
|
|
25
|
-
return (React.createElement(ChoiceRadioAnswerOptionFields, { qItem: qItem, options: options, valueRadio: valueChoice, readOnly: readOnly, calcExpUpdated: calcExpUpdated, onCheckedChange: onCheckedChange, onClear: onClear }));
|
|
25
|
+
return (React.createElement(ChoiceRadioAnswerOptionFields, { qItem: qItem, options: options, valueRadio: valueChoice, feedback: feedback, readOnly: readOnly, calcExpUpdated: calcExpUpdated, onCheckedChange: onCheckedChange, onClear: onClear }));
|
|
26
26
|
}
|
|
27
27
|
return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-radio-answer-option-box", "data-linkid": qItem.linkId, onClick: onFocusLinkId },
|
|
28
|
-
React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly, labelChildren: React.createElement(ItemLabelWrapper, { qItem: qItem, readOnly: readOnly }), fieldChildren: React.createElement(ChoiceRadioAnswerOptionFields, { qItem: qItem, options: options, valueRadio: valueChoice, readOnly: readOnly, calcExpUpdated: calcExpUpdated, onCheckedChange: onCheckedChange, onClear: onClear }) })));
|
|
28
|
+
React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly, labelChildren: React.createElement(ItemLabelWrapper, { qItem: qItem, readOnly: readOnly }), fieldChildren: React.createElement(ChoiceRadioAnswerOptionFields, { qItem: qItem, options: options, valueRadio: valueChoice, feedback: feedback, readOnly: readOnly, calcExpUpdated: calcExpUpdated, onCheckedChange: onCheckedChange, onClear: onClear }) })));
|
|
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;AAGvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,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;AAGvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAchD,SAAS,2BAA2B,CAAC,KAAuC;IAC1E,MAAM,EACJ,KAAK,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,eAAe,EACf,OAAO,EACR,GAAG,KAAK,CAAC;IAEV,IAAI,UAAU,EAAE,CAAC;QACf,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,EAChC,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,oBAAC,yBAAyB,iBACd,uCAAuC,iBACpC,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,aAAa;QACtB,oBAAC,aAAa,IACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,oBAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,EACrE,aAAa,EACX,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,EAChC,OAAO,EAAE,OAAO,GAChB,GAEJ,CACwB,CAC7B,CAAC;AACJ,CAAC;AAED,eAAe,2BAA2B,CAAC"}
|
|
@@ -28,17 +28,24 @@ import ClearInputButton from '../ItemParts/ClearInputButton';
|
|
|
28
28
|
import { useRendererStylingStore } from '../../../stores';
|
|
29
29
|
function ChoiceRadioAnswerValueSetFields(props) {
|
|
30
30
|
var _a;
|
|
31
|
-
const { qItem, options, valueRadio, readOnly, calcExpUpdated, terminologyError, onCheckedChange, onClear } = props;
|
|
31
|
+
const { qItem, options, valueRadio, feedback, readOnly, calcExpUpdated, terminologyError, onCheckedChange, onClear } = props;
|
|
32
32
|
const inputsFlexGrow = useRendererStylingStore.use.inputsFlexGrow();
|
|
33
33
|
const hideClearButton = useRendererStylingStore.use.hideClearButton();
|
|
34
34
|
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Vertical;
|
|
35
35
|
if (options.length > 0) {
|
|
36
|
-
return (React.createElement(
|
|
37
|
-
React.createElement(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
return (React.createElement(React.Fragment, null,
|
|
37
|
+
React.createElement(Box, { display: "flex", sx: {
|
|
38
|
+
justifyContent: 'space-between',
|
|
39
|
+
alignItems: { xs: 'start', sm: 'center' },
|
|
40
|
+
flexDirection: { xs: 'column', sm: 'row' }
|
|
41
|
+
} },
|
|
42
|
+
React.createElement(Box, { display: "flex", sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {} },
|
|
43
|
+
React.createElement(StyledRadioGroup, { id: qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, name: qItem.text, sx: inputsFlexGrow ? { width: '100%', flexWrap: 'nowrap' } : {}, onChange: (e) => onCheckedChange(e.target.value), value: valueRadio, "data-test": "q-item-radio-group" },
|
|
44
|
+
React.createElement(RadioOptionList, { options: options, readOnly: readOnly, fullWidth: inputsFlexGrow })),
|
|
45
|
+
React.createElement(Box, { flexGrow: 1 }),
|
|
46
|
+
React.createElement(FadingCheckIcon, { fadeIn: calcExpUpdated, disabled: readOnly })),
|
|
47
|
+
hideClearButton ? null : (React.createElement(ClearInputButton, { buttonShown: !!valueRadio, readOnly: readOnly, onClear: onClear }))),
|
|
48
|
+
feedback ? (React.createElement(Typography, { sx: { color: 'error.main', fontSize: '0.75rem', mt: 1 } }, feedback)) : null));
|
|
42
49
|
}
|
|
43
50
|
if (terminologyError.error) {
|
|
44
51
|
return (React.createElement(StyledAlert, { color: "error" },
|
|
@@ -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,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;AAC3D,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerValueSetFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,11 +25,11 @@ import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
|
25
25
|
import { useQuestionnaireStore } from '../../../stores';
|
|
26
26
|
import useCodingCalculatedExpression from '../../../hooks/useCodingCalculatedExpression';
|
|
27
27
|
import { ItemLabelWrapper } from '../ItemParts';
|
|
28
|
+
import useValidationFeedback from '../../../hooks/useValidationFeedback';
|
|
28
29
|
function ChoiceRadioAnswerValueSetItem(props) {
|
|
29
30
|
var _a, _b, _c, _d, _e;
|
|
30
31
|
const { qItem, qrItem, isRepeated, parentIsReadOnly, onQrItemChange } = props;
|
|
31
32
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
32
|
-
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
33
33
|
// Init input value
|
|
34
34
|
const answerKey = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) === null || _a === void 0 ? void 0 : _a[0].id;
|
|
35
35
|
const qrChoiceRadio = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem, answerKey);
|
|
@@ -40,6 +40,9 @@ function ChoiceRadioAnswerValueSetItem(props) {
|
|
|
40
40
|
}
|
|
41
41
|
// Get codings/options from valueSet
|
|
42
42
|
const { codings, terminologyError } = useValueSetCodings(qItem);
|
|
43
|
+
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
44
|
+
// Perform validation checks - there's no string-based input here
|
|
45
|
+
const feedback = useValidationFeedback(qItem, '');
|
|
43
46
|
const options = useMemo(() => convertCodingsToAnswerOptions(codings), [codings]);
|
|
44
47
|
const { calcExpUpdated } = useCodingCalculatedExpression({
|
|
45
48
|
qItem: qItem,
|
|
@@ -62,10 +65,10 @@ function ChoiceRadioAnswerValueSetItem(props) {
|
|
|
62
65
|
onQrItemChange(createEmptyQrItem(qItem, answerKey));
|
|
63
66
|
}
|
|
64
67
|
if (isRepeated) {
|
|
65
|
-
return (React.createElement(ChoiceRadioAnswerValueSetFields, { qItem: qItem, options: options, valueRadio: valueRadio, readOnly: readOnly, calcExpUpdated: calcExpUpdated, terminologyError: terminologyError, onCheckedChange: handleChange, onClear: handleClear }));
|
|
68
|
+
return (React.createElement(ChoiceRadioAnswerValueSetFields, { qItem: qItem, options: options, valueRadio: valueRadio, feedback: feedback, readOnly: readOnly, calcExpUpdated: calcExpUpdated, terminologyError: terminologyError, onCheckedChange: handleChange, onClear: handleClear }));
|
|
66
69
|
}
|
|
67
70
|
return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-radio-answer-value-set-box", "data-linkid": qItem.linkId, onClick: () => onFocusLinkId(qItem.linkId) },
|
|
68
|
-
React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly, labelChildren: React.createElement(ItemLabelWrapper, { qItem: qItem, readOnly: readOnly }), fieldChildren: React.createElement(ChoiceRadioAnswerValueSetFields, { qItem: qItem, options: options, valueRadio: valueRadio, readOnly: readOnly, calcExpUpdated: calcExpUpdated, terminologyError: terminologyError, onCheckedChange: handleChange, onClear: handleClear }) })));
|
|
71
|
+
React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly, labelChildren: React.createElement(ItemLabelWrapper, { qItem: qItem, readOnly: readOnly }), fieldChildren: React.createElement(ChoiceRadioAnswerValueSetFields, { qItem: qItem, options: options, valueRadio: valueRadio, feedback: feedback, readOnly: readOnly, calcExpUpdated: calcExpUpdated, terminologyError: terminologyError, onCheckedChange: handleChange, onClear: handleClear }) })));
|
|
69
72
|
}
|
|
70
73
|
export default ChoiceRadioAnswerValueSetItem;
|
|
71
74
|
//# 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;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceRadioAnswerValueSetItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ interface ChoiceSelectAnswerOptionFieldsProps extends PropsWithIsTabledAttribute
|
|
|
5
5
|
qItem: QuestionnaireItem;
|
|
6
6
|
options: QuestionnaireItemAnswerOption[];
|
|
7
7
|
valueSelect: QuestionnaireItemAnswerOption | null;
|
|
8
|
+
feedback: string;
|
|
8
9
|
readOnly: boolean;
|
|
9
10
|
calcExpUpdated: boolean;
|
|
10
11
|
onSelectChange: (newValue: QuestionnaireItemAnswerOption | null) => void;
|
|
@@ -23,13 +23,15 @@ import { compareAnswerOptionValue } from '../../../utils/choice';
|
|
|
23
23
|
import { useRendererStylingStore } from '../../../stores';
|
|
24
24
|
import Typography from '@mui/material/Typography';
|
|
25
25
|
function ChoiceSelectAnswerOptionFields(props) {
|
|
26
|
-
const { qItem, options, valueSelect, readOnly, calcExpUpdated, isTabled, renderingExtensions, onSelectChange } = props;
|
|
26
|
+
const { qItem, options, valueSelect, feedback, readOnly, calcExpUpdated, isTabled, renderingExtensions, onSelectChange } = props;
|
|
27
27
|
const textFieldWidth = useRendererStylingStore.use.textFieldWidth();
|
|
28
28
|
const { displayUnit, displayPrompt, entryFormat } = renderingExtensions;
|
|
29
|
-
return (React.createElement(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
return (React.createElement(React.Fragment, null,
|
|
30
|
+
React.createElement(Autocomplete, { id: qItem.linkId, value: valueSelect !== null && valueSelect !== void 0 ? valueSelect : null, options: options, getOptionLabel: (option) => getAnswerOptionLabel(option), isOptionEqualToValue: (option, value) => compareAnswerOptionValue(option, value), onChange: (_, newValue) => onSelectChange(newValue), openOnFocus: true, autoHighlight: true, sx: { maxWidth: !isTabled ? textFieldWidth : 3000, minWidth: 160, flexGrow: 1 }, size: "small", disabled: readOnly, renderInput: (params) => (React.createElement(StandardTextField, Object.assign({ textFieldWidth: textFieldWidth, isTabled: isTabled, label: displayPrompt, placeholder: entryFormat }, params, { InputProps: Object.assign(Object.assign({}, params.InputProps), { endAdornment: (React.createElement(React.Fragment, null,
|
|
31
|
+
params.InputProps.endAdornment,
|
|
32
|
+
React.createElement(FadingCheckIcon, { fadeIn: calcExpUpdated, disabled: readOnly }),
|
|
33
|
+
React.createElement(Typography, { color: readOnly ? 'text.disabled' : 'text.secondary' }, displayUnit))) }) }))) }),
|
|
34
|
+
feedback ? (React.createElement(Typography, { sx: { color: 'error.main', fontSize: '0.75rem', mt: 1 } }, feedback)) : null));
|
|
33
35
|
}
|
|
34
36
|
export default ChoiceSelectAnswerOptionFields;
|
|
35
37
|
//# sourceMappingURL=ChoiceSelectAnswerOptionFields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceSelectAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,UAAU,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceSelectAnswerOptionFields.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAclD,SAAS,8BAA8B,CAAC,KAA0C;IAChF,MAAM,EACJ,KAAK,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,mBAAmB,EACnB,cAAc,EACf,GAAG,KAAK,CAAC;IAEV,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IAEpE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC;IAExE,OAAO,CACL;QACE,oBAAC,YAAY,IACX,EAAE,EAAE,KAAK,CAAC,MAAM,EAChB,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,EAC1B,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,EACxD,oBAAoB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,EAChF,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EACnD,WAAW,QACX,aAAa,QACb,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,EAC/E,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,oBAAC,iBAAiB,kBAChB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,IACpB,MAAM,IACV,UAAU,kCACL,MAAM,CAAC,UAAU,KACpB,YAAY,EAAE,CACZ;wBACG,MAAM,CAAC,UAAU,CAAC,YAAY;wBAC/B,oBAAC,eAAe,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI;wBAC/D,oBAAC,UAAU,IAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,IAC7D,WAAW,CACD,CACZ,CACJ,OAEH,CACH,GACD;QACD,QAAQ,CAAC,CAAC,CAAC,CACV,oBAAC,UAAU,IAAC,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,EAAE,IAAG,QAAQ,CAAc,CAC7F,CAAC,CAAC,CAAC,IAAI,CACP,CACJ,CAAC;AACJ,CAAC;AAED,eAAe,8BAA8B,CAAC"}
|
|
@@ -21,11 +21,14 @@ import useReadOnly from '../../../hooks/useReadOnly';
|
|
|
21
21
|
import { useQuestionnaireStore } from '../../../stores';
|
|
22
22
|
import useCodingCalculatedExpression from '../../../hooks/useCodingCalculatedExpression';
|
|
23
23
|
import ChoiceSelectAnswerOptionView from './ChoiceSelectAnswerOptionView';
|
|
24
|
+
import useValidationFeedback from '../../../hooks/useValidationFeedback';
|
|
24
25
|
function ChoiceSelectAnswerOptionItem(props) {
|
|
25
26
|
var _a, _b;
|
|
26
27
|
const { qItem, qrItem, isRepeated, isTabled, renderingExtensions, parentIsReadOnly, onQrItemChange } = props;
|
|
27
28
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
28
29
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
30
|
+
// Perform validation checks - there's no string-based input here
|
|
31
|
+
const feedback = useValidationFeedback(qItem, '');
|
|
29
32
|
// Init input value
|
|
30
33
|
const answerKey = (_a = qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) === null || _a === void 0 ? void 0 : _a[0].id;
|
|
31
34
|
const qrChoice = qrItem !== null && qrItem !== void 0 ? qrItem : createEmptyQrItem(qItem, answerKey);
|
|
@@ -59,7 +62,7 @@ function ChoiceSelectAnswerOptionItem(props) {
|
|
|
59
62
|
onQrItemChange(newValue
|
|
60
63
|
? Object.assign(Object.assign({}, createEmptyQrItem(qItem, answerKey)), { answer: [Object.assign(Object.assign({}, newValue), { id: answerKey })] }) : createEmptyQrItem(qItem, answerKey));
|
|
61
64
|
}
|
|
62
|
-
return (React.createElement(ChoiceSelectAnswerOptionView, { qItem: qItem, options: options, valueChoice: valueChoice, readOnly: readOnly, calcExpUpdated: calcExpUpdated, isRepeated: isRepeated, isTabled: isTabled, renderingExtensions: renderingExtensions, onFocusLinkId: () => onFocusLinkId(qItem.linkId), onSelectChange: handleChange }));
|
|
65
|
+
return (React.createElement(ChoiceSelectAnswerOptionView, { qItem: qItem, options: options, valueChoice: valueChoice, feedback: feedback, readOnly: readOnly, calcExpUpdated: calcExpUpdated, isRepeated: isRepeated, isTabled: isTabled, renderingExtensions: renderingExtensions, onFocusLinkId: () => onFocusLinkId(qItem.linkId), onSelectChange: handleChange }));
|
|
63
66
|
}
|
|
64
67
|
export default ChoiceSelectAnswerOptionItem;
|
|
65
68
|
//# sourceMappingURL=ChoiceSelectAnswerOptionItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceSelectAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAQ1D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,6BAA6B,MAAM,8CAA8C,CAAC;AACzF,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceSelectAnswerOptionItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ interface ChoiceSelectAnswerOptionViewProps extends PropsWithIsRepeatedAttribute
|
|
|
5
5
|
qItem: QuestionnaireItem;
|
|
6
6
|
options: QuestionnaireItemAnswerOption[];
|
|
7
7
|
valueChoice: string | null;
|
|
8
|
+
feedback: string;
|
|
8
9
|
readOnly: boolean;
|
|
9
10
|
calcExpUpdated: boolean;
|
|
10
11
|
onSelectChange: (newValue: QuestionnaireItemAnswerOption | null) => void;
|
|
@@ -21,13 +21,13 @@ import { findInAnswerOptions } from '../../../utils/choice';
|
|
|
21
21
|
import ChoiceSelectAnswerOptionFields from './ChoiceSelectAnswerOptionFields';
|
|
22
22
|
import { ItemLabelWrapper } from '../ItemParts';
|
|
23
23
|
function ChoiceSelectAnswerOptionView(props) {
|
|
24
|
-
const { qItem, options, valueChoice, isRepeated, isTabled, renderingExtensions, readOnly, calcExpUpdated, onFocusLinkId, onSelectChange } = props;
|
|
24
|
+
const { qItem, options, valueChoice, feedback, isRepeated, isTabled, renderingExtensions, readOnly, calcExpUpdated, onFocusLinkId, onSelectChange } = props;
|
|
25
25
|
const valueSelect = useMemo(() => { var _a; return (_a = findInAnswerOptions(options, valueChoice !== null && valueChoice !== void 0 ? valueChoice : '')) !== null && _a !== void 0 ? _a : null; }, [options, valueChoice]);
|
|
26
26
|
if (isRepeated) {
|
|
27
|
-
return (React.createElement(ChoiceSelectAnswerOptionFields, { qItem: qItem, options: options, valueSelect: valueSelect, readOnly: readOnly, calcExpUpdated: calcExpUpdated, isTabled: isTabled, renderingExtensions: renderingExtensions, onSelectChange: onSelectChange }));
|
|
27
|
+
return (React.createElement(ChoiceSelectAnswerOptionFields, { qItem: qItem, options: options, valueSelect: valueSelect, feedback: feedback, readOnly: readOnly, calcExpUpdated: calcExpUpdated, isTabled: isTabled, renderingExtensions: renderingExtensions, onSelectChange: onSelectChange }));
|
|
28
28
|
}
|
|
29
29
|
return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-choice-select-answer-option-box", "data-linkid": qItem.linkId, onClick: onFocusLinkId },
|
|
30
|
-
React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly, labelChildren: React.createElement(ItemLabelWrapper, { qItem: qItem, readOnly: readOnly }), fieldChildren: React.createElement(ChoiceSelectAnswerOptionFields, { qItem: qItem, options: options, valueSelect: valueSelect, readOnly: readOnly, calcExpUpdated: calcExpUpdated, isTabled: isTabled, renderingExtensions: renderingExtensions, onSelectChange: onSelectChange }) })));
|
|
30
|
+
React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly, labelChildren: React.createElement(ItemLabelWrapper, { qItem: qItem, readOnly: readOnly }), fieldChildren: React.createElement(ChoiceSelectAnswerOptionFields, { qItem: qItem, options: options, valueSelect: valueSelect, feedback: feedback, readOnly: readOnly, calcExpUpdated: calcExpUpdated, isTabled: isTabled, renderingExtensions: renderingExtensions, onSelectChange: onSelectChange }) })));
|
|
31
31
|
}
|
|
32
32
|
export default ChoiceSelectAnswerOptionView;
|
|
33
33
|
//# sourceMappingURL=ChoiceSelectAnswerOptionView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceSelectAnswerOptionView.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAOvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceSelectAnswerOptionView.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAOvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAgBhD,SAAS,4BAA4B,CAAC,KAAwC;IAC5E,MAAM,EACJ,KAAK,EACL,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,cAAc,EACf,GAAG,KAAK,CAAC;IAEV,MAAM,WAAW,GAAyC,OAAO,CAC/D,GAAG,EAAE,WAAC,OAAA,MAAA,mBAAmB,CAAC,OAAO,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC,mCAAI,IAAI,CAAA,EAAA,EAC7D,CAAC,OAAO,EAAE,WAAW,CAAC,CACvB,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CACL,oBAAC,8BAA8B,IAC7B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,mBAAmB,EAAE,mBAAmB,EACxC,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,oBAAC,yBAAyB,iBACd,wCAAwC,iBACrC,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,aAAa;QACtB,oBAAC,aAAa,IACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,oBAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,EACrE,aAAa,EACX,oBAAC,8BAA8B,IAC7B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,mBAAmB,EAAE,mBAAmB,EACxC,cAAc,EAAE,cAAc,GAC9B,GAEJ,CACwB,CAC7B,CAAC;AACJ,CAAC;AAED,eAAe,4BAA4B,CAAC"}
|
|
@@ -33,7 +33,6 @@ function DecimalItem(props) {
|
|
|
33
33
|
var _a;
|
|
34
34
|
const { qItem, qrItem, isRepeated, isTabled, renderingExtensions, parentIsReadOnly, onQrItemChange } = props;
|
|
35
35
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
36
|
-
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
37
36
|
const precision = getDecimalPrecision(qItem);
|
|
38
37
|
const { displayUnit, displayPrompt, entryFormat } = renderingExtensions;
|
|
39
38
|
// Init input value
|
|
@@ -50,6 +49,7 @@ function DecimalItem(props) {
|
|
|
50
49
|
initialInput = precision ? valueDecimal.toFixed(precision) : valueDecimal.toString();
|
|
51
50
|
}
|
|
52
51
|
const [input, setInput] = useState(initialInput);
|
|
52
|
+
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
53
53
|
// Perform validation checks
|
|
54
54
|
const feedback = useValidationFeedback(qItem, input);
|
|
55
55
|
// Process calculated expressions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecimalItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/DecimalItem/DecimalItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AASrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,qBAAqB,MAAM,sCAAsC,CAAC;AACzE,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,8BAA8B,MAAM,+CAA+C,CAAC;AAC3F,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAYhD,SAAS,WAAW,CAAC,KAAuB;;IAC1C,MAAM,EACJ,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACf,GAAG,KAAK,CAAC;IAEV,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,MAAM,
|
|
1
|
+
{"version":3,"file":"DecimalItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/DecimalItem/DecimalItem.tsx"],"names":[],"mappings":"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"}
|