@aehrc/smart-forms-renderer 1.0.0-alpha.32 → 1.0.0-alpha.34
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/GroupItem.js +9 -1
- package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
- package/lib/components/Renderer/BaseRenderer.js +4 -4
- package/lib/components/Renderer/BaseRenderer.js.map +1 -1
- package/lib/components/Renderer/FormBodyPageContainer.js +3 -3
- package/lib/components/Renderer/FormBodyPageContainer.js.map +1 -1
- package/lib/components/Renderer/FormBodyPaginated.js +62 -19
- package/lib/components/Renderer/FormBodyPaginated.js.map +1 -1
- package/lib/components/Renderer/FormTopLevelItem.d.ts +1 -0
- package/lib/components/Renderer/FormTopLevelItem.js +17 -1
- package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
- package/lib/utils/choice.js +4 -15
- package/lib/utils/choice.js.map +1 -1
- package/lib/utils/extractObservation.js +2 -7
- package/lib/utils/extractObservation.js.map +1 -1
- package/lib/utils/initialise.js +3 -6
- package/lib/utils/initialise.js.map +1 -1
- package/lib/utils/page.d.ts +17 -5
- package/lib/utils/page.js +31 -12
- package/lib/utils/page.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractPages.js +17 -4
- package/lib/utils/questionnaireStoreUtils/extractPages.js.map +1 -1
- package/lib/utils/valueSet.d.ts +7 -0
- package/lib/utils/valueSet.js +10 -5
- package/lib/utils/valueSet.js.map +1 -1
- package/package.json +2 -2
- package/src/components/FormComponents/GroupItem/GroupItem.tsx +26 -0
- package/src/components/Renderer/BaseRenderer.tsx +4 -4
- package/src/components/Renderer/FormBodyPageContainer.tsx +100 -0
- package/src/components/Renderer/FormBodyPaginated.tsx +153 -75
- package/src/components/Renderer/FormTopLevelItem.tsx +28 -0
- package/src/utils/choice.ts +4 -15
- package/src/utils/extractObservation.ts +2 -7
- package/src/utils/initialise.ts +3 -6
- package/src/utils/page.ts +39 -12
- package/src/utils/questionnaireStoreUtils/extractPages.ts +20 -4
- package/src/utils/valueSet.ts +16 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fragment as _Fragment,
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/*
|
|
3
3
|
* Copyright 2024 Commonwealth Scientific and Industrial Research
|
|
4
4
|
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
@@ -20,6 +20,9 @@ import { getQrItemsIndex, mapQItemsIndex } from '../../../utils/mapItem';
|
|
|
20
20
|
import { createEmptyQrGroup, updateQrItemsInGroup } from '../../../utils/qrItem';
|
|
21
21
|
import useHidden from '../../../hooks/useHidden';
|
|
22
22
|
import GroupItemView from './GroupItemView';
|
|
23
|
+
import { QGroupContainerBox } from '../../Box.styles';
|
|
24
|
+
import { GroupCard } from './GroupItem.styles';
|
|
25
|
+
import PageButtonsWrapper from './PageButtonWrapper';
|
|
23
26
|
function GroupItem(props) {
|
|
24
27
|
const { qItem, qrItem, isRepeated, groupCardElevation, disableCardView, tabIsMarkedAsComplete, tabs, currentTabIndex, pageIsMarkedAsComplete, pages, currentPageIndex, parentIsReadOnly, parentIsRepeatGroup, parentRepeatGroupIndex, onQrItemChange, parentStyles } = props;
|
|
25
28
|
const qItemsIndexMap = useMemo(() => mapQItemsIndex(qItem), [qItem]);
|
|
@@ -42,6 +45,11 @@ function GroupItem(props) {
|
|
|
42
45
|
onQrItemChange(updatedQrGroup);
|
|
43
46
|
}
|
|
44
47
|
if (!qItems || !qrItems) {
|
|
48
|
+
// If there are pages passed through, render this invalid group as a card to at least allow the user to see the error
|
|
49
|
+
if (pages) {
|
|
50
|
+
return (_jsxs(QGroupContainerBox, { cardElevation: groupCardElevation, isRepeated: isRepeated, children: [_jsx(GroupCard, { elevation: groupCardElevation, isRepeated: isRepeated, children: _jsxs(_Fragment, { children: ["Group Item: Unable to load group, something has gone terribly wrong. If you are seeing this error message, see", ' ', _jsx("a", { href: "https://hl7.org/fhir/extensions/CodeSystem-questionnaire-item-control.html#questionnaire-item-control-page", target: "_blank", rel: "noreferrer", children: "https://hl7.org/fhir/extensions/CodeSystem-questionnaire-item-control.html#questionnaire-item-control-page" }), ' ', "for a standards-based way to use pages."] }) }), _jsx(PageButtonsWrapper, { currentPageIndex: currentPageIndex, pages: pages })] }));
|
|
51
|
+
}
|
|
52
|
+
// Otherwise, render the regular error message
|
|
45
53
|
return _jsx(_Fragment, { children: "Group Item: Unable to load group, something has gone terribly wrong." });
|
|
46
54
|
}
|
|
47
55
|
// If an item has multiple answers, it is a repeat group
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItem.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAQjF,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAGjD,OAAO,aAAa,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ import FormTopLevelItem from './FormTopLevelItem';
|
|
|
21
21
|
import { useQuestionnaireResponseStore, useQuestionnaireStore } from '../../stores';
|
|
22
22
|
import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
|
|
23
23
|
import { updateQrItemsInGroup } from '../../utils/qrItem';
|
|
24
|
-
import {
|
|
24
|
+
import { isPaginatedForm } from '../../utils/page';
|
|
25
25
|
import FormBodyPaginated from './FormBodyPaginated';
|
|
26
26
|
import { Container } from '@mui/material';
|
|
27
27
|
/**
|
|
@@ -64,13 +64,13 @@ function BaseRenderer() {
|
|
|
64
64
|
}
|
|
65
65
|
// If an item has multiple answers, it is a repeat group
|
|
66
66
|
const topLevelQRItemsByIndex = getQrItemsIndex(topLevelQItems, topLevelQRItems, qItemsIndexMap);
|
|
67
|
-
const
|
|
68
|
-
if (
|
|
67
|
+
const wholeFormIsPaginated = isPaginatedForm(topLevelQItems);
|
|
68
|
+
if (wholeFormIsPaginated) {
|
|
69
69
|
return (_jsx(Fade, { in: true, timeout: 500, children: _jsx(Container, { disableGutters: true, maxWidth: "xl", children: _jsx(FormBodyPaginated, { topLevelQItems: topLevelQItems, topLevelQRItems: topLevelQRItemsByIndex, parentIsReadOnly: readOnly, onQrItemChange: (newTopLevelQRItem) => handleTopLevelQRItemSingleChange(newTopLevelQRItem) }) }, responseKey) }));
|
|
70
70
|
}
|
|
71
71
|
return (_jsx(Fade, { in: true, timeout: 500, children: _jsx(Container, { disableGutters: true, maxWidth: "xl", children: topLevelQItems.map((qItem, index) => {
|
|
72
72
|
const qrItemOrItems = topLevelQRItemsByIndex[index];
|
|
73
|
-
return (_jsx(FormTopLevelItem, { topLevelQItem: qItem, topLevelQRItemOrItems: qrItemOrItems !== null && qrItemOrItems !== void 0 ? qrItemOrItems : null, parentIsReadOnly: readOnly, onQrItemChange: (newTopLevelQRItem) => handleTopLevelQRItemSingleChange(newTopLevelQRItem), onQrRepeatGroupChange: (newTopLevelQRItems) => handleTopLevelQRItemMultipleChange(newTopLevelQRItems) }, qItem.linkId));
|
|
73
|
+
return (_jsx(FormTopLevelItem, { topLevelQItem: qItem, topLevelQRItemOrItems: qrItemOrItems !== null && qrItemOrItems !== void 0 ? qrItemOrItems : null, parentIsReadOnly: readOnly, wholeFormIsPaginated: wholeFormIsPaginated, onQrItemChange: (newTopLevelQRItem) => handleTopLevelQRItemSingleChange(newTopLevelQRItem), onQrRepeatGroupChange: (newTopLevelQRItems) => handleTopLevelQRItemMultipleChange(newTopLevelQRItems) }, qItem.linkId));
|
|
74
74
|
}) }, responseKey) }));
|
|
75
75
|
}
|
|
76
76
|
export default BaseRenderer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseRenderer.js","sourceRoot":"","sources":["../../../src/components/Renderer/BaseRenderer.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BaseRenderer.js","sourceRoot":"","sources":["../../../src/components/Renderer/BaseRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,11 @@ import GroupItem from '../FormComponents/GroupItem/GroupItem';
|
|
|
7
7
|
import { useQuestionnaireStore } from '../../stores';
|
|
8
8
|
import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
|
|
9
9
|
import { createEmptyQrGroup, updateQrItemsInGroup } from '../../utils/qrItem';
|
|
10
|
-
|
|
11
|
-
/* Using "page" item as a page-container - only preserved for backwards compatibility
|
|
10
|
+
/* Using "page" item as a page-container - only preserved for backwards compatibility (not compliant with https://hl7.org/fhir/extensions/CodeSystem-questionnaire-item-control.html#questionnaire-item-control-page)
|
|
12
11
|
* - The first "page" item in the questionnaire will be considered as a page-container, and all its children will be considered as pages
|
|
13
12
|
* - All other pages will be ignored by the renderer
|
|
14
13
|
* - You can have non-page items in the same level as the page-container to be used as faux headers or footers
|
|
14
|
+
* - Ensure that only group items are in the page-container
|
|
15
15
|
* Note: This will only be used if wholeFormIsPaginated=false
|
|
16
16
|
*/
|
|
17
17
|
function FormBodyPageContainer(props) {
|
|
@@ -36,7 +36,7 @@ function FormBodyPageContainer(props) {
|
|
|
36
36
|
const isNotRepeatGroup = !Array.isArray(qrItem);
|
|
37
37
|
const isPage = !!pages[qItem.linkId];
|
|
38
38
|
if (!isPage || !isNotRepeatGroup) {
|
|
39
|
-
//
|
|
39
|
+
// This should never happen
|
|
40
40
|
return null;
|
|
41
41
|
}
|
|
42
42
|
const isRepeated = (_a = qItem.repeats) !== null && _a !== void 0 ? _a : false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBodyPageContainer.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodyPageContainer.tsx"],"names":[],"mappings":";AAAA,OAAc,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,SAAS,MAAM,uCAAuC,CAAC;AAK9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAS9E
|
|
1
|
+
{"version":3,"file":"FormBodyPageContainer.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodyPageContainer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from 'react';
|
|
2
3
|
import Grid from '@mui/material/Grid';
|
|
3
4
|
import TabContext from '@mui/lab/TabContext';
|
|
4
5
|
import TabPanel from '@mui/lab/TabPanel';
|
|
@@ -9,6 +10,7 @@ import { SingleItem } from '../FormComponents';
|
|
|
9
10
|
import PageButtonsWrapper from '../FormComponents/GroupItem/PageButtonWrapper';
|
|
10
11
|
import { QGroupContainerBox } from '../Box.styles';
|
|
11
12
|
import { GroupCard } from '../FormComponents/GroupItem/GroupItem.styles';
|
|
13
|
+
import { isFooter, isHeader } from '../../utils/page';
|
|
12
14
|
// TODO This implementation doesnt take into account repeat items and repeat groups
|
|
13
15
|
// TODO need to fix this before bringing it into release
|
|
14
16
|
// Every group item in here is rendered as a page
|
|
@@ -17,25 +19,66 @@ function FormBodyPaginated(props) {
|
|
|
17
19
|
const pages = useQuestionnaireStore.use.pages();
|
|
18
20
|
const currentPage = useQuestionnaireStore.use.currentPageIndex();
|
|
19
21
|
const disableCardView = useRendererStylingStore.use.disablePageCardView();
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
22
|
+
const { headerQItems, pageQItems, footerQItems } = useMemo(() => {
|
|
23
|
+
const headerQItems = [];
|
|
24
|
+
const pageQItems = [];
|
|
25
|
+
const footerQItems = [];
|
|
26
|
+
for (const [qrItemIndex, qItem] of topLevelQItems.entries()) {
|
|
27
|
+
if (isHeader(qItem)) {
|
|
28
|
+
headerQItems.push([qItem, qrItemIndex]);
|
|
29
|
+
}
|
|
30
|
+
else if (isFooter(qItem)) {
|
|
31
|
+
footerQItems.push([qItem, qrItemIndex]);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
pageQItems.push([qItem, qrItemIndex]);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return { headerQItems, pageQItems, footerQItems };
|
|
38
|
+
}, [topLevelQItems]);
|
|
39
|
+
return (_jsxs(_Fragment, { children: [headerQItems.map((headerQItem) => {
|
|
40
|
+
var _a;
|
|
41
|
+
const [qItem, qrItemIndex] = headerQItem;
|
|
42
|
+
const qrItemOrItems = topLevelQRItems[qrItemIndex];
|
|
43
|
+
const isRepeatGroup = Array.isArray(qrItemOrItems);
|
|
44
|
+
if (isRepeatGroup) {
|
|
45
|
+
// Does not work with repeat groups
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
const isRepeated = (_a = qItem.repeats) !== null && _a !== void 0 ? _a : false;
|
|
49
|
+
return (_jsx(GroupItem, { qItem: qItem, qrItem: qrItemOrItems !== null && qrItemOrItems !== void 0 ? qrItemOrItems : null, isRepeated: isRepeated, groupCardElevation: 1, disableCardView: disableCardView, currentPageIndex: currentPage, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange }, qItem.linkId));
|
|
50
|
+
}), _jsx(Grid, { container: true, spacing: 1.5, children: _jsx(TabContext, { value: currentPage.toString(), children: _jsx(Grid, { item: true, xs: 12, md: 12, lg: 12, children: pageQItems.map((pageQItem, i) => {
|
|
51
|
+
var _a, _b;
|
|
52
|
+
const [qItem, qrItemIndex] = pageQItem;
|
|
53
|
+
const qrItem = topLevelQRItems[qrItemIndex];
|
|
54
|
+
const isNotRepeatGroup = !Array.isArray(qrItem);
|
|
55
|
+
const isPage = !!pages[qItem.linkId];
|
|
56
|
+
const itemIsGroup = qItem.type === 'group';
|
|
57
|
+
// const isHeader = qItem.itemControl?.type === 'header';
|
|
58
|
+
if (!isPage || !isNotRepeatGroup) {
|
|
59
|
+
// Something has gone horribly wrong
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
const isRepeated = (_a = qItem.repeats) !== null && _a !== void 0 ? _a : false;
|
|
63
|
+
const pageIsMarkedAsComplete = (_b = pages[qItem.linkId].isComplete) !== null && _b !== void 0 ? _b : false;
|
|
64
|
+
// Render this page as a group
|
|
65
|
+
if (itemIsGroup) {
|
|
66
|
+
return (_jsx(TabPanel, { sx: { p: 0 }, value: i.toString(), "data-test": "renderer-page-panel", children: _jsx(GroupItem, { qItem: qItem, qrItem: qrItem !== null && qrItem !== void 0 ? qrItem : null, isRepeated: isRepeated, groupCardElevation: 1, disableCardView: disableCardView, pageIsMarkedAsComplete: pageIsMarkedAsComplete, pages: pages, currentPageIndex: currentPage, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange }) }, qItem.linkId));
|
|
67
|
+
}
|
|
68
|
+
// Page consists of a non-group item
|
|
69
|
+
return (_jsx(TabPanel, { sx: { p: 0 }, value: i.toString(), "data-test": "renderer-page-panel", children: _jsx(QGroupContainerBox, { cardElevation: 1, isRepeated: isRepeated, "data-test": "q-item-group-box", children: disableCardView ? (_jsxs(_Fragment, { children: [_jsx(SingleItem, { qItem: qItem, qrItem: qrItem !== null && qrItem !== void 0 ? qrItem : null, isRepeated: isRepeated, groupCardElevation: 1, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange, isTabled: false }), _jsx(PageButtonsWrapper, { currentPageIndex: currentPage, pages: pages })] })) : (_jsxs(GroupCard, { elevation: 1, isRepeated: isRepeated, children: [_jsx(SingleItem, { qItem: qItem, qrItem: qrItem !== null && qrItem !== void 0 ? qrItem : null, isRepeated: isRepeated, groupCardElevation: 1, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange, isTabled: false }), _jsx(PageButtonsWrapper, { currentPageIndex: currentPage, pages: pages })] })) }) }, qItem.linkId));
|
|
70
|
+
}) }) }) }), footerQItems.map((footerQItem) => {
|
|
71
|
+
var _a;
|
|
72
|
+
const [qItem, qrItemIndex] = footerQItem;
|
|
73
|
+
const qrItemOrItems = topLevelQRItems[qrItemIndex];
|
|
74
|
+
const isRepeatGroup = Array.isArray(qrItemOrItems);
|
|
75
|
+
if (isRepeatGroup) {
|
|
76
|
+
// Does not work with repeat groups
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
const isRepeated = (_a = qItem.repeats) !== null && _a !== void 0 ? _a : false;
|
|
80
|
+
return (_jsx(GroupItem, { qItem: qItem, qrItem: qrItemOrItems !== null && qrItemOrItems !== void 0 ? qrItemOrItems : null, isRepeated: isRepeated, groupCardElevation: 1, disableCardView: disableCardView, currentPageIndex: currentPage, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange }, qItem.linkId));
|
|
81
|
+
})] }));
|
|
39
82
|
}
|
|
40
83
|
export default FormBodyPaginated;
|
|
41
84
|
//# sourceMappingURL=FormBodyPaginated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBodyPaginated.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodyPaginated.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"FormBodyPaginated.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodyPaginated.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler,
|
|
|
3
3
|
interface FormTopLevelItemProps extends PropsWithQrItemChangeHandler, PropsWithQrRepeatGroupChangeHandler, PropsWithParentIsReadOnlyAttribute {
|
|
4
4
|
topLevelQItem: QuestionnaireItem;
|
|
5
5
|
topLevelQRItemOrItems: QuestionnaireResponseItem | QuestionnaireResponseItem[] | null;
|
|
6
|
+
wholeFormIsPaginated: boolean;
|
|
6
7
|
}
|
|
7
8
|
declare function FormTopLevelItem(props: FormTopLevelItemProps): import("react/jsx-runtime").JSX.Element | null;
|
|
8
9
|
export default FormTopLevelItem;
|
|
@@ -14,10 +14,16 @@ import GroupTable from '../FormComponents/Tables/GroupTable';
|
|
|
14
14
|
import RepeatItem from '../FormComponents/RepeatItem/RepeatItem';
|
|
15
15
|
import GridGroup from '../FormComponents/GridGroup/GridGroup';
|
|
16
16
|
import { useRendererStylingStore } from '../../stores';
|
|
17
|
+
import { isPage } from '../../utils/page';
|
|
18
|
+
import FormBodyPageContainer from './FormBodyPageContainer';
|
|
17
19
|
function FormTopLevelItem(props) {
|
|
18
|
-
const { topLevelQItem, topLevelQRItemOrItems, parentIsReadOnly, onQrItemChange, onQrRepeatGroupChange } = props;
|
|
20
|
+
const { topLevelQItem, topLevelQRItemOrItems, parentIsReadOnly, wholeFormIsPaginated, onQrItemChange, onQrRepeatGroupChange } = props;
|
|
19
21
|
const itemIsTabContainer = isTabContainer(topLevelQItem);
|
|
20
22
|
const itemContainsTabs = containsTabs(topLevelQItem);
|
|
23
|
+
// itemIsPageContainer is there for backwards compatibility only - see https://github.com/aehrc/smart-forms/issues/1041
|
|
24
|
+
// The proper way to do it ATM is to make every single top-level item a page
|
|
25
|
+
// Unfortunately, "header" and "footer" itemControl is not supported.
|
|
26
|
+
const itemIsPageContainer = isPage(topLevelQItem);
|
|
21
27
|
const showTabbedFormAt = useRendererStylingStore.use.showTabbedFormAt();
|
|
22
28
|
const isTabbedForm = useResponsive(showTabbedFormAt);
|
|
23
29
|
const itemIsGroup = topLevelQItem.type === 'group';
|
|
@@ -40,6 +46,16 @@ function FormTopLevelItem(props) {
|
|
|
40
46
|
}
|
|
41
47
|
return (_jsx(FormBodyCollapsible, { topLevelQItem: topLevelQItem, topLevelQRItem: topLevelQRItem, parentIsReadOnly: readOnly, onQrItemChange: onQrItemChange }, topLevelQItem.linkId));
|
|
42
48
|
}
|
|
49
|
+
/* Using "page" item as a page-container - only preserved for backwards compatibility (not complaint with https://hl7.org/fhir/extensions/CodeSystem-questionnaire-item-control.html#questionnaire-item-control-page)
|
|
50
|
+
* - The first "page" item in the questionnaire will be considered as a page-container, and all its children will be considered as pages
|
|
51
|
+
* - All other pages will be ignored by the renderer
|
|
52
|
+
* - You can have non-page items in the same level as the page-container to be used as faux headers or footers
|
|
53
|
+
* - Ensure that only group items are in the page-container
|
|
54
|
+
* Note: This will only be used if wholeFormIsPaginated=false
|
|
55
|
+
*/
|
|
56
|
+
if (!wholeFormIsPaginated && itemIsPageContainer) {
|
|
57
|
+
return (_jsx(FormBodyPageContainer, { topLevelQItem: topLevelQItem, topLevelQRItem: topLevelQRItem, parentIsReadOnly: readOnly, onQrItemChange: onQrItemChange }, topLevelQItem.linkId));
|
|
58
|
+
}
|
|
43
59
|
// If form is untabbed, it is rendered as a regular group
|
|
44
60
|
if (itemIsGroup) {
|
|
45
61
|
// Item is 'grid'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormTopLevelItem.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormTopLevelItem.tsx"],"names":[],"mappings":";AAmBA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,UAAU,MAAM,yCAAyC,CAAC;AAMjE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,UAAU,MAAM,qCAAqC,CAAC;AAC7D,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"FormTopLevelItem.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormTopLevelItem.tsx"],"names":[],"mappings":";AAmBA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,UAAU,MAAM,yCAAyC,CAAC;AAMjE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,aAAa,MAAM,2BAA2B,CAAC;AACtD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,iBAAiB,MAAM,+CAA+C,CAAC;AAC9E,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,UAAU,MAAM,qCAAqC,CAAC;AAC7D,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAW5D,SAAS,gBAAgB,CAAC,KAA4B;IACpD,MAAM,EACJ,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACtB,GAAG,KAAK,CAAC;IAEV,MAAM,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IACzD,MAAM,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAErD,uHAAuH;IACvH,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAElD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACxE,MAAM,YAAY,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,KAAK,OAAO,CAAC;IAEnD,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yFAAyF;IACzF,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAChE,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,CACL,KAAC,iBAAiB,IAChB,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,qBAAqB,EACpC,kBAAkB,EAAE,CAAC,EACrB,gBAAgB,EAAE,QAAQ,EAC1B,cAAc,EAAE,cAAc,EAC9B,qBAAqB,EAAE,qBAAqB,GAC5C,CACH,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,MAAM,cAAc,GAAG,qBAAqB,CAAC;IAE7C,qDAAqD;IACrD,IAAI,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;QAC3C,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CACL,KAAC,cAAc,IAEb,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,QAAQ,EAC1B,cAAc,EAAE,cAAc,IAJzB,aAAa,CAAC,MAAM,CAKzB,CACH,CAAC;QACJ,CAAC;QAED,OAAO,CACL,KAAC,mBAAmB,IAElB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,QAAQ,EAC1B,cAAc,EAAE,cAAc,IAJzB,aAAa,CAAC,MAAM,CAKzB,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,oBAAoB,IAAI,mBAAmB,EAAE,CAAC;QACjD,OAAO,CACL,KAAC,qBAAqB,IAEpB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,QAAQ,EAC1B,cAAc,EAAE,cAAc,IAJzB,aAAa,CAAC,MAAM,CAKzB,CACH,CAAC;IACJ,CAAC;IAED,yDAAyD;IACzD,IAAI,WAAW,EAAE,CAAC;QAChB,iBAAiB;QACjB,MAAM,UAAU,GAAG,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CACL,KAAC,SAAS,IACR,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,kBAAkB,EAAE,CAAC,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,GAC9B,CACH,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,IAAI,qBAAqB,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;YACnD,OAAO,CACL,KAAC,UAAU,IAET,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAC/C,kBAAkB,EAAE,CAAC,EACrB,UAAU,EAAE,KAAK,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,IANvC,aAAa,CAAC,MAAM,CAOzB,CACH,CAAC;QACJ,CAAC;QAED,OAAO,CACL,KAAC,SAAS,IAER,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,kBAAkB,EAAE,CAAC,EACrB,UAAU,EAAE,KAAK,EACjB,gBAAgB,EAAE,QAAQ,EAC1B,cAAc,EAAE,cAAc,IANzB,aAAa,CAAC,MAAM,CAOzB,CACH,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,MAAM,2BAA2B,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IAC9E,IAAI,2BAA2B,EAAE,CAAC;QAChC,OAAO,CACL,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,YACR,KAAC,UAAU,IAET,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,kBAAkB,EAAE,CAAC,EACrB,gBAAgB,EAAE,QAAQ,EAC1B,cAAc,EAAE,cAAc,IALzB,aAAa,CAAC,MAAM,CAMzB,GACE,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,YACR,KAAC,UAAU,IAET,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,KAAK,EACjB,QAAQ,EAAE,KAAK,EACf,kBAAkB,EAAE,CAAC,EACrB,gBAAgB,EAAE,QAAQ,EAC1B,cAAc,EAAE,cAAc,IAPzB,aAAa,CAAC,MAAM,CAQzB,GACE,CACP,CAAC;AACJ,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
package/lib/utils/choice.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ChoiceItemControl, ChoiceItemOrientation } from '../interfaces/choice.enum';
|
|
2
2
|
import { isSpecificItemControl } from './itemControl';
|
|
3
|
+
import { getRelevantCodingProperties } from './valueSet';
|
|
3
4
|
/**
|
|
4
5
|
* Convert codings to Questionnaire answer options
|
|
5
6
|
*
|
|
@@ -7,11 +8,7 @@ import { isSpecificItemControl } from './itemControl';
|
|
|
7
8
|
*/
|
|
8
9
|
export function convertCodingsToAnswerOptions(codings) {
|
|
9
10
|
return codings.map((coding) => ({
|
|
10
|
-
valueCoding:
|
|
11
|
-
system: coding.system,
|
|
12
|
-
code: coding.code,
|
|
13
|
-
display: coding.display
|
|
14
|
-
}
|
|
11
|
+
valueCoding: getRelevantCodingProperties(coding)
|
|
15
12
|
}));
|
|
16
13
|
}
|
|
17
14
|
/**
|
|
@@ -24,21 +21,13 @@ export function findInAnswerOptions(options, valueInString) {
|
|
|
24
21
|
if (option.valueCoding) {
|
|
25
22
|
if (valueInString === option.valueCoding.code) {
|
|
26
23
|
return {
|
|
27
|
-
valueCoding:
|
|
28
|
-
system: option.valueCoding.system,
|
|
29
|
-
code: option.valueCoding.code,
|
|
30
|
-
display: option.valueCoding.display
|
|
31
|
-
}
|
|
24
|
+
valueCoding: getRelevantCodingProperties(option.valueCoding)
|
|
32
25
|
};
|
|
33
26
|
}
|
|
34
27
|
// handle case where valueCoding.code is not present
|
|
35
28
|
if (valueInString === option.valueCoding.display) {
|
|
36
29
|
return {
|
|
37
|
-
valueCoding:
|
|
38
|
-
system: option.valueCoding.system,
|
|
39
|
-
code: option.valueCoding.code,
|
|
40
|
-
display: option.valueCoding.display
|
|
41
|
-
}
|
|
30
|
+
valueCoding: getRelevantCodingProperties(option.valueCoding)
|
|
42
31
|
};
|
|
43
32
|
}
|
|
44
33
|
}
|
package/lib/utils/choice.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choice.js","sourceRoot":"","sources":["../../src/utils/choice.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"choice.js","sourceRoot":"","sources":["../../src/utils/choice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { readQuestionnaireResponse, transverseQuestionnaire } from './genericRecursive';
|
|
2
2
|
import { getQrItemsIndex, mapQItemsIndex } from './mapItem';
|
|
3
|
+
import { getRelevantCodingProperties } from './valueSet';
|
|
3
4
|
/**
|
|
4
5
|
* Extract an array of Observations from a QuestionnaireResponse and its source Questionnaire.
|
|
5
6
|
* @see https://build.fhir.org/ig/HL7/sdc/extraction.html#observation-based-extraction
|
|
@@ -156,13 +157,7 @@ export function createObservation(questionnaireItem, questionnaireResponse, answ
|
|
|
156
157
|
}
|
|
157
158
|
else if (answer.valueCoding) {
|
|
158
159
|
observation.valueCodeableConcept = {
|
|
159
|
-
coding: [
|
|
160
|
-
{
|
|
161
|
-
system: answer.valueCoding.system,
|
|
162
|
-
code: answer.valueCoding.code,
|
|
163
|
-
display: answer.valueCoding.display
|
|
164
|
-
}
|
|
165
|
-
]
|
|
160
|
+
coding: [getRelevantCodingProperties(answer.valueCoding)]
|
|
166
161
|
};
|
|
167
162
|
}
|
|
168
163
|
if (categories.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractObservation.js","sourceRoot":"","sources":["../../src/utils/extractObservation.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"extractObservation.js","sourceRoot":"","sources":["../../src/utils/extractObservation.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/initialise.js
CHANGED
|
@@ -32,6 +32,7 @@ import { createQuestionnaireResponseItemMap } from './questionnaireResponseStore
|
|
|
32
32
|
import { readQuestionnaireResponse } from './genericRecursive';
|
|
33
33
|
import { getQrItemsIndex, mapQItemsIndex } from './mapItem';
|
|
34
34
|
import { evaluateInitialTargetConstraints } from './targetConstraint';
|
|
35
|
+
import { getRelevantCodingProperties } from './valueSet';
|
|
35
36
|
/**
|
|
36
37
|
* Initialise a questionnaireResponse from a given questionnaire
|
|
37
38
|
* optionally takes in an existing questionnaireResponse to be initialised
|
|
@@ -145,11 +146,7 @@ function getInitialValueAnswers(qItem) {
|
|
|
145
146
|
.map((option) => {
|
|
146
147
|
if (option.valueCoding) {
|
|
147
148
|
return {
|
|
148
|
-
valueCoding:
|
|
149
|
-
system: option.valueCoding.system,
|
|
150
|
-
code: option.valueCoding.code,
|
|
151
|
-
display: option.valueCoding.display
|
|
152
|
-
}
|
|
149
|
+
valueCoding: getRelevantCodingProperties(option.valueCoding)
|
|
153
150
|
};
|
|
154
151
|
}
|
|
155
152
|
if (option.valueString) {
|
|
@@ -204,7 +201,7 @@ export function parseItemInitialToAnswer(initial) {
|
|
|
204
201
|
return { valueAttachment: initial.valueAttachment };
|
|
205
202
|
}
|
|
206
203
|
if (initial.valueCoding) {
|
|
207
|
-
return { valueCoding: initial.valueCoding };
|
|
204
|
+
return { valueCoding: getRelevantCodingProperties(initial.valueCoding) };
|
|
208
205
|
}
|
|
209
206
|
if (initial.valueQuantity) {
|
|
210
207
|
return { valueQuantity: initial.valueQuantity };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAEH,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAY7C,OAAO,EAAE,kCAAkC,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,0DAA0D,CAAC;AAC9G,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAEH,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAY7C,OAAO,EAAE,kCAAkC,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,kCAAkC,EAAE,MAAM,0DAA0D,CAAC;AAC9G,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAC7C,aAA4B,EAC5B,qBAA6C;;IAE7C,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,qBAAqB,GAAG;YACtB,YAAY,EAAE,uBAAuB;YACrC,MAAM,EAAE,aAAa;SACtB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;QAClC,qBAAqB,CAAC,MAAM,GAAG,aAAa,CAAC;IAC/C,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,IAAI,0CAAG,CAAC,CAAC,CAAC;IACnD,IAAI,iBAAiB,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,yBAAyB,CAC5C,aAAa,EACb,qBAAqB,EACrB,0BAA0B,CAC3B,CAAC;QAEF,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,qBAAqB,CAAC,IAAI,GAAG,YAAY,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC;QACzC,qBAAqB,CAAC,aAAa,GAAG,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACpF,CAAC;IAED,yFAAyF;IACzF,+BAA+B;IAC/B,+EAA+E;IAC/E,KAAK;IACL,iEAAiE;IACjE,iDAAiD;IAEjD,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,4BAA4B,CAAC,aAA4B;IAChE,sBAAsB;IACtB,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;QACtB,IAAI,sBAAsB,GAAG,aAAa,CAAC,GAAG,CAAC;QAC/C,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,sBAAsB,IAAI,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC;QACxD,CAAC;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,2CAA2C;IAC3C,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,iBAAiB,aAAa,CAAC,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,0BAA0B,CACjC,KAAwB,EACxB,aAA6E;;IAE7E,iCAAiC;IACjC,MAAM,aAAa,GAAgC,EAAE,CAAC;IACtD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;IAC/B,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,2CAA2C;QAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5C,MAAM,2BAA2B,GAAG,qCAAqC,CACvE,KAAK,EACL,aAAa,CACd,CAAC;YACF,MAAM,uCAAuC,GAAG,6CAA6C,CAC3F,KAAK,EACL,2BAA2B,CAC5B,CAAC;YAEF,OAAO,uCAAuC;gBAC5C,CAAC,CAAC,CAAC,uCAAuC,CAAC;gBAC3C,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;QAED,6CAA6C;QAC7C,IAAI,YAAY,GAAgC,EAAE,CAAC;QACnD,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,YAAY,GAAG,aAAa,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,MAAA,aAAa,CAAC,IAAI,mCAAI,EAAE,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,eAAe,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE5E,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAEjD,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,UAAU,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,IAAI,CAAC,CAAC;YAE9F,IAAI,kBAAkB,EAAE,CAAC;gBACvB,aAAa,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,IAAI,MAAM,GAAG,kCAAkC,CAAC,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG;gBACP,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,IAAI,GAAG,aAAa,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAED,SAAS,qCAAqC,CAC5C,KAAwB,EACxB,aAA6E;IAE7E,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI;SACd,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,0BAA0B,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;SAC9E,MAAM,CAAC,CAAC,WAAW,EAA4C,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAwB;IACtD,mCAAmC;IACnC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC,YAAY;aACtB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;aAC1C,GAAG,CAAC,CAAC,MAAM,EAA0C,EAAE;YACtD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO;oBACL,WAAW,EAAE,2BAA2B,CAAC,MAAM,CAAC,WAAW,CAAC;iBAC7D,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO;oBACL,WAAW,EAAE,MAAM,CAAC,WAAW;iBAChC,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,OAAO;oBACL,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAA2C,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,mBAAmB;IACnB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;IACpC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,aAAa;SACjB,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;SAC7D,MAAM,CAAC,CAAC,IAAI,EAA2C,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAAiC;IAEjC,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,EAAE,WAAW,EAAE,2BAA2B,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;IACpD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kCAAkC,CACzC,KAAwB,EACxB,mBAAsD;IAEtD,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8DAA8D;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,mBAAmB,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,mBAAmB;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,6CAA6C,CACpD,KAAwB,EACxB,iBAA8C;IAE9C,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,iBAAiB;KACxB,CAAC;AACJ,CAAC;AAgBD,MAAM,UAAgB,0BAA0B,CAAC,MAAqC;;QAWpF,MAAM,EACJ,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,SAAS,EACT,IAAI,EACJ,KAAK,EACL,eAAe,EACf,oBAAoB,EACrB,GAAG,MAAM,CAAC;QACX,IAAI,EAAE,wBAAwB,EAAE,GAAG,MAAM,CAAC;QAE1C,MAAM,sBAAsB,GAAG,kCAAkC,CAAC,qBAAqB,CAAC,CAAC;QACzF,IAAI,sBAAsB,GAAG,EAAE,CAAC;QAEhC,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,kCAAkC,CAC9E,eAAe,EACf,qBAAqB,CACtB,CAAC;QAEF,MAAM,sCAAsC,GAAG,MAAM,gCAAgC,CAAC;YACpF,eAAe,EAAE,qBAAqB;YACtC,sBAAsB,EAAE,sBAAsB;YAC9C,iBAAiB,EAAE,iBAAiB;YACpC,SAAS,EAAE,SAAS;YACpB,uBAAuB,EAAE,eAAe;YACxC,wBAAwB,EAAE,wBAAwB;YAClD,oBAAoB;SACrB,CAAC,CAAC;QACH,MAAM,EAAE,wBAAwB,EAAE,GAAG,sCAAsC,CAAC;QAC5E,wBAAwB,GAAG,sCAAsC,CAAC,wBAAwB,CAAC;QAE3F,MAAM,0CAA0C,GAAG,MAAM,oCAAoC,CAAC;YAC5F,eAAe,EAAE,qBAAqB;YACtC,sBAAsB,EAAE,sBAAsB;YAC9C,qBAAqB,EAAE,qBAAqB;YAC5C,SAAS,EAAE,SAAS;YACpB,uBAAuB,EAAE,eAAe;YACxC,wBAAwB,EAAE,wBAAwB;YAClD,oBAAoB,EAAE,oBAAoB;SAC3C,CAAC,CAAC;QACH,MAAM,EAAE,4BAA4B,EAAE,GAAG,0CAA0C,CAAC;QACpF,wBAAwB,GAAG,0CAA0C,CAAC,wBAAwB,CAAC;QAE/F,MAAM,0CAA0C,GAAG,MAAM,oCAAoC,CAAC;YAC5F,eAAe,EAAE,qBAAqB;YACtC,sBAAsB,EAAE,sBAAsB;YAC9C,qBAAqB,EAAE,qBAAqB;YAC5C,SAAS,EAAE,SAAS;YACpB,uBAAuB,EAAE,eAAe;YACxC,wBAAwB,EAAE,wBAAwB;YAClD,oBAAoB;SACrB,CAAC,CAAC;QACH,MAAM,EAAE,4BAA4B,EAAE,GAAG,0CAA0C,CAAC;QACpF,sBAAsB,GAAG,0CAA0C,CAAC,sBAAsB,CAAC;QAE3F,MAAM,eAAe,GACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAC1B,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,EAAE,4BAA4B,CAAC;YAC1E,CAAC,CAAC,CAAC,CAAC;QAER,MAAM,gBAAgB,GACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,4BAA4B,CAAC;YAC5E,CAAC,CAAC,CAAC,CAAC;QAER,OAAO;YACL,wBAAwB;YACxB,sBAAsB,EAAE,gBAAgB;YACxC,gCAAgC,EAAE,eAAe;YACjD,4BAA4B;YAC5B,4BAA4B;YAC5B,eAAe;YACf,gBAAgB;YAChB,sBAAsB;YACtB,wBAAwB;SACzB,CAAC;IACJ,CAAC;CAAA"}
|
package/lib/utils/page.d.ts
CHANGED
|
@@ -3,13 +3,13 @@ import type { EnableWhenExpressions, EnableWhenItems } from '../interfaces/enabl
|
|
|
3
3
|
import type { QuestionnaireItem } from 'fhir/r4';
|
|
4
4
|
export declare function getFirstVisiblePage(pages: Pages, enableWhenItems: EnableWhenItems, enableWhenExpressions: EnableWhenExpressions): number;
|
|
5
5
|
/**
|
|
6
|
-
* Checks if all
|
|
7
|
-
* Returns true if all items is page item
|
|
6
|
+
* Checks if all items in a qItem array is a page item, header item, or footer item
|
|
7
|
+
* Returns true if all items is page item, header item, or footer item
|
|
8
8
|
* Returns false if only have one item
|
|
9
9
|
*
|
|
10
|
-
* @author Riza Nafis
|
|
10
|
+
* @author Riza Nafis, Sean Fong
|
|
11
11
|
*/
|
|
12
|
-
export declare function
|
|
12
|
+
export declare function isPaginatedForm(topLevelQItems: QuestionnaireItem[] | undefined): boolean;
|
|
13
13
|
export declare function isPageContainer(topLevelQItem: QuestionnaireItem[] | undefined): boolean;
|
|
14
14
|
/**
|
|
15
15
|
* Checks if any of the items in a qItem array is a page item
|
|
@@ -24,12 +24,24 @@ export declare function containsPages(topLevelQItem: QuestionnaireItem): boolean
|
|
|
24
24
|
* @author Riza Nafis
|
|
25
25
|
*/
|
|
26
26
|
export declare function isPage(item: QuestionnaireItem): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Check if a qItem is a header item
|
|
29
|
+
*
|
|
30
|
+
* @author Sean Fong
|
|
31
|
+
*/
|
|
32
|
+
export declare function isHeader(item: QuestionnaireItem): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Check if a qItem is a footer item
|
|
35
|
+
*
|
|
36
|
+
* @author Sean Fong
|
|
37
|
+
*/
|
|
38
|
+
export declare function isFooter(item: QuestionnaireItem): boolean;
|
|
27
39
|
/**
|
|
28
40
|
* Create a `Record<linkId, Pages>` key-value pair for all page items in a qItem array
|
|
29
41
|
*
|
|
30
42
|
* @author Riza Nafis
|
|
31
43
|
*/
|
|
32
|
-
export declare function constructPagesWithProperties(qItems: QuestionnaireItem[] | undefined): Pages;
|
|
44
|
+
export declare function constructPagesWithProperties(qItems: QuestionnaireItem[] | undefined, allChildItemsArePages: boolean): Pages;
|
|
33
45
|
interface constructPagesWithVisibilityParams {
|
|
34
46
|
pages: Pages;
|
|
35
47
|
enableWhenIsActivated: boolean;
|