@aehrc/smart-forms-renderer 1.0.0-alpha.3 → 1.0.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/FormComponents/BooleanItem/BooleanField.js +13 -2
- package/lib/components/FormComponents/BooleanItem/BooleanField.js.map +1 -1
- package/lib/components/FormComponents/DecimalItem/index.d.ts +1 -0
- package/lib/components/FormComponents/DecimalItem/index.js +18 -0
- package/lib/components/FormComponents/DecimalItem/index.js.map +1 -0
- package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +8 -0
- package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js +7 -4
- package/lib/components/FormComponents/ItemParts/ItemFieldGrid.js.map +1 -1
- package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js +2 -2
- package/lib/components/FormComponents/SingleItem/SingleItemSwitcher.js.map +1 -1
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.js +1 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/interfaces/overrideComponent.interface.d.ts +7 -2
- package/lib/interfaces/qItemOverrideComponent.interface.d.ts +7 -6
- package/lib/stores/rendererStylingStore.d.ts +14 -0
- package/lib/stores/rendererStylingStore.js +8 -4
- package/lib/stores/rendererStylingStore.js.map +1 -1
- package/lib/utils/index.d.ts +2 -1
- package/lib/utils/index.js +2 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/misc.d.ts +0 -1
- package/lib/utils/misc.js +1 -1
- package/lib/utils/misc.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FormComponents/BooleanItem/BooleanField.tsx +37 -9
- package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +22 -0
- package/src/components/FormComponents/ItemParts/ItemFieldGrid.tsx +18 -4
- package/src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx +2 -1
- package/src/hooks/index.ts +1 -0
- package/src/index.ts +5 -2
- package/src/interfaces/overrideComponent.interface.ts +7 -2
- package/src/stores/rendererStylingStore.ts +17 -0
- package/src/stories/assets/questionnaires/QItemControlGroup.ts +0 -772
- package/src/stories/sdc/ItemControlGroup.stories.tsx +0 -7
- package/src/utils/index.ts +3 -1
- package/src/utils/misc.ts +1 -1
- package/vite.config.ts +2 -2
|
@@ -25,16 +25,27 @@ import ChoiceRadioSingle from '../ChoiceItems/ChoiceRadioSingle';
|
|
|
25
25
|
import { StyledRadioGroup } from '../Item.styles';
|
|
26
26
|
import { getChoiceOrientation } from '../../../utils/choice';
|
|
27
27
|
import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
28
|
+
import Checkbox from '@mui/material/Checkbox';
|
|
29
|
+
import FormControlLabel from '@mui/material/FormControlLabel';
|
|
30
|
+
import { isSpecificItemControl } from '../../../utils';
|
|
28
31
|
const BooleanField = memo(function BooleanField(props) {
|
|
29
32
|
var _a;
|
|
30
33
|
const { qItem, readOnly, valueBoolean, calcExpUpdated, onCheckedChange, onClear } = props;
|
|
34
|
+
const booleanAsCheckbox = isSpecificItemControl(qItem, 'check-box');
|
|
31
35
|
// defaults to horizontal, only set to vertical if explicitly set
|
|
32
36
|
const orientation = (_a = getChoiceOrientation(qItem)) !== null && _a !== void 0 ? _a : ChoiceItemOrientation.Horizontal;
|
|
33
37
|
const selection = valueBoolean === undefined ? null : valueBoolean.toString();
|
|
34
38
|
return (React.createElement(Box, { display: "flex", alignItems: "center" },
|
|
35
|
-
React.createElement(
|
|
39
|
+
booleanAsCheckbox ? (React.createElement(FormControlLabel, { id: qItem.linkId, disabled: readOnly, control: React.createElement(Checkbox, { size: "small", checked: selection === 'true', onChange: () => {
|
|
40
|
+
if (selection === 'true') {
|
|
41
|
+
onCheckedChange('false');
|
|
42
|
+
}
|
|
43
|
+
if (selection === 'false' || selection === null) {
|
|
44
|
+
onCheckedChange('true');
|
|
45
|
+
}
|
|
46
|
+
} }), label: "" })) : (React.createElement(StyledRadioGroup, { id: qItem.linkId, row: orientation === ChoiceItemOrientation.Horizontal, name: qItem.text, onChange: (e) => onCheckedChange(e.target.value), value: selection },
|
|
36
47
|
React.createElement(ChoiceRadioSingle, { value: "true", label: "Yes", readOnly: readOnly }),
|
|
37
|
-
React.createElement(ChoiceRadioSingle, { value: "false", label: "No", readOnly: readOnly })),
|
|
48
|
+
React.createElement(ChoiceRadioSingle, { value: "false", label: "No", readOnly: readOnly }))),
|
|
38
49
|
React.createElement(Box, { flexGrow: 1 }),
|
|
39
50
|
React.createElement(FadingCheckIcon, { fadeIn: calcExpUpdated, disabled: readOnly }),
|
|
40
51
|
React.createElement(Fade, { in: valueBoolean !== undefined, timeout: 100 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/BooleanItem/BooleanField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,eAAe,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/BooleanItem/BooleanField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as DecimalField } from './DecimalField';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
export { default as DecimalField } from './DecimalField';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/DecimalItem/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -23,12 +23,20 @@ import SingleItem from '../SingleItem/SingleItem';
|
|
|
23
23
|
import useHidden from '../../../hooks/useHidden';
|
|
24
24
|
import GroupItem from './GroupItem';
|
|
25
25
|
import GridGroup from '../GridGroup/GridGroup';
|
|
26
|
+
import { useQuestionnaireStore } from '../../../stores';
|
|
26
27
|
function GroupItemSwitcher(props) {
|
|
27
28
|
const { qItem, qrItemOrItems, groupCardElevation, parentIsReadOnly, parentIsRepeatGroup, parentRepeatGroupIndex, onQrItemChange, onQrRepeatGroupChange } = props;
|
|
29
|
+
const qItemOverrideComponents = useQuestionnaireStore.use.qItemOverrideComponents();
|
|
30
|
+
const QItemOverrideComponent = qItemOverrideComponents[qItem.linkId];
|
|
28
31
|
const itemIsHidden = useHidden(qItem, parentRepeatGroupIndex);
|
|
29
32
|
if (itemIsHidden) {
|
|
30
33
|
return null;
|
|
31
34
|
}
|
|
35
|
+
// If a qItem override component is defined for this item, render it
|
|
36
|
+
// Don't get too strict with the "typeof" checks for now
|
|
37
|
+
if (QItemOverrideComponent && typeof QItemOverrideComponent === 'function') {
|
|
38
|
+
return (React.createElement(QItemOverrideComponent, { qItem: qItem, qrItem: qrItemOrItems !== null && qrItemOrItems !== void 0 ? qrItemOrItems : null, isRepeated: !!qItem.repeats, groupCardElevation: groupCardElevation, parentIsReadOnly: parentIsReadOnly, parentIsRepeatGroup: parentIsRepeatGroup, parentRepeatGroupIndex: parentRepeatGroupIndex, onQrItemChange: onQrItemChange, onQrRepeatGroupChange: onQrRepeatGroupChange }));
|
|
39
|
+
}
|
|
32
40
|
// If there are multiple answers
|
|
33
41
|
const hasMultipleAnswers = Array.isArray(qrItemOrItems);
|
|
34
42
|
if (hasMultipleAnswers) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,SAAS,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,21 +15,24 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import React from 'react';
|
|
18
|
-
import Grid from '@mui/material/
|
|
18
|
+
import Grid from '@mui/material/Unstable_Grid2';
|
|
19
19
|
import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
20
20
|
import LabelWrapper from './ItemLabelWrapper';
|
|
21
21
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
22
22
|
import Box from '@mui/material/Box';
|
|
23
|
+
import { useRendererStylingStore } from '../../../stores';
|
|
23
24
|
function ItemFieldGrid(props) {
|
|
24
25
|
const { children, qItem, readOnly } = props;
|
|
26
|
+
const itemLabelGridBreakpoints = useRendererStylingStore.use.itemLabelGridBreakpoints();
|
|
27
|
+
const itemFieldGridBreakpoints = useRendererStylingStore.use.itemFieldGridBreakpoints();
|
|
25
28
|
const { displayInstructions } = useRenderingExtensions(qItem);
|
|
26
|
-
return (React.createElement(Grid, { container: true, columnSpacing:
|
|
27
|
-
React.createElement(Grid, {
|
|
29
|
+
return (React.createElement(Grid, { container: true, columnSpacing: 3.5 },
|
|
30
|
+
React.createElement(Grid, { xs: itemLabelGridBreakpoints.xs, sm: itemLabelGridBreakpoints.sm, md: itemLabelGridBreakpoints.md, lg: itemLabelGridBreakpoints.lg, xl: itemLabelGridBreakpoints.xl },
|
|
28
31
|
React.createElement(LabelWrapper, { qItem: qItem, readOnly: readOnly })),
|
|
29
32
|
React.createElement(Box, { sx: {
|
|
30
33
|
my: { xs: 1.5, md: 0 } // Adds padding for `xs` breakpoint and removes it for `md` and up
|
|
31
34
|
} }),
|
|
32
|
-
React.createElement(Grid, {
|
|
35
|
+
React.createElement(Grid, { xs: itemFieldGridBreakpoints.xs, sm: itemFieldGridBreakpoints.sm, md: itemFieldGridBreakpoints.md, lg: itemFieldGridBreakpoints.lg, xl: itemFieldGridBreakpoints.xl },
|
|
33
36
|
children,
|
|
34
37
|
React.createElement(DisplayInstructions, { displayInstructions: displayInstructions, readOnly: readOnly }))));
|
|
35
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ItemFieldGrid.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/ItemFieldGrid.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"ItemFieldGrid.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/ItemParts/ItemFieldGrid.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,8BAA8B,CAAC;AAEhD,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAQ1D,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAE5C,MAAM,wBAAwB,GAAG,uBAAuB,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;IACxF,MAAM,wBAAwB,GAAG,uBAAuB,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;IAExF,MAAM,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAE9D,OAAO,CACL,oBAAC,IAAI,IAAC,SAAS,QAAC,aAAa,EAAE,GAAG;QAChC,oBAAC,IAAI,IACH,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE;YAC/B,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAC7C;QACP,oBAAC,GAAG,IACF,EAAE,EAAE;gBACF,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,kEAAkE;aAC1F,GACD;QACF,oBAAC,IAAI,IACH,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE,EAC/B,EAAE,EAAE,wBAAwB,CAAC,EAAE;YAC9B,QAAQ;YACT,oBAAC,mBAAmB,IAAC,mBAAmB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAChF,CACF,CACR,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -38,9 +38,9 @@ function SingleItemSwitcher(props) {
|
|
|
38
38
|
const qItemOverrideComponents = useQuestionnaireStore.use.qItemOverrideComponents();
|
|
39
39
|
const QItemOverrideComponent = qItemOverrideComponents[qItem.linkId];
|
|
40
40
|
// If a qItem override component is defined for this item, render it
|
|
41
|
-
// Don't get too strict with the checks for now
|
|
41
|
+
// Don't get too strict with the "typeof" checks for now
|
|
42
42
|
if (QItemOverrideComponent && typeof QItemOverrideComponent === 'function') {
|
|
43
|
-
return (React.createElement(QItemOverrideComponent, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange }));
|
|
43
|
+
return (React.createElement(QItemOverrideComponent, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange, onQrRepeatGroupChange: () => { } }));
|
|
44
44
|
}
|
|
45
45
|
// Otherwise, render the default form component based on the item type
|
|
46
46
|
switch (qItem.type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,kBAAkB,MAAM,mCAAmC,CAAC;AAEnE,OAAO,sBAAsB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAQlD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,cAAc,MAAM,gDAAgD,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,kBAAkB,MAAM,wDAAwD,CAAC;AACxF,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAYxD,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAC9F,KAAK,CAAC;IAER,MAAM,uBAAuB,GAAG,qBAAqB,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC;IACpF,MAAM,sBAAsB,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAErE,oEAAoE;IACpE
|
|
1
|
+
{"version":3,"file":"SingleItemSwitcher.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/SingleItem/SingleItemSwitcher.tsx"],"names":[],"mappings":"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"}
|
package/lib/hooks/index.d.ts
CHANGED
|
@@ -5,3 +5,4 @@ export { default as useRendererQueryClient } from './useRendererQueryClient';
|
|
|
5
5
|
export { default as useRenderingExtensions } from './useRenderingExtensions';
|
|
6
6
|
export { default as useValidationFeedback } from './useValidationFeedback';
|
|
7
7
|
export { default as useStringCalculatedExpression } from './useStringCalculatedExpression';
|
|
8
|
+
export { default as useDisplayCqfAndCalculatedExpression } from './useDisplayCqfAndCalculatedExpression';
|
package/lib/hooks/index.js
CHANGED
|
@@ -6,4 +6,5 @@ export { default as useRenderingExtensions } from './useRenderingExtensions';
|
|
|
6
6
|
export { default as useValidationFeedback } from './useValidationFeedback';
|
|
7
7
|
// CalculatedExpression hooks
|
|
8
8
|
export { default as useStringCalculatedExpression } from './useStringCalculatedExpression';
|
|
9
|
+
export { default as useDisplayCqfAndCalculatedExpression } from './useDisplayCqfAndCalculatedExpression';
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/lib/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE3E,6BAA6B;AAC7B,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE3E,6BAA6B;AAC7B,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,oCAAoC,EAAE,MAAM,wCAAwC,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -3,9 +3,9 @@ export type { SmartFormsRendererProps } from './components';
|
|
|
3
3
|
export { SmartFormsRenderer, BaseRenderer, SingleItem, RepeatItem, RepeatGroup, GroupTable, GridGroup, parseFhirDateToDisplayDate, ItemFieldGrid, StringField, FullWidthFormComponentBox } from './components';
|
|
4
4
|
export type { QuestionnaireStoreType, QuestionnaireResponseStoreType, SmartConfigStoreType, TerminologyServerStoreType, RendererStyling, RendererStylingStoreType } from './stores';
|
|
5
5
|
export { questionnaireStore, useQuestionnaireStore, questionnaireResponseStore, useQuestionnaireResponseStore, smartConfigStore, useSmartConfigStore, terminologyServerStore, useTerminologyServerStore, rendererStylingStore, useRendererStylingStore } from './stores';
|
|
6
|
-
export { useHidden, useReadOnly, useBuildForm, useRendererQueryClient, useRenderingExtensions, useValidationFeedback, useStringCalculatedExpression } from './hooks';
|
|
6
|
+
export { useHidden, useReadOnly, useBuildForm, useRendererQueryClient, useRenderingExtensions, useValidationFeedback, useStringCalculatedExpression, useDisplayCqfAndCalculatedExpression } from './hooks';
|
|
7
7
|
export type { ItemToRepopulate } from './utils';
|
|
8
|
-
export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse, createEmptyQrItem, isSpecificItemControl, isRepeatItemAndNotCheckbox, initialiseQuestionnaireResponse, generateItemsToRepopulate, repopulateResponse, extractObservationBased } from './utils';
|
|
8
|
+
export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse, createEmptyQrItem, createEmptyQrGroup, isSpecificItemControl, isRepeatItemAndNotCheckbox, initialiseQuestionnaireResponse, generateItemsToRepopulate, repopulateResponse, extractObservationBased, getQuestionnaireItem } from './utils';
|
|
9
9
|
export { RendererThemeProvider } from './theme';
|
|
10
10
|
export type { InitialiseFormWrapperProps } from './stories/storybookWrappers';
|
|
11
11
|
export { InitialiseFormWrapperForStorybook } from './stories/storybookWrappers';
|
package/lib/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { SmartFormsRenderer, BaseRenderer, SingleItem, RepeatItem, RepeatGroup, GroupTable, GridGroup, parseFhirDateToDisplayDate, ItemFieldGrid, StringField, FullWidthFormComponentBox } from './components';
|
|
2
2
|
export { questionnaireStore, useQuestionnaireStore, questionnaireResponseStore, useQuestionnaireResponseStore, smartConfigStore, useSmartConfigStore, terminologyServerStore, useTerminologyServerStore, rendererStylingStore, useRendererStylingStore } from './stores';
|
|
3
3
|
// hooks exports
|
|
4
|
-
export { useHidden, useReadOnly, useBuildForm, useRendererQueryClient, useRenderingExtensions, useValidationFeedback, useStringCalculatedExpression } from './hooks';
|
|
5
|
-
export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse, createEmptyQrItem, isSpecificItemControl, isRepeatItemAndNotCheckbox, initialiseQuestionnaireResponse, generateItemsToRepopulate, repopulateResponse, extractObservationBased } from './utils';
|
|
4
|
+
export { useHidden, useReadOnly, useBuildForm, useRendererQueryClient, useRenderingExtensions, useValidationFeedback, useStringCalculatedExpression, useDisplayCqfAndCalculatedExpression } from './hooks';
|
|
5
|
+
export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse, createEmptyQrItem, createEmptyQrGroup, isSpecificItemControl, isRepeatItemAndNotCheckbox, initialiseQuestionnaireResponse, generateItemsToRepopulate, repopulateResponse, extractObservationBased, getQuestionnaireItem } from './utils';
|
|
6
6
|
// theme provider exports
|
|
7
7
|
export { RendererThemeProvider } from './theme';
|
|
8
8
|
export { InitialiseFormWrapperForStorybook } from './stories/storybookWrappers';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAWtB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAElB,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,0BAA0B,EAC1B,aAAa,EACb,WAAW,EACX,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAWtB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAElB,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,oCAAoC,EACrC,MAAM,SAAS,CAAC;AAIjB,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,yBAAyB;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAIhD,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
2
|
+
import type { QrRepeatGroup } from './repeatGroup.interface';
|
|
2
3
|
export interface QItemOverrideComponentProps {
|
|
3
4
|
qItem: QuestionnaireItem;
|
|
4
|
-
qrItem: QuestionnaireResponseItem | null;
|
|
5
|
+
qrItem: QuestionnaireResponseItem | QuestionnaireResponseItem[] | null;
|
|
5
6
|
isRepeated: boolean;
|
|
6
|
-
isTabled
|
|
7
|
+
isTabled?: boolean;
|
|
8
|
+
groupCardElevation?: number;
|
|
7
9
|
parentIsReadOnly?: boolean;
|
|
10
|
+
parentIsRepeatGroup?: boolean;
|
|
11
|
+
parentRepeatGroupIndex?: number;
|
|
8
12
|
onQrItemChange: (qrItem: QuestionnaireResponseItem) => unknown;
|
|
13
|
+
onQrRepeatGroupChange: (qrRepeatGroup: QrRepeatGroup) => unknown;
|
|
9
14
|
}
|
|
10
15
|
export interface SdcUiOverrideComponentProps {
|
|
11
16
|
displayText: string;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { QuestionnaireItem, type QuestionnaireResponseItem } from 'fhir/r4';
|
|
2
|
+
|
|
2
3
|
export interface QItemOverrideComponentProps {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
qItem: QuestionnaireItem;
|
|
5
|
+
qrItem: QuestionnaireResponseItem | null;
|
|
6
|
+
isRepeated: boolean;
|
|
7
|
+
isTabled: boolean;
|
|
8
|
+
parentIsReadOnly?: boolean;
|
|
9
|
+
onQrItemChange: (qrItem: QuestionnaireResponseItem) => unknown;
|
|
9
10
|
}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
export interface ItemGridBreakpoints {
|
|
2
|
+
xs?: number;
|
|
3
|
+
sm?: number;
|
|
4
|
+
md?: number;
|
|
5
|
+
lg?: number;
|
|
6
|
+
xl?: number;
|
|
7
|
+
}
|
|
1
8
|
export interface RendererStyling {
|
|
2
9
|
itemLabelFontWeight?: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | 'default';
|
|
10
|
+
itemLabelGridBreakpoints?: ItemGridBreakpoints;
|
|
11
|
+
itemFieldGridBreakpoints?: ItemGridBreakpoints;
|
|
12
|
+
booleanAsCheckbox?: boolean;
|
|
3
13
|
enableWhenAsReadOnly?: boolean | 'non-group';
|
|
4
14
|
disablePageCardView?: boolean;
|
|
5
15
|
disablePageButtons?: boolean;
|
|
@@ -11,6 +21,8 @@ export interface RendererStyling {
|
|
|
11
21
|
*/
|
|
12
22
|
export interface RendererStylingStoreType {
|
|
13
23
|
itemLabelFontWeight: '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | 'default';
|
|
24
|
+
itemLabelGridBreakpoints: ItemGridBreakpoints;
|
|
25
|
+
itemFieldGridBreakpoints: ItemGridBreakpoints;
|
|
14
26
|
enableWhenAsReadOnly: boolean | 'non-group';
|
|
15
27
|
disablePageCardView: boolean;
|
|
16
28
|
disablePageButtons: boolean;
|
|
@@ -23,6 +35,8 @@ export declare const rendererStylingStore: import("zustand/vanilla").StoreApi<Re
|
|
|
23
35
|
export declare const useRendererStylingStore: import("zustand/vanilla").StoreApi<RendererStylingStoreType> & {
|
|
24
36
|
use: {
|
|
25
37
|
itemLabelFontWeight: () => "500" | "800" | "600" | "default" | "100" | "200" | "300" | "400" | "700" | "900";
|
|
38
|
+
itemLabelGridBreakpoints: () => ItemGridBreakpoints;
|
|
39
|
+
itemFieldGridBreakpoints: () => ItemGridBreakpoints;
|
|
26
40
|
enableWhenAsReadOnly: () => boolean | "non-group";
|
|
27
41
|
disablePageCardView: () => boolean;
|
|
28
42
|
disablePageButtons: () => boolean;
|
|
@@ -21,17 +21,21 @@ import { createSelectors } from './selector';
|
|
|
21
21
|
*/
|
|
22
22
|
export const rendererStylingStore = createStore()((set) => ({
|
|
23
23
|
itemLabelFontWeight: 'default',
|
|
24
|
+
itemLabelGridBreakpoints: { xs: 12, md: 4 },
|
|
25
|
+
itemFieldGridBreakpoints: { xs: 12, md: 8 },
|
|
24
26
|
enableWhenAsReadOnly: false,
|
|
25
27
|
disablePageCardView: false,
|
|
26
28
|
disablePageButtons: false,
|
|
27
29
|
setRendererStyling: (params) => {
|
|
28
30
|
set(() => {
|
|
29
|
-
var _a, _b, _c, _d;
|
|
31
|
+
var _a, _b, _c, _d, _e, _f;
|
|
30
32
|
return ({
|
|
31
33
|
itemLabelFontWeight: (_a = params.itemLabelFontWeight) !== null && _a !== void 0 ? _a : 'default',
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
itemLabelGridBreakpoints: (_b = params.itemLabelGridBreakpoints) !== null && _b !== void 0 ? _b : { xs: 12, md: 4 },
|
|
35
|
+
itemFieldGridBreakpoints: (_c = params.itemFieldGridBreakpoints) !== null && _c !== void 0 ? _c : { xs: 12, md: 8 },
|
|
36
|
+
enableWhenAsReadOnly: (_d = params.enableWhenAsReadOnly) !== null && _d !== void 0 ? _d : false,
|
|
37
|
+
disablePageCardView: (_e = params.disablePageCardView) !== null && _e !== void 0 ? _e : false,
|
|
38
|
+
disablePageButtons: (_f = params.disablePageButtons) !== null && _f !== void 0 ? _f : false
|
|
35
39
|
});
|
|
36
40
|
});
|
|
37
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rendererStylingStore.js","sourceRoot":"","sources":["../../src/stores/rendererStylingStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rendererStylingStore.js","sourceRoot":"","sources":["../../src/stores/rendererStylingStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAuD7C;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,EAA4B,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpF,mBAAmB,EAAE,SAAS;IAC9B,wBAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;IAC3C,wBAAwB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;IAC3C,oBAAoB,EAAE,KAAK;IAC3B,mBAAmB,EAAE,KAAK;IAC1B,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,CAAC,MAAuB,EAAE,EAAE;QAC9C,GAAG,CAAC,GAAG,EAAE;;YAAC,OAAA,CAAC;gBACT,mBAAmB,EAAE,MAAA,MAAM,CAAC,mBAAmB,mCAAI,SAAS;gBAC5D,wBAAwB,EAAE,MAAA,MAAM,CAAC,wBAAwB,mCAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;gBAC9E,wBAAwB,EAAE,MAAA,MAAM,CAAC,wBAAwB,mCAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;gBAC9E,oBAAoB,EAAE,MAAA,MAAM,CAAC,oBAAoB,mCAAI,KAAK;gBAC1D,mBAAmB,EAAE,MAAA,MAAM,CAAC,mBAAmB,mCAAI,KAAK;gBACxD,kBAAkB,EAAE,MAAA,MAAM,CAAC,kBAAkB,mCAAI,KAAK;aACvD,CAAC,CAAA;SAAA,CAAC,CAAC;IACN,CAAC;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC"}
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse } from './manageForm';
|
|
2
2
|
export { initialiseQuestionnaireResponse } from './initialise';
|
|
3
|
-
export { createEmptyQrItem } from './qrItem';
|
|
3
|
+
export { createEmptyQrItem, createEmptyQrGroup } from './qrItem';
|
|
4
4
|
export { isSpecificItemControl } from './itemControl';
|
|
5
5
|
export { isRepeatItemAndNotCheckbox } from './qItem';
|
|
6
6
|
export type { ItemToRepopulate } from './repopulateItems';
|
|
7
7
|
export { generateItemsToRepopulate } from './repopulateItems';
|
|
8
8
|
export { repopulateResponse } from './repopulateIntoResponse';
|
|
9
9
|
export { extractObservationBased } from './extractObservation';
|
|
10
|
+
export { getQuestionnaireItem } from './misc';
|
package/lib/utils/index.js
CHANGED
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
*/
|
|
17
17
|
export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse } from './manageForm';
|
|
18
18
|
export { initialiseQuestionnaireResponse } from './initialise';
|
|
19
|
-
export { createEmptyQrItem } from './qrItem';
|
|
19
|
+
export { createEmptyQrItem, createEmptyQrGroup } from './qrItem';
|
|
20
20
|
export { isSpecificItemControl } from './itemControl';
|
|
21
21
|
export { isRepeatItemAndNotCheckbox } from './qItem';
|
|
22
22
|
export { generateItemsToRepopulate } from './repopulateItems';
|
|
23
23
|
export { repopulateResponse } from './repopulateIntoResponse';
|
|
24
24
|
export { extractObservationBased } from './extractObservation';
|
|
25
|
+
export { getQuestionnaireItem } from './misc';
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC"}
|
package/lib/utils/misc.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { Questionnaire, QuestionnaireItem } from 'fhir/r4';
|
|
2
2
|
import type { Tabs } from '../interfaces';
|
|
3
3
|
export declare function getQuestionnaireItem(questionnaire: Questionnaire, targetLinkId: string): QuestionnaireItem | null;
|
|
4
|
-
export declare function getQuestionnaireItemRecursive(qItem: QuestionnaireItem, targetLinkId: string): QuestionnaireItem | null;
|
|
5
4
|
export declare function getParentItem(questionnaire: Questionnaire, targetLinkId: string): QuestionnaireItem | null;
|
|
6
5
|
export declare function getRepeatGroupParentItem(questionnaire: Questionnaire, targetLinkId: string): QuestionnaireItem | null;
|
|
7
6
|
export declare function getSectionHeading(questionnaire: Questionnaire, targetLinkId: string, tabs: Tabs): string | null;
|
package/lib/utils/misc.js
CHANGED
|
@@ -29,7 +29,7 @@ export function getQuestionnaireItem(questionnaire, targetLinkId) {
|
|
|
29
29
|
// No matching item found in the questionnaire, return null
|
|
30
30
|
return null;
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
function getQuestionnaireItemRecursive(qItem, targetLinkId) {
|
|
33
33
|
// Target linkId found in current item
|
|
34
34
|
if (qItem.linkId === targetLinkId) {
|
|
35
35
|
return qItem;
|
package/lib/utils/misc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,UAAU,oBAAoB,CAClC,aAA4B,EAC5B,YAAoB;IAEpB,iDAAiD;IACjD,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC;IAC1C,IAAI,cAAc,EAAE;QAClB,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;YAC1C,MAAM,UAAU,GAAG,6BAA6B,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC9E,IAAI,UAAU,EAAE;gBACd,OAAO,UAAU,CAAC;aACnB;SACF;KACF;IAED,2DAA2D;IAC3D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -27,6 +27,9 @@ import ChoiceRadioSingle from '../ChoiceItems/ChoiceRadioSingle';
|
|
|
27
27
|
import { StyledRadioGroup } from '../Item.styles';
|
|
28
28
|
import { getChoiceOrientation } from '../../../utils/choice';
|
|
29
29
|
import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
30
|
+
import Checkbox from '@mui/material/Checkbox';
|
|
31
|
+
import FormControlLabel from '@mui/material/FormControlLabel';
|
|
32
|
+
import { isSpecificItemControl } from '../../../utils';
|
|
30
33
|
|
|
31
34
|
interface BooleanFieldProps {
|
|
32
35
|
qItem: QuestionnaireItem;
|
|
@@ -40,6 +43,8 @@ interface BooleanFieldProps {
|
|
|
40
43
|
const BooleanField = memo(function BooleanField(props: BooleanFieldProps) {
|
|
41
44
|
const { qItem, readOnly, valueBoolean, calcExpUpdated, onCheckedChange, onClear } = props;
|
|
42
45
|
|
|
46
|
+
const booleanAsCheckbox = isSpecificItemControl(qItem, 'check-box');
|
|
47
|
+
|
|
43
48
|
// defaults to horizontal, only set to vertical if explicitly set
|
|
44
49
|
const orientation = getChoiceOrientation(qItem) ?? ChoiceItemOrientation.Horizontal;
|
|
45
50
|
|
|
@@ -47,15 +52,38 @@ const BooleanField = memo(function BooleanField(props: BooleanFieldProps) {
|
|
|
47
52
|
|
|
48
53
|
return (
|
|
49
54
|
<Box display="flex" alignItems="center">
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
{booleanAsCheckbox ? (
|
|
56
|
+
<FormControlLabel
|
|
57
|
+
id={qItem.linkId}
|
|
58
|
+
disabled={readOnly}
|
|
59
|
+
control={
|
|
60
|
+
<Checkbox
|
|
61
|
+
size="small"
|
|
62
|
+
checked={selection === 'true'}
|
|
63
|
+
onChange={() => {
|
|
64
|
+
if (selection === 'true') {
|
|
65
|
+
onCheckedChange('false');
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (selection === 'false' || selection === null) {
|
|
69
|
+
onCheckedChange('true');
|
|
70
|
+
}
|
|
71
|
+
}}
|
|
72
|
+
/>
|
|
73
|
+
}
|
|
74
|
+
label=""
|
|
75
|
+
/>
|
|
76
|
+
) : (
|
|
77
|
+
<StyledRadioGroup
|
|
78
|
+
id={qItem.linkId}
|
|
79
|
+
row={orientation === ChoiceItemOrientation.Horizontal}
|
|
80
|
+
name={qItem.text}
|
|
81
|
+
onChange={(e) => onCheckedChange(e.target.value)}
|
|
82
|
+
value={selection}>
|
|
83
|
+
<ChoiceRadioSingle value="true" label="Yes" readOnly={readOnly} />
|
|
84
|
+
<ChoiceRadioSingle value="false" label="No" readOnly={readOnly} />
|
|
85
|
+
</StyledRadioGroup>
|
|
86
|
+
)}
|
|
59
87
|
|
|
60
88
|
<Box flexGrow={1} />
|
|
61
89
|
|
|
@@ -31,6 +31,7 @@ import SingleItem from '../SingleItem/SingleItem';
|
|
|
31
31
|
import useHidden from '../../../hooks/useHidden';
|
|
32
32
|
import GroupItem from './GroupItem';
|
|
33
33
|
import GridGroup from '../GridGroup/GridGroup';
|
|
34
|
+
import { useQuestionnaireStore } from '../../../stores';
|
|
34
35
|
|
|
35
36
|
interface GroupItemSwitcherProps
|
|
36
37
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -54,11 +55,32 @@ function GroupItemSwitcher(props: GroupItemSwitcherProps) {
|
|
|
54
55
|
onQrRepeatGroupChange
|
|
55
56
|
} = props;
|
|
56
57
|
|
|
58
|
+
const qItemOverrideComponents = useQuestionnaireStore.use.qItemOverrideComponents();
|
|
59
|
+
const QItemOverrideComponent = qItemOverrideComponents[qItem.linkId];
|
|
60
|
+
|
|
57
61
|
const itemIsHidden = useHidden(qItem, parentRepeatGroupIndex);
|
|
58
62
|
if (itemIsHidden) {
|
|
59
63
|
return null;
|
|
60
64
|
}
|
|
61
65
|
|
|
66
|
+
// If a qItem override component is defined for this item, render it
|
|
67
|
+
// Don't get too strict with the "typeof" checks for now
|
|
68
|
+
if (QItemOverrideComponent && typeof QItemOverrideComponent === 'function') {
|
|
69
|
+
return (
|
|
70
|
+
<QItemOverrideComponent
|
|
71
|
+
qItem={qItem}
|
|
72
|
+
qrItem={qrItemOrItems ?? null}
|
|
73
|
+
isRepeated={!!qItem.repeats}
|
|
74
|
+
groupCardElevation={groupCardElevation}
|
|
75
|
+
parentIsReadOnly={parentIsReadOnly}
|
|
76
|
+
parentIsRepeatGroup={parentIsRepeatGroup}
|
|
77
|
+
parentRepeatGroupIndex={parentRepeatGroupIndex}
|
|
78
|
+
onQrItemChange={onQrItemChange}
|
|
79
|
+
onQrRepeatGroupChange={onQrRepeatGroupChange}
|
|
80
|
+
/>
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
|
|
62
84
|
// If there are multiple answers
|
|
63
85
|
const hasMultipleAnswers = Array.isArray(qrItemOrItems);
|
|
64
86
|
if (hasMultipleAnswers) {
|
|
@@ -17,12 +17,13 @@
|
|
|
17
17
|
|
|
18
18
|
import type { ReactNode } from 'react';
|
|
19
19
|
import React from 'react';
|
|
20
|
-
import Grid from '@mui/material/
|
|
20
|
+
import Grid from '@mui/material/Unstable_Grid2';
|
|
21
21
|
import type { QuestionnaireItem } from 'fhir/r4';
|
|
22
22
|
import DisplayInstructions from '../DisplayItem/DisplayInstructions';
|
|
23
23
|
import LabelWrapper from './ItemLabelWrapper';
|
|
24
24
|
import useRenderingExtensions from '../../../hooks/useRenderingExtensions';
|
|
25
25
|
import Box from '@mui/material/Box';
|
|
26
|
+
import { useRendererStylingStore } from '../../../stores';
|
|
26
27
|
|
|
27
28
|
interface ItemFieldGridProps {
|
|
28
29
|
children: ReactNode;
|
|
@@ -33,11 +34,19 @@ interface ItemFieldGridProps {
|
|
|
33
34
|
function ItemFieldGrid(props: ItemFieldGridProps) {
|
|
34
35
|
const { children, qItem, readOnly } = props;
|
|
35
36
|
|
|
37
|
+
const itemLabelGridBreakpoints = useRendererStylingStore.use.itemLabelGridBreakpoints();
|
|
38
|
+
const itemFieldGridBreakpoints = useRendererStylingStore.use.itemFieldGridBreakpoints();
|
|
39
|
+
|
|
36
40
|
const { displayInstructions } = useRenderingExtensions(qItem);
|
|
37
41
|
|
|
38
42
|
return (
|
|
39
|
-
<Grid container columnSpacing={
|
|
40
|
-
<Grid
|
|
43
|
+
<Grid container columnSpacing={3.5}>
|
|
44
|
+
<Grid
|
|
45
|
+
xs={itemLabelGridBreakpoints.xs}
|
|
46
|
+
sm={itemLabelGridBreakpoints.sm}
|
|
47
|
+
md={itemLabelGridBreakpoints.md}
|
|
48
|
+
lg={itemLabelGridBreakpoints.lg}
|
|
49
|
+
xl={itemLabelGridBreakpoints.xl}>
|
|
41
50
|
<LabelWrapper qItem={qItem} readOnly={readOnly} />
|
|
42
51
|
</Grid>
|
|
43
52
|
<Box
|
|
@@ -45,7 +54,12 @@ function ItemFieldGrid(props: ItemFieldGridProps) {
|
|
|
45
54
|
my: { xs: 1.5, md: 0 } // Adds padding for `xs` breakpoint and removes it for `md` and up
|
|
46
55
|
}}
|
|
47
56
|
/>
|
|
48
|
-
<Grid
|
|
57
|
+
<Grid
|
|
58
|
+
xs={itemFieldGridBreakpoints.xs}
|
|
59
|
+
sm={itemFieldGridBreakpoints.sm}
|
|
60
|
+
md={itemFieldGridBreakpoints.md}
|
|
61
|
+
lg={itemFieldGridBreakpoints.lg}
|
|
62
|
+
xl={itemFieldGridBreakpoints.xl}>
|
|
49
63
|
{children}
|
|
50
64
|
<DisplayInstructions displayInstructions={displayInstructions} readOnly={readOnly} />
|
|
51
65
|
</Grid>
|