@aehrc/smart-forms-renderer 0.33.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/FormComponents/GroupItem/GroupAccordion.styles.d.ts +20 -0
- package/lib/components/FormComponents/GroupItem/GroupAccordion.styles.js +12 -0
- package/lib/components/FormComponents/GroupItem/GroupAccordion.styles.js.map +1 -0
- package/lib/components/FormComponents/GroupItem/GroupHeading.js +3 -2
- package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItem.js +2 -15
- package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItem.styles.d.ts +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.d.ts +1 -2
- package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItemView.d.ts +16 -0
- package/lib/components/FormComponents/GroupItem/GroupItemView.js +62 -0
- package/lib/components/FormComponents/GroupItem/GroupItemView.js.map +1 -0
- package/lib/components/FormComponents/ItemParts/ItemLabelText.js +20 -6
- package/lib/components/FormComponents/ItemParts/ItemLabelText.js.map +1 -1
- package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js +4 -2
- package/lib/components/FormComponents/ItemParts/ItemLabelWrapper.js.map +1 -1
- package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js +2 -37
- package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -1
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.d.ts +20 -0
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.js +91 -0
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.js.map +1 -0
- package/lib/components/FormComponents/SingleItem/SingleItem.js +13 -4
- package/lib/components/FormComponents/SingleItem/SingleItem.js.map +1 -1
- package/lib/components/FormComponents/SingleItem/SingleNestedItems.js +11 -7
- package/lib/components/FormComponents/SingleItem/SingleNestedItems.js.map +1 -1
- package/lib/components/Renderer/FormBodySingleCollapsible.js +5 -4
- package/lib/components/Renderer/FormBodySingleCollapsible.js.map +1 -1
- package/lib/theme/overrides/Accordion.js +1 -1
- package/lib/theme/overrides/Accordion.js.map +1 -1
- package/lib/utils/itemControl.d.ts +1 -0
- package/lib/utils/itemControl.js +9 -0
- package/lib/utils/itemControl.js.map +1 -1
- package/lib/utils/qItem.d.ts +2 -0
- package/lib/utils/qItem.js +14 -0
- package/lib/utils/qItem.js.map +1 -1
- package/package.json +3 -2
- package/src/components/FormComponents/GroupItem/GroupAccordion.styles.ts +12 -0
- package/src/components/FormComponents/GroupItem/GroupHeading.tsx +3 -3
- package/src/components/FormComponents/GroupItem/GroupItem.tsx +15 -39
- package/src/components/FormComponents/GroupItem/GroupItemSwitcher.tsx +2 -2
- package/src/components/FormComponents/GroupItem/GroupItemView.tsx +163 -0
- package/src/components/FormComponents/ItemParts/ItemLabelText.tsx +22 -11
- package/src/components/FormComponents/ItemParts/ItemLabelWrapper.tsx +8 -1
- package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +11 -82
- package/src/components/FormComponents/RepeatGroup/RepeatGroupView.tsx +202 -0
- package/src/components/FormComponents/SingleItem/SingleItem.tsx +40 -11
- package/src/components/FormComponents/SingleItem/SingleNestedItems.tsx +24 -19
- package/src/components/Renderer/FormBodySingleCollapsible.tsx +7 -9
- package/src/stories/assets/questionnaires/QAdvancedControlAppearance.ts +333 -3
- package/src/stories/assets/questionnaires/QAdvancedTextApperance.ts +29 -0
- package/src/stories/assets/questionnaires/QDisplay.ts +82 -0
- package/src/stories/assets/questionnaires/QMbs715Tester.ts +32888 -0
- package/src/stories/itemTypes/Display.stories.tsx +11 -1
- package/src/stories/sdc/AdvancedControlAppearance.stories.tsx +26 -1
- package/src/stories/sdc/AdvancedTextAppearance.stories.tsx +7 -0
- package/src/stories/testing/Mbs715Tester.stories.tsx +57 -0
- package/src/theme/overrides/Accordion.ts +1 -1
- package/src/utils/itemControl.ts +14 -0
- package/src/utils/qItem.ts +24 -0
|
@@ -14,12 +14,15 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import React, { useCallback } from 'react';
|
|
17
|
+
import React, { useCallback, useMemo } from 'react';
|
|
18
18
|
import { useQuestionnaireStore } from '../../../stores';
|
|
19
19
|
import SingleItemSwitcher from './SingleItemSwitcher';
|
|
20
20
|
import useHidden from '../../../hooks/useHidden';
|
|
21
21
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
22
22
|
import SingleNestedItems from './SingleNestedItems';
|
|
23
|
+
import { GroupCard } from '../GroupItem/GroupItem.styles';
|
|
24
|
+
import { QGroupContainerBox } from '../../Box.styles';
|
|
25
|
+
import { shouldRenderNestedItems } from '../../../utils/itemControl';
|
|
23
26
|
/**
|
|
24
27
|
* Main component to render a repeating, non-group Questionnaire item.
|
|
25
28
|
* Store and manages the state of multiple instances of SingleItem in a repeating item.
|
|
@@ -49,15 +52,21 @@ function SingleItem(props) {
|
|
|
49
52
|
const updatedQrItem = qrItem ? Object.assign(Object.assign({}, qrItem), { item: newQrItem.item }) : newQrItem;
|
|
50
53
|
onQrItemChange(updatedQrItem);
|
|
51
54
|
}, [qrItem, onQrItemChange]);
|
|
52
|
-
const qItemHasNestedItems = !!qItem.item && qItem.item.length > 0;
|
|
55
|
+
const qItemHasNestedItems = useMemo(() => !!qItem.item && qItem.item.length > 0 && shouldRenderNestedItems(qItem), [qItem]);
|
|
53
56
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
54
57
|
const itemIsHidden = useHidden(qItem, parentRepeatGroupIndex);
|
|
55
58
|
if (itemIsHidden) {
|
|
56
59
|
return null;
|
|
57
60
|
}
|
|
61
|
+
if (qItemHasNestedItems) {
|
|
62
|
+
return (React.createElement(QGroupContainerBox, { cardElevation: groupCardElevation, isRepeated: isRepeated, "data-test": "q-item-group-box" },
|
|
63
|
+
React.createElement(GroupCard, { elevation: groupCardElevation, isRepeated: isRepeated },
|
|
64
|
+
React.createElement(SingleItemSwitcher, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, showMinimalView: showMinimalView, parentIsReadOnly: readOnly, onQrItemChange: handleQrItemChange }),
|
|
65
|
+
qItemHasNestedItems ? (React.createElement(React.Fragment, null,
|
|
66
|
+
React.createElement(SingleNestedItems, { qItem: qItem, qrItem: qrItem, groupCardElevation: groupCardElevation, parentIsReadOnly: readOnly, onQrItemChange: handleQrItemChangeWithNestedItems }))) : null)));
|
|
67
|
+
}
|
|
58
68
|
return (React.createElement(React.Fragment, null,
|
|
59
|
-
React.createElement(SingleItemSwitcher, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, showMinimalView: showMinimalView, parentIsReadOnly: readOnly, onQrItemChange: handleQrItemChange })
|
|
60
|
-
qItemHasNestedItems ? (React.createElement(SingleNestedItems, { qItem: qItem, qrItem: qrItem, groupCardElevation: groupCardElevation, parentIsReadOnly: readOnly, onQrItemChange: handleQrItemChangeWithNestedItems })) : null));
|
|
69
|
+
React.createElement(SingleItemSwitcher, { qItem: qItem, qrItem: qrItem, isRepeated: isRepeated, isTabled: isTabled, showMinimalView: showMinimalView, parentIsReadOnly: readOnly, onQrItemChange: handleQrItemChange })));
|
|
61
70
|
}
|
|
62
71
|
export default SingleItem;
|
|
63
72
|
//# sourceMappingURL=SingleItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/SingleItem/SingleItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"SingleItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/SingleItem/SingleItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ import React, { useMemo } from 'react';
|
|
|
18
18
|
import { getQrItemsIndex, mapQItemsIndex } from '../../../utils/mapItem';
|
|
19
19
|
import GroupItemSwitcher from '../GroupItem/GroupItemSwitcher';
|
|
20
20
|
import { createEmptyQrGroup, updateQrItemsInGroup } from '../../../utils/qrItem';
|
|
21
|
+
import Box from '@mui/material/Box';
|
|
21
22
|
function SingleNestedItems(props) {
|
|
22
23
|
const { qItem, qrItem, groupCardElevation, parentIsReadOnly, onQrItemChange } = props;
|
|
23
24
|
const qItemsIndexMap = useMemo(() => mapQItemsIndex(qItem), [qItem]);
|
|
@@ -39,13 +40,16 @@ function SingleNestedItems(props) {
|
|
|
39
40
|
return React.createElement(React.Fragment, null, "Unable to load group, something has gone terribly wrong.");
|
|
40
41
|
}
|
|
41
42
|
const qrItemsByIndex = getQrItemsIndex(qItems, qrItems, qItemsIndexMap);
|
|
42
|
-
return (React.createElement(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
return (React.createElement(Box, { display: "flex" },
|
|
44
|
+
React.createElement(Box, { ml: 1.5 }),
|
|
45
|
+
React.createElement(Box, { flexGrow: 1 }, qItems.map((qItem, i) => {
|
|
46
|
+
const qrItemOrItems = qrItemsByIndex[i];
|
|
47
|
+
if (qItem.type === 'display') {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
return (React.createElement(GroupItemSwitcher, { key: qItem.linkId, qItem: qItem, qrItemOrItems: qrItemOrItems, groupCardElevation: groupCardElevation, parentIsReadOnly: parentIsReadOnly, onQrItemChange: handleQrItemChange, onQrRepeatGroupChange: handleQrRepeatGroupChange }));
|
|
51
|
+
})),
|
|
52
|
+
React.createElement(Box, { mr: 2.25 })));
|
|
49
53
|
}
|
|
50
54
|
export default SingleNestedItems;
|
|
51
55
|
//# sourceMappingURL=SingleNestedItems.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleNestedItems.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/SingleItem/SingleNestedItems.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"SingleNestedItems.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/SingleItem/SingleNestedItems.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAMjF,OAAO,GAAG,MAAM,mBAAmB,CAAC;AAUpC,SAAS,iBAAiB,CAAC,KAA6B;IACtD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAEtF,MAAM,cAAc,GAA2B,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7F,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1B,MAAM,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAE7B,iBAAiB;IACjB,SAAS,kBAAkB,CAAC,SAAoC;QAC9D,MAAM,cAAc,qBAAmC,OAAO,CAAE,CAAC;QACjE,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QACtE,cAAc,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,yBAAyB,CAAC,aAA4B;QAC7D,MAAM,cAAc,qBAAmC,OAAO,CAAE,CAAC;QACjE,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAC1E,cAAc,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;QACvB,OAAO,qGAA6D,CAAC;KACtE;IAED,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;IAExE,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM;QACjB,oBAAC,GAAG,IAAC,EAAE,EAAE,GAAG,GAAI;QAChB,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,IACb,MAAM,CAAC,GAAG,CAAC,CAAC,KAAwB,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAExC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACb;YAED,OAAO,CACL,oBAAC,iBAAiB,IAChB,GAAG,EAAE,KAAK,CAAC,MAAM,EACjB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,kBAAkB,EAClC,qBAAqB,EAAE,yBAAyB,GAChD,CACH,CAAC;QACJ,CAAC,CAAC,CACE;QACN,oBAAC,GAAG,IAAC,EAAE,EAAE,IAAI,GAAQ,CACjB,CACP,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -19,7 +19,6 @@ import Accordion from '@mui/material/Accordion';
|
|
|
19
19
|
import AccordionDetails from '@mui/material/AccordionDetails';
|
|
20
20
|
import AccordionSummary from '@mui/material/AccordionSummary';
|
|
21
21
|
import Box from '@mui/material/Box';
|
|
22
|
-
import Tooltip from '@mui/material/Tooltip';
|
|
23
22
|
import Typography from '@mui/material/Typography';
|
|
24
23
|
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
|
|
25
24
|
import { getContextDisplays } from '../../utils/tabs';
|
|
@@ -30,9 +29,11 @@ const FormBodySingleCollapsible = memo(function FormBodySingleCollapsible(props)
|
|
|
30
29
|
const { qItem, index, selectedIndex, onToggleExpand, children } = props;
|
|
31
30
|
const contextDisplayItems = getContextDisplays(qItem);
|
|
32
31
|
const collapsibleLabel = (_b = (_a = getShortText(qItem)) !== null && _a !== void 0 ? _a : qItem.text) !== null && _b !== void 0 ? _b : '';
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const isExpanded = selectedIndex === index;
|
|
33
|
+
return (React.createElement(Accordion, { expanded: isExpanded, slotProps: {
|
|
34
|
+
transition: { unmountOnExit: true, timeout: 250 }
|
|
35
|
+
}, onChange: () => onToggleExpand(index) },
|
|
36
|
+
React.createElement(AccordionSummary, { expandIcon: React.createElement(ExpandMoreIcon, null) },
|
|
36
37
|
React.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "space-between", width: "100%", mr: 3 },
|
|
37
38
|
React.createElement(Typography, { variant: "subtitle2" }, collapsibleLabel),
|
|
38
39
|
React.createElement(Box, { display: "flex", columnGap: 0.5 }, contextDisplayItems.map((item) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBodySingleCollapsible.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodySingleCollapsible.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"FormBodySingleCollapsible.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodySingleCollapsible.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,kBAAkB,MAAM,gDAAgD,CAAC;AAUhF,MAAM,yBAAyB,GAAG,IAAI,CAAC,SAAS,yBAAyB,CACvE,KAAqC;;IAErC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAExE,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,gBAAgB,GAAG,MAAA,MAAA,YAAY,CAAC,KAAK,CAAC,mCAAI,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC;IAEjE,MAAM,UAAU,GAAG,aAAa,KAAK,KAAK,CAAC;IAE3C,OAAO,CACL,oBAAC,SAAS,IACR,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE;YACT,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE;SAClD,EACD,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;QACrC,oBAAC,gBAAgB,IAAC,UAAU,EAAE,oBAAC,cAAc,OAAG;YAC9C,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,eAAe,EAAC,KAAK,EAAC,MAAM,EAAC,EAAE,EAAE,CAAC;gBACvF,oBAAC,UAAU,IAAC,OAAO,EAAC,WAAW,IAAE,gBAAgB,CAAc;gBAC/D,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAE,GAAG,IAC/B,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChC,OAAO,oBAAC,kBAAkB,IAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,GAAI,CAAC;gBACrE,CAAC,CAAC,CACE,CACF,CACW;QACnB,oBAAC,gBAAgB,QAAE,QAAQ,CAAoB,CACrC,CACb,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,yBAAyB,CAAC"}
|
|
@@ -19,7 +19,7 @@ export default function Accordion(theme) {
|
|
|
19
19
|
MuiAccordion: {
|
|
20
20
|
styleOverrides: {
|
|
21
21
|
root: {
|
|
22
|
-
boxShadow: theme.customShadows.
|
|
22
|
+
boxShadow: theme.customShadows.card,
|
|
23
23
|
borderRadius: Number(theme.shape.borderRadius) * 2,
|
|
24
24
|
'&:before': {
|
|
25
25
|
display: 'none'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../../src/theme/overrides/Accordion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAY;IAC5C,OAAO;QACL,YAAY,EAAE;YACZ,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../../src/theme/overrides/Accordion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAY;IAC5C,OAAO;QACL,YAAY,EAAE;YACZ,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI;oBACnC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC;oBAClD,UAAU,EAAE;wBACV,OAAO,EAAE,MAAM;qBAChB;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Extension, QuestionnaireItem } from 'fhir/r4';
|
|
2
2
|
import type { RegexValidation } from '../interfaces/regex.interface';
|
|
3
|
+
export declare function shouldRenderNestedItems(qItem: QuestionnaireItem): boolean;
|
|
3
4
|
/**
|
|
4
5
|
* Check if the extension has an itemControl code equal to the given itemControlCode
|
|
5
6
|
*
|
package/lib/utils/itemControl.js
CHANGED
|
@@ -15,6 +15,15 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import { structuredDataCapture } from 'fhir-sdc-helpers';
|
|
18
|
+
function hasItemControl(qItem) {
|
|
19
|
+
var _a;
|
|
20
|
+
return !!((_a = qItem.extension) === null || _a === void 0 ? void 0 : _a.some((extension) => extension.url === 'http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl'));
|
|
21
|
+
}
|
|
22
|
+
// If all nested items are of type display and have itemControl, then they should not be rendered
|
|
23
|
+
export function shouldRenderNestedItems(qItem) {
|
|
24
|
+
var _a;
|
|
25
|
+
return !((_a = qItem.item) === null || _a === void 0 ? void 0 : _a.every((childItem) => childItem.type === 'display' && hasItemControl(childItem)));
|
|
26
|
+
}
|
|
18
27
|
/**
|
|
19
28
|
* Check if the extension has an itemControl code equal to the given itemControlCode
|
|
20
29
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itemControl.js","sourceRoot":"","sources":["../../src/utils/itemControl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"itemControl.js","sourceRoot":"","sources":["../../src/utils/itemControl.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/qItem.d.ts
CHANGED
|
@@ -18,4 +18,6 @@ export declare function isRepeatItemAndNotCheckbox(qItem: QuestionnaireItem): bo
|
|
|
18
18
|
export declare function getXHtmlStringFromQuestionnaire(questionnaire: Questionnaire): string | null;
|
|
19
19
|
export declare function getLinkIdTypeTuples(questionnaire: Questionnaire): [string, string][];
|
|
20
20
|
export declare function getLinkIdTypeTuplesFromItemRecursive(qItem: QuestionnaireItem): [string, string][];
|
|
21
|
+
export type CollapsibleType = 'default-open' | 'default-closed';
|
|
22
|
+
export declare function getGroupCollapsible(qItem: QuestionnaireItem): CollapsibleType | null;
|
|
21
23
|
export {};
|
package/lib/utils/qItem.js
CHANGED
|
@@ -84,4 +84,18 @@ export function getLinkIdTypeTuplesFromItemRecursive(qItem) {
|
|
|
84
84
|
}
|
|
85
85
|
return linkIds;
|
|
86
86
|
}
|
|
87
|
+
function valueCodeIsCollapsibleType(valueCode) {
|
|
88
|
+
return valueCode === 'default-open' || valueCode === 'default-closed';
|
|
89
|
+
}
|
|
90
|
+
export function getGroupCollapsible(qItem) {
|
|
91
|
+
var _a;
|
|
92
|
+
const collapsibleExtension = (_a = qItem.extension) === null || _a === void 0 ? void 0 : _a.find((ext) => ext.url === 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-collapsible');
|
|
93
|
+
if (collapsibleExtension) {
|
|
94
|
+
if (collapsibleExtension.valueCode &&
|
|
95
|
+
valueCodeIsCollapsibleType(collapsibleExtension.valueCode)) {
|
|
96
|
+
return collapsibleExtension.valueCode;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
87
101
|
//# sourceMappingURL=qItem.js.map
|
package/lib/utils/qItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qItem.js","sourceRoot":"","sources":["../../src/utils/qItem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"qItem.js","sourceRoot":"","sources":["../../src/utils/qItem.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aehrc/smart-forms-renderer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.0",
|
|
4
4
|
"description": "FHIR Structured Data Captured (SDC) rendering engine for Smart Forms",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"homepage": "https://github.com/aehrc/smart-forms#readme",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@aehrc/sdc-populate": "^2.
|
|
30
|
+
"@aehrc/sdc-populate": "^2.2.0",
|
|
31
31
|
"@iconify/react": "^4.1.1",
|
|
32
32
|
"dayjs": "^1.11.10",
|
|
33
33
|
"deep-diff": "^1.0.2",
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"react-dnd": "^16.0.1",
|
|
43
43
|
"react-dnd-html5-backend": "^16.0.1",
|
|
44
44
|
"react-markdown": "^8.0.7",
|
|
45
|
+
"style-to-object": "^1.0.6",
|
|
45
46
|
"zustand": "^4.5.2"
|
|
46
47
|
},
|
|
47
48
|
"peerDependencies": {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { styled } from '@mui/material/styles';
|
|
2
|
+
import Accordion from '@mui/material/Accordion';
|
|
3
|
+
|
|
4
|
+
export const GroupAccordion = styled(Accordion, {
|
|
5
|
+
shouldForwardProp: (prop) => prop !== 'elevation' && prop !== 'isRepeated'
|
|
6
|
+
})<{ elevation: number; isRepeated: boolean }>(({ elevation, isRepeated }) => ({
|
|
7
|
+
paddingTop: '8px',
|
|
8
|
+
paddingBottom: '4px',
|
|
9
|
+
paddingLeft: elevation === 1 ? '10px' : '8px',
|
|
10
|
+
paddingRight: elevation === 1 ? '10px' : '8px',
|
|
11
|
+
marginBottom: isRepeated ? 0 : '28px'
|
|
12
|
+
}));
|
|
@@ -44,15 +44,15 @@ const GroupHeading = memo(function GroupHeading(props: GroupHeadingProps) {
|
|
|
44
44
|
|
|
45
45
|
return (
|
|
46
46
|
<>
|
|
47
|
-
<Box display="flex" alignItems="center"
|
|
47
|
+
<Box display="flex" alignItems="center" width="100%">
|
|
48
48
|
<Typography
|
|
49
49
|
variant="h6"
|
|
50
50
|
fontSize={isTabHeading ? 16 : 15}
|
|
51
51
|
color={readOnly && !isTabHeading ? 'text.secondary' : 'text.primary'}>
|
|
52
52
|
<ItemLabelText qItem={qItem} />
|
|
53
53
|
</Typography>
|
|
54
|
-
|
|
55
|
-
<Box display="flex" columnGap={0.5}>
|
|
54
|
+
<Box flexGrow={1} />
|
|
55
|
+
<Box display="flex" columnGap={0.5} mx={1}>
|
|
56
56
|
{contextDisplayItems.map((item) => {
|
|
57
57
|
return <ContextDisplayItem key={item.linkId} displayItem={item} />;
|
|
58
58
|
})}
|
|
@@ -19,7 +19,6 @@ import React, { useMemo } from 'react';
|
|
|
19
19
|
import { getQrItemsIndex, mapQItemsIndex } from '../../../utils/mapItem';
|
|
20
20
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
21
21
|
import { createEmptyQrGroup, updateQrItemsInGroup } from '../../../utils/qrItem';
|
|
22
|
-
import { QGroupContainerBox } from '../../Box.styles';
|
|
23
22
|
import type {
|
|
24
23
|
PropsWithIsRepeatedAttribute,
|
|
25
24
|
PropsWithParentIsReadOnlyAttribute,
|
|
@@ -29,11 +28,7 @@ import type {
|
|
|
29
28
|
import type { QrRepeatGroup } from '../../../interfaces/repeatGroup.interface';
|
|
30
29
|
import useHidden from '../../../hooks/useHidden';
|
|
31
30
|
import type { Tabs } from '../../../interfaces/tab.interface';
|
|
32
|
-
import
|
|
33
|
-
import { GroupCard } from './GroupItem.styles';
|
|
34
|
-
import TabButtonsWrapper from './TabButtonsWrapper';
|
|
35
|
-
import GroupItemSwitcher from './GroupItemSwitcher';
|
|
36
|
-
import useReadOnly from '../../../hooks/useReadOnly';
|
|
31
|
+
import GroupItemView from './GroupItemView';
|
|
37
32
|
|
|
38
33
|
interface GroupItemProps
|
|
39
34
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -65,7 +60,6 @@ function GroupItem(props: GroupItemProps) {
|
|
|
65
60
|
|
|
66
61
|
const qItemsIndexMap = useMemo(() => mapQItemsIndex(qItem), [qItem]);
|
|
67
62
|
|
|
68
|
-
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
69
63
|
const itemIsHidden = useHidden(qItem, parentRepeatGroupIndex);
|
|
70
64
|
if (itemIsHidden) {
|
|
71
65
|
return null;
|
|
@@ -96,39 +90,21 @@ function GroupItem(props: GroupItemProps) {
|
|
|
96
90
|
const qrItemsByIndex = getQrItemsIndex(qItems, qrItems, qItemsIndexMap);
|
|
97
91
|
|
|
98
92
|
return (
|
|
99
|
-
<
|
|
100
|
-
|
|
93
|
+
<GroupItemView
|
|
94
|
+
qItem={qItem}
|
|
95
|
+
childQItems={qItems}
|
|
96
|
+
qrItemsByIndex={qrItemsByIndex}
|
|
101
97
|
isRepeated={isRepeated}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return (
|
|
114
|
-
<GroupItemSwitcher
|
|
115
|
-
key={qItem.linkId}
|
|
116
|
-
qItem={qItem}
|
|
117
|
-
qrItemOrItems={qrItemOrItems}
|
|
118
|
-
groupCardElevation={groupCardElevation}
|
|
119
|
-
parentIsReadOnly={readOnly}
|
|
120
|
-
parentIsRepeatGroup={parentIsRepeatGroup}
|
|
121
|
-
parentRepeatGroupIndex={parentRepeatGroupIndex}
|
|
122
|
-
onQrItemChange={handleQrItemChange}
|
|
123
|
-
onQrRepeatGroupChange={handleQrRepeatGroupChange}
|
|
124
|
-
/>
|
|
125
|
-
);
|
|
126
|
-
})}
|
|
127
|
-
|
|
128
|
-
{/* Next tab button at the end of each tab group */}
|
|
129
|
-
<TabButtonsWrapper currentTabIndex={currentTabIndex} tabs={tabs} />
|
|
130
|
-
</GroupCard>
|
|
131
|
-
</QGroupContainerBox>
|
|
98
|
+
groupCardElevation={groupCardElevation}
|
|
99
|
+
tabIsMarkedAsComplete={tabIsMarkedAsComplete}
|
|
100
|
+
tabs={tabs}
|
|
101
|
+
currentTabIndex={currentTabIndex}
|
|
102
|
+
parentIsReadOnly={parentIsReadOnly}
|
|
103
|
+
parentIsRepeatGroup={parentIsRepeatGroup}
|
|
104
|
+
parentRepeatGroupIndex={parentRepeatGroupIndex}
|
|
105
|
+
onQrItemChange={handleQrItemChange}
|
|
106
|
+
onQrRepeatGroupChange={handleQrRepeatGroupChange}
|
|
107
|
+
/>
|
|
132
108
|
);
|
|
133
109
|
}
|
|
134
110
|
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
import React from 'react';
|
|
19
19
|
import type {
|
|
20
20
|
PropsWithParentIsReadOnlyAttribute,
|
|
21
|
+
PropsWithParentIsRepeatGroupAttribute,
|
|
21
22
|
PropsWithQrItemChangeHandler,
|
|
22
23
|
PropsWithQrRepeatGroupChangeHandler
|
|
23
24
|
} from '../../../interfaces/renderProps.interface';
|
|
24
|
-
import type { PropsWithParentIsRepeatGroupAttribute } from '../../../interfaces/renderProps.interface';
|
|
25
25
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
26
26
|
import { isRepeatItemAndNotCheckbox, isSpecificItemControl } from '../../../utils';
|
|
27
27
|
import GroupTable from '../Tables/GroupTable';
|
|
@@ -101,7 +101,7 @@ function GroupItemSwitcher(props: GroupItemSwitcherProps) {
|
|
|
101
101
|
<GridGroup
|
|
102
102
|
qItem={qItem}
|
|
103
103
|
qrItem={qrItem ?? null}
|
|
104
|
-
groupCardElevation={groupCardElevation}
|
|
104
|
+
groupCardElevation={groupCardElevation + 1}
|
|
105
105
|
parentIsReadOnly={parentIsReadOnly}
|
|
106
106
|
onQrItemChange={onQrItemChange}
|
|
107
107
|
/>
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import React from 'react';
|
|
19
|
+
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
20
|
+
import { QGroupContainerBox } from '../../Box.styles';
|
|
21
|
+
import type {
|
|
22
|
+
PropsWithIsRepeatedAttribute,
|
|
23
|
+
PropsWithParentIsReadOnlyAttribute,
|
|
24
|
+
PropsWithParentIsRepeatGroupAttribute,
|
|
25
|
+
PropsWithQrItemChangeHandler
|
|
26
|
+
} from '../../../interfaces/renderProps.interface';
|
|
27
|
+
import { PropsWithQrRepeatGroupChangeHandler } from '../../../interfaces/renderProps.interface';
|
|
28
|
+
import type { Tabs } from '../../../interfaces/tab.interface';
|
|
29
|
+
import GroupHeading from './GroupHeading';
|
|
30
|
+
import { GroupCard } from './GroupItem.styles';
|
|
31
|
+
import TabButtonsWrapper from './TabButtonsWrapper';
|
|
32
|
+
import GroupItemSwitcher from './GroupItemSwitcher';
|
|
33
|
+
import AccordionSummary from '@mui/material/AccordionSummary';
|
|
34
|
+
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
|
|
35
|
+
import AccordionDetails from '@mui/material/AccordionDetails';
|
|
36
|
+
import Divider from '@mui/material/Divider';
|
|
37
|
+
import { getGroupCollapsible } from '../../../utils/qItem';
|
|
38
|
+
import useReadOnly from '../../../hooks/useReadOnly';
|
|
39
|
+
import { GroupAccordion } from './GroupAccordion.styles';
|
|
40
|
+
|
|
41
|
+
interface GroupItemViewProps
|
|
42
|
+
extends PropsWithQrItemChangeHandler,
|
|
43
|
+
PropsWithQrRepeatGroupChangeHandler,
|
|
44
|
+
PropsWithIsRepeatedAttribute,
|
|
45
|
+
PropsWithParentIsReadOnlyAttribute,
|
|
46
|
+
PropsWithParentIsRepeatGroupAttribute {
|
|
47
|
+
qItem: QuestionnaireItem;
|
|
48
|
+
childQItems: QuestionnaireItem[];
|
|
49
|
+
qrItemsByIndex: (QuestionnaireResponseItem | QuestionnaireResponseItem[] | undefined)[];
|
|
50
|
+
groupCardElevation: number;
|
|
51
|
+
tabIsMarkedAsComplete?: boolean;
|
|
52
|
+
tabs?: Tabs;
|
|
53
|
+
currentTabIndex?: number;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function GroupItemView(props: GroupItemViewProps) {
|
|
57
|
+
const {
|
|
58
|
+
qItem,
|
|
59
|
+
childQItems,
|
|
60
|
+
qrItemsByIndex,
|
|
61
|
+
isRepeated,
|
|
62
|
+
groupCardElevation,
|
|
63
|
+
tabIsMarkedAsComplete,
|
|
64
|
+
tabs,
|
|
65
|
+
currentTabIndex,
|
|
66
|
+
parentIsReadOnly,
|
|
67
|
+
parentIsRepeatGroup,
|
|
68
|
+
parentRepeatGroupIndex,
|
|
69
|
+
onQrItemChange,
|
|
70
|
+
onQrRepeatGroupChange
|
|
71
|
+
} = props;
|
|
72
|
+
|
|
73
|
+
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
74
|
+
|
|
75
|
+
// Render collapsible group item
|
|
76
|
+
// If group item is a repeating instance, do not render group item as collapsible
|
|
77
|
+
const groupIsCollapsible = getGroupCollapsible(qItem);
|
|
78
|
+
if (groupIsCollapsible && !isRepeated) {
|
|
79
|
+
const isDefaultOpen = groupIsCollapsible === 'default-open';
|
|
80
|
+
return (
|
|
81
|
+
<GroupAccordion
|
|
82
|
+
disableGutters
|
|
83
|
+
defaultExpanded={isDefaultOpen}
|
|
84
|
+
elevation={groupCardElevation}
|
|
85
|
+
isRepeated={isRepeated}
|
|
86
|
+
slotProps={{
|
|
87
|
+
transition: { unmountOnExit: true, timeout: 250 }
|
|
88
|
+
}}>
|
|
89
|
+
<AccordionSummary expandIcon={<ExpandMoreIcon />} sx={{ minHeight: '28px' }}>
|
|
90
|
+
<GroupHeading
|
|
91
|
+
qItem={qItem}
|
|
92
|
+
readOnly={readOnly}
|
|
93
|
+
tabIsMarkedAsComplete={tabIsMarkedAsComplete}
|
|
94
|
+
isRepeated={isRepeated}
|
|
95
|
+
/>
|
|
96
|
+
</AccordionSummary>
|
|
97
|
+
<AccordionDetails sx={{ pt: 0 }}>
|
|
98
|
+
{qItem.text ? <Divider sx={{ mb: 1.5 }} light /> : null}
|
|
99
|
+
<>
|
|
100
|
+
{childQItems.map((qItem: QuestionnaireItem, i) => {
|
|
101
|
+
const qrItemOrItems = qrItemsByIndex[i];
|
|
102
|
+
|
|
103
|
+
return (
|
|
104
|
+
<GroupItemSwitcher
|
|
105
|
+
key={qItem.linkId}
|
|
106
|
+
qItem={qItem}
|
|
107
|
+
qrItemOrItems={qrItemOrItems}
|
|
108
|
+
groupCardElevation={groupCardElevation}
|
|
109
|
+
parentIsReadOnly={readOnly}
|
|
110
|
+
parentIsRepeatGroup={parentIsRepeatGroup}
|
|
111
|
+
parentRepeatGroupIndex={parentRepeatGroupIndex}
|
|
112
|
+
onQrItemChange={onQrItemChange}
|
|
113
|
+
onQrRepeatGroupChange={onQrRepeatGroupChange}
|
|
114
|
+
/>
|
|
115
|
+
);
|
|
116
|
+
})}
|
|
117
|
+
|
|
118
|
+
{/* Next tab button at the end of each tab group */}
|
|
119
|
+
<TabButtonsWrapper currentTabIndex={currentTabIndex} tabs={tabs} />
|
|
120
|
+
</>
|
|
121
|
+
</AccordionDetails>
|
|
122
|
+
</GroupAccordion>
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return (
|
|
127
|
+
<QGroupContainerBox
|
|
128
|
+
cardElevation={groupCardElevation}
|
|
129
|
+
isRepeated={isRepeated}
|
|
130
|
+
data-test="q-item-group-box">
|
|
131
|
+
<GroupCard elevation={groupCardElevation} isRepeated={isRepeated}>
|
|
132
|
+
<GroupHeading
|
|
133
|
+
qItem={qItem}
|
|
134
|
+
readOnly={readOnly}
|
|
135
|
+
tabIsMarkedAsComplete={tabIsMarkedAsComplete}
|
|
136
|
+
isRepeated={isRepeated}
|
|
137
|
+
/>
|
|
138
|
+
{childQItems.map((qItem: QuestionnaireItem, i) => {
|
|
139
|
+
const qrItemOrItems = qrItemsByIndex[i];
|
|
140
|
+
|
|
141
|
+
return (
|
|
142
|
+
<GroupItemSwitcher
|
|
143
|
+
key={qItem.linkId}
|
|
144
|
+
qItem={qItem}
|
|
145
|
+
qrItemOrItems={qrItemOrItems}
|
|
146
|
+
groupCardElevation={groupCardElevation}
|
|
147
|
+
parentIsReadOnly={readOnly}
|
|
148
|
+
parentIsRepeatGroup={parentIsRepeatGroup}
|
|
149
|
+
parentRepeatGroupIndex={parentRepeatGroupIndex}
|
|
150
|
+
onQrItemChange={onQrItemChange}
|
|
151
|
+
onQrRepeatGroupChange={onQrRepeatGroupChange}
|
|
152
|
+
/>
|
|
153
|
+
);
|
|
154
|
+
})}
|
|
155
|
+
|
|
156
|
+
{/* Next tab button at the end of each tab group */}
|
|
157
|
+
<TabButtonsWrapper currentTabIndex={currentTabIndex} tabs={tabs} />
|
|
158
|
+
</GroupCard>
|
|
159
|
+
</QGroupContainerBox>
|
|
160
|
+
);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export default GroupItemView;
|