@aehrc/smart-forms-renderer 0.37.2 → 0.38.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.
Files changed (104) hide show
  1. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +6 -2
  2. package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
  3. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.d.ts +12 -0
  4. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js +13 -0
  5. package/lib/components/FormComponents/QuantityItem/QuantityComparatorField.js.map +1 -0
  6. package/lib/components/FormComponents/QuantityItem/QuantityField.d.ts +15 -0
  7. package/lib/components/FormComponents/QuantityItem/QuantityField.js +14 -0
  8. package/lib/components/FormComponents/QuantityItem/QuantityField.js.map +1 -0
  9. package/lib/components/FormComponents/QuantityItem/QuantityItem.d.ts +9 -0
  10. package/lib/components/FormComponents/QuantityItem/QuantityItem.js +144 -0
  11. package/lib/components/FormComponents/QuantityItem/QuantityItem.js.map +1 -0
  12. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.d.ts +12 -0
  13. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js +10 -0
  14. package/lib/components/FormComponents/QuantityItem/QuantityUnitField.js.map +1 -0
  15. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +2 -1
  16. package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
  17. package/lib/components/FormComponents/Tables/GroupTable.d.ts +2 -2
  18. package/lib/components/FormComponents/Tables/GroupTable.js +2 -2
  19. package/lib/components/FormComponents/Tables/GroupTable.js.map +1 -1
  20. package/lib/components/FormComponents/Tables/GroupTableBody.d.ts +2 -2
  21. package/lib/components/FormComponents/Tables/GroupTableBody.js +2 -2
  22. package/lib/components/FormComponents/Tables/GroupTableBody.js.map +1 -1
  23. package/lib/components/FormComponents/Tables/GroupTableRow.d.ts +3 -2
  24. package/lib/components/FormComponents/Tables/GroupTableRow.js +16 -5
  25. package/lib/components/FormComponents/Tables/GroupTableRow.js.map +1 -1
  26. package/lib/components/FormComponents/Tables/GroupTableView.d.ts +2 -2
  27. package/lib/components/FormComponents/Tables/GroupTableView.js +10 -10
  28. package/lib/components/FormComponents/Tables/GroupTableView.js.map +1 -1
  29. package/lib/components/Renderer/FormTopLevelItem.js +6 -0
  30. package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
  31. package/lib/hooks/useDecimalCalculatedExpression.d.ts +2 -2
  32. package/lib/hooks/useQuantityCalculatedExpression.d.ts +14 -0
  33. package/lib/hooks/useQuantityCalculatedExpression.js +105 -0
  34. package/lib/hooks/useQuantityCalculatedExpression.js.map +1 -0
  35. package/lib/hooks/useRenderingExtensions.d.ts +2 -1
  36. package/lib/hooks/useRenderingExtensions.js +3 -2
  37. package/lib/hooks/useRenderingExtensions.js.map +1 -1
  38. package/lib/hooks/useStringInput.js +1 -0
  39. package/lib/hooks/useStringInput.js.map +1 -1
  40. package/lib/interfaces/valueSet.interface.d.ts +15 -0
  41. package/lib/tests/test-data/initialValueSample.d.ts +2 -0
  42. package/lib/tests/test-data/initialValueSample.js +802 -0
  43. package/lib/tests/test-data/initialValueSample.js.map +1 -0
  44. package/lib/utils/answerExpression.d.ts +18 -0
  45. package/lib/utils/answerExpression.js +133 -0
  46. package/lib/utils/answerExpression.js.map +1 -0
  47. package/lib/utils/calculatedExpression.js +5 -2
  48. package/lib/utils/calculatedExpression.js.map +1 -1
  49. package/lib/utils/dynamicValueSet.d.ts +5 -0
  50. package/lib/utils/dynamicValueSet.js +96 -0
  51. package/lib/utils/dynamicValueSet.js.map +1 -0
  52. package/lib/utils/fhirpathAsyncUtils/fhirpath-async.d.ts +14 -0
  53. package/lib/utils/fhirpathAsyncUtils/fhirpath-async.js +639 -0
  54. package/lib/utils/fhirpathAsyncUtils/fhirpath-async.js.map +1 -0
  55. package/lib/utils/fhirpathAsyncUtils/outcome-utils.d.ts +3 -0
  56. package/lib/utils/fhirpathAsyncUtils/outcome-utils.js +41 -0
  57. package/lib/utils/fhirpathAsyncUtils/outcome-utils.js.map +1 -0
  58. package/lib/utils/genericRecursive.d.ts +17 -0
  59. package/lib/utils/genericRecursive.js +82 -0
  60. package/lib/utils/genericRecursive.js.map +1 -0
  61. package/lib/utils/initialise.js +47 -57
  62. package/lib/utils/initialise.js.map +1 -1
  63. package/lib/utils/itemControl.d.ts +7 -1
  64. package/lib/utils/itemControl.js +14 -0
  65. package/lib/utils/itemControl.js.map +1 -1
  66. package/lib/utils/quantity.d.ts +4 -0
  67. package/lib/utils/quantity.js +49 -0
  68. package/lib/utils/quantity.js.map +1 -0
  69. package/lib/utils/repopulateIntoResponse.js +1 -1
  70. package/lib/utils/repopulateIntoResponse.js.map +1 -1
  71. package/lib/utils/valueSet.d.ts +2 -1
  72. package/lib/utils/valueSet.js +22 -0
  73. package/lib/utils/valueSet.js.map +1 -1
  74. package/package.json +1 -1
  75. package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +16 -0
  76. package/src/components/FormComponents/QuantityItem/QuantityComparatorField.tsx +40 -0
  77. package/src/components/FormComponents/QuantityItem/QuantityField.tsx +60 -0
  78. package/src/components/FormComponents/QuantityItem/QuantityItem.tsx +286 -0
  79. package/src/components/FormComponents/QuantityItem/QuantityUnitField.tsx +38 -0
  80. package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +2 -1
  81. package/src/components/FormComponents/Tables/GroupTable.tsx +4 -0
  82. package/src/components/FormComponents/Tables/GroupTableBody.tsx +5 -1
  83. package/src/components/FormComponents/Tables/GroupTableRow.tsx +98 -46
  84. package/src/components/FormComponents/Tables/GroupTableView.tsx +30 -26
  85. package/src/components/Renderer/FormTopLevelItem.tsx +17 -0
  86. package/src/hooks/useDecimalCalculatedExpression.ts +2 -2
  87. package/src/hooks/useQuantityCalculatedExpression.ts +177 -0
  88. package/src/hooks/useRenderingExtensions.ts +5 -2
  89. package/src/hooks/useStringInput.ts +1 -0
  90. package/src/interfaces/valueSet.interface.ts +19 -0
  91. package/src/stories/assets/questionnaires/QItemControlGroup.ts +229 -5
  92. package/src/stories/assets/questionnaires/QPrePopTester.ts +30 -0
  93. package/src/stories/assets/questionnaires/QQuantity.ts +283 -1
  94. package/src/stories/itemTypes/Quantity.stories.tsx +33 -1
  95. package/src/stories/sdc/ItemControlGroup.stories.tsx +10 -3
  96. package/src/tests/initial.test.ts +34 -0
  97. package/src/tests/test-data/initialValueSample.ts +826 -0
  98. package/src/utils/calculatedExpression.ts +6 -2
  99. package/src/utils/{updateQr.ts → genericRecursive.ts} +47 -2
  100. package/src/utils/initialise.ts +67 -73
  101. package/src/utils/itemControl.ts +19 -1
  102. package/src/utils/quantity.ts +62 -0
  103. package/src/utils/repopulateIntoResponse.ts +1 -1
  104. package/src/utils/valueSet.ts +32 -1
@@ -39,7 +39,7 @@ function GroupItemSwitcher(props) {
39
39
  return React.createElement(React.Fragment, null, "Something went wrong here");
40
40
  }
41
41
  if (isSpecificItemControl(qItem, 'gtable')) {
42
- return (React.createElement(GroupTable, { qItem: qItem, qrItems: qrItems, groupCardElevation: groupCardElevation + 1, parentIsReadOnly: parentIsReadOnly, onQrRepeatGroupChange: onQrRepeatGroupChange }));
42
+ return (React.createElement(GroupTable, { qItem: qItem, qrItems: qrItems, groupCardElevation: groupCardElevation + 1, isRepeated: true, parentIsReadOnly: parentIsReadOnly, onQrRepeatGroupChange: onQrRepeatGroupChange }));
43
43
  }
44
44
  return (React.createElement(RepeatGroup, { qItem: qItem, qrItems: qrItems, groupCardElevation: groupCardElevation + 1, parentIsReadOnly: parentIsReadOnly, onQrRepeatGroupChange: onQrRepeatGroupChange }));
45
45
  }
@@ -55,7 +55,7 @@ function GroupItemSwitcher(props) {
55
55
  // If qItem is RepeatGroup or a groupTable item in this decision branch,
56
56
  // their qrItem array should always be empty
57
57
  if (isSpecificItemControl(qItem, 'gtable')) {
58
- return (React.createElement(GroupTable, { qItem: qItem, qrItems: [], groupCardElevation: groupCardElevation + 1, parentIsReadOnly: parentIsReadOnly, onQrRepeatGroupChange: onQrRepeatGroupChange }));
58
+ return (React.createElement(GroupTable, { qItem: qItem, qrItems: [], groupCardElevation: groupCardElevation + 1, isRepeated: true, parentIsReadOnly: parentIsReadOnly, onQrRepeatGroupChange: onQrRepeatGroupChange }));
59
59
  }
60
60
  return (React.createElement(RepeatGroup, { qItem: qItem, qrItems: [], groupCardElevation: groupCardElevation + 1, parentIsReadOnly: parentIsReadOnly, onQrRepeatGroupChange: onQrRepeatGroupChange }));
61
61
  }
@@ -63,6 +63,10 @@ function GroupItemSwitcher(props) {
63
63
  }
64
64
  // if qItem is not a repeating question or is a checkbox
65
65
  if (qItem.type === 'group') {
66
+ // GroupTable "gtable" can be rendered with either repeats:true or false
67
+ if (isSpecificItemControl(qItem, 'gtable')) {
68
+ return (React.createElement(GroupTable, { qItem: qItem, qrItems: qrItem ? [qrItem] : [], groupCardElevation: groupCardElevation + 1, isRepeated: false, parentIsReadOnly: parentIsReadOnly, onQrRepeatGroupChange: onQrRepeatGroupChange }));
69
+ }
66
70
  return (React.createElement(GroupItem, { qItem: qItem, qrItem: qrItem !== null && qrItem !== void 0 ? qrItem : null, isRepeated: false, groupCardElevation: groupCardElevation + 1, parentIsReadOnly: parentIsReadOnly, parentIsRepeatGroup: parentIsRepeatGroup, parentRepeatGroupIndex: parentRepeatGroupIndex, onQrItemChange: onQrItemChange }));
67
71
  }
68
72
  // Defaults to a single, non-group item
@@ -1 +1 @@
1
- {"version":3,"file":"GroupItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GroupItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
3
+ import type { Quantity } from 'fhir/r4';
4
+ interface QuantityComparatorFieldProps extends PropsWithIsTabledAttribute {
5
+ linkId: string;
6
+ options: Quantity['comparator'][];
7
+ valueSelect: Quantity['comparator'] | null;
8
+ readOnly: boolean;
9
+ onChange: (newValue: Quantity['comparator'] | null) => void;
10
+ }
11
+ declare function QuantityComparatorField(props: QuantityComparatorFieldProps): React.JSX.Element;
12
+ export default QuantityComparatorField;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import Autocomplete from '@mui/material/Autocomplete';
3
+ import MuiTextField from '../TextItem/MuiTextField';
4
+ import Box from '@mui/material/Box';
5
+ import Typography from '@mui/material/Typography';
6
+ function QuantityComparatorField(props) {
7
+ const { linkId, options, valueSelect, readOnly, onChange } = props;
8
+ return (React.createElement(Box, null,
9
+ React.createElement(Autocomplete, { id: linkId + '-comparator', value: valueSelect !== null && valueSelect !== void 0 ? valueSelect : null, options: options, onChange: (_, newValue) => onChange(newValue), autoHighlight: true, sx: { width: 88 }, disabled: readOnly, size: "small", renderInput: (params) => React.createElement(MuiTextField, Object.assign({ sx: { width: 88 } }, params)) }),
10
+ React.createElement(Typography, { variant: "caption", color: "text.secondary" }, "Symbol (optional)")));
11
+ }
12
+ export default QuantityComparatorField;
13
+ //# sourceMappingURL=QuantityComparatorField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuantityComparatorField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/QuantityItem/QuantityComparatorField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,YAAY,MAAM,4BAA4B,CAAC;AAEtD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAWlD,SAAS,uBAAuB,CAAC,KAAmC;IAClE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEnE,OAAO,CACL,oBAAC,GAAG;QACF,oBAAC,YAAY,IACX,EAAE,EAAE,MAAM,GAAG,aAAa,EAC1B,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,EAC1B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAkC,CAAC,EACvE,aAAa,QACb,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EACjB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAC,YAAY,kBAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAM,MAAM,EAAI,GACxE;QACF,oBAAC,UAAU,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,gBAAgB,wBAEvC,CACT,CACP,CAAC;AACJ,CAAC;AAED,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
3
+ interface QuantityFieldProps extends PropsWithIsTabledAttribute {
4
+ linkId: string;
5
+ input: string;
6
+ feedback: string;
7
+ displayPrompt: string;
8
+ displayUnit: string;
9
+ entryFormat: string;
10
+ readOnly: boolean;
11
+ calcExpUpdated: boolean;
12
+ onInputChange: (value: string) => void;
13
+ }
14
+ declare function QuantityField(props: QuantityFieldProps): React.JSX.Element;
15
+ export default QuantityField;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import InputAdornment from '@mui/material/InputAdornment';
3
+ import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
4
+ import { StandardTextField } from '../Textfield.styles';
5
+ function QuantityField(props) {
6
+ const { linkId, input, feedback, displayPrompt, displayUnit, entryFormat, readOnly, calcExpUpdated, isTabled, onInputChange } = props;
7
+ return (React.createElement(StandardTextField, { id: linkId, value: input, error: !!feedback, onChange: (event) => onInputChange(event.target.value), disabled: readOnly, label: displayPrompt, placeholder: entryFormat === '' ? '0.0' : entryFormat, fullWidth: true, isTabled: isTabled, size: "small", inputProps: { inputMode: 'numeric', pattern: '[0-9]*' }, InputProps: {
8
+ endAdornment: (React.createElement(InputAdornment, { position: 'end' },
9
+ React.createElement(FadingCheckIcon, { fadeIn: calcExpUpdated, disabled: readOnly }),
10
+ displayUnit))
11
+ }, helperText: feedback, "data-test": "q-item-quantity-field" }));
12
+ }
13
+ export default QuantityField;
14
+ //# sourceMappingURL=QuantityField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuantityField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/QuantityItem/QuantityField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAexD,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EACJ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,aAAa,EACd,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,oBAAC,iBAAiB,IAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EACrD,SAAS,QACT,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EACvD,UAAU,EAAE;YACV,YAAY,EAAE,CACZ,oBAAC,cAAc,IAAC,QAAQ,EAAE,KAAK;gBAC7B,oBAAC,eAAe,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI;gBAC9D,WAAW,CACG,CAClB;SACF,EACD,UAAU,EAAE,QAAQ,eACV,uBAAuB,GACjC,CACH,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { PropsWithIsRepeatedAttribute, PropsWithIsTabledAttribute, PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler } from '../../../interfaces/renderProps.interface';
3
+ import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
4
+ interface QuantityItemProps extends PropsWithQrItemChangeHandler, PropsWithIsRepeatedAttribute, PropsWithIsTabledAttribute, PropsWithParentIsReadOnlyAttribute {
5
+ qItem: QuestionnaireItem;
6
+ qrItem: QuestionnaireResponseItem | null;
7
+ }
8
+ declare function QuantityItem(props: QuantityItemProps): React.JSX.Element;
9
+ export default QuantityItem;
@@ -0,0 +1,144 @@
1
+ import React, { useCallback, useMemo, useState } from 'react';
2
+ import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
3
+ import { FullWidthFormComponentBox } from '../../Box.styles';
4
+ import useValidationFeedback from '../../../hooks/useValidationFeedback';
5
+ import debounce from 'lodash.debounce';
6
+ import { DEBOUNCE_DURATION } from '../../../utils/debounce';
7
+ import { createEmptyQrItem } from '../../../utils/qrItem';
8
+ import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
9
+ import { parseDecimalStringWithPrecision } from '../../../utils/parseInputs';
10
+ import { getDecimalPrecision } from '../../../utils/itemControl';
11
+ import useStringInput from '../../../hooks/useStringInput';
12
+ import useReadOnly from '../../../hooks/useReadOnly';
13
+ import { useQuestionnaireStore } from '../../../stores';
14
+ import Box from '@mui/material/Box';
15
+ import QuantityField from './QuantityField';
16
+ import QuantityUnitField from './QuantityUnitField';
17
+ import { createQuantityItemAnswer, quantityComparators, stringIsComparator } from '../../../utils/quantity';
18
+ import QuantityComparatorField from './QuantityComparatorField';
19
+ import useQuantityCalculatedExpression from '../../../hooks/useQuantityCalculatedExpression';
20
+ function QuantityItem(props) {
21
+ var _a, _b, _c;
22
+ const { qItem, qrItem, isRepeated, isTabled, parentIsReadOnly, onQrItemChange } = props;
23
+ const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
24
+ const readOnly = useReadOnly(qItem, parentIsReadOnly);
25
+ const precision = getDecimalPrecision(qItem);
26
+ const { displayUnit, displayPrompt, entryFormat, quantityUnit } = useRenderingExtensions(qItem);
27
+ // Get units options if present
28
+ const unitOptions = useMemo(() => {
29
+ var _a, _b;
30
+ return (_b = (_a = qItem.extension) === null || _a === void 0 ? void 0 : _a.filter((f) => f.url === 'http://hl7.org/fhir/StructureDefinition/questionnaire-unitOption')) !== null && _b !== void 0 ? _b : [];
31
+ }, [qItem]);
32
+ // Init inputs
33
+ let valueQuantity = {};
34
+ let initialValueInput = '';
35
+ let initialComparatorInput = null;
36
+ let initialUnitInput = (_a = quantityUnit !== null && quantityUnit !== void 0 ? quantityUnit : unitOptions === null || unitOptions === void 0 ? void 0 : unitOptions.at(0)) !== null && _a !== void 0 ? _a : null;
37
+ if (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer) {
38
+ if (qrItem === null || qrItem === void 0 ? void 0 : qrItem.answer[0].valueQuantity) {
39
+ valueQuantity = qrItem.answer[0].valueQuantity;
40
+ }
41
+ initialValueInput =
42
+ (precision ? (_b = valueQuantity.value) === null || _b === void 0 ? void 0 : _b.toFixed(precision) : (_c = valueQuantity.value) === null || _c === void 0 ? void 0 : _c.toString()) || '';
43
+ if (valueQuantity.comparator && stringIsComparator(valueQuantity.comparator)) {
44
+ initialComparatorInput = valueQuantity.comparator;
45
+ }
46
+ if (valueQuantity.code && valueQuantity.system) {
47
+ initialUnitInput = {
48
+ valueCoding: {
49
+ code: valueQuantity.code,
50
+ system: valueQuantity.system,
51
+ display: valueQuantity.unit
52
+ }
53
+ };
54
+ }
55
+ }
56
+ // input states
57
+ const [valueInput, setValueInput] = useStringInput(initialValueInput);
58
+ const [comparatorInput, setComparatorInput] = useState(initialComparatorInput);
59
+ const [unitInput, setUnitInput] = useState(initialUnitInput);
60
+ // Perform validation checks
61
+ const feedback = useValidationFeedback(qItem, valueInput);
62
+ // Process calculated expressions
63
+ const { calcExpUpdated } = useQuantityCalculatedExpression({
64
+ qItem: qItem,
65
+ inputValue: valueInput,
66
+ precision: precision,
67
+ onChangeByCalcExpressionDecimal: (newValueDecimal) => {
68
+ var _a, _b, _c;
69
+ setValueInput(typeof precision === 'number'
70
+ ? newValueDecimal.toFixed(precision)
71
+ : newValueDecimal.toString());
72
+ onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [
73
+ {
74
+ valueQuantity: {
75
+ value: newValueDecimal,
76
+ unit: (_a = unitInput === null || unitInput === void 0 ? void 0 : unitInput.valueCoding) === null || _a === void 0 ? void 0 : _a.display,
77
+ system: (_b = unitInput === null || unitInput === void 0 ? void 0 : unitInput.valueCoding) === null || _b === void 0 ? void 0 : _b.system,
78
+ code: (_c = unitInput === null || unitInput === void 0 ? void 0 : unitInput.valueCoding) === null || _c === void 0 ? void 0 : _c.code
79
+ }
80
+ }
81
+ ] }));
82
+ },
83
+ onChangeByCalcExpressionQuantity: (newValueDecimal, newUnitSystem, newUnitCode, newUnitDisplay) => {
84
+ setValueInput(typeof precision === 'number'
85
+ ? newValueDecimal.toFixed(precision)
86
+ : newValueDecimal.toString());
87
+ onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: [
88
+ {
89
+ valueQuantity: {
90
+ value: newValueDecimal,
91
+ unit: newUnitDisplay,
92
+ system: newUnitSystem,
93
+ code: newUnitCode
94
+ }
95
+ }
96
+ ] }));
97
+ },
98
+ onChangeByCalcExpressionNull: () => {
99
+ setValueInput('');
100
+ onQrItemChange(createEmptyQrItem(qItem));
101
+ }
102
+ });
103
+ // Event handlers
104
+ function handleComparatorInputChange(newComparatorInput) {
105
+ setComparatorInput(newComparatorInput);
106
+ if (!valueInput)
107
+ return;
108
+ onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: createQuantityItemAnswer(precision, valueInput, newComparatorInput, unitInput) }));
109
+ }
110
+ function handleUnitInputChange(newUnitInput) {
111
+ setUnitInput(newUnitInput);
112
+ if (!valueInput)
113
+ return;
114
+ onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: createQuantityItemAnswer(precision, valueInput, comparatorInput, newUnitInput) }));
115
+ }
116
+ function handleValueInputChange(newInput) {
117
+ const parsedNewInput = parseDecimalStringWithPrecision(newInput, precision);
118
+ setValueInput(parsedNewInput);
119
+ updateQrItemWithDebounce(parsedNewInput);
120
+ }
121
+ // eslint-disable-next-line react-hooks/exhaustive-deps
122
+ const updateQrItemWithDebounce = useCallback(debounce((parsedNewInput) => {
123
+ if (parsedNewInput === '') {
124
+ onQrItemChange(createEmptyQrItem(qItem));
125
+ }
126
+ else {
127
+ onQrItemChange(Object.assign(Object.assign({}, createEmptyQrItem(qItem)), { answer: createQuantityItemAnswer(precision, parsedNewInput, comparatorInput, unitInput) }));
128
+ }
129
+ }, DEBOUNCE_DURATION), [onQrItemChange, qItem, displayUnit, precision, comparatorInput, unitInput]); // Dependencies are tested, debounce is causing eslint to not recognise dependencies
130
+ if (isRepeated) {
131
+ return (React.createElement(Box, { "data-test": "q-item-quantity-box", display: "flex", gap: 1 },
132
+ React.createElement(QuantityComparatorField, { linkId: qItem.linkId, options: quantityComparators, valueSelect: comparatorInput, readOnly: readOnly, isTabled: isTabled, onChange: handleComparatorInputChange }),
133
+ React.createElement(QuantityField, { linkId: qItem.linkId, input: valueInput, feedback: feedback, displayPrompt: displayPrompt, displayUnit: displayUnit, entryFormat: entryFormat, readOnly: readOnly, calcExpUpdated: calcExpUpdated, isTabled: isTabled, onInputChange: handleValueInputChange }),
134
+ unitOptions.length > 0 ? (React.createElement(QuantityUnitField, { linkId: qItem.linkId, options: unitOptions, valueSelect: unitInput, readOnly: readOnly, isTabled: isTabled, onChange: handleUnitInputChange })) : null));
135
+ }
136
+ return (React.createElement(FullWidthFormComponentBox, { "data-test": "q-item-quantity-box", "data-linkid": qItem.linkId, onClick: () => onFocusLinkId(qItem.linkId) },
137
+ React.createElement(ItemFieldGrid, { qItem: qItem, readOnly: readOnly },
138
+ React.createElement(Box, { display: "flex", gap: 1 },
139
+ React.createElement(QuantityComparatorField, { linkId: qItem.linkId, options: quantityComparators, valueSelect: comparatorInput, readOnly: readOnly, isTabled: isTabled, onChange: handleComparatorInputChange }),
140
+ React.createElement(QuantityField, { linkId: qItem.linkId, input: valueInput, feedback: feedback, displayPrompt: displayPrompt, displayUnit: displayUnit, entryFormat: entryFormat, readOnly: readOnly, calcExpUpdated: calcExpUpdated, isTabled: isTabled, onInputChange: handleValueInputChange }),
141
+ unitOptions.length > 0 ? (React.createElement(QuantityUnitField, { linkId: qItem.linkId, options: unitOptions, valueSelect: unitInput, readOnly: readOnly, isTabled: isTabled, onChange: handleUnitInputChange })) : null))));
142
+ }
143
+ export default QuantityItem;
144
+ //# sourceMappingURL=QuantityItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuantityItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/QuantityItem/QuantityItem.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { QuestionnaireItemAnswerOption } from 'fhir/r4';
3
+ import type { PropsWithIsTabledAttribute } from '../../../interfaces/renderProps.interface';
4
+ interface QuantityUnitFieldProps extends PropsWithIsTabledAttribute {
5
+ linkId: string;
6
+ options: QuestionnaireItemAnswerOption[];
7
+ valueSelect: QuestionnaireItemAnswerOption | null;
8
+ readOnly: boolean;
9
+ onChange: (newValue: QuestionnaireItemAnswerOption | null) => void;
10
+ }
11
+ declare function QuantityUnitField(props: QuantityUnitFieldProps): React.JSX.Element;
12
+ export default QuantityUnitField;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { getAnswerOptionLabel } from '../../../utils/openChoice';
3
+ import { StandardTextField, TEXT_FIELD_WIDTH } from '../Textfield.styles';
4
+ import Autocomplete from '@mui/material/Autocomplete';
5
+ function QuantityUnitField(props) {
6
+ const { linkId, options, valueSelect, readOnly, isTabled, onChange } = props;
7
+ return (React.createElement(Autocomplete, { id: linkId + '-unit', value: valueSelect !== null && valueSelect !== void 0 ? valueSelect : null, isOptionEqualToValue: (option, value) => { var _a, _b; return ((_a = option.valueCoding) === null || _a === void 0 ? void 0 : _a.code) === ((_b = value === null || value === void 0 ? void 0 : value.valueCoding) === null || _b === void 0 ? void 0 : _b.code); }, options: options, getOptionLabel: (option) => getAnswerOptionLabel(option), onChange: (_, newValue) => onChange(newValue), autoHighlight: true, sx: { maxWidth: !isTabled ? TEXT_FIELD_WIDTH : 3000, minWidth: 160, flexGrow: 1 }, disabled: readOnly, size: "small", renderInput: (params) => React.createElement(StandardTextField, Object.assign({ isTabled: isTabled }, params)) }));
8
+ }
9
+ export default QuantityUnitField;
10
+ //# sourceMappingURL=QuantityUnitField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuantityUnitField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/QuantityItem/QuantityUnitField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,YAAY,MAAM,4BAA4B,CAAC;AAYtD,SAAS,iBAAiB,CAAC,KAA6B;IACtD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE7E,OAAO,CACL,oBAAC,YAAY,IACX,EAAE,EAAE,MAAM,GAAG,OAAO,EACpB,KAAK,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI,EAC1B,oBAAoB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,eACtC,OAAA,CAAA,MAAA,MAAM,CAAC,WAAW,0CAAE,IAAI,OAAK,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,0CAAE,IAAI,CAAA,CAAA,EAAA,EAEvD,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,EACxD,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAgD,CAAC,EACrF,aAAa,QACb,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,EACjF,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAC,iBAAiB,kBAAC,QAAQ,EAAE,QAAQ,IAAM,MAAM,EAAI,GAC9E,CACH,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
@@ -31,6 +31,7 @@ import SliderItem from '../SliderItem/SliderItem';
31
31
  import IntegerItem from '../IntegerItem/IntegerItem';
32
32
  import AttachmentItem from '../AttachmentItem/AttachmentItem';
33
33
  import CustomDateTimeItem from '../DateTimeItems/CustomDateTimeItem/CustomDateTimeItem';
34
+ import QuantityItem from '../QuantityItem/QuantityItem';
34
35
  function SingleItemSwitcher(props) {
35
36
  const { qItem, qrItem, isRepeated, isTabled, showMinimalView, parentIsReadOnly, onQrItemChange } = props;
36
37
  switch (qItem.type) {
@@ -68,7 +69,7 @@ function SingleItemSwitcher(props) {
68
69
  return (React.createElement(StringItem, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange }));
69
70
  case 'quantity':
70
71
  // FIXME quantity item uses the same component as decimal item currently
71
- return (React.createElement(DecimalItem, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange }));
72
+ return (React.createElement(QuantityItem, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange }));
72
73
  default:
73
74
  return (React.createElement(Typography, null,
74
75
  "Item type ",
@@ -1 +1 @@
1
- {"version":3,"file":"SingleItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SingleItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
3
- import type { PropsWithParentIsReadOnlyAttribute, PropsWithQrRepeatGroupChangeHandler, PropsWithShowMinimalViewAttribute } from '../../../interfaces/renderProps.interface';
4
- interface GroupTableProps extends PropsWithQrRepeatGroupChangeHandler, PropsWithShowMinimalViewAttribute, PropsWithParentIsReadOnlyAttribute {
3
+ import type { PropsWithIsRepeatedAttribute, PropsWithParentIsReadOnlyAttribute, PropsWithQrRepeatGroupChangeHandler, PropsWithShowMinimalViewAttribute } from '../../../interfaces/renderProps.interface';
4
+ interface GroupTableProps extends PropsWithQrRepeatGroupChangeHandler, PropsWithIsRepeatedAttribute, PropsWithShowMinimalViewAttribute, PropsWithParentIsReadOnlyAttribute {
5
5
  qItem: QuestionnaireItem;
6
6
  qrItems: QuestionnaireResponseItem[];
7
7
  groupCardElevation: number;
@@ -38,7 +38,7 @@ import { flushSync } from 'react-dom';
38
38
  * @author Sean Fong
39
39
  */
40
40
  function GroupTable(props) {
41
- const { qItem, qrItems, groupCardElevation, showMinimalView, parentIsReadOnly, onQrRepeatGroupChange } = props;
41
+ const { qItem, qrItems, groupCardElevation, isRepeated, showMinimalView, parentIsReadOnly, onQrRepeatGroupChange } = props;
42
42
  const readOnly = useReadOnly(qItem, parentIsReadOnly);
43
43
  const { tableRows, selectedIds, setTableRows, setSelectedIds } = useGroupTableRows(qrItems);
44
44
  // Generate item labels as table headers
@@ -124,7 +124,7 @@ function GroupTable(props) {
124
124
  });
125
125
  });
126
126
  }
127
- return (React.createElement(GroupTableView, { qItem: qItem, qItemsIndexMap: qItemsIndexMap, groupCardElevation: groupCardElevation, readOnly: readOnly, tableRows: tableRows, selectedIds: selectedIds, itemLabels: itemLabels, showMinimalView: showMinimalView, parentIsReadOnly: parentIsReadOnly, onAddRow: handleAddRow, onRowChange: handleRowChange, onRemoveRow: handleRemoveRow, onSelectRow: handleSelectRow, onSelectAll: handleSelectAll, onReorderRows: handleReorderRows }));
127
+ return (React.createElement(GroupTableView, { qItem: qItem, qItemsIndexMap: qItemsIndexMap, groupCardElevation: groupCardElevation, isRepeated: isRepeated, readOnly: readOnly, tableRows: tableRows, selectedIds: selectedIds, itemLabels: itemLabels, showMinimalView: showMinimalView, parentIsReadOnly: parentIsReadOnly, onAddRow: handleAddRow, onRowChange: handleRowChange, onRemoveRow: handleRemoveRow, onSelectRow: handleSelectRow, onSelectAll: handleSelectAll, onReorderRows: handleReorderRows }));
128
128
  }
129
129
  export default GroupTable;
130
130
  //# sourceMappingURL=GroupTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupTable.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GroupTable.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTable.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
3
3
  import type { GroupTableRowModel } from '../../../interfaces/groupTable.interface';
4
- import type { PropsWithParentIsReadOnlyAttribute, PropsWithShowMinimalViewAttribute } from '../../../interfaces/renderProps.interface';
5
- interface GroupTableBodyProps extends PropsWithParentIsReadOnlyAttribute, PropsWithShowMinimalViewAttribute {
4
+ import type { PropsWithIsRepeatedAttribute, PropsWithParentIsReadOnlyAttribute, PropsWithShowMinimalViewAttribute } from '../../../interfaces/renderProps.interface';
5
+ interface GroupTableBodyProps extends PropsWithIsRepeatedAttribute, PropsWithParentIsReadOnlyAttribute, PropsWithShowMinimalViewAttribute {
6
6
  tableQItem: QuestionnaireItem;
7
7
  readOnly: boolean;
8
8
  tableRows: GroupTableRowModel[];
@@ -21,7 +21,7 @@ import { DragDropContext, Droppable } from 'react-beautiful-dnd';
21
21
  import { reorderRows } from '../../../utils/groupTable';
22
22
  import TableBody from '@mui/material/TableBody';
23
23
  function GroupTableBody(props) {
24
- const { tableQItem, readOnly, tableRows, selectedIds, qItemsIndexMap, showMinimalView, parentIsReadOnly, onRowChange, onRemoveRow, onSelectRow, onReorderRows } = props;
24
+ const { tableQItem, readOnly, tableRows, selectedIds, qItemsIndexMap, isRepeated, showMinimalView, parentIsReadOnly, onRowChange, onRemoveRow, onSelectRow, onReorderRows } = props;
25
25
  function onDragEnd(result) {
26
26
  if (!result.destination) {
27
27
  return;
@@ -40,7 +40,7 @@ function GroupTableBody(props) {
40
40
  if (nullableQrItem) {
41
41
  answeredQrItem.item = nullableQrItem.item;
42
42
  }
43
- return (React.createElement(GroupTableRow, { key: nanoId, index: index, nanoId: nanoId, tableQItem: tableQItem, answeredQrItem: answeredQrItem, nullableQrItem: nullableQrItem, readOnly: readOnly, hoverDisabled: snapshot.isDraggingOver, tableRows: tableRows, itemIsSelected: itemIsSelected, selectedIds: selectedIds, qItemsIndexMap: qItemsIndexMap, showMinimalView: showMinimalView, parentIsReadOnly: parentIsReadOnly, onRowChange: onRowChange, onRemoveRow: onRemoveRow, onSelectRow: onSelectRow }));
43
+ return (React.createElement(GroupTableRow, { key: nanoId, index: index, nanoId: nanoId, tableQItem: tableQItem, answeredQrItem: answeredQrItem, nullableQrItem: nullableQrItem, readOnly: readOnly, isRepeated: isRepeated, hoverDisabled: snapshot.isDraggingOver, tableRows: tableRows, itemIsSelected: itemIsSelected, selectedIds: selectedIds, qItemsIndexMap: qItemsIndexMap, showMinimalView: showMinimalView, parentIsReadOnly: parentIsReadOnly, onRowChange: onRowChange, onRemoveRow: onRemoveRow, onSelectRow: onSelectRow }));
44
44
  }),
45
45
  droppableProvided.placeholder)))));
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GroupTableBody.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTableBody.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAO1D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAgBhD,SAAS,cAAc,CAAC,KAA0B;IAChD,MAAM,EACJ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACd,GAAG,KAAK,CAAC;IAEV,SAAS,SAAS,CAAC,MAAkB;QACnC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YACvB,OAAO;SACR;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YACpD,OAAO;SACR;QAED,MAAM,aAAa,GAAG,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE5F,aAAa,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CACL,oBAAC,eAAe,IAAC,SAAS,EAAE,SAAS;QACnC,oBAAC,SAAS,IAAC,WAAW,EAAC,aAAa,EAAC,SAAS,EAAC,UAAU,IACtD,CAAC,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAChC,oBAAC,SAAS,kBAAC,GAAG,EAAE,iBAAiB,CAAC,QAAQ,IAAM,iBAAiB,CAAC,cAAc;YAC7E,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE;gBAC3D,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1D,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACrD,IAAI,cAAc,EAAE;oBAClB,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;iBAC3C;gBAED,OAAO,CACL,oBAAC,aAAa,IACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,QAAQ,CAAC,cAAc,EACtC,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,GACxB,CACH,CAAC;YACJ,CAAC,CAAC;YACD,iBAAiB,CAAC,WAAW,CACpB,CACb,CACS,CACI,CACnB,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"GroupTableBody.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTableBody.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAQ1D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAiBhD,SAAS,cAAc,CAAC,KAA0B;IAChD,MAAM,EACJ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,WAAW,EACX,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACd,GAAG,KAAK,CAAC;IAEV,SAAS,SAAS,CAAC,MAAkB;QACnC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YACvB,OAAO;SACR;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YACpD,OAAO;SACR;QAED,MAAM,aAAa,GAAG,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE5F,aAAa,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CACL,oBAAC,eAAe,IAAC,SAAS,EAAE,SAAS;QACnC,oBAAC,SAAS,IAAC,WAAW,EAAC,aAAa,EAAC,SAAS,EAAC,UAAU,IACtD,CAAC,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAChC,oBAAC,SAAS,kBAAC,GAAG,EAAE,iBAAiB,CAAC,QAAQ,IAAM,iBAAiB,CAAC,cAAc;YAC7E,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE;gBAC3D,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC1D,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACrD,IAAI,cAAc,EAAE;oBAClB,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;iBAC3C;gBAED,OAAO,CACL,oBAAC,aAAa,IACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,QAAQ,CAAC,cAAc,EACtC,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,GACxB,CACH,CAAC;YACJ,CAAC,CAAC;YACD,iBAAiB,CAAC,WAAW,CACpB,CACb,CACS,CACI,CACnB,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
@@ -1,15 +1,16 @@
1
1
  import React from 'react';
2
2
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
3
- import type { PropsWithParentIsReadOnlyAttribute, PropsWithShowMinimalViewAttribute } from '../../../interfaces/renderProps.interface';
3
+ import type { PropsWithIsRepeatedAttribute, PropsWithParentIsReadOnlyAttribute, PropsWithShowMinimalViewAttribute } from '../../../interfaces/renderProps.interface';
4
4
  import type { TableRowProps } from '@mui/material/TableRow';
5
5
  import type { GroupTableRowModel } from '../../../interfaces/groupTable.interface';
6
- interface GroupTableRowProps extends PropsWithShowMinimalViewAttribute, PropsWithParentIsReadOnlyAttribute, TableRowProps {
6
+ interface GroupTableRowProps extends PropsWithIsRepeatedAttribute, PropsWithShowMinimalViewAttribute, PropsWithParentIsReadOnlyAttribute, TableRowProps {
7
7
  nanoId: string;
8
8
  index: number;
9
9
  tableQItem: QuestionnaireItem;
10
10
  answeredQrItem: QuestionnaireResponseItem;
11
11
  nullableQrItem: QuestionnaireResponseItem | null;
12
12
  readOnly: boolean;
13
+ isRepeated: boolean;
13
14
  hoverDisabled: boolean;
14
15
  tableRows: GroupTableRowModel[];
15
16
  itemIsSelected: boolean;
@@ -15,6 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  import React from 'react';
18
+ import TableRow from '@mui/material/TableRow';
18
19
  import SelectRowButton from './SelectRowButton';
19
20
  import GroupTableRowCells from './GroupTableRowCells';
20
21
  import RemoveRowButton from './RemoveRowButton';
@@ -24,15 +25,25 @@ import Box from '@mui/material/Box';
24
25
  import { Draggable } from 'react-beautiful-dnd';
25
26
  import { StyledGroupTableRow } from './Table.styles';
26
27
  function GroupTableRow(props) {
27
- const { nanoId, index, tableQItem, answeredQrItem, nullableQrItem, readOnly, hoverDisabled, tableRows, itemIsSelected, qItemsIndexMap, showMinimalView, parentIsReadOnly, onRowChange, onRemoveRow, onSelectRow } = props;
28
- return (React.createElement(Draggable, { draggableId: nanoId, index: index }, (draggableProvided, snapshot) => (React.createElement(StyledGroupTableRow, Object.assign({ itemIsDragged: snapshot.isDragging, itemIsSelected: itemIsSelected, hoverDisabled: hoverDisabled, hover: !hoverDisabled, ref: draggableProvided.innerRef }, draggableProvided.draggableProps),
29
- showMinimalView ? null : (React.createElement(React.Fragment, null,
28
+ const { nanoId, index, tableQItem, answeredQrItem, nullableQrItem, readOnly, isRepeated, hoverDisabled, tableRows, itemIsSelected, qItemsIndexMap, showMinimalView, parentIsReadOnly, onRowChange, onRemoveRow, onSelectRow } = props;
29
+ if (isRepeated) {
30
+ return (React.createElement(Draggable, { draggableId: nanoId, index: index }, (draggableProvided, snapshot) => (React.createElement(StyledGroupTableRow, Object.assign({ itemIsDragged: snapshot.isDragging, itemIsSelected: itemIsSelected, hoverDisabled: hoverDisabled, hover: !hoverDisabled, ref: draggableProvided.innerRef }, draggableProvided.draggableProps),
31
+ showMinimalView || !isRepeated ? (React.createElement(TableCell, { padding: "checkbox" })) : (React.createElement(React.Fragment, null,
32
+ React.createElement(TableCell, { padding: "none" },
33
+ React.createElement(Box, Object.assign({ display: "flex", alignItems: "center", justifyContent: "center" }, (readOnly ? {} : draggableProvided.dragHandleProps)),
34
+ React.createElement(DragIndicator, { fontSize: "small", sx: { color: readOnly ? 'text.disabled' : 'inherit' } }))),
35
+ React.createElement(SelectRowButton, { isSelected: itemIsSelected, readOnly: readOnly, onSelectItem: () => onSelectRow(nanoId) }))),
36
+ React.createElement(GroupTableRowCells, { qItem: tableQItem, qrItem: answeredQrItem, qItemsIndexMap: qItemsIndexMap, parentIsReadOnly: parentIsReadOnly, onQrItemChange: (newQrGroup) => onRowChange(newQrGroup, index) }),
37
+ showMinimalView || !isRepeated ? (React.createElement(TableCell, { padding: "checkbox" })) : (React.createElement(RemoveRowButton, { nullableQrItem: nullableQrItem, numOfRows: tableRows.length, readOnly: readOnly, onRemoveItem: () => onRemoveRow(index) }))))));
38
+ }
39
+ return (React.createElement(TableRow, null,
40
+ showMinimalView || !isRepeated ? (React.createElement(TableCell, { padding: "checkbox" })) : (React.createElement(React.Fragment, null,
30
41
  React.createElement(TableCell, { padding: "none" },
31
- React.createElement(Box, Object.assign({ display: "flex", alignItems: "center", justifyContent: "center" }, (readOnly ? {} : draggableProvided.dragHandleProps)),
42
+ React.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "center" },
32
43
  React.createElement(DragIndicator, { fontSize: "small", sx: { color: readOnly ? 'text.disabled' : 'inherit' } }))),
33
44
  React.createElement(SelectRowButton, { isSelected: itemIsSelected, readOnly: readOnly, onSelectItem: () => onSelectRow(nanoId) }))),
34
45
  React.createElement(GroupTableRowCells, { qItem: tableQItem, qrItem: answeredQrItem, qItemsIndexMap: qItemsIndexMap, parentIsReadOnly: parentIsReadOnly, onQrItemChange: (newQrGroup) => onRowChange(newQrGroup, index) }),
35
- showMinimalView ? null : (React.createElement(RemoveRowButton, { nullableQrItem: nullableQrItem, numOfRows: tableRows.length, readOnly: readOnly, onRemoveItem: () => onRemoveRow(index) }))))));
46
+ showMinimalView || !isRepeated ? (React.createElement(TableCell, { padding: "checkbox" })) : (React.createElement(RemoveRowButton, { nullableQrItem: nullableQrItem, numOfRows: tableRows.length, readOnly: readOnly, onRemoveItem: () => onRemoveRow(index) }))));
36
47
  }
37
48
  export default GroupTableRow;
38
49
  //# sourceMappingURL=GroupTableRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupTableRow.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTableRow.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAsBrD,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EACJ,MAAM,EACN,KAAK,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,QAAQ,EACR,aAAa,EACb,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,WAAW,EACZ,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,oBAAC,SAAS,IAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IACzC,CAAC,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAChC,oBAAC,mBAAmB,kBAClB,aAAa,EAAE,QAAQ,CAAC,UAAU,EAClC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,CAAC,aAAa,EACrB,GAAG,EAAE,iBAAiB,CAAC,QAAQ,IAC3B,iBAAiB,CAAC,cAAc;QACnC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB;YACE,oBAAC,SAAS,IAAC,OAAO,EAAC,MAAM;gBACvB,oBAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,QAAQ,IACnB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC;oBACvD,oBAAC,aAAa,IACZ,QAAQ,EAAC,OAAO,EAChB,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,EAAE,GACrD,CACE,CACI;YACZ,oBAAC,eAAe,IACd,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GACvC,CACD,CACJ;QACD,oBAAC,kBAAkB,IACjB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,cAAc,EACtB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,GAC9D;QACD,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,oBAAC,eAAe,IACd,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,CAAC,MAAM,EAC3B,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,GACtC,CACH,CACmB,CACvB,CACS,CACb,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"GroupTableRow.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTableRow.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
3
- import type { PropsWithParentIsReadOnlyAttribute, PropsWithShowMinimalViewAttribute } from '../../../interfaces/renderProps.interface';
3
+ import type { PropsWithIsRepeatedAttribute, PropsWithParentIsReadOnlyAttribute, PropsWithShowMinimalViewAttribute } from '../../../interfaces/renderProps.interface';
4
4
  import type { GroupTableRowModel } from '../../../interfaces/groupTable.interface';
5
- interface GroupTableViewProps extends PropsWithShowMinimalViewAttribute, PropsWithParentIsReadOnlyAttribute {
5
+ interface GroupTableViewProps extends PropsWithIsRepeatedAttribute, PropsWithShowMinimalViewAttribute, PropsWithParentIsReadOnlyAttribute {
6
6
  qItem: QuestionnaireItem;
7
7
  qItemsIndexMap: Record<string, number>;
8
8
  groupCardElevation: number;