@aehrc/smart-forms-renderer 0.21.1 → 0.22.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/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js +0 -1
- package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js.map +1 -1
- package/lib/components/FormComponents/DecimalItem/DecimalField.js +1 -1
- package/lib/components/FormComponents/DecimalItem/DecimalField.js.map +1 -1
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js +2 -2
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItem.d.ts +1 -2
- package/lib/components/FormComponents/GroupItem/GroupItem.js +2 -2
- package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/NextTabButtonWrapper.js +3 -1
- package/lib/components/FormComponents/GroupItem/NextTabButtonWrapper.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/PreviousTabButton.d.ts +7 -0
- package/lib/components/FormComponents/GroupItem/PreviousTabButton.js +25 -0
- package/lib/components/FormComponents/GroupItem/PreviousTabButton.js.map +1 -0
- package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.d.ts +8 -0
- package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.js +58 -0
- package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.js.map +1 -0
- package/lib/hooks/useRenderingExtensions.d.ts +4 -3
- package/lib/hooks/useRenderingExtensions.js +4 -3
- package/lib/hooks/useRenderingExtensions.js.map +1 -1
- package/lib/hooks/useValidationFeedback.d.ts +1 -1
- package/lib/hooks/useValidationFeedback.js +10 -6
- package/lib/hooks/useValidationFeedback.js.map +1 -1
- package/lib/stores/questionnaireResponseStore.d.ts +3 -4
- package/lib/stores/questionnaireResponseStore.js +3 -5
- package/lib/stores/questionnaireResponseStore.js.map +1 -1
- package/lib/utils/debounce.d.ts +1 -1
- package/lib/utils/debounce.js +1 -1
- package/lib/utils/itemControl.d.ts +3 -3
- package/lib/utils/itemControl.js +14 -8
- package/lib/utils/itemControl.js.map +1 -1
- package/lib/utils/tabs.d.ts +3 -2
- package/lib/utils/tabs.js +22 -9
- package/lib/utils/tabs.js.map +1 -1
- package/lib/utils/validateQuestionnaire.d.ts +44 -5
- package/lib/utils/validateQuestionnaire.js +278 -42
- package/lib/utils/validateQuestionnaire.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.tsx +0 -1
- package/src/components/FormComponents/DecimalItem/DecimalField.tsx +1 -0
- package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +16 -3
- package/src/components/FormComponents/GroupItem/GroupItem.tsx +3 -3
- package/src/components/FormComponents/GroupItem/PreviousTabButton.tsx +43 -0
- package/src/components/FormComponents/GroupItem/{NextTabButtonWrapper.tsx → TabButtonsWrapper.tsx} +25 -12
- package/src/hooks/useRenderingExtensions.ts +7 -5
- package/src/hooks/useValidationFeedback.ts +20 -8
- package/src/stores/questionnaireResponseStore.ts +5 -9
- package/src/utils/debounce.ts +1 -1
- package/src/utils/itemControl.ts +18 -10
- package/src/utils/tabs.ts +30 -11
- package/src/utils/validateQuestionnaire.ts +352 -51
package/lib/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomDateTimeItem.js","sourceRoot":"","sources":["../../../../../src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQxC,OAAO,WAAW,MAAM,+BAA+B,CAAC;AACxD,OAAO,sBAAsB,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,iBAAiB,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,iBAAiB,MAAM,qCAAqC,CAAC;AACpE,OAAO,yBAAyB,MAAM,uCAAuC,CAAC;AAC9E,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAW5C,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAExF,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAErE,MAAM,UAAU,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAEtD,mBAAmB;IACnB,IAAI,SAAS,GAAW,EAAE,CAAC;IAC3B,IAAI,aAAa,GAAiB,IAAI,CAAC;IACvC,IAAI,UAAU,CAAC,MAAM,EAAE;QACrB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;YAClC,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/C;aAAM,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;YAC7C,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;SACnD;QAED,wDAAwD;QACxD,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC9B,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"CustomDateTimeItem.js","sourceRoot":"","sources":["../../../../../src/components/FormComponents/DateTimeItems/CustomDateTimeItem/CustomDateTimeItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ function DecimalField(props) {
|
|
|
24
24
|
endAdornment: (React.createElement(InputAdornment, { position: 'end' },
|
|
25
25
|
React.createElement(FadingCheckIcon, { fadeIn: calcExpUpdated }),
|
|
26
26
|
displayUnit))
|
|
27
|
-
}, "data-test": "q-item-decimal-field" }));
|
|
27
|
+
}, helperText: feedback, "data-test": "q-item-decimal-field" }));
|
|
28
28
|
}
|
|
29
29
|
export default DecimalField;
|
|
30
30
|
//# sourceMappingURL=DecimalField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecimalField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/DecimalItem/DecimalField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAexD,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,EACJ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,aAAa,EACd,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,oBAAC,iBAAiB,IAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,QACT,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EACvD,UAAU,EAAE;YACV,YAAY,EAAE,CACZ,oBAAC,cAAc,IAAC,QAAQ,EAAE,KAAK;gBAC7B,oBAAC,eAAe,IAAC,MAAM,EAAE,cAAc,GAAI;gBAC1C,WAAW,CACG,CAClB;SACF,
|
|
1
|
+
{"version":3,"file":"DecimalField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/DecimalItem/DecimalField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAexD,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,EACJ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,aAAa,EACd,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,oBAAC,iBAAiB,IAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,CAAC,QAAQ,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,QACT,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EACvD,UAAU,EAAE;YACV,YAAY,EAAE,CACZ,oBAAC,cAAc,IAAC,QAAQ,EAAE,KAAK;gBAC7B,oBAAC,eAAe,IAAC,MAAM,EAAE,cAAc,GAAI;gBAC1C,WAAW,CACG,CAClB;SACF,EACD,UAAU,EAAE,QAAQ,eACV,sBAAsB,GAChC,CACH,CAAC;AACJ,CAAC;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -34,7 +34,7 @@ function DecimalItem(props) {
|
|
|
34
34
|
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
|
|
35
35
|
const readOnly = useReadOnly(qItem, parentIsReadOnly);
|
|
36
36
|
const precision = getDecimalPrecision(qItem);
|
|
37
|
-
const { displayUnit, displayPrompt, entryFormat, regexValidation, minLength, maxLength } = useRenderingExtensions(qItem);
|
|
37
|
+
const { displayUnit, displayPrompt, entryFormat, regexValidation, minLength, maxLength, maxDecimalPlaces } = useRenderingExtensions(qItem);
|
|
38
38
|
// Init input value
|
|
39
39
|
let valueDecimal = 0.0;
|
|
40
40
|
let initialInput = '0';
|
|
@@ -49,7 +49,7 @@ function DecimalItem(props) {
|
|
|
49
49
|
}
|
|
50
50
|
const [input, setInput] = useStringInput(initialInput);
|
|
51
51
|
// Perform validation checks
|
|
52
|
-
const feedback = useValidationFeedback(input, regexValidation, minLength, maxLength);
|
|
52
|
+
const feedback = useValidationFeedback(input, regexValidation, minLength, maxLength, maxDecimalPlaces);
|
|
53
53
|
// Process calculated expressions
|
|
54
54
|
const { calcExpUpdated } = useDecimalCalculatedExpression({
|
|
55
55
|
qItem: qItem,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecimalItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/DecimalItem/DecimalItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAQ3C,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,qBAAqB,MAAM,sCAAsC,CAAC;AACzE,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,aAAa,MAAM,4BAA4B,CAAC;AACvD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,8BAA8B,MAAM,+CAA+C,CAAC;AAC3F,OAAO,cAAc,MAAM,+BAA+B,CAAC;AAC3D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAWxD,SAAS,WAAW,CAAC,KAAuB;IAC1C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAExF,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;IAEhE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,
|
|
1
|
+
{"version":3,"file":"DecimalItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/DecimalItem/DecimalItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
|
|
3
|
-
import type { PropsWithIsRepeatedAttribute, PropsWithParentIsReadOnlyAttribute, PropsWithQrItemChangeHandler } from '../../../interfaces/renderProps.interface';
|
|
4
|
-
import type { PropsWithParentIsRepeatGroupAttribute } from '../../../interfaces/renderProps.interface';
|
|
3
|
+
import type { PropsWithIsRepeatedAttribute, PropsWithParentIsReadOnlyAttribute, PropsWithParentIsRepeatGroupAttribute, PropsWithQrItemChangeHandler } from '../../../interfaces/renderProps.interface';
|
|
5
4
|
import type { Tabs } from '../../../interfaces/tab.interface';
|
|
6
5
|
interface GroupItemProps extends PropsWithQrItemChangeHandler, PropsWithIsRepeatedAttribute, PropsWithParentIsReadOnlyAttribute, PropsWithParentIsRepeatGroupAttribute {
|
|
7
6
|
qItem: QuestionnaireItem;
|
|
@@ -21,7 +21,7 @@ import { QGroupContainerBox } from '../../Box.styles';
|
|
|
21
21
|
import useHidden from '../../../hooks/useHidden';
|
|
22
22
|
import GroupHeading from './GroupHeading';
|
|
23
23
|
import { GroupCard } from './GroupItem.styles';
|
|
24
|
-
import
|
|
24
|
+
import TabButtonsWrapper from './TabButtonsWrapper';
|
|
25
25
|
import GroupItemSwitcher from './GroupItemSwitcher';
|
|
26
26
|
import useReadOnly from '../../../hooks/useReadOnly';
|
|
27
27
|
function GroupItem(props) {
|
|
@@ -58,7 +58,7 @@ function GroupItem(props) {
|
|
|
58
58
|
const qrItemOrItems = qrItemsByIndex[i];
|
|
59
59
|
return (React.createElement(GroupItemSwitcher, { key: qItem.linkId, qItem: qItem, qrItemOrItems: qrItemOrItems, groupCardElevation: groupCardElevation, parentIsReadOnly: readOnly, parentIsRepeatGroup: parentIsRepeatGroup, parentRepeatGroupIndex: parentRepeatGroupIndex, onQrItemChange: handleQrItemChange, onQrRepeatGroupChange: handleQrRepeatGroupChange }));
|
|
60
60
|
}),
|
|
61
|
-
React.createElement(
|
|
61
|
+
React.createElement(TabButtonsWrapper, { currentTabIndex: currentTabIndex, tabs: tabs }))));
|
|
62
62
|
}
|
|
63
63
|
export default GroupItem;
|
|
64
64
|
//# sourceMappingURL=GroupItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAQtD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AAEjD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"GroupItem.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/GroupItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,9 @@ const NextTabButtonWrapper = memo(function NextTabWrapper(props) {
|
|
|
48
48
|
return null;
|
|
49
49
|
}
|
|
50
50
|
const buttonIsDisabled = findNumOfVisibleTabs(tabs, enableWhenIsActivated, enableWhenItems, enableWhenExpressions) <= 1;
|
|
51
|
-
return (React.createElement(Box, { display: "flex",
|
|
51
|
+
return (React.createElement(Box, { display: "flex", mt: 3 },
|
|
52
|
+
React.createElement(NextTabButton, { isDisabled: buttonIsDisabled, onNextTabClick: handleNextTabClick }),
|
|
53
|
+
React.createElement(Box, { flexGrow: 1 }),
|
|
52
54
|
React.createElement(NextTabButton, { isDisabled: buttonIsDisabled, onNextTabClick: handleNextTabClick })));
|
|
53
55
|
});
|
|
54
56
|
export default NextTabButtonWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NextTabButtonWrapper.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/NextTabButtonWrapper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAO5C,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,cAAc,CAAC,KAAgC;IACxF,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAExC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChF,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IACpE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChF,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IAExD,MAAM,cAAc,GAAG,eAAe,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC;IAE3E,SAAS,kBAAkB;QACzB,IAAI,cAAc,EAAE;YAClB,OAAO;SACR;QAED,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;YACjD,IAAI;YACJ,eAAe;YACf,qBAAqB;YACrB,eAAe;YACf,qBAAqB;SACtB,CAAC,CAAC;QACH,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAE/B,wBAAwB;QACxB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,cAAc,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,eAAe,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACpD,OAAO,IAAI,CAAC;KACb;IAED,MAAM,gBAAgB,GACpB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,EAAE,eAAe,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEjG,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,
|
|
1
|
+
{"version":3,"file":"NextTabButtonWrapper.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/NextTabButtonWrapper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAO5C,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,cAAc,CAAC,KAAgC;IACxF,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAExC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChF,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IACpE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChF,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IAExD,MAAM,cAAc,GAAG,eAAe,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC;IAE3E,SAAS,kBAAkB;QACzB,IAAI,cAAc,EAAE;YAClB,OAAO;SACR;QAED,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;YACjD,IAAI;YACJ,eAAe;YACf,qBAAqB;YACrB,eAAe;YACf,qBAAqB;SACtB,CAAC,CAAC;QACH,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAE/B,wBAAwB;QACxB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,cAAc,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,eAAe,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACpD,OAAO,IAAI,CAAC;KACb;IAED,MAAM,gBAAgB,GACpB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,EAAE,eAAe,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEjG,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,EAAE,EAAE,CAAC;QACvB,oBAAC,aAAa,IAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,GAAI;QACnF,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI;QACpB,oBAAC,aAAa,IAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,GAAI,CAC/E,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import React from 'react';
|
|
18
|
+
import Button from '@mui/material/Button';
|
|
19
|
+
import Iconify from '../../Iconify/Iconify';
|
|
20
|
+
function PreviousTabButton(props) {
|
|
21
|
+
const { isDisabled, onPreviousTabClick } = props;
|
|
22
|
+
return (React.createElement(Button, { variant: "contained", size: "small", endIcon: React.createElement(Iconify, { icon: "material-symbols:arrow-back" }), disabled: isDisabled, color: "secondary", onClick: onPreviousTabClick }, "Previous tab"));
|
|
23
|
+
}
|
|
24
|
+
export default PreviousTabButton;
|
|
25
|
+
//# sourceMappingURL=PreviousTabButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PreviousTabButton.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/PreviousTabButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAO5C,SAAS,iBAAiB,CAAC,KAA6B;IACtD,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;IAEjD,OAAO,CACL,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,oBAAC,OAAO,IAAC,IAAI,EAAC,6BAA6B,GAAG,EACvD,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAC,WAAW,EACjB,OAAO,EAAE,kBAAkB,mBAEpB,CACV,CAAC;AACJ,CAAC;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Tabs } from '../../../interfaces/tab.interface';
|
|
3
|
+
interface TabButtonsWrapperProps {
|
|
4
|
+
currentTabIndex?: number;
|
|
5
|
+
tabs?: Tabs;
|
|
6
|
+
}
|
|
7
|
+
declare const TabButtonsWrapper: React.NamedExoticComponent<TabButtonsWrapperProps>;
|
|
8
|
+
export default TabButtonsWrapper;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 Commonwealth Scientific and Industrial Research
|
|
3
|
+
* Organisation (CSIRO) ABN 41 687 119 230.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import React, { memo } from 'react';
|
|
18
|
+
import Box from '@mui/material/Box';
|
|
19
|
+
import { findNumOfVisibleTabs, getVisibleTabIndex } from '../../../utils/tabs';
|
|
20
|
+
import { useQuestionnaireStore } from '../../../stores';
|
|
21
|
+
import NextTabButton from './NextTabButton';
|
|
22
|
+
import PreviousTabButton from './PreviousTabButton';
|
|
23
|
+
const TabButtonsWrapper = memo(function TabButtonsWrapper(props) {
|
|
24
|
+
const { currentTabIndex, tabs } = props;
|
|
25
|
+
const enableWhenIsActivated = useQuestionnaireStore.use.enableWhenIsActivated();
|
|
26
|
+
const enableWhenItems = useQuestionnaireStore.use.enableWhenItems();
|
|
27
|
+
const enableWhenExpressions = useQuestionnaireStore.use.enableWhenExpressions();
|
|
28
|
+
const switchTab = useQuestionnaireStore.use.switchTab();
|
|
29
|
+
const tabsNotDefined = currentTabIndex === undefined || tabs === undefined;
|
|
30
|
+
function handleButtonClick(direction) {
|
|
31
|
+
if (tabsNotDefined) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const visibleTabIndex = getVisibleTabIndex({
|
|
35
|
+
direction,
|
|
36
|
+
tabs,
|
|
37
|
+
currentTabIndex,
|
|
38
|
+
enableWhenIsActivated,
|
|
39
|
+
enableWhenItems,
|
|
40
|
+
enableWhenExpressions
|
|
41
|
+
});
|
|
42
|
+
switchTab(visibleTabIndex);
|
|
43
|
+
// Scroll to top of page
|
|
44
|
+
window.scrollTo(0, 0);
|
|
45
|
+
}
|
|
46
|
+
if (tabsNotDefined) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
const previousTabButtonHidden = currentTabIndex === 0;
|
|
50
|
+
const nextTabButtonHidden = currentTabIndex === Object.keys(tabs).length - 1;
|
|
51
|
+
const buttonIsDisabled = findNumOfVisibleTabs(tabs, enableWhenIsActivated, enableWhenItems, enableWhenExpressions) <= 1;
|
|
52
|
+
return (React.createElement(Box, { display: "flex", mt: 3 },
|
|
53
|
+
previousTabButtonHidden ? null : (React.createElement(PreviousTabButton, { isDisabled: buttonIsDisabled, onPreviousTabClick: () => handleButtonClick('previous') })),
|
|
54
|
+
React.createElement(Box, { flexGrow: 1 }),
|
|
55
|
+
nextTabButtonHidden ? null : (React.createElement(NextTabButton, { isDisabled: buttonIsDisabled, onNextTabClick: () => handleButtonClick('next') }))));
|
|
56
|
+
});
|
|
57
|
+
export default TabButtonsWrapper;
|
|
58
|
+
//# sourceMappingURL=TabButtonsWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabButtonsWrapper.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/GroupItem/TabButtonsWrapper.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,GAAG,MAAM,mBAAmB,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAOpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,iBAAiB,CAAC,KAA6B;IACrF,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAExC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChF,MAAM,eAAe,GAAG,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IACpE,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;IAChF,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IAExD,MAAM,cAAc,GAAG,eAAe,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC;IAE3E,SAAS,iBAAiB,CAAC,SAA8B;QACvD,IAAI,cAAc,EAAE;YAClB,OAAO;SACR;QAED,MAAM,eAAe,GAAG,kBAAkB,CAAC;YACzC,SAAS;YACT,IAAI;YACJ,eAAe;YACf,qBAAqB;YACrB,eAAe;YACf,qBAAqB;SACtB,CAAC,CAAC;QACH,SAAS,CAAC,eAAe,CAAC,CAAC;QAE3B,wBAAwB;QACxB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,cAAc,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,uBAAuB,GAAG,eAAe,KAAK,CAAC,CAAC;IACtD,MAAM,mBAAmB,GAAG,eAAe,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7E,MAAM,gBAAgB,GACpB,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,EAAE,eAAe,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEjG,OAAO,CACL,oBAAC,GAAG,IAAC,OAAO,EAAC,MAAM,EAAC,EAAE,EAAE,CAAC;QACtB,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAChC,oBAAC,iBAAiB,IAChB,UAAU,EAAE,gBAAgB,EAC5B,kBAAkB,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,GACvD,CACH;QACD,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,GAAI;QACnB,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC5B,oBAAC,aAAa,IACZ,UAAU,EAAE,gBAAgB,EAC5B,cAAc,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAC/C,CACH,CACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
|
|
@@ -8,9 +8,10 @@ interface RenderingExtensions {
|
|
|
8
8
|
readOnly: boolean;
|
|
9
9
|
entryFormat: string;
|
|
10
10
|
required: boolean;
|
|
11
|
-
regexValidation
|
|
12
|
-
minLength
|
|
13
|
-
maxLength
|
|
11
|
+
regexValidation?: RegexValidation;
|
|
12
|
+
minLength?: number;
|
|
13
|
+
maxLength?: number;
|
|
14
|
+
maxDecimalPlaces?: number;
|
|
14
15
|
}
|
|
15
16
|
declare function useRenderingExtensions(qItem: QuestionnaireItem): RenderingExtensions;
|
|
16
17
|
export default useRenderingExtensions;
|
|
@@ -19,7 +19,7 @@ import { structuredDataCapture } from 'fhir-sdc-helpers';
|
|
|
19
19
|
import { useMemo } from 'react';
|
|
20
20
|
function useRenderingExtensions(qItem) {
|
|
21
21
|
return useMemo(() => {
|
|
22
|
-
var _a, _b
|
|
22
|
+
var _a, _b;
|
|
23
23
|
return ({
|
|
24
24
|
displayUnit: getTextDisplayUnit(qItem),
|
|
25
25
|
displayPrompt: getTextDisplayPrompt(qItem),
|
|
@@ -29,8 +29,9 @@ function useRenderingExtensions(qItem) {
|
|
|
29
29
|
entryFormat: (_a = structuredDataCapture.getEntryFormat(qItem)) !== null && _a !== void 0 ? _a : '',
|
|
30
30
|
required: (_b = qItem.required) !== null && _b !== void 0 ? _b : false,
|
|
31
31
|
regexValidation: getRegexValidation(qItem),
|
|
32
|
-
minLength:
|
|
33
|
-
maxLength:
|
|
32
|
+
minLength: structuredDataCapture.getMinLength(qItem),
|
|
33
|
+
maxLength: qItem.maxLength,
|
|
34
|
+
maxDecimalPlaces: structuredDataCapture.getMaxDecimalPlaces(qItem)
|
|
34
35
|
});
|
|
35
36
|
}, [qItem]);
|
|
36
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRenderingExtensions.js","sourceRoot":"","sources":["../../src/hooks/useRenderingExtensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useRenderingExtensions.js","sourceRoot":"","sources":["../../src/hooks/useRenderingExtensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAgBhC,SAAS,sBAAsB,CAAC,KAAwB;IACtD,OAAO,OAAO,CACZ,GAAG,EAAE;;QAAC,OAAA,CAAC;YACL,WAAW,EAAE,kBAAkB,CAAC,KAAK,CAAC;YACtC,aAAa,EAAE,oBAAoB,CAAC,KAAK,CAAC;YAC1C,mBAAmB,EAAE,0BAA0B,CAAC,KAAK,CAAC;YACtD,cAAc,EAAE,qBAAqB,CAAC,KAAK,CAAC;YAC5C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;YAC1B,WAAW,EAAE,MAAA,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,mCAAI,EAAE;YAC9D,QAAQ,EAAE,MAAA,KAAK,CAAC,QAAQ,mCAAI,KAAK;YACjC,eAAe,EAAE,kBAAkB,CAAC,KAAK,CAAC;YAC1C,SAAS,EAAE,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC;YACpD,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,gBAAgB,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,KAAK,CAAC;SACnE,CAAC,CAAA;KAAA,EACF,CAAC,KAAK,CAAC,CACR,CAAC;AACJ,CAAC;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { RegexValidation } from '../interfaces/regex.interface';
|
|
2
|
-
declare function useValidationFeedback(input: string, regexValidation
|
|
2
|
+
declare function useValidationFeedback(input: string, regexValidation?: RegexValidation, minLength?: number, maxLength?: number, maxDecimalPlaces?: number): string;
|
|
3
3
|
export default useValidationFeedback;
|
|
@@ -14,23 +14,27 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { getInputInvalidType } from '../utils/validateQuestionnaire';
|
|
18
|
-
function useValidationFeedback(input, regexValidation, minLength, maxLength) {
|
|
19
|
-
const invalidType = getInputInvalidType(input, regexValidation, minLength, maxLength);
|
|
17
|
+
import { getInputInvalidType, ValidationResult } from '../utils/validateQuestionnaire';
|
|
18
|
+
function useValidationFeedback(input, regexValidation, minLength, maxLength, maxDecimalPlaces) {
|
|
19
|
+
const invalidType = getInputInvalidType(input, regexValidation, minLength, maxLength, maxDecimalPlaces);
|
|
20
20
|
if (!invalidType) {
|
|
21
21
|
return '';
|
|
22
22
|
}
|
|
23
|
-
if (invalidType ===
|
|
23
|
+
if (invalidType === ValidationResult.regex && regexValidation) {
|
|
24
24
|
return `Input should match the specified regex ${regexValidation.expression}`;
|
|
25
25
|
}
|
|
26
26
|
// Test min character limit
|
|
27
|
-
if (invalidType ===
|
|
27
|
+
if (invalidType === ValidationResult.minLength && typeof minLength === 'number') {
|
|
28
28
|
return `Enter at least ${minLength} characters.`;
|
|
29
29
|
}
|
|
30
30
|
// Test max character limit
|
|
31
|
-
if (invalidType ===
|
|
31
|
+
if (invalidType === ValidationResult.maxLength && typeof maxLength === 'number') {
|
|
32
32
|
return `Input exceeds maximum character limit of ${maxLength}.`;
|
|
33
33
|
}
|
|
34
|
+
// Test max decimal places limit
|
|
35
|
+
if (invalidType === ValidationResult.maxDecimalPlaces && typeof maxDecimalPlaces === 'number') {
|
|
36
|
+
return `Input exceeds maximum decimal places limit of ${maxDecimalPlaces}.`;
|
|
37
|
+
}
|
|
34
38
|
return '';
|
|
35
39
|
}
|
|
36
40
|
export default useValidationFeedback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useValidationFeedback.js","sourceRoot":"","sources":["../../src/hooks/useValidationFeedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"useValidationFeedback.js","sourceRoot":"","sources":["../../src/hooks/useValidationFeedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvF,SAAS,qBAAqB,CAC5B,KAAa,EACb,eAAiC,EACjC,SAAkB,EAClB,SAAkB,EAClB,gBAAyB;IAEzB,MAAM,WAAW,GAAG,mBAAmB,CACrC,KAAK,EACL,eAAe,EACf,SAAS,EACT,SAAS,EACT,gBAAgB,CACjB,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,WAAW,KAAK,gBAAgB,CAAC,KAAK,IAAI,eAAe,EAAE;QAC7D,OAAO,0CAA0C,eAAe,CAAC,UAAU,EAAE,CAAC;KAC/E;IAED,2BAA2B;IAC3B,IAAI,WAAW,KAAK,gBAAgB,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QAC/E,OAAO,kBAAkB,SAAS,cAAc,CAAC;KAClD;IAED,2BAA2B;IAC3B,IAAI,WAAW,KAAK,gBAAgB,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QAC/E,OAAO,4CAA4C,SAAS,GAAG,CAAC;KACjE;IAED,gCAAgC;IAChC,IAAI,WAAW,KAAK,gBAAgB,CAAC,gBAAgB,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE;QAC7F,OAAO,iDAAiD,gBAAgB,GAAG,CAAC;KAC7E;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,eAAe,qBAAqB,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type { Questionnaire, QuestionnaireResponse } from 'fhir/r4';
|
|
1
|
+
import type { OperationOutcome, Questionnaire, QuestionnaireResponse } from 'fhir/r4';
|
|
2
2
|
import type { Diff } from 'deep-diff';
|
|
3
|
-
import type { InvalidType } from '../utils/validateQuestionnaire';
|
|
4
3
|
interface QuestionnaireResponseStoreType {
|
|
5
4
|
sourceResponse: QuestionnaireResponse;
|
|
6
5
|
updatableResponse: QuestionnaireResponse;
|
|
7
6
|
formChangesHistory: (Diff<QuestionnaireResponse, QuestionnaireResponse>[] | null)[];
|
|
8
|
-
invalidItems: Record<string,
|
|
7
|
+
invalidItems: Record<string, OperationOutcome>;
|
|
9
8
|
responseIsValid: boolean;
|
|
10
9
|
validateQuestionnaire: (questionnaire: Questionnaire, updatedResponse: QuestionnaireResponse) => void;
|
|
11
10
|
buildSourceResponse: (response: QuestionnaireResponse) => void;
|
|
@@ -21,7 +20,7 @@ export declare const useQuestionnaireResponseStore: import("zustand/vanilla").St
|
|
|
21
20
|
sourceResponse: () => QuestionnaireResponse;
|
|
22
21
|
updatableResponse: () => QuestionnaireResponse;
|
|
23
22
|
formChangesHistory: () => (Diff<QuestionnaireResponse, QuestionnaireResponse>[] | null)[];
|
|
24
|
-
invalidItems: () => Record<string,
|
|
23
|
+
invalidItems: () => Record<string, OperationOutcome>;
|
|
25
24
|
responseIsValid: () => boolean;
|
|
26
25
|
validateQuestionnaire: () => (questionnaire: Questionnaire, updatedResponse: QuestionnaireResponse) => void;
|
|
27
26
|
buildSourceResponse: () => (response: QuestionnaireResponse) => void;
|
|
@@ -28,21 +28,19 @@ export const questionnaireResponseStore = createStore()((set, get) => ({
|
|
|
28
28
|
invalidItems: {},
|
|
29
29
|
responseIsValid: true,
|
|
30
30
|
validateQuestionnaire: (questionnaire, updatedResponse) => {
|
|
31
|
-
const tempInvalidItems = get().invalidItems;
|
|
32
31
|
const enableWhenIsActivated = questionnaireStore.getState().enableWhenIsActivated;
|
|
33
32
|
const enableWhenItems = questionnaireStore.getState().enableWhenItems;
|
|
34
33
|
const enableWhenExpressions = questionnaireStore.getState().enableWhenExpressions;
|
|
35
|
-
validateQuestionnaire({
|
|
34
|
+
const updatedInvalidItems = validateQuestionnaire({
|
|
36
35
|
questionnaire,
|
|
37
36
|
questionnaireResponse: updatedResponse,
|
|
38
|
-
invalidItems: tempInvalidItems,
|
|
39
37
|
enableWhenIsActivated,
|
|
40
38
|
enableWhenItems,
|
|
41
39
|
enableWhenExpressions
|
|
42
40
|
});
|
|
43
41
|
set(() => ({
|
|
44
|
-
invalidItems:
|
|
45
|
-
responseIsValid: Object.keys(
|
|
42
|
+
invalidItems: updatedInvalidItems,
|
|
43
|
+
responseIsValid: Object.keys(updatedInvalidItems).length === 0
|
|
46
44
|
}));
|
|
47
45
|
},
|
|
48
46
|
buildSourceResponse: (questionnaireResponse) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questionnaireResponseStore.js","sourceRoot":"","sources":["../../src/stores/questionnaireResponseStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"questionnaireResponseStore.js","sourceRoot":"","sources":["../../src/stores/questionnaireResponseStore.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/debounce.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const DEBOUNCE_DURATION =
|
|
1
|
+
export declare const DEBOUNCE_DURATION = 150;
|
|
2
2
|
export declare const AUTOCOMPLETE_DEBOUNCE_DURATION = 300;
|
package/lib/utils/debounce.js
CHANGED
|
@@ -14,6 +14,6 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
export const DEBOUNCE_DURATION =
|
|
17
|
+
export const DEBOUNCE_DURATION = 150;
|
|
18
18
|
export const AUTOCOMPLETE_DEBOUNCE_DURATION = 300;
|
|
19
19
|
//# sourceMappingURL=debounce.js.map
|
|
@@ -92,9 +92,9 @@ export declare function getTextDisplayInstructions(qItem: QuestionnaireItem): st
|
|
|
92
92
|
*/
|
|
93
93
|
export declare function getTextDisplayFlyover(qItem: QuestionnaireItem): string;
|
|
94
94
|
/**
|
|
95
|
-
* Get
|
|
96
|
-
* i.e. DD-MM-YYYY for dates, HH:MM for times etc.
|
|
95
|
+
* Get regex validation for items with regex extensions
|
|
97
96
|
*
|
|
98
97
|
* @author Sean Fong
|
|
99
98
|
*/
|
|
100
|
-
export declare function getRegexValidation(qItem: QuestionnaireItem): RegexValidation |
|
|
99
|
+
export declare function getRegexValidation(qItem: QuestionnaireItem): RegexValidation | undefined;
|
|
100
|
+
export declare function getRegexString(qItem: QuestionnaireItem): string | null;
|
package/lib/utils/itemControl.js
CHANGED
|
@@ -264,15 +264,25 @@ export function getTextDisplayFlyover(qItem) {
|
|
|
264
264
|
return '';
|
|
265
265
|
}
|
|
266
266
|
/**
|
|
267
|
-
* Get
|
|
268
|
-
* i.e. DD-MM-YYYY for dates, HH:MM for times etc.
|
|
267
|
+
* Get regex validation for items with regex extensions
|
|
269
268
|
*
|
|
270
269
|
* @author Sean Fong
|
|
271
270
|
*/
|
|
272
271
|
export function getRegexValidation(qItem) {
|
|
272
|
+
// Get regex expression from extension
|
|
273
|
+
const regexString = getRegexString(qItem);
|
|
274
|
+
if (regexString) {
|
|
275
|
+
return { expression: new RegExp(regexString), feedback: null };
|
|
276
|
+
}
|
|
277
|
+
// Get regex expression from item types if regex extensions not present
|
|
278
|
+
if (qItem.type === 'url') {
|
|
279
|
+
return { expression: new RegExp(/^\S*$/), feedback: 'URLs should not contain any whitespaces' };
|
|
280
|
+
}
|
|
281
|
+
return undefined;
|
|
282
|
+
}
|
|
283
|
+
export function getRegexString(qItem) {
|
|
273
284
|
var _a;
|
|
274
285
|
const itemControl = (_a = qItem.extension) === null || _a === void 0 ? void 0 : _a.find((extension) => extension.url === 'http://hl7.org/fhir/StructureDefinition/regex');
|
|
275
|
-
// Get regex expression from extension
|
|
276
286
|
if (itemControl) {
|
|
277
287
|
const extensionString = itemControl.valueString;
|
|
278
288
|
if (extensionString) {
|
|
@@ -283,13 +293,9 @@ export function getRegexValidation(qItem) {
|
|
|
283
293
|
else {
|
|
284
294
|
regexString = extensionString;
|
|
285
295
|
}
|
|
286
|
-
return
|
|
296
|
+
return regexString;
|
|
287
297
|
}
|
|
288
298
|
}
|
|
289
|
-
// Get regex expression from item types if regex extensions not present
|
|
290
|
-
if (qItem.type === 'url') {
|
|
291
|
-
return { expression: new RegExp(/^\S*$/), feedback: 'URLs should not contain any whitespaces' };
|
|
292
|
-
}
|
|
293
299
|
return null;
|
|
294
300
|
}
|
|
295
301
|
//# sourceMappingURL=itemControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itemControl.js","sourceRoot":"","sources":["../../src/utils/itemControl.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"itemControl.js","sourceRoot":"","sources":["../../src/utils/itemControl.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/tabs.d.ts
CHANGED
|
@@ -44,7 +44,8 @@ export declare function constructTabsWithVisibility(params: constructTabsWithVis
|
|
|
44
44
|
linkId: string;
|
|
45
45
|
isVisible: boolean;
|
|
46
46
|
}[];
|
|
47
|
-
interface
|
|
47
|
+
interface getVisibleTabIndexParams {
|
|
48
|
+
direction: 'next' | 'previous';
|
|
48
49
|
tabs: Tabs;
|
|
49
50
|
currentTabIndex: number;
|
|
50
51
|
enableWhenIsActivated: boolean;
|
|
@@ -56,7 +57,7 @@ interface getNextVisibleTabIndexParams {
|
|
|
56
57
|
*
|
|
57
58
|
* @author Sean Fong
|
|
58
59
|
*/
|
|
59
|
-
export declare function
|
|
60
|
+
export declare function getVisibleTabIndex(params: getVisibleTabIndexParams): number;
|
|
60
61
|
/**
|
|
61
62
|
*
|
|
62
63
|
* Find number of visible tabs
|
package/lib/utils/tabs.js
CHANGED
|
@@ -122,23 +122,36 @@ export function constructTabsWithVisibility(params) {
|
|
|
122
122
|
*
|
|
123
123
|
* @author Sean Fong
|
|
124
124
|
*/
|
|
125
|
-
export function
|
|
126
|
-
const { tabs, currentTabIndex, enableWhenIsActivated, enableWhenItems, enableWhenExpressions } = params;
|
|
125
|
+
export function getVisibleTabIndex(params) {
|
|
126
|
+
const { direction, tabs, currentTabIndex, enableWhenIsActivated, enableWhenItems, enableWhenExpressions } = params;
|
|
127
127
|
const tabsWithVisibility = constructTabsWithVisibility({
|
|
128
128
|
tabs,
|
|
129
129
|
enableWhenIsActivated,
|
|
130
130
|
enableWhenItems,
|
|
131
131
|
enableWhenExpressions
|
|
132
132
|
});
|
|
133
|
-
let
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
133
|
+
let visibleTabIndex;
|
|
134
|
+
if (direction === 'next') {
|
|
135
|
+
visibleTabIndex = currentTabIndex + 1;
|
|
136
|
+
const nextTabIndexIsVisible = false;
|
|
137
|
+
while (!nextTabIndexIsVisible) {
|
|
138
|
+
if (tabsWithVisibility[visibleTabIndex].isVisible) {
|
|
139
|
+
return visibleTabIndex;
|
|
140
|
+
}
|
|
141
|
+
visibleTabIndex++;
|
|
138
142
|
}
|
|
139
|
-
nextTabIndex++;
|
|
140
143
|
}
|
|
141
|
-
|
|
144
|
+
else {
|
|
145
|
+
visibleTabIndex = currentTabIndex - 1;
|
|
146
|
+
const previousTabIndexIsVisible = false;
|
|
147
|
+
while (!previousTabIndexIsVisible) {
|
|
148
|
+
if (tabsWithVisibility[visibleTabIndex].isVisible) {
|
|
149
|
+
return visibleTabIndex;
|
|
150
|
+
}
|
|
151
|
+
visibleTabIndex--;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return visibleTabIndex;
|
|
142
155
|
}
|
|
143
156
|
/**
|
|
144
157
|
*
|