@aehrc/smart-forms-renderer 0.12.0 → 0.12.1
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/Tables/GroupTable.js +0 -1
- package/lib/components/FormComponents/Tables/GroupTable.js.map +1 -1
- package/lib/components/FormComponents/Tables/GroupTableRow.js +3 -3
- package/lib/components/FormComponents/Tables/GroupTableRow.js.map +1 -1
- package/lib/components/FormComponents/Tables/GroupTableView.js +1 -1
- package/lib/components/FormComponents/Tables/GroupTableView.js.map +1 -1
- package/lib/components/FormComponents/Tables/SelectRowButton.d.ts +1 -0
- package/lib/components/FormComponents/Tables/SelectRowButton.js +2 -2
- package/lib/components/FormComponents/Tables/SelectRowButton.js.map +1 -1
- package/lib/components/Renderer/BaseRenderer.js +2 -1
- package/lib/components/Renderer/BaseRenderer.js.map +1 -1
- package/lib/components/Renderer/FormBodyCollapsible.d.ts +2 -2
- package/lib/components/Renderer/FormBodyCollapsible.js +2 -2
- package/lib/components/Renderer/FormBodyCollapsible.js.map +1 -1
- package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.d.ts +2 -2
- package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js +2 -2
- package/lib/components/Renderer/FormBodySingleCollapsibleWrapper.js.map +1 -1
- package/lib/components/Renderer/FormBodyTabbed.d.ts +2 -2
- package/lib/components/Renderer/FormBodyTabbed.js +2 -2
- package/lib/components/Renderer/FormBodyTabbed.js.map +1 -1
- package/lib/components/Renderer/FormTopLevelItem.d.ts +2 -2
- package/lib/components/Renderer/FormTopLevelItem.js +4 -4
- package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
- package/lib/components/Renderer/SmartFormsRenderer.d.ts +1 -0
- package/lib/components/Renderer/SmartFormsRenderer.js +2 -2
- package/lib/components/Renderer/SmartFormsRenderer.js.map +1 -1
- package/lib/hooks/useInitialiseRenderer.d.ts +1 -1
- package/lib/hooks/useInitialiseRenderer.js +4 -3
- package/lib/hooks/useInitialiseRenderer.js.map +1 -1
- package/lib/stores/questionnaireStore.d.ts +4 -2
- package/lib/stores/questionnaireStore.js +4 -2
- package/lib/stores/questionnaireStore.js.map +1 -1
- package/package.json +2 -2
- package/src/components/FormComponents/Tables/GroupTable.tsx +0 -2
- package/src/components/FormComponents/Tables/GroupTableRow.tsx +6 -2
- package/src/components/FormComponents/Tables/GroupTableView.tsx +1 -0
- package/src/components/FormComponents/Tables/SelectRowButton.tsx +9 -2
- package/src/components/Renderer/BaseRenderer.tsx +3 -0
- package/src/components/Renderer/FormBodyCollapsible.tsx +9 -3
- package/src/components/Renderer/FormBodySingleCollapsibleWrapper.tsx +10 -3
- package/src/components/Renderer/FormBodyTabbed.tsx +9 -3
- package/src/components/Renderer/FormTopLevelItem.tsx +13 -3
- package/src/components/Renderer/SmartFormsRenderer.tsx +5 -2
- package/src/hooks/useInitialiseRenderer.ts +6 -3
- package/src/stores/questionnaireStore.ts +8 -3
- package/src/stories/SmartFormsRenderer.stories.ts +16 -0
|
@@ -33,7 +33,6 @@ import useGroupTableRows from '../../../hooks/useGroupTableRows';
|
|
|
33
33
|
import { flushSync } from 'react-dom';
|
|
34
34
|
function GroupTable(props) {
|
|
35
35
|
const { qItem, qrItems, groupCardElevation, showMinimalView, parentIsReadOnly, onQrRepeatGroupChange } = props;
|
|
36
|
-
// console.log(qrItems);
|
|
37
36
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
38
37
|
const { tableRows, selectedIds, setTableRows, setSelectedIds } = useGroupTableRows(qrItems);
|
|
39
38
|
// Generate item labels as table headers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupTable.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTable.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAMxD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,iBAAiB,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAWtC,SAAS,UAAU,CAAC,KAAsB;IACxC,MAAM,EACJ,KAAK,EACL,OAAO,EACP,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACtB,GAAG,KAAK,CAAC;IAEV,
|
|
1
|
+
{"version":3,"file":"GroupTable.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -28,9 +28,9 @@ function GroupTableRow(props) {
|
|
|
28
28
|
return (React.createElement(Draggable, { draggableId: nanoId, index: index }, (draggableProvided, snapshot) => (React.createElement(StyledGroupTableRow, Object.assign({ itemIsDragged: snapshot.isDragging, itemIsSelected: itemIsSelected, hoverDisabled: hoverDisabled, hover: !hoverDisabled, ref: draggableProvided.innerRef }, draggableProvided.draggableProps),
|
|
29
29
|
showMinimalView ? null : (React.createElement(React.Fragment, null,
|
|
30
30
|
React.createElement(TableCell, { padding: "checkbox" },
|
|
31
|
-
React.createElement(Box, Object.assign({ display: "flex", alignItems: "center", justifyContent: "center" }, draggableProvided.dragHandleProps),
|
|
32
|
-
React.createElement(DragIndicator, { fontSize: "small" }))),
|
|
33
|
-
React.createElement(SelectRowButton, { isSelected: itemIsSelected, onSelectItem: () => onSelectRow(nanoId) }))),
|
|
31
|
+
React.createElement(Box, Object.assign({ display: "flex", alignItems: "center", justifyContent: "center" }, (readOnly ? {} : draggableProvided.dragHandleProps)),
|
|
32
|
+
React.createElement(DragIndicator, { fontSize: "small", sx: { color: readOnly ? 'text.disabled' : 'inherit' } }))),
|
|
33
|
+
React.createElement(SelectRowButton, { isSelected: itemIsSelected, readOnly: readOnly, onSelectItem: () => onSelectRow(nanoId) }))),
|
|
34
34
|
React.createElement(GroupTableRowCells, { qItem: tableQItem, qrItem: answeredQrItem, qItemsIndexMap: qItemsIndexMap, parentIsReadOnly: parentIsReadOnly, onQrItemChange: (newQrGroup) => onRowChange(newQrGroup, index) }),
|
|
35
35
|
showMinimalView ? null : (React.createElement(RemoveRowButton, { nullableQrItem: nullableQrItem, numOfRows: tableRows.length, readOnly: readOnly, onRemoveItem: () => onRemoveRow(index) }))))));
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupTableRow.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTableRow.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAsBrD,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EACJ,MAAM,EACN,KAAK,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,QAAQ,EACR,aAAa,EACb,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,WAAW,EACZ,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,oBAAC,SAAS,IAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IACzC,CAAC,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAChC,oBAAC,mBAAmB,kBAClB,aAAa,EAAE,QAAQ,CAAC,UAAU,EAClC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,CAAC,aAAa,EACrB,GAAG,EAAE,iBAAiB,CAAC,QAAQ,IAC3B,iBAAiB,CAAC,cAAc;QACnC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB;YACE,oBAAC,SAAS,IAAC,OAAO,EAAC,UAAU;gBAC3B,oBAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,QAAQ,IACnB,iBAAiB,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"GroupTableRow.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTableRow.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAsBrD,SAAS,aAAa,CAAC,KAAyB;IAC9C,MAAM,EACJ,MAAM,EACN,KAAK,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,QAAQ,EACR,aAAa,EACb,SAAS,EACT,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,WAAW,EACZ,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,oBAAC,SAAS,IAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,IACzC,CAAC,iBAAiB,EAAE,QAAQ,EAAE,EAAE,CAAC,CAChC,oBAAC,mBAAmB,kBAClB,aAAa,EAAE,QAAQ,CAAC,UAAU,EAClC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,CAAC,aAAa,EACrB,GAAG,EAAE,iBAAiB,CAAC,QAAQ,IAC3B,iBAAiB,CAAC,cAAc;QACnC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB;YACE,oBAAC,SAAS,IAAC,OAAO,EAAC,UAAU;gBAC3B,oBAAC,GAAG,kBACF,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,QAAQ,IACnB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC;oBACvD,oBAAC,aAAa,IACZ,QAAQ,EAAC,OAAO,EAChB,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,EAAE,GACrD,CACE,CACI;YACZ,oBAAC,eAAe,IACd,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GACvC,CACD,CACJ;QACD,oBAAC,kBAAkB,IACjB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,cAAc,EACtB,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,GAC9D;QACD,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,oBAAC,eAAe,IACd,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,CAAC,MAAM,EAC3B,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,GACtC,CACH,CACmB,CACvB,CACS,CACb,CAAC;AACJ,CAAC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -56,7 +56,7 @@ function GroupTableView(props) {
|
|
|
56
56
|
React.createElement(TableRow, null,
|
|
57
57
|
React.createElement(HeaderTableCell, { padding: "checkbox" }),
|
|
58
58
|
React.createElement(HeaderTableCell, { padding: "checkbox" },
|
|
59
|
-
React.createElement(Checkbox, { color: "primary", size: "small", indeterminate: selectedIds.length > 0 && selectedIds.length < tableRows.length, checked: tableRows.length > 0 && selectedIds.length === tableRows.length, onChange: onSelectAll })),
|
|
59
|
+
React.createElement(Checkbox, { color: "primary", size: "small", indeterminate: selectedIds.length > 0 && selectedIds.length < tableRows.length, checked: tableRows.length > 0 && selectedIds.length === tableRows.length, disabled: readOnly, onChange: onSelectAll })),
|
|
60
60
|
itemLabels.map((itemLabel) => (React.createElement(HeaderTableCell, { key: itemLabel }, itemLabel))),
|
|
61
61
|
React.createElement(TableCell, null))),
|
|
62
62
|
React.createElement(GroupTableBody, { tableQItem: qItem, readOnly: readOnly, tableRows: tableRows, selectedIds: selectedIds, qItemsIndexMap: qItemsIndexMap, showMinimalView: showMinimalView, parentIsReadOnly: parentIsReadOnly, onRowChange: onRowChange, onRemoveRow: onRemoveRow, onSelectRow: onSelectRow, onReorderRows: onReorderRows })))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupTableView.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTableView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAChD,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,YAAY,MAAM,+BAA+B,CAAC;AACzD,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAO1C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAoB9C,SAAS,cAAc,CAAC,KAA0B;IAChD,MAAM,EACJ,KAAK,EACL,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,WAAW,EACX,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACd,GAAG,KAAK,CAAC;IAEV,IAAI,eAAe,EAAE;QACnB,OAAO,CACL,oBAAC,kBAAkB,IAAC,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC7E,oBAAC,cAAc,IAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB;gBAC7D,oBAAC,KAAK,IAAC,IAAI,EAAC,OAAO;oBACjB,oBAAC,SAAS;wBACR,oBAAC,QAAQ;4BACN,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC7B,oBAAC,eAAe,IAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAC,QAAQ,IAC3C,SAAS,CACM,CACnB,CAAC;4BACF,oBAAC,SAAS,OAAG,CACJ,CACD;oBACZ,oBAAC,SAAS;wBACR,oBAAC,cAAc,IACb,UAAU,EAAE,KAAK,EACjB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,GAC5B,CACQ,CACN,CACO,CACE,CACtB,CAAC;KACH;IAED,OAAO,CACL,oBAAC,kBAAkB,IAAC,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC5E,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,CAC1B;YACE,oBAAC,UAAU,IACT,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAC,IAAI,EACZ,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc;gBACnD,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACvC;YACb,oBAAC,OAAO,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,SAAG,CAC/B,CACJ,CAAC,CAAC,CAAC,IAAI;QACR,oBAAC,cAAc,IAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB;YAC7D,oBAAC,KAAK;gBACJ;oBACE,oBAAC,YAAY,IAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAAI,CAC1E;gBACV,oBAAC,SAAS;oBACR,oBAAC,QAAQ;wBACP,oBAAC,eAAe,IAAC,OAAO,EAAC,UAAU,GAAG;wBACtC,oBAAC,eAAe,IAAC,OAAO,EAAC,UAAU;4BACjC,oBAAC,QAAQ,IACP,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,OAAO,EACZ,aAAa,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAC9E,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EACxE,QAAQ,EAAE,WAAW,GACrB,CACc;wBACjB,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC7B,oBAAC,eAAe,IAAC,GAAG,EAAE,SAAS,IAAG,SAAS,CAAmB,CAC/D,CAAC;wBACF,oBAAC,SAAS,OAAG,CACJ,CACD;gBACZ,oBAAC,cAAc,IACb,UAAU,EAAE,KAAK,EACjB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,GAC5B,CACI,CACO,CACE,CACtB,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"GroupTableView.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTableView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -18,9 +18,9 @@ import React from 'react';
|
|
|
18
18
|
import Checkbox from '@mui/material/Checkbox';
|
|
19
19
|
import TableCell from '@mui/material/TableCell';
|
|
20
20
|
function SelectRowButton(props) {
|
|
21
|
-
const { isSelected, onSelectItem } = props;
|
|
21
|
+
const { isSelected, readOnly, onSelectItem } = props;
|
|
22
22
|
return (React.createElement(TableCell, { padding: "checkbox" },
|
|
23
|
-
React.createElement(Checkbox, { color: "primary", size: "small", checked: isSelected, onChange: onSelectItem })));
|
|
23
|
+
React.createElement(Checkbox, { color: "primary", size: "small", checked: isSelected, disabled: readOnly, onChange: onSelectItem })));
|
|
24
24
|
}
|
|
25
25
|
export default SelectRowButton;
|
|
26
26
|
//# sourceMappingURL=SelectRowButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectRowButton.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/SelectRowButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,SAAS,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectRowButton.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/SelectRowButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAQhD,SAAS,eAAe,CAAC,KAA2B;IAClD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAErD,OAAO,CACL,oBAAC,SAAS,IAAC,OAAO,EAAC,UAAU;QAC3B,oBAAC,QAAQ,IACP,KAAK,EAAC,SAAS,EACf,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,GACtB,CACQ,CACb,CAAC;AACJ,CAAC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -26,6 +26,7 @@ function BaseRenderer() {
|
|
|
26
26
|
var _a;
|
|
27
27
|
const sourceQuestionnaire = useQuestionnaireStore.use.sourceQuestionnaire();
|
|
28
28
|
const updateExpressions = useQuestionnaireStore.use.updateExpressions();
|
|
29
|
+
const readOnly = useQuestionnaireStore.use.readOnly();
|
|
29
30
|
const updatableResponse = useQuestionnaireResponseStore.use.updatableResponse();
|
|
30
31
|
const updateResponse = useQuestionnaireResponseStore.use.updateResponse();
|
|
31
32
|
const qItemsIndexMap = useMemo(() => mapQItemsIndex(sourceQuestionnaire), [sourceQuestionnaire]);
|
|
@@ -57,7 +58,7 @@ function BaseRenderer() {
|
|
|
57
58
|
return (React.createElement(Fade, { in: true, timeout: 500 },
|
|
58
59
|
React.createElement(Container, { maxWidth: "xl" }, topLevelQItems.map((qItem, index) => {
|
|
59
60
|
const qrItemOrItems = topLevelQRItemsByIndex[index];
|
|
60
|
-
return (React.createElement(FormTopLevelItem, { key: qItem.linkId, topLevelQItem: qItem, topLevelQRItemOrItems: qrItemOrItems !== null && qrItemOrItems !== void 0 ? qrItemOrItems : null, onQrItemChange: (newTopLevelQRItem) => handleTopLevelQRItemSingleChange(newTopLevelQRItem), onQrRepeatGroupChange: (newTopLevelQRItems) => handleTopLevelQRItemMultipleChange(newTopLevelQRItems) }));
|
|
61
|
+
return (React.createElement(FormTopLevelItem, { key: qItem.linkId, topLevelQItem: qItem, topLevelQRItemOrItems: qrItemOrItems !== null && qrItemOrItems !== void 0 ? qrItemOrItems : null, parentIsReadOnly: readOnly, onQrItemChange: (newTopLevelQRItem) => handleTopLevelQRItemSingleChange(newTopLevelQRItem), onQrRepeatGroupChange: (newTopLevelQRItems) => handleTopLevelQRItemMultipleChange(newTopLevelQRItems) }));
|
|
61
62
|
}))));
|
|
62
63
|
}
|
|
63
64
|
export default BaseRenderer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseRenderer.js","sourceRoot":"","sources":["../../../src/components/Renderer/BaseRenderer.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseRenderer.js","sourceRoot":"","sources":["../../../src/components/Renderer/BaseRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
3
|
-
import type { PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
|
|
4
|
-
interface FormBodyCollapsibleProps extends PropsWithQrItemChangeHandler {
|
|
3
|
+
import type { PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
|
|
4
|
+
interface FormBodyCollapsibleProps extends PropsWithQrItemChangeHandler, PropsWithParentIsReadOnlyAttribute {
|
|
5
5
|
topLevelQItem: QuestionnaireItem;
|
|
6
6
|
topLevelQRItem: QuestionnaireResponseItem | null;
|
|
7
7
|
}
|
|
@@ -21,7 +21,7 @@ import { createEmptyQrGroup, updateQrItemsInGroup } from '../../utils/qrItem';
|
|
|
21
21
|
import { useQuestionnaireStore } from '../../stores';
|
|
22
22
|
import FormBodySingleCollapsibleWrapper from './FormBodySingleCollapsibleWrapper';
|
|
23
23
|
function FormBodyCollapsibleWrapper(props) {
|
|
24
|
-
const { topLevelQItem, topLevelQRItem, onQrItemChange } = props;
|
|
24
|
+
const { topLevelQItem, topLevelQRItem, parentIsReadOnly, onQrItemChange } = props;
|
|
25
25
|
const tabs = useQuestionnaireStore.use.tabs();
|
|
26
26
|
const currentTab = useQuestionnaireStore.use.currentTabIndex();
|
|
27
27
|
const switchTab = useQuestionnaireStore.use.switchTab();
|
|
@@ -51,7 +51,7 @@ function FormBodyCollapsibleWrapper(props) {
|
|
|
51
51
|
// Something has gone horribly wrong
|
|
52
52
|
return null;
|
|
53
53
|
}
|
|
54
|
-
return (React.createElement(FormBodySingleCollapsibleWrapper, { key: qItem.linkId, qItem: qItem, qrItem: qrItem !== null && qrItem !== void 0 ? qrItem : null, index: i, selectedIndex: currentTab, onToggleExpand: handleToggleExpand, onQrItemChange: handleQrGroupChange }));
|
|
54
|
+
return (React.createElement(FormBodySingleCollapsibleWrapper, { key: qItem.linkId, qItem: qItem, qrItem: qrItem !== null && qrItem !== void 0 ? qrItem : null, index: i, selectedIndex: currentTab, parentIsReadOnly: parentIsReadOnly, onToggleExpand: handleToggleExpand, onQrItemChange: handleQrGroupChange }));
|
|
55
55
|
})));
|
|
56
56
|
}
|
|
57
57
|
export default FormBodyCollapsibleWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBodyCollapsible.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodyCollapsible.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"FormBodyCollapsible.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodyCollapsible.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAK9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,gCAAgC,MAAM,oCAAoC,CAAC;AASlF,SAAS,0BAA0B,CAAC,KAA+B;IACjE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAElF,MAAM,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IAC/D,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IAExD,MAAM,QAAQ,GAA2B,OAAO,CAC9C,GAAG,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,EACnC,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,MAAM,qBAAqB,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAElF,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC;IAClC,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC;IAE3C,SAAS,mBAAmB,CAAC,MAAiC;QAC5D,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAC;QACpE,cAAc,CAAC,qBAAqB,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;QACvB,OAAO,gEAAwB,CAAC;KACjC;IAED,SAAS,kBAAkB,CAAC,KAAa;QACvC,SAAS,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;QACvB,OAAO,gEAAwB,CAAC;KACjC;IAED,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAElE,OAAO,CACL,oBAAC,KAAK,IAAC,MAAM,EAAE,CAAC,IACb,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAEjC,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEnC,IAAI,CAAC,KAAK,IAAI,CAAC,gBAAgB,EAAE;YAC/B,oCAAoC;YACpC,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CACL,oBAAC,gCAAgC,IAC/B,GAAG,EAAE,KAAK,CAAC,MAAM,EACjB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,EACtB,KAAK,EAAE,CAAC,EACR,aAAa,EAAE,UAAU,EACzB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,kBAAkB,EAClC,cAAc,EAAE,mBAAmB,GACnC,CACH,CAAC;IACJ,CAAC,CAAC,CACI,CACT,CAAC;AACJ,CAAC;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
3
|
-
import type { PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
|
|
4
|
-
interface FormBodySingleCollapsibleProps extends PropsWithQrItemChangeHandler {
|
|
3
|
+
import type { PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
|
|
4
|
+
interface FormBodySingleCollapsibleProps extends PropsWithQrItemChangeHandler, PropsWithParentIsReadOnlyAttribute {
|
|
5
5
|
qItem: QuestionnaireItem;
|
|
6
6
|
qrItem: QuestionnaireResponseItem | null;
|
|
7
7
|
index: number;
|
|
@@ -19,13 +19,13 @@ import GroupItem from '../FormComponents/GroupItem/GroupItem';
|
|
|
19
19
|
import FormBodySingleCollapsible from './FormBodySingleCollapsible';
|
|
20
20
|
import useHidden from '../../hooks/useHidden';
|
|
21
21
|
function FormBodySingleCollapsibleWrapper(props) {
|
|
22
|
-
const { qItem, qrItem, index, selectedIndex, onToggleExpand, onQrItemChange } = props;
|
|
22
|
+
const { qItem, qrItem, index, selectedIndex, parentIsReadOnly, onToggleExpand, onQrItemChange } = props;
|
|
23
23
|
const itemIsHidden = useHidden(qItem);
|
|
24
24
|
if (itemIsHidden) {
|
|
25
25
|
return null;
|
|
26
26
|
}
|
|
27
27
|
return (React.createElement(FormBodySingleCollapsible, { key: qItem.linkId, qItem: qItem, index: index, selectedIndex: selectedIndex, onToggleExpand: onToggleExpand },
|
|
28
|
-
React.createElement(GroupItem, { qItem: qItem, qrItem: qrItem, isRepeated: true, groupCardElevation: 1, onQrItemChange: onQrItemChange })));
|
|
28
|
+
React.createElement(GroupItem, { qItem: qItem, qrItem: qrItem, isRepeated: true, groupCardElevation: 1, parentIsReadOnly: parentIsReadOnly, onQrItemChange: onQrItemChange })));
|
|
29
29
|
}
|
|
30
30
|
export default FormBodySingleCollapsibleWrapper;
|
|
31
31
|
//# sourceMappingURL=FormBodySingleCollapsibleWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBodySingleCollapsibleWrapper.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodySingleCollapsibleWrapper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"FormBodySingleCollapsibleWrapper.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodySingleCollapsibleWrapper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAKpE,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAY9C,SAAS,gCAAgC,CAAC,KAAqC;IAC7E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,GAC7F,KAAK,CAAC;IAER,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,YAAY,EAAE;QAChB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,oBAAC,yBAAyB,IACxB,GAAG,EAAE,KAAK,CAAC,MAAM,EACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc;QAC9B,oBAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,IAAI,EAChB,kBAAkB,EAAE,CAAC,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,cAAc,GAC9B,CACwB,CAC7B,CAAC;AACJ,CAAC;AAED,eAAe,gCAAgC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
3
|
-
import type { PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
|
|
4
|
-
interface FormBodyTabbedProps extends PropsWithQrItemChangeHandler {
|
|
3
|
+
import type { PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler } from '../../interfaces/renderProps.interface';
|
|
4
|
+
interface FormBodyTabbedProps extends PropsWithQrItemChangeHandler, PropsWithParentIsReadOnlyAttribute {
|
|
5
5
|
topLevelQItem: QuestionnaireItem;
|
|
6
6
|
topLevelQRItem: QuestionnaireResponseItem | null;
|
|
7
7
|
}
|
|
@@ -24,7 +24,7 @@ import { createEmptyQrGroup, updateQrItemsInGroup } from '../../utils/qrItem';
|
|
|
24
24
|
import FormBodyTabListWrapper from '../Tabs/FormBodyTabListWrapper';
|
|
25
25
|
import { useQuestionnaireStore } from '../../stores';
|
|
26
26
|
function FormBodyTabbed(props) {
|
|
27
|
-
const { topLevelQItem, topLevelQRItem, onQrItemChange } = props;
|
|
27
|
+
const { topLevelQItem, topLevelQRItem, parentIsReadOnly, onQrItemChange } = props;
|
|
28
28
|
const tabs = useQuestionnaireStore.use.tabs();
|
|
29
29
|
const currentTab = useQuestionnaireStore.use.currentTabIndex();
|
|
30
30
|
const indexMap = useMemo(() => mapQItemsIndex(topLevelQItem), [topLevelQItem]);
|
|
@@ -55,7 +55,7 @@ function FormBodyTabbed(props) {
|
|
|
55
55
|
const isRepeated = (_a = qItem.repeats) !== null && _a !== void 0 ? _a : false;
|
|
56
56
|
const tabIsMarkedAsComplete = (_b = tabs[qItem.linkId].isComplete) !== null && _b !== void 0 ? _b : false;
|
|
57
57
|
return (React.createElement(TabPanel, { key: qItem.linkId, sx: { p: 0 }, value: i.toString(), "data-test": "renderer-tab-panel" },
|
|
58
|
-
React.createElement(GroupItem, { qItem: qItem, qrItem: qrItem !== null && qrItem !== void 0 ? qrItem : null, isRepeated: isRepeated, groupCardElevation: 1, tabIsMarkedAsComplete: tabIsMarkedAsComplete, tabs: tabs, currentTabIndex: currentTab, onQrItemChange: handleQrGroupChange })));
|
|
58
|
+
React.createElement(GroupItem, { qItem: qItem, qrItem: qrItem !== null && qrItem !== void 0 ? qrItem : null, isRepeated: isRepeated, groupCardElevation: 1, tabIsMarkedAsComplete: tabIsMarkedAsComplete, tabs: tabs, currentTabIndex: currentTab, parentIsReadOnly: parentIsReadOnly, onQrItemChange: handleQrGroupChange })));
|
|
59
59
|
})))));
|
|
60
60
|
}
|
|
61
61
|
export default FormBodyTabbed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormBodyTabbed.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodyTabbed.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAEtC,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAC7C,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,sBAAsB,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"FormBodyTabbed.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormBodyTabbed.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
3
|
-
import type { PropsWithQrItemChangeHandler, PropsWithQrRepeatGroupChangeHandler } from '../../interfaces/renderProps.interface';
|
|
4
|
-
interface FormTopLevelItemProps extends PropsWithQrItemChangeHandler, PropsWithQrRepeatGroupChangeHandler {
|
|
3
|
+
import type { PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler, PropsWithQrRepeatGroupChangeHandler } from '../../interfaces/renderProps.interface';
|
|
4
|
+
interface FormTopLevelItemProps extends PropsWithQrItemChangeHandler, PropsWithQrRepeatGroupChangeHandler, PropsWithParentIsReadOnlyAttribute {
|
|
5
5
|
topLevelQItem: QuestionnaireItem;
|
|
6
6
|
topLevelQRItemOrItems: QuestionnaireResponseItem | QuestionnaireResponseItem[] | null;
|
|
7
7
|
}
|
|
@@ -26,12 +26,12 @@ import GroupItemSwitcher from '../FormComponents/GroupItem/GroupItemSwitcher';
|
|
|
26
26
|
import useReadOnly from '../../hooks/useReadOnly';
|
|
27
27
|
import Box from '@mui/material/Box';
|
|
28
28
|
function FormTopLevelItem(props) {
|
|
29
|
-
const { topLevelQItem, topLevelQRItemOrItems, onQrItemChange, onQrRepeatGroupChange } = props;
|
|
29
|
+
const { topLevelQItem, topLevelQRItemOrItems, parentIsReadOnly, onQrItemChange, onQrRepeatGroupChange } = props;
|
|
30
30
|
const itemIsTabContainer = isTabContainer(topLevelQItem);
|
|
31
31
|
const itemContainsTabs = containsTabs(topLevelQItem);
|
|
32
32
|
const isTablet = useResponsive('up', 'md');
|
|
33
33
|
const itemIsGroup = topLevelQItem.type === 'group';
|
|
34
|
-
const readOnly = useReadOnly(topLevelQItem,
|
|
34
|
+
const readOnly = useReadOnly(topLevelQItem, parentIsReadOnly);
|
|
35
35
|
const itemIsHidden = useHidden(topLevelQItem);
|
|
36
36
|
if (itemIsHidden) {
|
|
37
37
|
return null;
|
|
@@ -46,9 +46,9 @@ function FormTopLevelItem(props) {
|
|
|
46
46
|
// If form is tabbed, it is rendered as a tabbed form
|
|
47
47
|
if (itemContainsTabs || itemIsTabContainer) {
|
|
48
48
|
if (isTablet) {
|
|
49
|
-
return (React.createElement(FormBodyTabbed, { key: topLevelQItem.linkId, topLevelQItem: topLevelQItem, topLevelQRItem: topLevelQRItem, onQrItemChange: onQrItemChange }));
|
|
49
|
+
return (React.createElement(FormBodyTabbed, { key: topLevelQItem.linkId, topLevelQItem: topLevelQItem, topLevelQRItem: topLevelQRItem, parentIsReadOnly: readOnly, onQrItemChange: onQrItemChange }));
|
|
50
50
|
}
|
|
51
|
-
return (React.createElement(FormBodyCollapsible, { key: topLevelQItem.linkId, topLevelQItem: topLevelQItem, topLevelQRItem: topLevelQRItem, onQrItemChange: onQrItemChange }));
|
|
51
|
+
return (React.createElement(FormBodyCollapsible, { key: topLevelQItem.linkId, topLevelQItem: topLevelQItem, topLevelQRItem: topLevelQRItem, parentIsReadOnly: readOnly, onQrItemChange: onQrItemChange }));
|
|
52
52
|
}
|
|
53
53
|
// If form is untabbed, it is rendered as a regular group
|
|
54
54
|
if (itemIsGroup) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormTopLevelItem.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormTopLevelItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,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;
|
|
1
|
+
{"version":3,"file":"FormTopLevelItem.js","sourceRoot":"","sources":["../../../src/components/Renderer/FormTopLevelItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ interface SmartFormsRendererProps {
|
|
|
7
7
|
additionalVariables?: Record<string, object>;
|
|
8
8
|
terminologyServerUrl?: string;
|
|
9
9
|
fhirClient?: Client;
|
|
10
|
+
readOnly?: boolean;
|
|
10
11
|
}
|
|
11
12
|
declare function SmartFormsRenderer(props: SmartFormsRendererProps): React.JSX.Element;
|
|
12
13
|
export default SmartFormsRenderer;
|
|
@@ -24,8 +24,8 @@ import { QueryClientProvider } from '@tanstack/react-query';
|
|
|
24
24
|
import useQueryClient from '../../hooks/useQueryClient';
|
|
25
25
|
import BaseRenderer from './BaseRenderer';
|
|
26
26
|
function SmartFormsRenderer(props) {
|
|
27
|
-
const { questionnaire, questionnaireResponse, additionalVariables, terminologyServerUrl, fhirClient } = props;
|
|
28
|
-
const isLoading = useInitialiseRenderer(questionnaire, questionnaireResponse, additionalVariables, terminologyServerUrl, fhirClient);
|
|
27
|
+
const { questionnaire, questionnaireResponse, additionalVariables, terminologyServerUrl, fhirClient, readOnly } = props;
|
|
28
|
+
const isLoading = useInitialiseRenderer(questionnaire, questionnaireResponse, additionalVariables, terminologyServerUrl, fhirClient, readOnly);
|
|
29
29
|
const queryClient = useQueryClient();
|
|
30
30
|
if (isLoading) {
|
|
31
31
|
return (React.createElement(Box, { display: "flex", alignItems: "center", columnGap: 2 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmartFormsRenderer.js","sourceRoot":"","sources":["../../../src/components/Renderer/SmartFormsRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAE9C,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,YAAY,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"SmartFormsRenderer.js","sourceRoot":"","sources":["../../../src/components/Renderer/SmartFormsRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAE9C,OAAO,qBAAqB,MAAM,mCAAmC,CAAC;AACtE,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAY1C,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,EACJ,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,QAAQ,EACT,GAAG,KAAK,CAAC;IAEV,MAAM,SAAS,GAAG,qBAAqB,CACrC,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,QAAQ,CACT,CAAC;IACF,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,IAAI,SAAS,EAAE;QACb,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC;YAClD,oBAAC,gBAAgB,OAAG;YACpB,oBAAC,UAAU,mCAAsC,CAC7C,CACP,CAAC;KACH;IAED,OAAO,CACL,oBAAC,aAAa;QACZ,oBAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW;YACtC,oBAAC,YAAY,OAAG,CACI,CACR,CACjB,CAAC;AACJ,CAAC;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Questionnaire, QuestionnaireResponse } from 'fhir/r4';
|
|
2
2
|
import type Client from 'fhirclient/lib/Client';
|
|
3
|
-
declare function useInitialiseRenderer(questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string, fhirClient?: Client): boolean;
|
|
3
|
+
declare function useInitialiseRenderer(questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string, fhirClient?: Client, readOnly?: boolean): boolean;
|
|
4
4
|
export default useInitialiseRenderer;
|
|
@@ -18,7 +18,7 @@ import { useLayoutEffect, useState } from 'react';
|
|
|
18
18
|
import { initialiseQuestionnaireResponse } from '../utils/initialise';
|
|
19
19
|
import { readEncounter, readPatient, readUser } from '../api/smartClient';
|
|
20
20
|
import { useQuestionnaireResponseStore, useQuestionnaireStore, useSmartConfigStore, useTerminologyServerStore } from '../stores';
|
|
21
|
-
function useInitialiseRenderer(questionnaire, questionnaireResponse, additionalVariables, terminologyServerUrl, fhirClient) {
|
|
21
|
+
function useInitialiseRenderer(questionnaire, questionnaireResponse, additionalVariables, terminologyServerUrl, fhirClient, readOnly) {
|
|
22
22
|
const buildSourceQuestionnaire = useQuestionnaireStore.use.buildSourceQuestionnaire();
|
|
23
23
|
const updatePopulatedProperties = useQuestionnaireStore.use.updatePopulatedProperties();
|
|
24
24
|
const buildSourceResponse = useQuestionnaireResponseStore.use.buildSourceResponse();
|
|
@@ -53,7 +53,7 @@ function useInitialiseRenderer(questionnaire, questionnaireResponse, additionalV
|
|
|
53
53
|
resetTerminologyServerUrl();
|
|
54
54
|
}
|
|
55
55
|
// initialise form including enableWhen, enableWhenExpressions, calculatedExpressions, initialExpressions, answerExpressions, cache answerValueSets
|
|
56
|
-
buildSourceQuestionnaire(questionnaire, questionnaireResponse, additionalVariables, terminologyServerUrl).then(() => {
|
|
56
|
+
buildSourceQuestionnaire(questionnaire, questionnaireResponse, additionalVariables, terminologyServerUrl, readOnly).then(() => {
|
|
57
57
|
buildSourceResponse(initialiseQuestionnaireResponse(questionnaire));
|
|
58
58
|
if (questionnaireResponse) {
|
|
59
59
|
const updatedResponse = updatePopulatedProperties(questionnaireResponse);
|
|
@@ -76,7 +76,8 @@ function useInitialiseRenderer(questionnaire, questionnaireResponse, additionalV
|
|
|
76
76
|
setEncounter,
|
|
77
77
|
terminologyServerUrl,
|
|
78
78
|
setTerminologyServerUrl,
|
|
79
|
-
resetTerminologyServerUrl
|
|
79
|
+
resetTerminologyServerUrl,
|
|
80
|
+
readOnly
|
|
80
81
|
]);
|
|
81
82
|
return loading;
|
|
82
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInitialiseRenderer.js","sourceRoot":"","sources":["../../src/hooks/useInitialiseRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,WAAW,CAAC;AAEnB,SAAS,qBAAqB,CAC5B,aAA4B,EAC5B,qBAA6C,EAC7C,mBAA4C,EAC5C,oBAA6B,EAC7B,UAAmB;
|
|
1
|
+
{"version":3,"file":"useInitialiseRenderer.js","sourceRoot":"","sources":["../../src/hooks/useInitialiseRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,8 @@ interface QuestionnaireStoreType {
|
|
|
22
22
|
processedValueSetUrls: Record<string, string>;
|
|
23
23
|
cachedValueSetCodings: Record<string, Coding[]>;
|
|
24
24
|
fhirPathContext: Record<string, any>;
|
|
25
|
-
|
|
25
|
+
readOnly: boolean;
|
|
26
|
+
buildSourceQuestionnaire: (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string, readOnly?: boolean) => Promise<void>;
|
|
26
27
|
destroySourceQuestionnaire: () => void;
|
|
27
28
|
switchTab: (newTabIndex: number) => void;
|
|
28
29
|
markTabAsComplete: (tabLinkId: string) => void;
|
|
@@ -51,7 +52,8 @@ export declare const useQuestionnaireStore: import("zustand/vanilla").StoreApi<Q
|
|
|
51
52
|
processedValueSetUrls: () => Record<string, string>;
|
|
52
53
|
cachedValueSetCodings: () => Record<string, Coding[]>;
|
|
53
54
|
fhirPathContext: () => Record<string, any>;
|
|
54
|
-
|
|
55
|
+
readOnly: () => boolean;
|
|
56
|
+
buildSourceQuestionnaire: () => (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string, readOnly?: boolean) => Promise<void>;
|
|
55
57
|
destroySourceQuestionnaire: () => () => void;
|
|
56
58
|
switchTab: () => (newTabIndex: number) => void;
|
|
57
59
|
markTabAsComplete: () => (tabLinkId: string) => void;
|
|
@@ -50,7 +50,8 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
50
50
|
processedValueSetUrls: {},
|
|
51
51
|
cachedValueSetCodings: {},
|
|
52
52
|
fhirPathContext: {},
|
|
53
|
-
|
|
53
|
+
readOnly: false,
|
|
54
|
+
buildSourceQuestionnaire: (questionnaire, questionnaireResponse = cloneDeep(emptyResponse), additionalVariables = {}, terminologyServerUrl = terminologyServerStore.getState().url, readOnly = false) => __awaiter(void 0, void 0, void 0, function* () {
|
|
54
55
|
const questionnaireModel = yield createQuestionnaireModel(questionnaire, additionalVariables, terminologyServerUrl);
|
|
55
56
|
const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, initialCalculatedExpressions, firstVisibleTab, updatedFhirPathContext } = initialiseFormFromResponse({
|
|
56
57
|
questionnaireResponse,
|
|
@@ -75,7 +76,8 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
75
76
|
answerExpressions: questionnaireModel.answerExpressions,
|
|
76
77
|
processedValueSetCodings: questionnaireModel.processedValueSetCodings,
|
|
77
78
|
processedValueSetUrls: questionnaireModel.processedValueSetUrls,
|
|
78
|
-
fhirPathContext: updatedFhirPathContext
|
|
79
|
+
fhirPathContext: updatedFhirPathContext,
|
|
80
|
+
readOnly: readOnly
|
|
79
81
|
});
|
|
80
82
|
}),
|
|
81
83
|
destroySourceQuestionnaire: () => set({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questionnaireStore.js","sourceRoot":"","sources":["../../src/stores/questionnaireStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAa9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EACL,oCAAoC,EACpC,oCAAoC,EACrC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,0DAA0D,CAAC;AACpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"questionnaireStore.js","sourceRoot":"","sources":["../../src/stores/questionnaireStore.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.12.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"description": "FHIR Structured Data Captured (SDC) rendering engine for Smart Forms",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"@swc/cli": "^0.1.63",
|
|
64
64
|
"@swc/core": "^1.3.99",
|
|
65
65
|
"@testing-library/jest-dom": "^6.1.2",
|
|
66
|
-
"@testing-library/react": "^14.
|
|
66
|
+
"@testing-library/react": "^14.2.1",
|
|
67
67
|
"@testing-library/react-hooks": "^7.0.2",
|
|
68
68
|
"@types/deep-diff": "^1.0.4",
|
|
69
69
|
"@types/jest": "^29.5.7",
|
|
@@ -51,8 +51,6 @@ function GroupTable(props: GroupTableProps) {
|
|
|
51
51
|
onQrRepeatGroupChange
|
|
52
52
|
} = props;
|
|
53
53
|
|
|
54
|
-
// console.log(qrItems);
|
|
55
|
-
|
|
56
54
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
57
55
|
|
|
58
56
|
const { tableRows, selectedIds, setTableRows, setSelectedIds } = useGroupTableRows(qrItems);
|
|
@@ -88,12 +88,16 @@ function GroupTableRow(props: GroupTableRowProps) {
|
|
|
88
88
|
display="flex"
|
|
89
89
|
alignItems="center"
|
|
90
90
|
justifyContent="center"
|
|
91
|
-
{...draggableProvided.dragHandleProps}>
|
|
92
|
-
<DragIndicator
|
|
91
|
+
{...(readOnly ? {} : draggableProvided.dragHandleProps)}>
|
|
92
|
+
<DragIndicator
|
|
93
|
+
fontSize="small"
|
|
94
|
+
sx={{ color: readOnly ? 'text.disabled' : 'inherit' }}
|
|
95
|
+
/>
|
|
93
96
|
</Box>
|
|
94
97
|
</TableCell>
|
|
95
98
|
<SelectRowButton
|
|
96
99
|
isSelected={itemIsSelected}
|
|
100
|
+
readOnly={readOnly}
|
|
97
101
|
onSelectItem={() => onSelectRow(nanoId)}
|
|
98
102
|
/>
|
|
99
103
|
</>
|
|
@@ -138,6 +138,7 @@ function GroupTableView(props: GroupTableViewProps) {
|
|
|
138
138
|
size="small"
|
|
139
139
|
indeterminate={selectedIds.length > 0 && selectedIds.length < tableRows.length}
|
|
140
140
|
checked={tableRows.length > 0 && selectedIds.length === tableRows.length}
|
|
141
|
+
disabled={readOnly}
|
|
141
142
|
onChange={onSelectAll}
|
|
142
143
|
/>
|
|
143
144
|
</HeaderTableCell>
|
|
@@ -21,15 +21,22 @@ import TableCell from '@mui/material/TableCell';
|
|
|
21
21
|
|
|
22
22
|
interface SelectRowButtonProps {
|
|
23
23
|
isSelected: boolean;
|
|
24
|
+
readOnly: boolean;
|
|
24
25
|
onSelectItem: () => void;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
function SelectRowButton(props: SelectRowButtonProps) {
|
|
28
|
-
const { isSelected, onSelectItem } = props;
|
|
29
|
+
const { isSelected, readOnly, onSelectItem } = props;
|
|
29
30
|
|
|
30
31
|
return (
|
|
31
32
|
<TableCell padding="checkbox">
|
|
32
|
-
<Checkbox
|
|
33
|
+
<Checkbox
|
|
34
|
+
color="primary"
|
|
35
|
+
size="small"
|
|
36
|
+
checked={isSelected}
|
|
37
|
+
disabled={readOnly}
|
|
38
|
+
onChange={onSelectItem}
|
|
39
|
+
/>
|
|
33
40
|
</TableCell>
|
|
34
41
|
);
|
|
35
42
|
}
|
|
@@ -29,6 +29,8 @@ import type { QrRepeatGroup } from '../../interfaces/repeatGroup.interface';
|
|
|
29
29
|
function BaseRenderer() {
|
|
30
30
|
const sourceQuestionnaire = useQuestionnaireStore.use.sourceQuestionnaire();
|
|
31
31
|
const updateExpressions = useQuestionnaireStore.use.updateExpressions();
|
|
32
|
+
const readOnly = useQuestionnaireStore.use.readOnly();
|
|
33
|
+
|
|
32
34
|
const updatableResponse = useQuestionnaireResponseStore.use.updatableResponse();
|
|
33
35
|
const updateResponse = useQuestionnaireResponseStore.use.updateResponse();
|
|
34
36
|
|
|
@@ -79,6 +81,7 @@ function BaseRenderer() {
|
|
|
79
81
|
key={qItem.linkId}
|
|
80
82
|
topLevelQItem={qItem}
|
|
81
83
|
topLevelQRItemOrItems={qrItemOrItems ?? null}
|
|
84
|
+
parentIsReadOnly={readOnly}
|
|
82
85
|
onQrItemChange={(newTopLevelQRItem) =>
|
|
83
86
|
handleTopLevelQRItemSingleChange(newTopLevelQRItem)
|
|
84
87
|
}
|
|
@@ -20,17 +20,22 @@ import Stack from '@mui/material/Stack';
|
|
|
20
20
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
21
21
|
import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
|
|
22
22
|
import { createEmptyQrGroup, updateQrItemsInGroup } from '../../utils/qrItem';
|
|
23
|
-
import type {
|
|
23
|
+
import type {
|
|
24
|
+
PropsWithParentIsReadOnlyAttribute,
|
|
25
|
+
PropsWithQrItemChangeHandler
|
|
26
|
+
} from '../../interfaces/renderProps.interface';
|
|
24
27
|
import { useQuestionnaireStore } from '../../stores';
|
|
25
28
|
import FormBodySingleCollapsibleWrapper from './FormBodySingleCollapsibleWrapper';
|
|
26
29
|
|
|
27
|
-
interface FormBodyCollapsibleProps
|
|
30
|
+
interface FormBodyCollapsibleProps
|
|
31
|
+
extends PropsWithQrItemChangeHandler,
|
|
32
|
+
PropsWithParentIsReadOnlyAttribute {
|
|
28
33
|
topLevelQItem: QuestionnaireItem;
|
|
29
34
|
topLevelQRItem: QuestionnaireResponseItem | null;
|
|
30
35
|
}
|
|
31
36
|
|
|
32
37
|
function FormBodyCollapsibleWrapper(props: FormBodyCollapsibleProps) {
|
|
33
|
-
const { topLevelQItem, topLevelQRItem, onQrItemChange } = props;
|
|
38
|
+
const { topLevelQItem, topLevelQRItem, parentIsReadOnly, onQrItemChange } = props;
|
|
34
39
|
|
|
35
40
|
const tabs = useQuestionnaireStore.use.tabs();
|
|
36
41
|
const currentTab = useQuestionnaireStore.use.currentTabIndex();
|
|
@@ -85,6 +90,7 @@ function FormBodyCollapsibleWrapper(props: FormBodyCollapsibleProps) {
|
|
|
85
90
|
qrItem={qrItem ?? null}
|
|
86
91
|
index={i}
|
|
87
92
|
selectedIndex={currentTab}
|
|
93
|
+
parentIsReadOnly={parentIsReadOnly}
|
|
88
94
|
onToggleExpand={handleToggleExpand}
|
|
89
95
|
onQrItemChange={handleQrGroupChange}
|
|
90
96
|
/>
|
|
@@ -19,10 +19,15 @@ import React from 'react';
|
|
|
19
19
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
20
20
|
import GroupItem from '../FormComponents/GroupItem/GroupItem';
|
|
21
21
|
import FormBodySingleCollapsible from './FormBodySingleCollapsible';
|
|
22
|
-
import type {
|
|
22
|
+
import type {
|
|
23
|
+
PropsWithParentIsReadOnlyAttribute,
|
|
24
|
+
PropsWithQrItemChangeHandler
|
|
25
|
+
} from '../../interfaces/renderProps.interface';
|
|
23
26
|
import useHidden from '../../hooks/useHidden';
|
|
24
27
|
|
|
25
|
-
interface FormBodySingleCollapsibleProps
|
|
28
|
+
interface FormBodySingleCollapsibleProps
|
|
29
|
+
extends PropsWithQrItemChangeHandler,
|
|
30
|
+
PropsWithParentIsReadOnlyAttribute {
|
|
26
31
|
qItem: QuestionnaireItem;
|
|
27
32
|
qrItem: QuestionnaireResponseItem | null;
|
|
28
33
|
index: number;
|
|
@@ -31,7 +36,8 @@ interface FormBodySingleCollapsibleProps extends PropsWithQrItemChangeHandler {
|
|
|
31
36
|
}
|
|
32
37
|
|
|
33
38
|
function FormBodySingleCollapsibleWrapper(props: FormBodySingleCollapsibleProps) {
|
|
34
|
-
const { qItem, qrItem, index, selectedIndex, onToggleExpand, onQrItemChange } =
|
|
39
|
+
const { qItem, qrItem, index, selectedIndex, parentIsReadOnly, onToggleExpand, onQrItemChange } =
|
|
40
|
+
props;
|
|
35
41
|
|
|
36
42
|
const itemIsHidden = useHidden(qItem);
|
|
37
43
|
if (itemIsHidden) {
|
|
@@ -50,6 +56,7 @@ function FormBodySingleCollapsibleWrapper(props: FormBodySingleCollapsibleProps)
|
|
|
50
56
|
qrItem={qrItem}
|
|
51
57
|
isRepeated={true}
|
|
52
58
|
groupCardElevation={1}
|
|
59
|
+
parentIsReadOnly={parentIsReadOnly}
|
|
53
60
|
onQrItemChange={onQrItemChange}
|
|
54
61
|
/>
|
|
55
62
|
</FormBodySingleCollapsible>
|
|
@@ -24,16 +24,21 @@ import { getQrItemsIndex, mapQItemsIndex } from '../../utils/mapItem';
|
|
|
24
24
|
import GroupItem from '../FormComponents/GroupItem/GroupItem';
|
|
25
25
|
import { createEmptyQrGroup, updateQrItemsInGroup } from '../../utils/qrItem';
|
|
26
26
|
import FormBodyTabListWrapper from '../Tabs/FormBodyTabListWrapper';
|
|
27
|
-
import type {
|
|
27
|
+
import type {
|
|
28
|
+
PropsWithParentIsReadOnlyAttribute,
|
|
29
|
+
PropsWithQrItemChangeHandler
|
|
30
|
+
} from '../../interfaces/renderProps.interface';
|
|
28
31
|
import { useQuestionnaireStore } from '../../stores';
|
|
29
32
|
|
|
30
|
-
interface FormBodyTabbedProps
|
|
33
|
+
interface FormBodyTabbedProps
|
|
34
|
+
extends PropsWithQrItemChangeHandler,
|
|
35
|
+
PropsWithParentIsReadOnlyAttribute {
|
|
31
36
|
topLevelQItem: QuestionnaireItem;
|
|
32
37
|
topLevelQRItem: QuestionnaireResponseItem | null;
|
|
33
38
|
}
|
|
34
39
|
|
|
35
40
|
function FormBodyTabbed(props: FormBodyTabbedProps) {
|
|
36
|
-
const { topLevelQItem, topLevelQRItem, onQrItemChange } = props;
|
|
41
|
+
const { topLevelQItem, topLevelQRItem, parentIsReadOnly, onQrItemChange } = props;
|
|
37
42
|
|
|
38
43
|
const tabs = useQuestionnaireStore.use.tabs();
|
|
39
44
|
const currentTab = useQuestionnaireStore.use.currentTabIndex();
|
|
@@ -95,6 +100,7 @@ function FormBodyTabbed(props: FormBodyTabbedProps) {
|
|
|
95
100
|
tabIsMarkedAsComplete={tabIsMarkedAsComplete}
|
|
96
101
|
tabs={tabs}
|
|
97
102
|
currentTabIndex={currentTab}
|
|
103
|
+
parentIsReadOnly={parentIsReadOnly}
|
|
98
104
|
onQrItemChange={handleQrGroupChange}
|
|
99
105
|
/>
|
|
100
106
|
</TabPanel>
|
|
@@ -22,6 +22,7 @@ import { containsTabs, isTabContainer } from '../../utils/tabs';
|
|
|
22
22
|
import GroupItem from '../FormComponents/GroupItem/GroupItem';
|
|
23
23
|
import SingleItem from '../FormComponents/SingleItem/SingleItem';
|
|
24
24
|
import type {
|
|
25
|
+
PropsWithParentIsReadOnlyAttribute,
|
|
25
26
|
PropsWithQrItemChangeHandler,
|
|
26
27
|
PropsWithQrRepeatGroupChangeHandler
|
|
27
28
|
} from '../../interfaces/renderProps.interface';
|
|
@@ -34,13 +35,20 @@ import Box from '@mui/material/Box';
|
|
|
34
35
|
|
|
35
36
|
interface FormTopLevelItemProps
|
|
36
37
|
extends PropsWithQrItemChangeHandler,
|
|
37
|
-
PropsWithQrRepeatGroupChangeHandler
|
|
38
|
+
PropsWithQrRepeatGroupChangeHandler,
|
|
39
|
+
PropsWithParentIsReadOnlyAttribute {
|
|
38
40
|
topLevelQItem: QuestionnaireItem;
|
|
39
41
|
topLevelQRItemOrItems: QuestionnaireResponseItem | QuestionnaireResponseItem[] | null;
|
|
40
42
|
}
|
|
41
43
|
|
|
42
44
|
function FormTopLevelItem(props: FormTopLevelItemProps) {
|
|
43
|
-
const {
|
|
45
|
+
const {
|
|
46
|
+
topLevelQItem,
|
|
47
|
+
topLevelQRItemOrItems,
|
|
48
|
+
parentIsReadOnly,
|
|
49
|
+
onQrItemChange,
|
|
50
|
+
onQrRepeatGroupChange
|
|
51
|
+
} = props;
|
|
44
52
|
|
|
45
53
|
const itemIsTabContainer = isTabContainer(topLevelQItem);
|
|
46
54
|
const itemContainsTabs = containsTabs(topLevelQItem);
|
|
@@ -49,7 +57,7 @@ function FormTopLevelItem(props: FormTopLevelItemProps) {
|
|
|
49
57
|
|
|
50
58
|
const itemIsGroup = topLevelQItem.type === 'group';
|
|
51
59
|
|
|
52
|
-
const readOnly = useReadOnly(topLevelQItem,
|
|
60
|
+
const readOnly = useReadOnly(topLevelQItem, parentIsReadOnly);
|
|
53
61
|
const itemIsHidden = useHidden(topLevelQItem);
|
|
54
62
|
if (itemIsHidden) {
|
|
55
63
|
return null;
|
|
@@ -81,6 +89,7 @@ function FormTopLevelItem(props: FormTopLevelItemProps) {
|
|
|
81
89
|
key={topLevelQItem.linkId}
|
|
82
90
|
topLevelQItem={topLevelQItem}
|
|
83
91
|
topLevelQRItem={topLevelQRItem}
|
|
92
|
+
parentIsReadOnly={readOnly}
|
|
84
93
|
onQrItemChange={onQrItemChange}
|
|
85
94
|
/>
|
|
86
95
|
);
|
|
@@ -91,6 +100,7 @@ function FormTopLevelItem(props: FormTopLevelItemProps) {
|
|
|
91
100
|
key={topLevelQItem.linkId}
|
|
92
101
|
topLevelQItem={topLevelQItem}
|
|
93
102
|
topLevelQRItem={topLevelQRItem}
|
|
103
|
+
parentIsReadOnly={readOnly}
|
|
94
104
|
onQrItemChange={onQrItemChange}
|
|
95
105
|
/>
|
|
96
106
|
);
|
|
@@ -34,6 +34,7 @@ interface SmartFormsRendererProps {
|
|
|
34
34
|
additionalVariables?: Record<string, object>;
|
|
35
35
|
terminologyServerUrl?: string;
|
|
36
36
|
fhirClient?: Client;
|
|
37
|
+
readOnly?: boolean;
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
function SmartFormsRenderer(props: SmartFormsRendererProps) {
|
|
@@ -42,7 +43,8 @@ function SmartFormsRenderer(props: SmartFormsRendererProps) {
|
|
|
42
43
|
questionnaireResponse,
|
|
43
44
|
additionalVariables,
|
|
44
45
|
terminologyServerUrl,
|
|
45
|
-
fhirClient
|
|
46
|
+
fhirClient,
|
|
47
|
+
readOnly
|
|
46
48
|
} = props;
|
|
47
49
|
|
|
48
50
|
const isLoading = useInitialiseRenderer(
|
|
@@ -50,7 +52,8 @@ function SmartFormsRenderer(props: SmartFormsRendererProps) {
|
|
|
50
52
|
questionnaireResponse,
|
|
51
53
|
additionalVariables,
|
|
52
54
|
terminologyServerUrl,
|
|
53
|
-
fhirClient
|
|
55
|
+
fhirClient,
|
|
56
|
+
readOnly
|
|
54
57
|
);
|
|
55
58
|
const queryClient = useQueryClient();
|
|
56
59
|
|
|
@@ -32,7 +32,8 @@ function useInitialiseRenderer(
|
|
|
32
32
|
questionnaireResponse?: QuestionnaireResponse,
|
|
33
33
|
additionalVariables?: Record<string, object>,
|
|
34
34
|
terminologyServerUrl?: string,
|
|
35
|
-
fhirClient?: Client
|
|
35
|
+
fhirClient?: Client,
|
|
36
|
+
readOnly?: boolean
|
|
36
37
|
): boolean {
|
|
37
38
|
const buildSourceQuestionnaire = useQuestionnaireStore.use.buildSourceQuestionnaire();
|
|
38
39
|
const updatePopulatedProperties = useQuestionnaireStore.use.updatePopulatedProperties();
|
|
@@ -77,7 +78,8 @@ function useInitialiseRenderer(
|
|
|
77
78
|
questionnaire,
|
|
78
79
|
questionnaireResponse,
|
|
79
80
|
additionalVariables,
|
|
80
|
-
terminologyServerUrl
|
|
81
|
+
terminologyServerUrl,
|
|
82
|
+
readOnly
|
|
81
83
|
).then(() => {
|
|
82
84
|
buildSourceResponse(initialiseQuestionnaireResponse(questionnaire));
|
|
83
85
|
|
|
@@ -102,7 +104,8 @@ function useInitialiseRenderer(
|
|
|
102
104
|
setEncounter,
|
|
103
105
|
terminologyServerUrl,
|
|
104
106
|
setTerminologyServerUrl,
|
|
105
|
-
resetTerminologyServerUrl
|
|
107
|
+
resetTerminologyServerUrl,
|
|
108
|
+
readOnly
|
|
106
109
|
]);
|
|
107
110
|
|
|
108
111
|
return loading;
|
|
@@ -58,11 +58,13 @@ interface QuestionnaireStoreType {
|
|
|
58
58
|
processedValueSetUrls: Record<string, string>;
|
|
59
59
|
cachedValueSetCodings: Record<string, Coding[]>;
|
|
60
60
|
fhirPathContext: Record<string, any>;
|
|
61
|
+
readOnly: boolean;
|
|
61
62
|
buildSourceQuestionnaire: (
|
|
62
63
|
questionnaire: Questionnaire,
|
|
63
64
|
questionnaireResponse?: QuestionnaireResponse,
|
|
64
65
|
additionalVariables?: Record<string, object>,
|
|
65
|
-
terminologyServerUrl?: string
|
|
66
|
+
terminologyServerUrl?: string,
|
|
67
|
+
readOnly?: boolean
|
|
66
68
|
) => Promise<void>;
|
|
67
69
|
destroySourceQuestionnaire: () => void;
|
|
68
70
|
switchTab: (newTabIndex: number) => void;
|
|
@@ -94,11 +96,13 @@ export const questionnaireStore = createStore<QuestionnaireStoreType>()((set, ge
|
|
|
94
96
|
processedValueSetUrls: {},
|
|
95
97
|
cachedValueSetCodings: {},
|
|
96
98
|
fhirPathContext: {},
|
|
99
|
+
readOnly: false,
|
|
97
100
|
buildSourceQuestionnaire: async (
|
|
98
101
|
questionnaire,
|
|
99
102
|
questionnaireResponse = cloneDeep(emptyResponse),
|
|
100
103
|
additionalVariables = {},
|
|
101
|
-
terminologyServerUrl = terminologyServerStore.getState().url
|
|
104
|
+
terminologyServerUrl = terminologyServerStore.getState().url,
|
|
105
|
+
readOnly = false
|
|
102
106
|
) => {
|
|
103
107
|
const questionnaireModel = await createQuestionnaireModel(
|
|
104
108
|
questionnaire,
|
|
@@ -137,7 +141,8 @@ export const questionnaireStore = createStore<QuestionnaireStoreType>()((set, ge
|
|
|
137
141
|
answerExpressions: questionnaireModel.answerExpressions,
|
|
138
142
|
processedValueSetCodings: questionnaireModel.processedValueSetCodings,
|
|
139
143
|
processedValueSetUrls: questionnaireModel.processedValueSetUrls,
|
|
140
|
-
fhirPathContext: updatedFhirPathContext
|
|
144
|
+
fhirPathContext: updatedFhirPathContext,
|
|
145
|
+
readOnly: readOnly
|
|
141
146
|
});
|
|
142
147
|
},
|
|
143
148
|
destroySourceQuestionnaire: () =>
|
|
@@ -121,3 +121,19 @@ export const QTestGridWithResponseAddXFhirQuery: Story = {
|
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
123
|
};
|
|
124
|
+
|
|
125
|
+
export const QTestGridWithResponseReadOnly: Story = {
|
|
126
|
+
args: {
|
|
127
|
+
questionnaire: QTestGrid,
|
|
128
|
+
questionnaireResponse: RTestGrid,
|
|
129
|
+
readOnly: true
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export const Form715WithResponseReadOnly: Story = {
|
|
134
|
+
args: {
|
|
135
|
+
questionnaire: Q715,
|
|
136
|
+
questionnaireResponse: R715,
|
|
137
|
+
readOnly: true
|
|
138
|
+
}
|
|
139
|
+
};
|