@aehrc/smart-forms-renderer 0.6.7 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -10
- package/lib/components/Box.styles.d.ts +1 -0
- package/lib/components/Box.styles.js +5 -1
- package/lib/components/Box.styles.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js +3 -5
- package/lib/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioSingle.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/CheckboxSingle.js +2 -2
- package/lib/components/FormComponents/ItemParts/CheckboxSingle.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js +3 -5
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.js.map +1 -1
- package/lib/components/FormComponents/RepeatGroup/AddItemButton.js +1 -1
- package/lib/components/FormComponents/RepeatGroup/AddItemButton.js.map +1 -1
- package/lib/components/FormComponents/RepeatItem/AddItemButton.js +1 -1
- package/lib/components/FormComponents/RepeatItem/AddItemButton.js.map +1 -1
- package/lib/components/Renderer/FormBodyTabbed.js +2 -2
- package/lib/components/Renderer/FormBodyTabbed.js.map +1 -1
- package/lib/components/Renderer/SmartFormsRenderer.d.ts +1 -0
- package/lib/components/Renderer/SmartFormsRenderer.js +2 -3
- package/lib/components/Renderer/SmartFormsRenderer.js.map +1 -1
- package/lib/components/Tabs/FormBodySingleTab.d.ts +1 -1
- package/lib/components/Tabs/FormBodySingleTab.js +2 -4
- package/lib/components/Tabs/FormBodySingleTab.js.map +1 -1
- package/lib/components/Tabs/FormBodyTabList.d.ts +2 -1
- package/lib/components/Tabs/FormBodyTabList.js +24 -26
- package/lib/components/Tabs/FormBodyTabList.js.map +1 -1
- package/lib/components/Tabs/FormBodyTabListWrapper.d.ts +10 -0
- package/lib/components/Tabs/FormBodyTabListWrapper.js +44 -0
- package/lib/components/Tabs/FormBodyTabListWrapper.js.map +1 -0
- package/lib/hooks/useInitialiseRenderer.d.ts +1 -1
- package/lib/hooks/useInitialiseRenderer.js +17 -3
- package/lib/hooks/useInitialiseRenderer.js.map +1 -1
- package/lib/hooks/useTerminologyServerQuery.d.ts +2 -2
- package/lib/hooks/useTerminologyServerQuery.js +8 -4
- package/lib/hooks/useTerminologyServerQuery.js.map +1 -1
- package/lib/hooks/useValueSetCodings.js +5 -2
- package/lib/hooks/useValueSetCodings.js.map +1 -1
- package/lib/stores/useQuestionnaireStore.d.ts +1 -1
- package/lib/stores/useQuestionnaireStore.js +3 -2
- package/lib/stores/useQuestionnaireStore.js.map +1 -1
- package/lib/stores/useTerminologyServerStore.d.ts +7 -0
- package/{src/theme/overrides/Typography.ts → lib/stores/useTerminologyServerStore.js} +9 -17
- package/lib/stores/useTerminologyServerStore.js.map +1 -0
- package/lib/theme/overrides/Overrides.js +1 -2
- package/lib/theme/overrides/Overrides.js.map +1 -1
- package/lib/utils/isHidden.d.ts +3 -0
- package/lib/utils/isHidden.js +30 -0
- package/lib/utils/isHidden.js.map +1 -0
- package/lib/utils/qItem.d.ts +1 -1
- package/lib/utils/qItem.js +1 -1
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.d.ts +1 -1
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +4 -4
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.d.ts +1 -1
- package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js +2 -2
- package/lib/utils/questionnaireStoreUtils/extractContainedValueSets.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.d.ts +1 -1
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js +6 -4
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/resolveValueSets.d.ts +1 -1
- package/lib/utils/questionnaireStoreUtils/resolveValueSets.js +2 -2
- package/lib/utils/questionnaireStoreUtils/resolveValueSets.js.map +1 -1
- package/lib/utils/tabs.d.ts +10 -0
- package/lib/utils/tabs.js +26 -1
- package/lib/utils/tabs.js.map +1 -1
- package/lib/utils/valueSet.d.ts +1 -1
- package/lib/utils/valueSet.js +3 -4
- package/lib/utils/valueSet.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Box.styles.ts +6 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx +5 -7
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx +2 -2
- package/src/components/FormComponents/ItemParts/CheckboxSingle.tsx +2 -2
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx +5 -7
- package/src/components/FormComponents/RepeatGroup/AddItemButton.tsx +1 -0
- package/src/components/FormComponents/RepeatItem/AddItemButton.tsx +1 -0
- package/src/components/Renderer/FormBodyTabbed.tsx +2 -2
- package/src/components/Renderer/SmartFormsRenderer.tsx +9 -2
- package/src/components/Tabs/FormBodySingleTab.tsx +3 -6
- package/src/components/Tabs/FormBodyTabList.tsx +41 -41
- package/src/components/Tabs/FormBodyTabListWrapper.tsx +80 -0
- package/src/hooks/useInitialiseRenderer.ts +22 -2
- package/src/hooks/useTerminologyServerQuery.ts +8 -6
- package/src/hooks/useValueSetCodings.ts +5 -2
- package/src/stores/useQuestionnaireStore.ts +10 -3
- package/src/stores/useTerminologyServerStore.ts +34 -0
- package/src/theme/overrides/Overrides.ts +0 -2
- package/src/utils/qItem.ts +1 -1
- package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +10 -4
- package/src/utils/questionnaireStoreUtils/extractContainedValueSets.ts +5 -2
- package/src/utils/questionnaireStoreUtils/extractOtherExtensions.ts +8 -4
- package/src/utils/questionnaireStoreUtils/resolveValueSets.ts +3 -2
- package/src/utils/tabs.ts +54 -1
- package/src/utils/valueSet.ts +3 -4
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Smart Forms Renderer
|
|
2
|
-
This React-based package acts as the rendering engine for the [Smart Forms app](https://github.com/aehrc/smart-forms).
|
|
2
|
+
This React-based package acts as the rendering engine for the [Smart Forms app](https://github.com/aehrc/smart-forms).
|
|
3
|
+
|
|
4
|
+
Try out a minimal demo here: https://www.smartforms.io/standalone.
|
|
3
5
|
|
|
4
6
|
## Installation
|
|
5
7
|
```bash
|
|
@@ -30,18 +32,18 @@ export default function App () {
|
|
|
30
32
|
### SmartFormsRenderer Props
|
|
31
33
|
|
|
32
34
|
|
|
33
|
-
| Name | Type
|
|
34
|
-
|
|
35
|
-
| questionnaire | FHIR R4.Questionnaire
|
|
36
|
-
| questionnaireResponse | FHIR R4.QuestionnaireResponse
|
|
37
|
-
| additionalVariables | Record<string, Extension>
|
|
38
|
-
|
|
35
|
+
| Name | Type | Description | Required? |
|
|
36
|
+
|-----------------------|-------------------------------|--------------------------------------------------------------------------------------------------------------|-----------|
|
|
37
|
+
| questionnaire | FHIR R4.Questionnaire | Questionnaire to be rendered | Required |
|
|
38
|
+
| questionnaireResponse | FHIR R4.QuestionnaireResponse | Pre-populated QuestionnaireResponse to be rendered | Optional |
|
|
39
|
+
| additionalVariables | Record<string, Extension> | Key-value pair of [SDC variables](http://hl7.org/fhir/R4/extension-variable.html) <name, variable extension> | Optional |
|
|
40
|
+
| terminologyServerUrl | string | Alternate terminology server url to fetch terminology |
|
|
39
41
|
The below props are not supported at the moment, but will be in the future.
|
|
40
42
|
|
|
41
43
|
| Name | Type | Description |
|
|
42
44
|
|----------------------|------------------------------------------------------|---------------------------------------------|
|
|
43
45
|
| fhirClient | [Client](https://github.com/smart-on-fhir/client-js) | FhirClient to perform further FHIR calls |
|
|
44
|
-
|
|
46
|
+
|
|
45
47
|
|
|
46
48
|
### Functions
|
|
47
49
|
|
|
@@ -65,7 +67,8 @@ function getResponse() {}
|
|
|
65
67
|
function SmartFormsRenderer(props: {
|
|
66
68
|
questionnaire: Questionnaire,
|
|
67
69
|
questionnaireResponse?: QuestionnaireResponse,
|
|
68
|
-
additionalVariables?: Record<string, Extension
|
|
70
|
+
additionalVariables?: Record<string, Extension>,
|
|
71
|
+
terminologyServerUrl?: string,
|
|
69
72
|
}): JSX.Element {}
|
|
70
73
|
|
|
71
74
|
// BaseRenderer underneath the SmartFormsRenderer wrapper. Requires buildForm() to initialise form.
|
|
@@ -96,7 +99,7 @@ function removeHiddenAnswersFromResponse(
|
|
|
96
99
|
|
|
97
100
|
The Smart Forms app uses a even finer-grained control which directly interacts with the state management stores.
|
|
98
101
|
|
|
99
|
-
At the moment there are no plans to document
|
|
102
|
+
At the moment there are no plans to document state management methods, but happy to do so if there is demand for it.
|
|
100
103
|
Raise a request in https://github.com/aehrc/smart-forms/issues if you want to see it happen!
|
|
101
104
|
|
|
102
105
|
---
|
|
@@ -26,3 +26,4 @@ export declare const FormTitleWrapper: import("@emotion/styled").StyledComponent
|
|
|
26
26
|
} & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
27
27
|
ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
28
28
|
}, ("display" | "border" | "borderTop" | "borderRight" | "borderBottom" | "borderLeft" | "borderColor" | "borderRadius" | "displayPrint" | "overflow" | "textOverflow" | "visibility" | "whiteSpace" | "flexBasis" | "flexDirection" | "flexWrap" | "justifyContent" | "alignItems" | "alignContent" | "order" | "flex" | "flexGrow" | "flexShrink" | "alignSelf" | "justifyItems" | "justifySelf" | "gap" | "columnGap" | "rowGap" | "gridColumn" | "gridRow" | "gridAutoFlow" | "gridAutoColumns" | "gridAutoRows" | "gridTemplateColumns" | "gridTemplateRows" | "gridTemplateAreas" | "gridArea" | "bgcolor" | "color" | "zIndex" | "position" | "top" | "right" | "bottom" | "left" | "boxShadow" | "width" | "maxWidth" | "minWidth" | "height" | "maxHeight" | "minHeight" | "boxSizing" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "my" | "p" | "pt" | "pr" | "pb" | "pl" | "px" | "py" | "margin" | "marginTop" | "marginRight" | "marginBottom" | "marginLeft" | "marginX" | "marginY" | "padding" | "paddingTop" | "paddingRight" | "paddingBottom" | "paddingLeft" | "paddingX" | "paddingY" | "typography" | "fontFamily" | "fontSize" | "fontStyle" | "fontWeight" | "letterSpacing" | "lineHeight" | "textAlign" | "textTransform") | "ref" | "children" | "component" | "sx"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
|
|
29
|
+
export declare const StyledFormControlLabel: import("@emotion/styled").StyledComponent<import("@mui/material/FormControlLabel").FormControlLabelProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import Box from '@mui/material/Box';
|
|
18
18
|
import { styled } from '@mui/material/styles';
|
|
19
|
+
import FormControlLabel from '@mui/material/FormControlLabel';
|
|
19
20
|
export const QGroupContainerBox = styled(Box, {
|
|
20
21
|
shouldForwardProp: (prop) => prop !== 'cardElevation' && prop !== 'isRepeated'
|
|
21
22
|
})(({ cardElevation, isRepeated }) => ({
|
|
@@ -23,9 +24,12 @@ export const QGroupContainerBox = styled(Box, {
|
|
|
23
24
|
marginBottom: cardElevation === 1 || isRepeated ? 0 : 18
|
|
24
25
|
}));
|
|
25
26
|
export const FullWidthFormComponentBox = styled(Box)(() => ({
|
|
26
|
-
marginBottom:
|
|
27
|
+
marginBottom: 10
|
|
27
28
|
}));
|
|
28
29
|
export const FormTitleWrapper = styled(Box)(() => ({
|
|
29
30
|
marginTop: 12
|
|
30
31
|
}));
|
|
32
|
+
export const StyledFormControlLabel = styled(FormControlLabel)(() => ({
|
|
33
|
+
height: 34
|
|
34
|
+
}));
|
|
31
35
|
//# sourceMappingURL=Box.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Box.styles.js","sourceRoot":"","sources":["../../src/components/Box.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Box.styles.js","sourceRoot":"","sources":["../../src/components/Box.styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAE9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,EAAE;IAC5C,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,YAAY;CAC/E,CAAC,CAAiD,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IACrF,SAAS,EAAE,aAAa,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACrD,YAAY,EAAE,aAAa,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;CACzD,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1D,YAAY,EAAE,EAAE;CACjB,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,SAAS,EAAE,EAAE;CACd,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACpE,MAAM,EAAE,EAAE;CACX,CAAC,CAAC,CAAC"}
|
|
@@ -31,7 +31,6 @@ import WarningAmberIcon from '@mui/icons-material/WarningAmber';
|
|
|
31
31
|
import DoneIcon from '@mui/icons-material/Done';
|
|
32
32
|
import ErrorIcon from '@mui/icons-material/Error';
|
|
33
33
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
34
|
-
import { getTerminologyServerUrl } from '../../../utils/valueSet';
|
|
35
34
|
import { AUTOCOMPLETE_DEBOUNCE_DURATION } from '../../../utils/debounce';
|
|
36
35
|
import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
37
36
|
import LabelWrapper from '../ItemParts/ItemLabelWrapper';
|
|
@@ -49,11 +48,10 @@ function ChoiceAutocompleteItem(props) {
|
|
|
49
48
|
const maxList = 10;
|
|
50
49
|
const [input, setInput] = useState('');
|
|
51
50
|
const debouncedInput = useDebounce(input, AUTOCOMPLETE_DEBOUNCE_DURATION);
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
const { options, loading, feedback } = useTerminologyServerQuery(answerValueSetUrl, maxList, input, debouncedInput, terminologyServerUrl);
|
|
55
|
-
if (!answerValueSetUrl)
|
|
51
|
+
const { options, loading, feedback } = useTerminologyServerQuery(qItem, maxList, input, debouncedInput);
|
|
52
|
+
if (!qItem.answerValueSet) {
|
|
56
53
|
return null;
|
|
54
|
+
}
|
|
57
55
|
// Event handlers
|
|
58
56
|
function handleValueChange(_, newValue) {
|
|
59
57
|
if (newValue === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceAutocompleteItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,UAAU,MAAM,4BAA4B,CAAC;AACpD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,yBAAyB,MAAM,0CAA0C,CAAC;AACjF,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChoiceAutocompleteItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceAutocompleteItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import React from 'react';
|
|
18
|
-
import FormControlLabel from '@mui/material/FormControlLabel';
|
|
19
18
|
import Radio from '@mui/material/Radio';
|
|
19
|
+
import { StyledFormControlLabel } from '../../Box.styles';
|
|
20
20
|
function ChoiceRadioSingle(props) {
|
|
21
21
|
const { value, label, readOnly } = props;
|
|
22
|
-
return (React.createElement(
|
|
22
|
+
return (React.createElement(StyledFormControlLabel, { disabled: readOnly, value: value, control: React.createElement(Radio, { size: "small" }), label: label, sx: { mr: 3 } }));
|
|
23
23
|
}
|
|
24
24
|
export default ChoiceRadioSingle;
|
|
25
25
|
//# sourceMappingURL=ChoiceRadioSingle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceRadioSingle.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"ChoiceRadioSingle.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ChoiceItems/ChoiceRadioSingle.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAQ1D,SAAS,iBAAiB,CAAC,KAA6B;IACtD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAEzC,OAAO,CACL,oBAAC,sBAAsB,IACrB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,oBAAC,KAAK,IAAC,IAAI,EAAC,OAAO,GAAG,EAC/B,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GACb,CACH,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import React from 'react';
|
|
18
18
|
import Checkbox from '@mui/material/Checkbox';
|
|
19
|
-
import
|
|
19
|
+
import { StyledFormControlLabel } from '../../Box.styles';
|
|
20
20
|
function CheckboxSingle(props) {
|
|
21
21
|
const { value, label, readOnly, isChecked, onCheckedChange } = props;
|
|
22
|
-
return (React.createElement(
|
|
22
|
+
return (React.createElement(StyledFormControlLabel, { disabled: readOnly, control: React.createElement(Checkbox, { size: "small", checked: isChecked, onChange: () => onCheckedChange(value) }), label: label, sx: { mr: 3 } }));
|
|
23
23
|
}
|
|
24
24
|
export default CheckboxSingle;
|
|
25
25
|
//# sourceMappingURL=CheckboxSingle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxSingle.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/CheckboxSingle.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"CheckboxSingle.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/CheckboxSingle.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAU1D,SAAS,cAAc,CAAC,KAAY;IAClC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAErE,OAAO,CACL,oBAAC,sBAAsB,IACrB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EACL,oBAAC,QAAQ,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,GAAI,EAEvF,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GACb,CACH,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -32,7 +32,6 @@ import InfoIcon from '@mui/icons-material/Info';
|
|
|
32
32
|
import DoneIcon from '@mui/icons-material/Done';
|
|
33
33
|
import ErrorIcon from '@mui/icons-material/Error';
|
|
34
34
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
35
|
-
import { getTerminologyServerUrl } from '../../../utils/valueSet';
|
|
36
35
|
import { AUTOCOMPLETE_DEBOUNCE_DURATION } from '../../../utils/debounce';
|
|
37
36
|
import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
38
37
|
import LabelWrapper from '../ItemParts/ItemLabelWrapper';
|
|
@@ -54,11 +53,10 @@ function OpenChoiceAutocompleteItem(props) {
|
|
|
54
53
|
const maxList = 10;
|
|
55
54
|
const [input, setInput] = useState('');
|
|
56
55
|
const debouncedInput = useDebounce(input, AUTOCOMPLETE_DEBOUNCE_DURATION);
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
const { options, loading, feedback } = useTerminologyServerQuery(answerValueSetUrl, maxList, input, debouncedInput, terminologyServerUrl);
|
|
60
|
-
if (!answerValueSetUrl)
|
|
56
|
+
const { options, loading, feedback } = useTerminologyServerQuery(qItem, maxList, input, debouncedInput);
|
|
57
|
+
if (!qItem.answerValueSet) {
|
|
61
58
|
return null;
|
|
59
|
+
}
|
|
62
60
|
// Event handlers
|
|
63
61
|
function handleValueChange(_, newValue) {
|
|
64
62
|
if (newValue === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenChoiceAutocompleteItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAI5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,UAAU,MAAM,4BAA4B,CAAC;AACpD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,yBAAyB,MAAM,0CAA0C,CAAC;AACjF,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenChoiceAutocompleteItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/OpenChoiceItems/OpenChoiceAutocompleteItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ function AddItemButton(props) {
|
|
|
22
22
|
const { repeatGroups, onAddItem } = props;
|
|
23
23
|
const isDisabled = repeatGroups[repeatGroups.length - 1].qrItem === null;
|
|
24
24
|
return (React.createElement(Box, { display: "flex", flexDirection: "row-reverse" },
|
|
25
|
-
React.createElement(Button, { variant: "contained", startIcon: React.createElement(AddIcon, null), disabled: isDisabled, onClick: onAddItem, "data-test": "button-add-repeat-item" }, "Add Item")));
|
|
25
|
+
React.createElement(Button, { variant: "contained", size: "small", startIcon: React.createElement(AddIcon, null), disabled: isDisabled, onClick: onAddItem, "data-test": "button-add-repeat-item" }, "Add Item")));
|
|
26
26
|
}
|
|
27
27
|
export default AddItemButton;
|
|
28
28
|
//# sourceMappingURL=AddItemButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddItemButton.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/RepeatGroup/AddItemButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAQ9C,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE1C,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC;IAEzE,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,aAAa;QAC7C,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,SAAS,EAAE,oBAAC,OAAO,OAAG,EACtB,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,SAAS,eACR,wBAAwB,eAE3B,CACL,CACP,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"AddItemButton.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/RepeatGroup/AddItemButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAQ9C,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE1C,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC;IAEzE,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,aAAa;QAC7C,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,oBAAC,OAAO,OAAG,EACtB,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,SAAS,eACR,wBAAwB,eAE3B,CACL,CACP,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -22,7 +22,7 @@ function AddItemButton(props) {
|
|
|
22
22
|
const { repeatAnswers, onAddItem } = props;
|
|
23
23
|
const isDisabled = repeatAnswers[repeatAnswers.length - 1].answer === null;
|
|
24
24
|
return (React.createElement(Box, { display: "flex", flexDirection: "row-reverse" },
|
|
25
|
-
React.createElement(Button, { variant: "contained", startIcon: React.createElement(AddIcon, null), disabled: isDisabled, onClick: onAddItem, "data-test": "button-add-repeat-item" }, "Add Item")));
|
|
25
|
+
React.createElement(Button, { variant: "contained", size: "small", startIcon: React.createElement(AddIcon, null), disabled: isDisabled, onClick: onAddItem, "data-test": "button-add-repeat-item" }, "Add Item")));
|
|
26
26
|
}
|
|
27
27
|
export default AddItemButton;
|
|
28
28
|
//# sourceMappingURL=AddItemButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddItemButton.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/RepeatItem/AddItemButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAQ9C,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE3C,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC;IAE3E,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,aAAa;QAC7C,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,SAAS,EAAE,oBAAC,OAAO,OAAG,EACtB,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,SAAS,eACR,wBAAwB,eAE3B,CACL,CACP,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"AddItemButton.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/RepeatItem/AddItemButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAQ9C,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE3C,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC;IAE3E,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,aAAa;QAC7C,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,OAAO,EACZ,SAAS,EAAE,oBAAC,OAAO,OAAG,EACtB,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,SAAS,eACR,wBAAwB,eAE3B,CACL,CACP,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -21,7 +21,7 @@ import TabPanel from '@mui/lab/TabPanel';
|
|
|
21
21
|
import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
|
|
22
22
|
import GroupItem from '../FormComponents/GroupItem/GroupItem';
|
|
23
23
|
import { updateQrGroup } from '../../utils/qrItem';
|
|
24
|
-
import
|
|
24
|
+
import FormBodyTabListWrapper from '../Tabs/FormBodyTabListWrapper';
|
|
25
25
|
import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
|
|
26
26
|
function FormBodyTabbed(props) {
|
|
27
27
|
const { topLevelQItem, topLevelQRItem, onQrItemChange } = props;
|
|
@@ -41,7 +41,7 @@ function FormBodyTabbed(props) {
|
|
|
41
41
|
return (React.createElement(Grid, { container: true, spacing: 2 },
|
|
42
42
|
React.createElement(TabContext, { value: currentTab.toString() },
|
|
43
43
|
React.createElement(Grid, { item: true, xs: 12, md: 3.5, lg: 3, xl: 2.75 },
|
|
44
|
-
React.createElement(
|
|
44
|
+
React.createElement(FormBodyTabListWrapper, { qFormItems: qItems, currentTabIndex: currentTab, tabs: tabs })),
|
|
45
45
|
React.createElement(Grid, { item: true, xs: 12, md: 8.5, lg: 9, xl: 9.25 }, qItems.map((qItem, i) => {
|
|
46
46
|
var _a, _b;
|
|
47
47
|
const qrItem = qrItemsByIndex[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBodyTabbed.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodyTabbed.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"FormBodyTabbed.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodyTabbed.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ interface SmartFormsRendererProps {
|
|
|
5
5
|
questionnaire: Questionnaire;
|
|
6
6
|
questionnaireResponse?: QuestionnaireResponse;
|
|
7
7
|
additionalVariables?: Record<string, object>;
|
|
8
|
+
terminologyServerUrl?: string;
|
|
8
9
|
fhirClient?: Client;
|
|
9
10
|
}
|
|
10
11
|
declare function SmartFormsRenderer(props: SmartFormsRendererProps): React.JSX.Element;
|
|
@@ -23,10 +23,9 @@ import { QueryClientProvider } from '@tanstack/react-query';
|
|
|
23
23
|
import useQueryClient from '../../hooks/useQueryClient';
|
|
24
24
|
import BaseRenderer from './BaseRenderer';
|
|
25
25
|
import ThemeProvider from '../../theme/Theme';
|
|
26
|
-
// TODO add terminiology server
|
|
27
26
|
function SmartFormsRenderer(props) {
|
|
28
|
-
const { questionnaire, questionnaireResponse, additionalVariables, fhirClient } = props;
|
|
29
|
-
const isLoading = useInitialiseRenderer(questionnaire, questionnaireResponse, additionalVariables, fhirClient);
|
|
27
|
+
const { questionnaire, questionnaireResponse, additionalVariables, terminologyServerUrl, fhirClient } = props;
|
|
28
|
+
const isLoading = useInitialiseRenderer(questionnaire, questionnaireResponse, additionalVariables, terminologyServerUrl, fhirClient);
|
|
30
29
|
const queryClient = useQueryClient();
|
|
31
30
|
if (isLoading) {
|
|
32
31
|
return (React.createElement(Box, { display: "flex", alignItems: "center", columnGap: 2 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmartFormsRenderer.js","sourceRoot":"","sources":["../../../src/components/Renderer/SmartFormsRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,aAAa,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"SmartFormsRenderer.js","sourceRoot":"","sources":["../../../src/components/Renderer/SmartFormsRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAW9C,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,EACJ,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACX,GAAG,KAAK,CAAC;IAEV,MAAM,SAAS,GAAG,qBAAqB,CACrC,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,CACX,CAAC;IACF,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,SAAS,EAAE;QACb,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC;YAClD,oBAAC,gBAAgB,OAAG;YACpB,oBAAC,UAAU,mCAAsC,CAC7C,CACP,CAAC;KACH;IAED,OAAO,CACL,oBAAC,aAAa;QACZ,oBAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW;YACtC,oBAAC,YAAY,OAAG,CACI,CACR,CACjB,CAAC;AACJ,CAAC;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -20,12 +20,10 @@ import ListItemButton from '@mui/material/ListItemButton';
|
|
|
20
20
|
import ListItemText from '@mui/material/ListItemText';
|
|
21
21
|
import Typography from '@mui/material/Typography';
|
|
22
22
|
import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
|
|
23
|
-
import { getContextDisplays } from '../../utils/tabs';
|
|
24
23
|
import ContextDisplayItem from '../FormComponents/ItemParts/ContextDisplayItem';
|
|
25
24
|
const FormBodySingleTab = memo(function FormBodySingleTab(props) {
|
|
26
|
-
const {
|
|
25
|
+
const { contextDisplayItems, selected, tabLabel, listIndex } = props;
|
|
27
26
|
const switchTab = useQuestionnaireStore((state) => state.switchTab);
|
|
28
|
-
const contextDisplayItems = getContextDisplays(qItem);
|
|
29
27
|
function handleTabClick() {
|
|
30
28
|
switchTab(listIndex);
|
|
31
29
|
window.scrollTo(0, 0);
|
|
@@ -34,7 +32,7 @@ const FormBodySingleTab = memo(function FormBodySingleTab(props) {
|
|
|
34
32
|
React.createElement(ListItemButton, { selected: selected, sx: { my: 0.2, minHeight: '36px' }, onClick: handleTabClick },
|
|
35
33
|
React.createElement(ListItemText, { primary: React.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "space-between" },
|
|
36
34
|
React.createElement(Typography, { variant: "subtitle2" }, tabLabel),
|
|
37
|
-
React.createElement(Box, { display: "flex" }, contextDisplayItems.map((item) => {
|
|
35
|
+
React.createElement(Box, { display: "flex", minHeight: 24, minWidth: 24, ml: 1 }, contextDisplayItems.map((item) => {
|
|
38
36
|
return React.createElement(ContextDisplayItem, { key: item.linkId, displayItem: item });
|
|
39
37
|
}))) }))));
|
|
40
38
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBodySingleTab.js","sourceRoot":"","sources":["../../../src/components/Tabs/FormBodySingleTab.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AAEvE,OAAO,
|
|
1
|
+
{"version":3,"file":"FormBodySingleTab.js","sourceRoot":"","sources":["../../../src/components/Tabs/FormBodySingleTab.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AAEvE,OAAO,kBAAkB,MAAM,gDAAgD,CAAC;AAShF,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,iBAAiB,CAAC,KAA6B;IACrF,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAErE,MAAM,SAAS,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEpE,SAAS,cAAc;QACrB,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,CACL;QACE,oBAAC,cAAc,IACb,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAClC,OAAO,EAAE,cAAc;YACvB,oBAAC,YAAY,IACX,OAAO,EACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,eAAe;oBACpE,oBAAC,UAAU,IAAC,OAAO,EAAC,WAAW,IAAE,QAAQ,CAAc;oBACvD,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IACnD,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAChC,OAAO,oBAAC,kBAAkB,IAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,GAAI,CAAC;oBACrE,CAAC,CAAC,CACE,CACF,GAER,CACa,CAChB,CACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
|
|
@@ -2,9 +2,10 @@ import React from 'react';
|
|
|
2
2
|
import type { QuestionnaireItem } from 'fhir/r4';
|
|
3
3
|
import type { Tabs } from '../../interfaces/tab.interface';
|
|
4
4
|
interface FormBodyTabListProps {
|
|
5
|
-
|
|
5
|
+
topLevelItems: QuestionnaireItem[];
|
|
6
6
|
currentTabIndex: number;
|
|
7
7
|
tabs: Tabs;
|
|
8
|
+
completedTabsCollapsed: boolean;
|
|
8
9
|
}
|
|
9
10
|
declare const FormBodyTabList: React.NamedExoticComponent<FormBodyTabListProps>;
|
|
10
11
|
export default FormBodyTabList;
|
|
@@ -14,41 +14,39 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import React, { memo } from 'react';
|
|
18
|
-
import Box from '@mui/material/Box';
|
|
19
|
-
import Card from '@mui/material/Card';
|
|
17
|
+
import React, { memo, useMemo } from 'react';
|
|
20
18
|
import Collapse from '@mui/material/Collapse';
|
|
21
|
-
import { PrimarySelectableList } from '../Lists.styles';
|
|
22
19
|
import { TransitionGroup } from 'react-transition-group';
|
|
23
|
-
import { isHidden } from '../../utils/qItem';
|
|
24
20
|
import { getShortText } from '../../utils/itemControl';
|
|
25
21
|
import FormBodySingleTab from './FormBodySingleTab';
|
|
26
22
|
import useQuestionnaireStore from '../../stores/useQuestionnaireStore';
|
|
23
|
+
import { getContextDisplays, isTabHidden } from '../../utils/tabs';
|
|
27
24
|
const FormBodyTabList = memo(function FormBodyTabList(props) {
|
|
28
|
-
const {
|
|
25
|
+
const { topLevelItems, currentTabIndex, tabs, completedTabsCollapsed } = props;
|
|
29
26
|
const enableWhenIsActivated = useQuestionnaireStore((state) => state.enableWhenIsActivated);
|
|
30
27
|
const enableWhenItems = useQuestionnaireStore((state) => state.enableWhenItems);
|
|
31
28
|
const enableWhenExpressions = useQuestionnaireStore((state) => state.enableWhenExpressions);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
29
|
+
const allContextDisplayItems = useMemo(() => topLevelItems.map((topLevelItem) => getContextDisplays(topLevelItem)), [topLevelItems]);
|
|
30
|
+
return (React.createElement(TransitionGroup, null, topLevelItems.map((qItem, i) => {
|
|
31
|
+
var _a, _b;
|
|
32
|
+
const contextDisplayItems = allContextDisplayItems[i];
|
|
33
|
+
const isTab = !!tabs[qItem.linkId];
|
|
34
|
+
if (isTabHidden({
|
|
35
|
+
qItem,
|
|
36
|
+
contextDisplayItems,
|
|
37
|
+
isTab,
|
|
38
|
+
enableWhenIsActivated,
|
|
39
|
+
enableWhenItems,
|
|
40
|
+
enableWhenExpressions,
|
|
41
|
+
completedTabsCollapsed
|
|
42
|
+
})) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
const tabIsSelected = currentTabIndex.toString() === i.toString();
|
|
46
|
+
const tabLabel = (_b = (_a = getShortText(qItem)) !== null && _a !== void 0 ? _a : qItem.text) !== null && _b !== void 0 ? _b : '';
|
|
47
|
+
return (React.createElement(Collapse, { key: qItem.linkId, timeout: 100 },
|
|
48
|
+
React.createElement(FormBodySingleTab, { contextDisplayItems: contextDisplayItems, selected: tabIsSelected, tabLabel: tabLabel, listIndex: i })));
|
|
49
|
+
})));
|
|
52
50
|
});
|
|
53
51
|
export default FormBodyTabList;
|
|
54
52
|
//# sourceMappingURL=FormBodyTabList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBodyTabList.js","sourceRoot":"","sources":["../../../src/components/Tabs/FormBodyTabList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"FormBodyTabList.js","sourceRoot":"","sources":["../../../src/components/Tabs/FormBodyTabList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,OAAO,qBAAqB,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AASnE,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,eAAe,CAAC,KAA2B;IAC/E,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAC;IAE/E,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC5F,MAAM,eAAe,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAChF,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAE5F,MAAM,sBAAsB,GAAG,OAAO,CACpC,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,EAC3E,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,oBAAC,eAAe,QACb,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;;QAC9B,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEnC,IACE,WAAW,CAAC;YACV,KAAK;YACL,mBAAmB;YACnB,KAAK;YACL,qBAAqB;YACrB,eAAe;YACf,qBAAqB;YACrB,sBAAsB;SACvB,CAAC,EACF;YACA,OAAO,IAAI,CAAC;SACb;QAED,MAAM,aAAa,GAAG,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAA,MAAA,YAAY,CAAC,KAAK,CAAC,mCAAI,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC;QAEzD,OAAO,CACL,oBAAC,QAAQ,IAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG;YACvC,oBAAC,iBAAiB,IAChB,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,CAAC,GACZ,CACO,CACZ,CAAC;IACJ,CAAC,CAAC,CACc,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { QuestionnaireItem } from 'fhir/r4';
|
|
3
|
+
import type { Tabs } from '../../interfaces/tab.interface';
|
|
4
|
+
interface FormBodyTabListWrapperProps {
|
|
5
|
+
qFormItems: QuestionnaireItem[];
|
|
6
|
+
currentTabIndex: number;
|
|
7
|
+
tabs: Tabs;
|
|
8
|
+
}
|
|
9
|
+
declare const FormBodyTabListWrapper: React.NamedExoticComponent<FormBodyTabListWrapperProps>;
|
|
10
|
+
export default FormBodyTabListWrapper;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import React, { memo, useState } from 'react';
|
|
18
|
+
import Box from '@mui/material/Box';
|
|
19
|
+
import Card from '@mui/material/Card';
|
|
20
|
+
import { PrimarySelectableList } from '../Lists.styles';
|
|
21
|
+
import { IconButton } from '@mui/material';
|
|
22
|
+
import ExpandLess from '@mui/icons-material/ExpandLess';
|
|
23
|
+
import ExpandMore from '@mui/icons-material/ExpandMore';
|
|
24
|
+
import Typography from '@mui/material/Typography';
|
|
25
|
+
import Divider from '@mui/material/Divider';
|
|
26
|
+
import FormBodyTabList from './FormBodyTabList';
|
|
27
|
+
const FormBodyTabListWrapper = memo(function FormBodyTabListWrapper(props) {
|
|
28
|
+
const { qFormItems, currentTabIndex, tabs } = props;
|
|
29
|
+
const [completedTabsExpanded, setCompletedTabsExpanded] = useState(true);
|
|
30
|
+
return (React.createElement(Card, { sx: { p: 0.75, mb: 2 } },
|
|
31
|
+
React.createElement(Box, { sx: { flexGrow: 1 } },
|
|
32
|
+
React.createElement(PrimarySelectableList, { dense: true, disablePadding: true, sx: { mb: 1 }, "data-test": "renderer-tab-list" },
|
|
33
|
+
React.createElement(Box, { display: "flex", justifyContent: "center", alignItems: "center", mx: 2, columnGap: 0.5 },
|
|
34
|
+
React.createElement(Typography, { variant: "overline", fontSize: 9, color: completedTabsExpanded ? 'text.secondary' : 'text.disabled' },
|
|
35
|
+
"Completed tabs ",
|
|
36
|
+
completedTabsExpanded ? 'shown' : 'hidden'),
|
|
37
|
+
React.createElement(IconButton, { size: "small", onClick: () => {
|
|
38
|
+
setCompletedTabsExpanded(!completedTabsExpanded);
|
|
39
|
+
} }, completedTabsExpanded ? (React.createElement(ExpandLess, { fontSize: "small" })) : (React.createElement(ExpandMore, { fontSize: "small" })))),
|
|
40
|
+
React.createElement(Divider, { sx: { mx: 1 }, light: true }),
|
|
41
|
+
React.createElement(FormBodyTabList, { topLevelItems: qFormItems, currentTabIndex: currentTabIndex, tabs: tabs, completedTabsCollapsed: !completedTabsExpanded })))));
|
|
42
|
+
});
|
|
43
|
+
export default FormBodyTabListWrapper;
|
|
44
|
+
//# sourceMappingURL=FormBodyTabListWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormBodyTabListWrapper.js","sourceRoot":"","sources":["../../../src/components/Tabs/FormBodyTabListWrapper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,UAAU,MAAM,gCAAgC,CAAC;AACxD,OAAO,UAAU,MAAM,gCAAgC,CAAC;AACxD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAQhD,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,sBAAsB,CACjE,KAAkC;IAElC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEpD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEzE,OAAO,CACL,oBAAC,IAAI,IAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE;QAC1B,oBAAC,GAAG,IAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;YACtB,oBAAC,qBAAqB,IAAC,KAAK,QAAC,cAAc,QAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,eAAY,mBAAmB;gBACtF,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,cAAc,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG;oBACnF,oBAAC,UAAU,IACT,OAAO,EAAC,UAAU,EAClB,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe;;wBACjD,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAC/C;oBACb,oBAAC,UAAU,IACT,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,GAAG,EAAE;4BACZ,wBAAwB,CAAC,CAAC,qBAAqB,CAAC,CAAC;wBACnD,CAAC,IACA,qBAAqB,CAAC,CAAC,CAAC,CACvB,oBAAC,UAAU,IAAC,QAAQ,EAAC,OAAO,GAAG,CAChC,CAAC,CAAC,CAAC,CACF,oBAAC,UAAU,IAAC,QAAQ,EAAC,OAAO,GAAG,CAChC,CACU,CACT;gBACN,oBAAC,OAAO,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,SAAG;gBAChC,oBAAC,eAAe,IACd,aAAa,EAAE,UAAU,EACzB,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,EACV,sBAAsB,EAAE,CAAC,qBAAqB,GAC9C,CACoB,CACpB,CACD,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,sBAAsB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Questionnaire, QuestionnaireResponse } from 'fhir/r4';
|
|
2
2
|
import type Client from 'fhirclient/lib/Client';
|
|
3
|
-
declare function useInitialiseRenderer(questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, fhirClient?: Client): boolean;
|
|
3
|
+
declare function useInitialiseRenderer(questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string, fhirClient?: Client): boolean;
|
|
4
4
|
export default useInitialiseRenderer;
|