@aehrc/smart-forms-renderer 0.40.2 → 0.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js +2 -3
- package/lib/components/FormComponents/AttachmentItem/AttachmentItem.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js +1 -2
- package/lib/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.js.map +1 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js +3 -4
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js.map +1 -1
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js +2 -3
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -1
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js +2 -3
- package/lib/components/FormComponents/IntegerItem/IntegerItem.js.map +1 -1
- package/lib/components/FormComponents/QuantityItem/QuantityItem.js +1 -2
- package/lib/components/FormComponents/QuantityItem/QuantityItem.js.map +1 -1
- package/lib/components/FormComponents/RepeatGroup/AddItemButton.d.ts +2 -2
- package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js +2 -3
- package/lib/components/FormComponents/RepeatGroup/RepeatGroup.js.map +1 -1
- package/lib/components/FormComponents/RepeatGroup/RepeatGroupView.d.ts +2 -2
- package/lib/components/FormComponents/StringItem/StringItem.js +2 -3
- package/lib/components/FormComponents/StringItem/StringItem.js.map +1 -1
- package/lib/components/FormComponents/Tables/AddRowButton.d.ts +2 -2
- package/lib/components/FormComponents/Tables/GroupTable.js +3 -1
- package/lib/components/FormComponents/Tables/GroupTable.js.map +1 -1
- package/lib/components/FormComponents/TextItem/TextItem.js +2 -3
- package/lib/components/FormComponents/TextItem/TextItem.js.map +1 -1
- package/lib/components/FormComponents/UrlItem/UrlItem.js +2 -3
- package/lib/components/FormComponents/UrlItem/UrlItem.js.map +1 -1
- package/lib/components/Renderer/BaseRenderer.js +4 -3
- package/lib/components/Renderer/BaseRenderer.js.map +1 -1
- package/lib/hooks/useGroupTableRows.d.ts +4 -4
- package/lib/hooks/useGroupTableRows.js +3 -5
- package/lib/hooks/useGroupTableRows.js.map +1 -1
- package/lib/hooks/useInitialiseGroupTableRows.d.ts +4 -0
- package/lib/hooks/{useNumberInput.js → useInitialiseGroupTableRows.js} +16 -13
- package/lib/hooks/useInitialiseGroupTableRows.js.map +1 -0
- package/lib/hooks/useInitialiseRepeatGroups.d.ts +2 -2
- package/lib/interfaces/repeatGroup.interface.d.ts +1 -1
- package/lib/stores/questionnaireResponseStore.d.ts +3 -0
- package/lib/stores/questionnaireResponseStore.js +5 -0
- package/lib/stores/questionnaireResponseStore.js.map +1 -1
- package/lib/tests/test-data/removeIdSample.d.ts +3 -0
- package/lib/tests/test-data/removeIdSample.js +99 -0
- package/lib/tests/test-data/removeIdSample.js.map +1 -0
- package/lib/theme/Theme.js +0 -2
- package/lib/theme/Theme.js.map +1 -1
- package/lib/utils/calculatedExpression.js +4 -4
- package/lib/utils/calculatedExpression.js.map +1 -1
- package/lib/utils/extractObservation.d.ts +1 -0
- package/lib/utils/extractObservation.js +1 -1
- package/lib/utils/extractObservation.js.map +1 -1
- package/lib/utils/manageForm.js +1 -1
- package/lib/utils/manageForm.js.map +1 -1
- package/lib/utils/openChoice.js +3 -3
- package/lib/utils/openChoice.js.map +1 -1
- package/lib/utils/removeRepeatId.d.ts +2 -0
- package/lib/utils/removeRepeatId.js +85 -0
- package/lib/utils/removeRepeatId.js.map +1 -0
- package/lib/utils/repeatId.d.ts +0 -2
- package/lib/utils/repeatId.js +0 -68
- package/lib/utils/repeatId.js.map +1 -1
- package/lib/utils/repopulateItems.js +8 -8
- package/lib/utils/repopulateItems.js.map +1 -1
- package/package.json +6 -2
- package/src/components/FormComponents/AttachmentItem/AttachmentItem.tsx +2 -3
- package/src/components/FormComponents/DateTimeItems/CustomDateItem/CustomDateItem.tsx +1 -2
- package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.tsx +3 -4
- package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +2 -3
- package/src/components/FormComponents/IntegerItem/IntegerItem.tsx +2 -3
- package/src/components/FormComponents/QuantityItem/QuantityItem.tsx +1 -2
- package/src/components/FormComponents/RepeatGroup/AddItemButton.tsx +2 -2
- package/src/components/FormComponents/RepeatGroup/RepeatGroup.tsx +2 -3
- package/src/components/FormComponents/RepeatGroup/RepeatGroupView.tsx +2 -2
- package/src/components/FormComponents/StringItem/StringItem.tsx +2 -3
- package/src/components/FormComponents/Tables/AddRowButton.tsx +2 -2
- package/src/components/FormComponents/Tables/GroupTable.tsx +5 -5
- package/src/components/FormComponents/TextItem/TextItem.tsx +2 -3
- package/src/components/FormComponents/UrlItem/UrlItem.tsx +2 -3
- package/src/components/Renderer/BaseRenderer.tsx +4 -3
- package/src/hooks/useGroupTableRows.ts +4 -9
- package/src/hooks/{useInitialiseGroupTable.ts → useInitialiseGroupTableRows.ts} +15 -11
- package/src/hooks/useInitialiseRepeatGroups.ts +2 -2
- package/src/interfaces/repeatGroup.interface.ts +1 -1
- package/src/stores/questionnaireResponseStore.ts +7 -0
- package/src/stories/assets/questionnaires/QButtonTester.ts +117 -0
- package/src/stories/storybookWrappers/IdRemoverButtonForStorybook.tsx +3 -5
- package/{lib/hooks/useInitialiseGroupTable.js → src/tests/removeId.test.ts} +11 -14
- package/src/tests/test-data/removeIdSample.ts +101 -0
- package/src/theme/Theme.tsx +0 -2
- package/src/utils/calculatedExpression.ts +4 -4
- package/src/utils/extractObservation.ts +1 -1
- package/src/utils/manageForm.ts +1 -1
- package/src/utils/openChoice.ts +3 -3
- package/src/utils/removeRepeatId.ts +113 -0
- package/src/utils/repeatId.ts +0 -96
- package/src/utils/repopulateItems.ts +8 -8
- package/lib/hooks/useInitialiseGroupTable.d.ts +0 -4
- package/lib/hooks/useInitialiseGroupTable.js.map +0 -1
- package/lib/hooks/useNumberInput.d.ts +0 -3
- package/lib/hooks/useNumberInput.js.map +0 -1
- package/lib/hooks/useRepeatGroups.d.ts +0 -4
- package/lib/hooks/useRepeatGroups.js +0 -38
- package/lib/hooks/useRepeatGroups.js.map +0 -1
- package/lib/hooks/useStringInput.d.ts +0 -3
- package/lib/hooks/useStringInput.js +0 -32
- package/lib/hooks/useStringInput.js.map +0 -1
- package/src/hooks/useNumberInput.ts +0 -38
- package/src/hooks/useRepeatGroups.ts +0 -51
- package/src/hooks/useStringInput.ts +0 -39
package/lib/utils/repeatId.js
CHANGED
|
@@ -14,19 +14,7 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
18
|
-
var t = {};
|
|
19
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
20
|
-
t[p] = s[p];
|
|
21
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
22
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
23
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
24
|
-
t[p[i]] = s[p[i]];
|
|
25
|
-
}
|
|
26
|
-
return t;
|
|
27
|
-
};
|
|
28
17
|
import { nanoid } from 'nanoid';
|
|
29
|
-
import { getQrItemsIndex, mapQItemsIndex } from './mapItem';
|
|
30
18
|
export function generateNewRepeatId(linkId) {
|
|
31
19
|
return `${linkId}-repeat-${nanoid()}`;
|
|
32
20
|
}
|
|
@@ -34,60 +22,4 @@ export function generateExistingRepeatId(linkId, index) {
|
|
|
34
22
|
const paddedIndex = index.toString().padStart(6, '0');
|
|
35
23
|
return `${linkId}-repeat-${paddedIndex}`;
|
|
36
24
|
}
|
|
37
|
-
export function removeInternalRepeatIdsRecursive(qItem, qrItemOrItems) {
|
|
38
|
-
var _a, _b;
|
|
39
|
-
// Process repeating group items separately
|
|
40
|
-
const hasMultipleAnswers = Array.isArray(qrItemOrItems);
|
|
41
|
-
if (hasMultipleAnswers) {
|
|
42
|
-
return removeInternalRepeatIdsFromRepeatGroup(qItem, qrItemOrItems);
|
|
43
|
-
}
|
|
44
|
-
// At this point qrItemOrItems is a single QuestionnaireResponseItem
|
|
45
|
-
const qrItem = qrItemOrItems;
|
|
46
|
-
// Process items with child items
|
|
47
|
-
const childQItems = (_a = qItem.item) !== null && _a !== void 0 ? _a : [];
|
|
48
|
-
const childQrItems = (_b = qrItem === null || qrItem === void 0 ? void 0 : qrItem.item) !== null && _b !== void 0 ? _b : [];
|
|
49
|
-
const updatedChildQrItems = [];
|
|
50
|
-
if (childQItems.length > 0) {
|
|
51
|
-
const indexMap = mapQItemsIndex(qItem);
|
|
52
|
-
const qrItemsByIndex = getQrItemsIndex(childQItems, childQrItems, indexMap);
|
|
53
|
-
// Iterate child items
|
|
54
|
-
for (const [index, childQItem] of childQItems.entries()) {
|
|
55
|
-
const childQRItemOrItems = qrItemsByIndex[index];
|
|
56
|
-
const updatedChildQRItemOrItems = removeInternalRepeatIdsRecursive(childQItem, childQRItemOrItems !== null && childQRItemOrItems !== void 0 ? childQRItemOrItems : null);
|
|
57
|
-
if (Array.isArray(updatedChildQRItemOrItems)) {
|
|
58
|
-
if (updatedChildQRItemOrItems.length > 0) {
|
|
59
|
-
updatedChildQrItems.push(...updatedChildQRItemOrItems);
|
|
60
|
-
}
|
|
61
|
-
continue;
|
|
62
|
-
}
|
|
63
|
-
if (updatedChildQRItemOrItems) {
|
|
64
|
-
updatedChildQrItems.push(updatedChildQRItemOrItems);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
// Construct updated qrItem
|
|
69
|
-
return removeInternalRepeatIdsFromItem(qItem, qrItem, updatedChildQrItems);
|
|
70
|
-
}
|
|
71
|
-
function removeInternalRepeatIdsFromRepeatGroup(qItem, qrItems) {
|
|
72
|
-
if (!qItem.item) {
|
|
73
|
-
return [];
|
|
74
|
-
}
|
|
75
|
-
return qrItems
|
|
76
|
-
.flatMap((childQrItem) => removeInternalRepeatIdsRecursive(qItem, childQrItem))
|
|
77
|
-
.filter((childQRItem) => !!childQRItem);
|
|
78
|
-
}
|
|
79
|
-
function removeInternalRepeatIdsFromItem(qItem, qrItem, childQrItems) {
|
|
80
|
-
var _a, _b;
|
|
81
|
-
if (!qrItem) {
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
// Remove internal repeatId from all answers
|
|
85
|
-
const updatedAnswers = (_b = (_a = qrItem.answer) === null || _a === void 0 ? void 0 : _a.map(
|
|
86
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
87
|
-
(_a) => {
|
|
88
|
-
var { id } = _a, rest = __rest(_a, ["id"]);
|
|
89
|
-
return Object.assign({}, rest);
|
|
90
|
-
}).filter((answer) => !!answer && Object.keys(answer).length > 0)) !== null && _b !== void 0 ? _b : [];
|
|
91
|
-
return Object.assign(Object.assign(Object.assign({ linkId: qItem.linkId }, (qItem.text && { text: qItem.text })), (childQrItems.length > 0 && { item: childQrItems })), (updatedAnswers.length > 0 && { answer: updatedAnswers }));
|
|
92
|
-
}
|
|
93
25
|
//# sourceMappingURL=repeatId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repeatId.js","sourceRoot":"","sources":["../../src/utils/repeatId.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG
|
|
1
|
+
{"version":3,"file":"repeatId.js","sourceRoot":"","sources":["../../src/utils/repeatId.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO,GAAG,MAAM,WAAW,MAAM,EAAE,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAc,EAAE,KAAa;IACpE,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,GAAG,MAAM,WAAW,WAAW,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -14,9 +14,6 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import _isEqual from 'lodash/isEqual';
|
|
18
|
-
import _intersection from 'lodash/intersection';
|
|
19
|
-
import _difference from 'lodash/difference';
|
|
20
17
|
import { containsTabs, isTabContainer } from './tabs';
|
|
21
18
|
import { getShortText, isSpecificItemControl } from './itemControl';
|
|
22
19
|
import { getQrItemsIndex, mapQItemsIndex } from './mapItem';
|
|
@@ -25,6 +22,9 @@ import { questionnaireResponseStore, questionnaireStore } from '../stores';
|
|
|
25
22
|
import cloneDeep from 'lodash.clonedeep';
|
|
26
23
|
import { createQuestionnaireResponseItemMap } from './questionnaireResponseStoreUtils/updatableResponseItems';
|
|
27
24
|
import { getQuestionnaireItem, getSectionHeading } from './misc';
|
|
25
|
+
import difference from 'lodash.difference';
|
|
26
|
+
import intersection from 'lodash.intersection';
|
|
27
|
+
import isEqual from 'lodash.isequal';
|
|
28
28
|
/**
|
|
29
29
|
* Compare latest data from the server with the current QuestionnaireResponse and decide items to re-populate
|
|
30
30
|
*
|
|
@@ -52,8 +52,8 @@ export function generateItemsToRepopulate(populatedResponse) {
|
|
|
52
52
|
// Get linkIds that are different between current QRItems and populated QRItems
|
|
53
53
|
// Doesn't work with repeat groups, but at the same time I'm not sure if it's needed, given you can't delete completely the first repeat group
|
|
54
54
|
const populatedResponseItemMap = createQuestionnaireResponseItemMap(populatedResponse);
|
|
55
|
-
const diffLinkIds =
|
|
56
|
-
const diffLinkIdsWithInitialExpressions =
|
|
55
|
+
const diffLinkIds = difference(Object.keys(updatableResponseItems), Object.keys(populatedResponseItemMap));
|
|
56
|
+
const diffLinkIdsWithInitialExpressions = intersection(Object.keys(initialExpressions), diffLinkIds);
|
|
57
57
|
for (const linkId of diffLinkIdsWithInitialExpressions) {
|
|
58
58
|
if (linkId in updatableResponseItems) {
|
|
59
59
|
itemsToRepopulate[linkId] = {
|
|
@@ -290,7 +290,7 @@ function retrieveSingleOldQRItem(qItem, oldQRItem, itemsToRepopulate) {
|
|
|
290
290
|
if (!newQRItem) {
|
|
291
291
|
return;
|
|
292
292
|
}
|
|
293
|
-
if (
|
|
293
|
+
if (isEqual(oldQRItem, newQRItem)) {
|
|
294
294
|
delete itemsToRepopulate[qItem.linkId];
|
|
295
295
|
return;
|
|
296
296
|
}
|
|
@@ -305,7 +305,7 @@ function retrieveRepeatGroupOldQRItems(qItem, oldQRItems, itemsToRepopulate) {
|
|
|
305
305
|
if (!newQRItems) {
|
|
306
306
|
return;
|
|
307
307
|
}
|
|
308
|
-
if (
|
|
308
|
+
if (isEqual(oldQRItems, newQRItems)) {
|
|
309
309
|
delete itemsToRepopulate[qItem.linkId];
|
|
310
310
|
return;
|
|
311
311
|
}
|
|
@@ -337,7 +337,7 @@ function retrieveGridGroupOldQRItems(qItem, gridChildQItems, oldGridQRItemsByInd
|
|
|
337
337
|
if (!newGridChildQRItem) {
|
|
338
338
|
continue;
|
|
339
339
|
}
|
|
340
|
-
if (
|
|
340
|
+
if (isEqual(oldGridChildQrItem, newGridChildQRItem)) {
|
|
341
341
|
newGridChildQRItemMap.delete(gridChildQItem.linkId);
|
|
342
342
|
}
|
|
343
343
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repopulateItems.js","sourceRoot":"","sources":["../../src/utils/repopulateItems.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repopulateItems.js","sourceRoot":"","sources":["../../src/utils/repopulateItems.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aehrc/smart-forms-renderer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.0",
|
|
4
4
|
"description": "FHIR Structured Data Captured (SDC) rendering engine for Smart Forms",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"lodash.debounce": "^4.0.8",
|
|
40
40
|
"lodash.difference": "^4.5.0",
|
|
41
41
|
"lodash.intersection": "^4.4.0",
|
|
42
|
+
"lodash.isequal": "^4.5.0",
|
|
42
43
|
"nanoid": "^5.0.7",
|
|
43
44
|
"react-beautiful-dnd": "^13.1.1",
|
|
44
45
|
"react-dnd": "^16.0.1",
|
|
@@ -79,7 +80,10 @@
|
|
|
79
80
|
"@types/fhir": "^0.0.38",
|
|
80
81
|
"@types/jest": "^29.5.12",
|
|
81
82
|
"@types/lodash.clonedeep": "^4.5.9",
|
|
82
|
-
"@types/lodash.debounce": "^4.0.
|
|
83
|
+
"@types/lodash.debounce": "^4.0.9",
|
|
84
|
+
"@types/lodash.difference": "^4.5.9",
|
|
85
|
+
"@types/lodash.intersection": "^4.4.9",
|
|
86
|
+
"@types/lodash.isequal": "^4.5.8",
|
|
83
87
|
"@types/react": ">=17.0.0",
|
|
84
88
|
"@types/react-beautiful-dnd": "^13.1.7",
|
|
85
89
|
"@types/react-dom": ">=18.2.22",
|
|
@@ -26,7 +26,6 @@ import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
|
26
26
|
import debounce from 'lodash.debounce';
|
|
27
27
|
import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
28
28
|
import { DEBOUNCE_DURATION } from '../../../utils/debounce';
|
|
29
|
-
import useStringInput from '../../../hooks/useStringInput';
|
|
30
29
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
31
30
|
import AttachmentFieldWrapper from './AttachmentFieldWrapper';
|
|
32
31
|
import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
@@ -61,8 +60,8 @@ function AttachmentItem(props: AttachmentItemProps) {
|
|
|
61
60
|
}
|
|
62
61
|
|
|
63
62
|
const [uploadedFile, setUploadedFile] = useState<File | null>(null);
|
|
64
|
-
const [url, setUrl] =
|
|
65
|
-
const [fileName, setFileName] =
|
|
63
|
+
const [url, setUrl] = useState(valueString);
|
|
64
|
+
const [fileName, setFileName] = useState(valueString);
|
|
66
65
|
|
|
67
66
|
// Event handlers
|
|
68
67
|
async function handleUploadFile(newUploadedFile: File | null) {
|
|
@@ -36,7 +36,6 @@ import { createEmptyQrItem } from '../../../../utils/qrItem';
|
|
|
36
36
|
import useDateValidation from '../../../../hooks/useDateValidation';
|
|
37
37
|
import CustomDateField from './CustomDateField';
|
|
38
38
|
import { useQuestionnaireStore } from '../../../../stores';
|
|
39
|
-
import useStringInput from '../../../../hooks/useStringInput';
|
|
40
39
|
|
|
41
40
|
interface CustomDateItemProps
|
|
42
41
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -70,7 +69,7 @@ function CustomDateItem(props: CustomDateItemProps) {
|
|
|
70
69
|
|
|
71
70
|
const { displayDate, dateParseFail } = parseFhirDateToDisplayDate(valueDate);
|
|
72
71
|
|
|
73
|
-
const [input, setInput] =
|
|
72
|
+
const [input, setInput] = useState(displayDate);
|
|
74
73
|
const [focused, setFocused] = useState(false);
|
|
75
74
|
|
|
76
75
|
// Perform validation checks
|
package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.tsx
CHANGED
|
@@ -43,7 +43,6 @@ import {
|
|
|
43
43
|
import useTimeValidation from '../../../../hooks/useTimeValidation';
|
|
44
44
|
import useDateNonEmptyValidation from '../../../../hooks/useDateTimeNonEmpty';
|
|
45
45
|
import DateTimeField from './DateTimeField';
|
|
46
|
-
import useStringInput from '../../../../hooks/useStringInput';
|
|
47
46
|
|
|
48
47
|
interface CustomDateTimeItemProps
|
|
49
48
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -88,9 +87,9 @@ function CustomDateTimeItem(props: CustomDateTimeItemProps) {
|
|
|
88
87
|
const { displayDate, dateParseFail } = parseFhirDateToDisplayDate(valueDate);
|
|
89
88
|
const { displayTime, displayPeriod, timeParseFail } = parseDateTimeToDisplayTime(dateTimeDayJs);
|
|
90
89
|
|
|
91
|
-
const [dateInput, setDateInput] =
|
|
92
|
-
const [timeInput, setTimeInput] =
|
|
93
|
-
const [periodInput, setPeriodInput] =
|
|
90
|
+
const [dateInput, setDateInput] = useState(displayDate);
|
|
91
|
+
const [timeInput, setTimeInput] = useState(displayTime);
|
|
92
|
+
const [periodInput, setPeriodInput] = useState(displayPeriod);
|
|
94
93
|
const [dateFocused, setDateFocused] = useState(false);
|
|
95
94
|
|
|
96
95
|
// Perform validation checks
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import React, { useCallback } from 'react';
|
|
18
|
+
import React, { useCallback, useState } from 'react';
|
|
19
19
|
import type {
|
|
20
20
|
PropsWithIsRepeatedAttribute,
|
|
21
21
|
PropsWithIsTabledAttribute,
|
|
@@ -37,7 +37,6 @@ import {
|
|
|
37
37
|
} from '../../../utils/parseInputs';
|
|
38
38
|
import { getDecimalPrecision } from '../../../utils/itemControl';
|
|
39
39
|
import useDecimalCalculatedExpression from '../../../hooks/useDecimalCalculatedExpression';
|
|
40
|
-
import useStringInput from '../../../hooks/useStringInput';
|
|
41
40
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
42
41
|
import { useQuestionnaireStore } from '../../../stores';
|
|
43
42
|
import Box from '@mui/material/Box';
|
|
@@ -76,7 +75,7 @@ function DecimalItem(props: DecimalItemProps) {
|
|
|
76
75
|
initialInput = precision ? valueDecimal.toFixed(precision) : valueDecimal.toString();
|
|
77
76
|
}
|
|
78
77
|
|
|
79
|
-
const [input, setInput] =
|
|
78
|
+
const [input, setInput] = useState(initialInput);
|
|
80
79
|
|
|
81
80
|
// Perform validation checks
|
|
82
81
|
const feedback = useValidationFeedback(qItem, input);
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import React, { useCallback } from 'react';
|
|
18
|
+
import React, { useCallback, useState } from 'react';
|
|
19
19
|
import type {
|
|
20
20
|
PropsWithIsRepeatedAttribute,
|
|
21
21
|
PropsWithIsTabledAttribute,
|
|
@@ -35,7 +35,6 @@ import { parseIntegerString } from '../../../utils/parseInputs';
|
|
|
35
35
|
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
36
36
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
37
37
|
import { useQuestionnaireStore } from '../../../stores';
|
|
38
|
-
import useStringInput from '../../../hooks/useStringInput';
|
|
39
38
|
|
|
40
39
|
interface IntegerItemProps
|
|
41
40
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -70,7 +69,7 @@ function IntegerItem(props: IntegerItemProps) {
|
|
|
70
69
|
initialInput = valueInteger.toString();
|
|
71
70
|
}
|
|
72
71
|
|
|
73
|
-
const [input, setInput] =
|
|
72
|
+
const [input, setInput] = useState(initialInput);
|
|
74
73
|
|
|
75
74
|
// Perform validation checks
|
|
76
75
|
const feedback = useValidationFeedback(qItem, input);
|
|
@@ -20,7 +20,6 @@ import { createEmptyQrItem } from '../../../utils/qrItem';
|
|
|
20
20
|
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
21
21
|
import { parseDecimalStringWithPrecision } from '../../../utils/parseInputs';
|
|
22
22
|
import { getDecimalPrecision } from '../../../utils/itemControl';
|
|
23
|
-
import useStringInput from '../../../hooks/useStringInput';
|
|
24
23
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
25
24
|
import { useQuestionnaireStore } from '../../../stores';
|
|
26
25
|
import Box from '@mui/material/Box';
|
|
@@ -92,7 +91,7 @@ function QuantityItem(props: QuantityItemProps) {
|
|
|
92
91
|
}
|
|
93
92
|
|
|
94
93
|
// input states
|
|
95
|
-
const [valueInput, setValueInput] =
|
|
94
|
+
const [valueInput, setValueInput] = useState(initialValueInput);
|
|
96
95
|
const [comparatorInput, setComparatorInput] = useState<Quantity['comparator'] | null>(
|
|
97
96
|
initialComparatorInput
|
|
98
97
|
);
|
|
@@ -19,10 +19,10 @@ import React from 'react';
|
|
|
19
19
|
import Box from '@mui/material/Box';
|
|
20
20
|
import Button from '@mui/material/Button';
|
|
21
21
|
import AddIcon from '@mui/icons-material/Add';
|
|
22
|
-
import type {
|
|
22
|
+
import type { RepeatGroupSingleModel } from '../../../interfaces/repeatGroup.interface';
|
|
23
23
|
|
|
24
24
|
interface AddItemButtonProps {
|
|
25
|
-
repeatGroups:
|
|
25
|
+
repeatGroups: RepeatGroupSingleModel[];
|
|
26
26
|
readOnly: boolean;
|
|
27
27
|
onAddItem: () => void;
|
|
28
28
|
}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import React from 'react';
|
|
18
|
+
import React, { useState } from 'react';
|
|
19
19
|
import type {
|
|
20
20
|
PropsWithParentIsReadOnlyAttribute,
|
|
21
21
|
PropsWithParentIsRepeatGroupAttribute,
|
|
@@ -26,7 +26,6 @@ import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
|
26
26
|
import useInitialiseRepeatGroups from '../../../hooks/useInitialiseRepeatGroups';
|
|
27
27
|
import cloneDeep from 'lodash.clonedeep';
|
|
28
28
|
import { useQuestionnaireStore } from '../../../stores';
|
|
29
|
-
import useRepeatGroups from '../../../hooks/useRepeatGroups';
|
|
30
29
|
import RepeatGroupView from './RepeatGroupView';
|
|
31
30
|
import { generateNewRepeatId } from '../../../utils/repeatId';
|
|
32
31
|
|
|
@@ -60,7 +59,7 @@ function RepeatGroup(props: RepeatGroupProps) {
|
|
|
60
59
|
|
|
61
60
|
const initialRepeatGroups = useInitialiseRepeatGroups(qItem.linkId, qrItems);
|
|
62
61
|
|
|
63
|
-
const [repeatGroups, setRepeatGroups] =
|
|
62
|
+
const [repeatGroups, setRepeatGroups] = useState(initialRepeatGroups);
|
|
64
63
|
|
|
65
64
|
function handleAnswerChange(newQrItem: QuestionnaireResponseItem, index: number) {
|
|
66
65
|
const updatedRepeatGroups = [...repeatGroups];
|
|
@@ -32,7 +32,7 @@ import RepeatGroupItem from './RepeatGroupItem';
|
|
|
32
32
|
import AddItemButton from './AddItemButton';
|
|
33
33
|
import LabelWrapper from '../ItemParts/ItemLabelWrapper';
|
|
34
34
|
import Typography from '@mui/material/Typography';
|
|
35
|
-
import type {
|
|
35
|
+
import type { RepeatGroupSingleModel } from '../../../interfaces/repeatGroup.interface';
|
|
36
36
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
37
37
|
import { getGroupCollapsible } from '../../../utils/qItem';
|
|
38
38
|
import { GroupAccordion } from '../GroupItem/GroupAccordion.styles';
|
|
@@ -45,7 +45,7 @@ interface RepeatGroupViewProps
|
|
|
45
45
|
PropsWithParentIsReadOnlyAttribute,
|
|
46
46
|
PropsWithParentIsRepeatGroupAttribute {
|
|
47
47
|
qItem: QuestionnaireItem;
|
|
48
|
-
repeatGroups:
|
|
48
|
+
repeatGroups: RepeatGroupSingleModel[];
|
|
49
49
|
groupCardElevation: number;
|
|
50
50
|
onAnswerChange: (newQrItem: QuestionnaireResponseItem, index: number) => void;
|
|
51
51
|
onAddItem: () => void;
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import React, { useCallback } from 'react';
|
|
18
|
+
import React, { useCallback, useState } from 'react';
|
|
19
19
|
import type {
|
|
20
20
|
PropsWithIsRepeatedAttribute,
|
|
21
21
|
PropsWithIsTabledAttribute,
|
|
@@ -32,7 +32,6 @@ import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
|
32
32
|
import StringField from './StringField';
|
|
33
33
|
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
34
34
|
import useStringCalculatedExpression from '../../../hooks/useStringCalculatedExpression';
|
|
35
|
-
import useStringInput from '../../../hooks/useStringInput';
|
|
36
35
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
37
36
|
import { useQuestionnaireStore } from '../../../stores';
|
|
38
37
|
|
|
@@ -59,7 +58,7 @@ function StringItem(props: StringItemProps) {
|
|
|
59
58
|
valueString = qrItem.answer[0].valueString;
|
|
60
59
|
}
|
|
61
60
|
|
|
62
|
-
const [input, setInput] =
|
|
61
|
+
const [input, setInput] = useState(valueString);
|
|
63
62
|
|
|
64
63
|
// Perform validation checks
|
|
65
64
|
const feedback = useValidationFeedback(qItem, input);
|
|
@@ -19,10 +19,10 @@ import React from 'react';
|
|
|
19
19
|
import Box from '@mui/material/Box';
|
|
20
20
|
import Button from '@mui/material/Button';
|
|
21
21
|
import AddIcon from '@mui/icons-material/Add';
|
|
22
|
-
import type {
|
|
22
|
+
import type { RepeatGroupSingleModel } from '../../../interfaces/repeatGroup.interface';
|
|
23
23
|
|
|
24
24
|
interface AddItemButtonProps {
|
|
25
|
-
repeatGroups:
|
|
25
|
+
repeatGroups: RepeatGroupSingleModel[];
|
|
26
26
|
readOnly: boolean;
|
|
27
27
|
onAddItem: () => void;
|
|
28
28
|
}
|
|
@@ -32,6 +32,7 @@ import { getGroupTableItemsToUpdate } from '../../../utils/groupTable';
|
|
|
32
32
|
import useGroupTableRows from '../../../hooks/useGroupTableRows';
|
|
33
33
|
import { flushSync } from 'react-dom';
|
|
34
34
|
import { generateNewRepeatId } from '../../../utils/repeatId';
|
|
35
|
+
import useInitialiseGroupTableRows from '../../../hooks/useInitialiseGroupTableRows';
|
|
35
36
|
|
|
36
37
|
interface GroupTableProps
|
|
37
38
|
extends PropsWithQrRepeatGroupChangeHandler,
|
|
@@ -60,12 +61,11 @@ function GroupTable(props: GroupTableProps) {
|
|
|
60
61
|
onQrRepeatGroupChange
|
|
61
62
|
} = props;
|
|
62
63
|
|
|
63
|
-
const
|
|
64
|
+
const initialGroupTableRows = useInitialiseGroupTableRows(qItem.linkId, qrItems);
|
|
65
|
+
const { tableRows, selectedIds, setTableRows, setSelectedIds } =
|
|
66
|
+
useGroupTableRows(initialGroupTableRows);
|
|
64
67
|
|
|
65
|
-
const
|
|
66
|
-
qItem.linkId,
|
|
67
|
-
qrItems
|
|
68
|
-
);
|
|
68
|
+
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
69
69
|
|
|
70
70
|
// Generate item labels as table headers
|
|
71
71
|
const qItems = qItem.item;
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import React, { useCallback } from 'react';
|
|
18
|
+
import React, { useCallback, useState } from 'react';
|
|
19
19
|
import type {
|
|
20
20
|
PropsWithIsRepeatedAttribute,
|
|
21
21
|
PropsWithParentIsReadOnlyAttribute,
|
|
@@ -31,7 +31,6 @@ import { FullWidthFormComponentBox } from '../../Box.styles';
|
|
|
31
31
|
import TextField from './TextField';
|
|
32
32
|
import useStringCalculatedExpression from '../../../hooks/useStringCalculatedExpression';
|
|
33
33
|
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
34
|
-
import useStringInput from '../../../hooks/useStringInput';
|
|
35
34
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
36
35
|
import { useQuestionnaireStore } from '../../../stores';
|
|
37
36
|
|
|
@@ -58,7 +57,7 @@ function TextItem(props: TextItemProps) {
|
|
|
58
57
|
valueText = qrItem.answer[0].valueString;
|
|
59
58
|
}
|
|
60
59
|
|
|
61
|
-
const [input, setInput] =
|
|
60
|
+
const [input, setInput] = useState(valueText);
|
|
62
61
|
|
|
63
62
|
// Perform validation checks
|
|
64
63
|
const feedback = useValidationFeedback(qItem, input);
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
|
-
import React, { useCallback } from 'react';
|
|
18
|
+
import React, { useCallback, useState } from 'react';
|
|
19
19
|
import type {
|
|
20
20
|
PropsWithIsRepeatedAttribute,
|
|
21
21
|
PropsWithIsTabledAttribute,
|
|
@@ -33,7 +33,6 @@ import UrlField from './UrlField';
|
|
|
33
33
|
import ItemFieldGrid from '../ItemParts/ItemFieldGrid';
|
|
34
34
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
35
35
|
import { useQuestionnaireStore } from '../../../stores';
|
|
36
|
-
import useStringInput from '../../../hooks/useStringInput';
|
|
37
36
|
|
|
38
37
|
interface UrlItemProps
|
|
39
38
|
extends PropsWithQrItemChangeHandler,
|
|
@@ -58,7 +57,7 @@ function UrlItem(props: UrlItemProps) {
|
|
|
58
57
|
valueUri = qrItem.answer[0].valueUri;
|
|
59
58
|
}
|
|
60
59
|
|
|
61
|
-
const [input, setInput] =
|
|
60
|
+
const [input, setInput] = useState(valueUri);
|
|
62
61
|
|
|
63
62
|
// Perform validation checks
|
|
64
63
|
const feedback = useValidationFeedback(qItem, input);
|
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import React, { useMemo } from 'react';
|
|
19
|
-
import Container from '@mui/material/Container';
|
|
20
19
|
import Fade from '@mui/material/Fade';
|
|
21
20
|
import FormTopLevelItem from './FormTopLevelItem';
|
|
22
21
|
import type { QuestionnaireResponse, QuestionnaireResponseItem } from 'fhir/r4';
|
|
@@ -27,6 +26,7 @@ import { updateQrItemsInGroup } from '../../utils/qrItem';
|
|
|
27
26
|
import { everyIsPages } from '../../utils/page';
|
|
28
27
|
import type { QrRepeatGroup } from '../../interfaces/repeatGroup.interface';
|
|
29
28
|
import FormTopLevelPage from './FormTopLevelPage';
|
|
29
|
+
import { Container } from '@mui/material';
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* Main component of the form-rendering engine.
|
|
@@ -40,6 +40,7 @@ function BaseRenderer() {
|
|
|
40
40
|
const updateExpressions = useQuestionnaireStore.use.updateExpressions();
|
|
41
41
|
const readOnly = useQuestionnaireStore.use.readOnly();
|
|
42
42
|
|
|
43
|
+
const responseKey = useQuestionnaireResponseStore.use.key();
|
|
43
44
|
const updatableResponse = useQuestionnaireResponseStore.use.updatableResponse();
|
|
44
45
|
const validateQuestionnaire = useQuestionnaireResponseStore.use.validateQuestionnaire();
|
|
45
46
|
const updateResponse = useQuestionnaireResponseStore.use.updateResponse();
|
|
@@ -81,7 +82,7 @@ function BaseRenderer() {
|
|
|
81
82
|
if (everyItemIsPage) {
|
|
82
83
|
return (
|
|
83
84
|
<Fade in={true} timeout={500}>
|
|
84
|
-
<Container maxWidth="xl">
|
|
85
|
+
<Container disableGutters maxWidth="xl" key={responseKey}>
|
|
85
86
|
<FormTopLevelPage
|
|
86
87
|
topLevelQItems={topLevelQItems}
|
|
87
88
|
topLevelQRItems={topLevelQRItemsByIndex}
|
|
@@ -97,7 +98,7 @@ function BaseRenderer() {
|
|
|
97
98
|
|
|
98
99
|
return (
|
|
99
100
|
<Fade in={true} timeout={500}>
|
|
100
|
-
<Container maxWidth="xl">
|
|
101
|
+
<Container disableGutters maxWidth="xl" key={responseKey}>
|
|
101
102
|
{topLevelQItems.map((qItem, index) => {
|
|
102
103
|
const qrItemOrItems = topLevelQRItemsByIndex[index];
|
|
103
104
|
|
|
@@ -16,16 +16,11 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import { useState } from 'react';
|
|
19
|
-
import
|
|
20
|
-
import type { QuestionnaireResponseItem } from 'fhir/r4';
|
|
19
|
+
import type { GroupTableRowModel } from '../interfaces/groupTable.interface';
|
|
21
20
|
|
|
22
|
-
function useGroupTableRows(
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
const [tableRows, setTableRows] = useState(initialisedGroupTableRows);
|
|
26
|
-
const [selectedIds, setSelectedIds] = useState<string[]>(
|
|
27
|
-
initialisedGroupTableRows.map((row) => row.id)
|
|
28
|
-
);
|
|
21
|
+
function useGroupTableRows(valueFromProps: GroupTableRowModel[]) {
|
|
22
|
+
const [tableRows, setTableRows] = useState(valueFromProps);
|
|
23
|
+
const [selectedIds, setSelectedIds] = useState<string[]>(valueFromProps.map((row) => row.id));
|
|
29
24
|
|
|
30
25
|
return { tableRows, selectedIds, setTableRows, setSelectedIds };
|
|
31
26
|
}
|
|
@@ -18,21 +18,25 @@
|
|
|
18
18
|
import type { QuestionnaireResponseItem } from 'fhir/r4';
|
|
19
19
|
import type { GroupTableRowModel } from '../interfaces/groupTable.interface';
|
|
20
20
|
import { generateExistingRepeatId, generateNewRepeatId } from '../utils/repeatId';
|
|
21
|
+
import { useMemo } from 'react';
|
|
21
22
|
|
|
22
|
-
function
|
|
23
|
+
function useInitialiseGroupTableRows(
|
|
23
24
|
linkId: string,
|
|
24
25
|
qrItems: QuestionnaireResponseItem[]
|
|
25
26
|
): GroupTableRowModel[] {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
return useMemo(() => {
|
|
28
|
+
if (qrItems.length === 0) {
|
|
29
|
+
return [{ id: generateNewRepeatId(linkId), qrItem: null, isSelected: true }];
|
|
30
|
+
}
|
|
29
31
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
return qrItems.map((qrItem, index) => {
|
|
33
|
+
return {
|
|
34
|
+
id: generateExistingRepeatId(linkId, index),
|
|
35
|
+
qrItem: qrItem,
|
|
36
|
+
isSelected: true
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
}, [linkId, qrItems]);
|
|
36
40
|
}
|
|
37
41
|
|
|
38
|
-
export default
|
|
42
|
+
export default useInitialiseGroupTableRows;
|