@aehrc/smart-forms-renderer 0.27.2 → 0.27.4
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/.storybook/main.ts +2 -1
- package/.storybook/preview.ts +6 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.d.ts +3 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.js +9 -17
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js +12 -9
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js +7 -9
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js +12 -8
- package/lib/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.d.ts +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js +3 -3
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js +6 -4
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.d.ts +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js +3 -3
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.d.ts +2 -2
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js +5 -7
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js +4 -4
- package/lib/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.d.ts +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js +2 -3
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js +5 -3
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.d.ts +2 -1
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js +3 -3
- package/lib/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.js.map +1 -1
- package/lib/components/FormComponents/DecimalItem/DecimalItem.js +1 -1
- package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.js +20 -20
- package/lib/components/FormComponents/GroupItem/TabButtonsWrapper.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.d.ts +3 -2
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js +7 -19
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js +40 -40
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js +15 -3
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.d.ts +2 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js +3 -3
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.js.map +1 -1
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js +27 -26
- package/lib/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.js.map +1 -1
- package/lib/components/FormComponents/StringItem/StringField.js +1 -1
- package/lib/components/FormComponents/StringItem/StringField.js.map +1 -1
- package/lib/hooks/useInitialiseRenderer.js +1 -1
- package/lib/hooks/useInitialiseRenderer.js.map +1 -1
- package/lib/hooks/useNextAndPreviousVisibleTabs.d.ts +7 -0
- package/lib/hooks/useNextAndPreviousVisibleTabs.js +63 -0
- package/lib/hooks/useNextAndPreviousVisibleTabs.js.map +1 -0
- package/lib/hooks/useNextPreviousVisibleTabs.d.ts +6 -0
- package/lib/hooks/useNextPreviousVisibleTabs.js +63 -0
- package/lib/hooks/useNextPreviousVisibleTabs.js.map +1 -0
- package/lib/index.d.ts +0 -7
- package/lib/index.js +0 -24
- package/lib/index.js.map +1 -1
- package/lib/utils/choice.d.ts +1 -7
- package/lib/utils/choice.js +10 -20
- package/lib/utils/choice.js.map +1 -1
- package/lib/utils/enableWhen.js +5 -7
- package/lib/utils/enableWhen.js.map +1 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +1 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/openChoice.d.ts +9 -4
- package/lib/utils/openChoice.js +47 -78
- package/lib/utils/openChoice.js.map +1 -1
- package/lib/utils/tabs.d.ts +0 -21
- package/lib/utils/tabs.js +0 -51
- package/lib/utils/tabs.js.map +1 -1
- package/package.json +4 -4
- package/src/components/FormComponents/ChoiceItems/CheckboxOptionList.tsx +82 -0
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionFields.tsx +23 -52
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerOptionItem.tsx +15 -9
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetFields.tsx +17 -19
- package/src/components/FormComponents/ChoiceItems/ChoiceCheckboxAnswerValueSetItem.tsx +13 -8
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionFields.tsx +5 -4
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionItem.tsx +6 -2
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerOptionView.tsx +5 -1
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetFields.tsx +9 -16
- package/src/components/FormComponents/ChoiceItems/ChoiceRadioAnswerValueSetItem.tsx +4 -4
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionFields.tsx +4 -3
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionItem.tsx +5 -2
- package/src/components/FormComponents/ChoiceItems/ChoiceSelectAnswerOptionView.tsx +5 -1
- package/src/components/FormComponents/DecimalItem/DecimalItem.tsx +1 -1
- package/src/components/FormComponents/GroupItem/TabButtonsWrapper.tsx +28 -25
- package/src/components/FormComponents/ItemParts/{RadioAnswerOptionButtons.tsx → RadioOptionList.tsx} +7 -7
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionFields.tsx +18 -50
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerOptionItem.tsx +70 -68
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetFields.tsx +110 -0
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceCheckboxAnswerValueSetItem.tsx +188 -0
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceItemSwitcher.tsx +46 -19
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionFields.tsx +5 -3
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerOptionItem.tsx +37 -29
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetFields.tsx +104 -0
- package/src/components/FormComponents/OpenChoiceItems/OpenChoiceRadioAnswerValueSetItem.tsx +156 -0
- package/src/components/FormComponents/StringItem/StringField.tsx +1 -1
- package/src/hooks/useInitialiseRenderer.ts +1 -1
- package/src/hooks/useNextAndPreviousVisibleTabs.ts +86 -0
- package/src/hooks/useOpenLabel.ts +43 -0
- package/src/index.ts +0 -21
- package/src/stories/BuildFormWrapper.tsx +57 -0
- package/src/stories/assets/questionnaires/QAdvancedAdditionalDisplayContent.ts +83 -0
- package/src/stories/assets/questionnaires/QAdvancedControlAppearance.ts +294 -0
- package/src/stories/assets/questionnaires/QAdvancedOther.ts +495 -0
- package/src/stories/assets/questionnaires/QAdvancedTextApperance.ts +188 -0
- package/src/stories/assets/questionnaires/QAttachment.ts +38 -0
- package/src/stories/assets/questionnaires/QBehaviorCalculations.ts +645 -0
- package/src/stories/assets/questionnaires/QBehaviorChoiceRestriction.ts +281 -0
- package/src/stories/assets/questionnaires/QBehaviorOther.ts +1149 -0
- package/src/stories/assets/questionnaires/QBehaviorValueConstraints.ts +508 -0
- package/src/stories/assets/questionnaires/QBoolean.ts +130 -0
- package/src/stories/assets/questionnaires/QChoice.ts +137 -0
- package/src/stories/assets/questionnaires/QDate.ts +56 -0
- package/src/stories/assets/questionnaires/QDateTime.ts +56 -0
- package/src/stories/assets/questionnaires/QDecimal.ts +56 -0
- package/src/stories/assets/questionnaires/QDisplay.ts +38 -0
- package/src/stories/assets/questionnaires/QGroup.ts +52 -0
- package/src/stories/assets/questionnaires/QInteger.ts +119 -0
- package/src/stories/assets/questionnaires/QItemControlDisplay.ts +114 -0
- package/src/stories/assets/questionnaires/QItemControlGroup.ts +419 -0
- package/src/stories/assets/questionnaires/QItemControlQuestion.ts +1271 -0
- package/src/stories/assets/questionnaires/QOpenChoice.ts +151 -0
- package/src/stories/assets/questionnaires/QQuantity.ts +38 -0
- package/src/stories/assets/questionnaires/QReference.ts +38 -0
- package/src/stories/assets/questionnaires/QSingleItems.ts +251 -0
- package/src/stories/assets/questionnaires/QString.ts +131 -0
- package/src/stories/assets/questionnaires/QText.ts +169 -0
- package/src/stories/assets/questionnaires/QTime.ts +38 -0
- package/src/stories/assets/questionnaires/QUrl.ts +38 -0
- package/src/stories/assets/questionnaires/index.ts +44 -0
- package/src/stories/itemTypes/Attachment.stories.tsx +39 -0
- package/src/stories/itemTypes/Boolean.stories.tsx +72 -0
- package/src/stories/{MedicalHistoryTable.stories.tsx → itemTypes/Choice.stories.tsx} +32 -26
- package/src/stories/itemTypes/Date.stories.tsx +46 -0
- package/src/stories/itemTypes/DateTime.stories.tsx +45 -0
- package/src/stories/itemTypes/Decimal.stories.tsx +56 -0
- package/src/stories/itemTypes/Display.stories.tsx +39 -0
- package/src/stories/itemTypes/Group.stories.tsx +39 -0
- package/src/stories/itemTypes/Integer.stories.tsx +55 -0
- package/src/stories/itemTypes/OpenChoice.stories.tsx +64 -0
- package/src/stories/itemTypes/Quantity.stories.tsx +39 -0
- package/src/stories/itemTypes/Reference.stories.tsx +39 -0
- package/src/stories/itemTypes/String.stories.tsx +51 -0
- package/src/stories/itemTypes/Text.stories.tsx +51 -0
- package/src/stories/itemTypes/Time.stories.tsx +39 -0
- package/src/stories/itemTypes/Url.stories.tsx +39 -0
- package/src/stories/sdc/AdvancedAdditionalDisplayContent.stories.tsx +45 -0
- package/src/stories/sdc/AdvancedControlAppearance.stories.tsx +51 -0
- package/src/stories/sdc/AdvancedOther.stories.tsx +76 -0
- package/src/stories/sdc/AdvancedTextAppearance.stories.tsx +69 -0
- package/src/stories/sdc/BehaviorCalculations.stories.tsx +69 -0
- package/src/stories/sdc/BehaviorChoiceRestriction.stories.tsx +76 -0
- package/src/stories/sdc/BehaviorOther.stories.tsx +90 -0
- package/src/stories/sdc/BehaviorValueConstraints.stories.tsx +88 -0
- package/src/stories/sdc/ItemControlDisplay.stories.tsx +39 -0
- package/src/stories/sdc/ItemControlGroup.stories.tsx +55 -0
- package/src/stories/sdc/ItemControlQuestion.stories.tsx +118 -0
- package/src/utils/buildForm.ts +23 -0
- package/src/utils/choice.ts +16 -23
- package/src/utils/enableWhen.ts +5 -7
- package/src/utils/index.ts +1 -0
- package/src/utils/openChoice.ts +83 -98
- package/src/utils/tabs.ts +0 -75
- package/vite.config.ts +23 -0
- package/doctor-storybook.log +0 -18
- package/src/stories/SmartFormsRenderer.stories.ts +0 -139
- package/src/stories/assets/QItems-and-QRItems/QR_GTableMedicalHistory.json +0 -80
- package/src/stories/assets/QItems-and-QRItems/Q_GTableMedicalHistory.json +0 -109
- package/src/stories/assets/Qs-and-QRs/Q715.json +0 -15086
- package/src/stories/assets/Qs-and-QRs/QDev715.json +0 -16081
- package/src/stories/assets/Qs-and-QRs/QTestGrid.json +0 -411
- package/src/stories/assets/Qs-and-QRs/R715.json +0 -311
- package/src/stories/assets/Qs-and-QRs/RTestGrid.json +0 -34
|
@@ -21,7 +21,7 @@ import FadingCheckIcon from '../ItemParts/FadingCheckIcon';
|
|
|
21
21
|
function StringField(props) {
|
|
22
22
|
const { linkId, input, feedback, displayPrompt, displayUnit, entryFormat, readOnly, isTabled, calcExpUpdated, onInputChange } = props;
|
|
23
23
|
return (React.createElement(StandardTextField, { fullWidth: true, isTabled: isTabled, id: linkId, value: input, error: !!feedback, onChange: (event) => onInputChange(event.target.value), label: displayPrompt, placeholder: entryFormat, disabled: readOnly, size: "small", InputProps: {
|
|
24
|
-
endAdornment: (React.createElement(InputAdornment, { position:
|
|
24
|
+
endAdornment: (React.createElement(InputAdornment, { position: "end" },
|
|
25
25
|
React.createElement(FadingCheckIcon, { fadeIn: calcExpUpdated, disabled: readOnly }),
|
|
26
26
|
displayUnit))
|
|
27
27
|
}, helperText: feedback, "data-test": "q-item-string-field" }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/StringItem/StringField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAc3D,SAAS,WAAW,CAAC,KAAuB;IAC1C,MAAM,EACJ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,aAAa,EACd,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,oBAAC,iBAAiB,IAChB,SAAS,QACT,QAAQ,EAAE,QAAQ,EAClB,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,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,UAAU,EAAE;YACV,YAAY,EAAE,CACZ,oBAAC,cAAc,IAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"StringField.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/StringItem/StringField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAc3D,SAAS,WAAW,CAAC,KAAuB;IAC1C,MAAM,EACJ,MAAM,EACN,KAAK,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,aAAa,EACd,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,oBAAC,iBAAiB,IAChB,SAAS,QACT,QAAQ,EAAE,QAAQ,EAClB,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,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAC,OAAO,EACZ,UAAU,EAAE;YACV,YAAY,EAAE,CACZ,oBAAC,cAAc,IAAC,QAAQ,EAAC,KAAK;gBAC5B,oBAAC,eAAe,IAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAI;gBAC9D,WAAW,CACG,CAClB;SACF,EACD,UAAU,EAAE,QAAQ,eACV,qBAAqB,GAC/B,CACH,CAAC;AACJ,CAAC;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import { useLayoutEffect, useState } from 'react';
|
|
18
|
-
import { initialiseQuestionnaireResponse } from '../utils
|
|
18
|
+
import { initialiseQuestionnaireResponse } from '../utils';
|
|
19
19
|
import { readEncounter, readPatient, readUser } from '../api/smartClient';
|
|
20
20
|
import { useQuestionnaireResponseStore, useQuestionnaireStore, useSmartConfigStore, useTerminologyServerStore } from '../stores';
|
|
21
21
|
function useInitialiseRenderer(questionnaire, questionnaireResponse, additionalVariables, terminologyServerUrl, fhirClient, readOnly) {
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"useInitialiseRenderer.js","sourceRoot":"","sources":["../../src/hooks/useInitialiseRenderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Tabs } from '../interfaces/tab.interface';
|
|
2
|
+
declare function useNextAndPreviousVisibleTabs(currentTabIndex?: number, tabs?: Tabs): {
|
|
3
|
+
previousTabIndex: number | null;
|
|
4
|
+
nextTabIndex: number | null;
|
|
5
|
+
numOfVisibleTabs: number;
|
|
6
|
+
};
|
|
7
|
+
export default useNextAndPreviousVisibleTabs;
|
|
@@ -0,0 +1,63 @@
|
|
|
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 { useQuestionnaireStore } from '../stores';
|
|
18
|
+
import { constructTabsWithVisibility } from '../utils/tabs';
|
|
19
|
+
function useNextAndPreviousVisibleTabs(currentTabIndex, tabs) {
|
|
20
|
+
const enableWhenIsActivated = useQuestionnaireStore.use.enableWhenIsActivated();
|
|
21
|
+
const enableWhenItems = useQuestionnaireStore.use.enableWhenItems();
|
|
22
|
+
const enableWhenExpressions = useQuestionnaireStore.use.enableWhenExpressions();
|
|
23
|
+
const tabsNotDefined = currentTabIndex === undefined || tabs === undefined;
|
|
24
|
+
if (tabsNotDefined) {
|
|
25
|
+
return { previousTabIndex: null, nextTabIndex: null, numOfVisibleTabs: 0 };
|
|
26
|
+
}
|
|
27
|
+
const tabsWithVisibility = constructTabsWithVisibility({
|
|
28
|
+
tabs,
|
|
29
|
+
enableWhenIsActivated,
|
|
30
|
+
enableWhenItems,
|
|
31
|
+
enableWhenExpressions
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
previousTabIndex: getPreviousTabIndex(currentTabIndex, tabsWithVisibility),
|
|
35
|
+
nextTabIndex: getNextTabIndex(currentTabIndex, tabsWithVisibility),
|
|
36
|
+
numOfVisibleTabs: tabsWithVisibility.filter((tab) => tab.isVisible).length
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function getPreviousTabIndex(currentTabIndex, tabsWithVisibility) {
|
|
40
|
+
const previousTabs = tabsWithVisibility.slice(0, currentTabIndex);
|
|
41
|
+
const foundIndex = previousTabs.reverse().findIndex((tab) => tab.isVisible);
|
|
42
|
+
// Previous visible tab not found
|
|
43
|
+
if (foundIndex === -1) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
// Previous visible tab less than 0
|
|
47
|
+
const previousTabIndex = currentTabIndex - foundIndex - 1;
|
|
48
|
+
if (previousTabIndex < 0) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
return previousTabIndex;
|
|
52
|
+
}
|
|
53
|
+
function getNextTabIndex(currentTabIndex, tabsWithVisibility) {
|
|
54
|
+
const subsequentTabs = tabsWithVisibility.slice(currentTabIndex + 1);
|
|
55
|
+
const foundIndex = subsequentTabs.findIndex((tab) => tab.isVisible);
|
|
56
|
+
// Next visible tab not found, something is wrong
|
|
57
|
+
if (foundIndex === -1) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
return currentTabIndex + foundIndex + 1;
|
|
61
|
+
}
|
|
62
|
+
export default useNextAndPreviousVisibleTabs;
|
|
63
|
+
//# sourceMappingURL=useNextAndPreviousVisibleTabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNextAndPreviousVisibleTabs.js","sourceRoot":"","sources":["../../src/hooks/useNextAndPreviousVisibleTabs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,SAAS,6BAA6B,CACpC,eAAwB,EACxB,IAAW;IAEX,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;IAEhF,MAAM,cAAc,GAAG,eAAe,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,CAAC;IAE3E,IAAI,cAAc,EAAE;QAClB,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;KAC5E;IAED,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;QACrD,IAAI;QACJ,qBAAqB;QACrB,eAAe;QACf,qBAAqB;KACtB,CAAC,CAAC;IAEH,OAAO;QACL,gBAAgB,EAAE,mBAAmB,CAAC,eAAe,EAAE,kBAAkB,CAAC;QAC1E,YAAY,EAAE,eAAe,CAAC,eAAe,EAAE,kBAAkB,CAAC;QAClE,gBAAgB,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM;KAC3E,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,eAAuB,EACvB,kBAA4D;IAE5D,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE5E,iCAAiC;IACjC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,mCAAmC;IACnC,MAAM,gBAAgB,GAAG,eAAe,GAAG,UAAU,GAAG,CAAC,CAAC;IAC1D,IAAI,gBAAgB,GAAG,CAAC,EAAE;QACxB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CACtB,eAAuB,EACvB,kBAA4D;IAE5D,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEpE,iDAAiD;IACjD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,eAAe,GAAG,UAAU,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,eAAe,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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 { useQuestionnaireStore } from '../stores';
|
|
18
|
+
import { constructTabsWithVisibility } from '../utils/tabs';
|
|
19
|
+
function useNextPreviousVisibleTabs(currentTabIndex, tabs) {
|
|
20
|
+
const enableWhenIsActivated = useQuestionnaireStore.use.enableWhenIsActivated();
|
|
21
|
+
const enableWhenItems = useQuestionnaireStore.use.enableWhenItems();
|
|
22
|
+
const enableWhenExpressions = useQuestionnaireStore.use.enableWhenExpressions();
|
|
23
|
+
const switchTab = useQuestionnaireStore.use.switchTab();
|
|
24
|
+
const tabsNotDefined = currentTabIndex === undefined || tabs === undefined;
|
|
25
|
+
if (tabsNotDefined) {
|
|
26
|
+
return { previousTabIndex: null, nextTabIndex: null };
|
|
27
|
+
}
|
|
28
|
+
const tabsWithVisibility = constructTabsWithVisibility({
|
|
29
|
+
tabs,
|
|
30
|
+
enableWhenIsActivated,
|
|
31
|
+
enableWhenItems,
|
|
32
|
+
enableWhenExpressions
|
|
33
|
+
});
|
|
34
|
+
return {
|
|
35
|
+
previousTabIndex: getPreviousTabIndex(currentTabIndex, tabsWithVisibility),
|
|
36
|
+
nextTabIndex: getNextTabIndex(currentTabIndex, tabsWithVisibility)
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function getNextTabIndex(currentTabIndex, tabsWithVisibility) {
|
|
40
|
+
const subsequentTabs = tabsWithVisibility.slice(currentTabIndex + 1);
|
|
41
|
+
const foundIndex = subsequentTabs.findIndex((tab) => tab.isVisible);
|
|
42
|
+
// Next visible tab not found, something is wrong
|
|
43
|
+
if (foundIndex === -1) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
return currentTabIndex + foundIndex + 1;
|
|
47
|
+
}
|
|
48
|
+
function getPreviousTabIndex(currentTabIndex, tabsWithVisibility) {
|
|
49
|
+
const previousTabs = tabsWithVisibility.slice(0, currentTabIndex);
|
|
50
|
+
const foundIndex = previousTabs.reverse().findIndex((tab) => tab.isVisible);
|
|
51
|
+
// Previous visible tab not found
|
|
52
|
+
if (foundIndex === -1) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
// Previous visible tab less than 0
|
|
56
|
+
const previousTabIndex = currentTabIndex - foundIndex - 1;
|
|
57
|
+
if (previousTabIndex < 0) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
return previousTabIndex;
|
|
61
|
+
}
|
|
62
|
+
export default useNextPreviousVisibleTabs;
|
|
63
|
+
//# sourceMappingURL=useNextPreviousVisibleTabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNextPreviousVisibleTabs.js","sourceRoot":"","sources":["../../src/hooks/useNextPreviousVisibleTabs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAE5D,SAAS,0BAA0B,CACjC,eAAwB,EACxB,IAAW;IAEX,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,IAAI,cAAc,EAAE;QAClB,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;KACvD;IAED,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;QACrD,IAAI;QACJ,qBAAqB;QACrB,eAAe;QACf,qBAAqB;KACtB,CAAC,CAAC;IAEH,OAAO;QACL,gBAAgB,EAAE,mBAAmB,CAAC,eAAe,EAAE,kBAAkB,CAAC;QAC1E,YAAY,EAAE,eAAe,CAAC,eAAe,EAAE,kBAAkB,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,eAAuB,EACvB,kBAA4D;IAE5D,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEpE,iDAAiD;IACjD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,eAAe,GAAG,UAAU,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,mBAAmB,CAC1B,eAAuB,EACvB,kBAA4D;IAE5D,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE5E,iCAAiC;IACjC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,mCAAmC;IACnC,MAAM,gBAAgB,GAAG,eAAe,GAAG,UAAU,GAAG,CAAC,CAAC;IAC1D,IAAI,gBAAgB,GAAG,CAAC,EAAE;QACxB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,eAAe,0BAA0B,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -6,13 +6,6 @@ export * from './hooks';
|
|
|
6
6
|
export * from './utils';
|
|
7
7
|
export * from './interfaces';
|
|
8
8
|
export type { ItemToRepopulate };
|
|
9
|
-
/**
|
|
10
|
-
* Build the form with an initial Questionnaire and an optional filled QuestionnaireResponse.
|
|
11
|
-
* If a QuestionnaireResponse is not provided, an empty QuestionnaireResponse is set as the initial QuestionnaireResponse.
|
|
12
|
-
*
|
|
13
|
-
* @author Sean Fong
|
|
14
|
-
*/
|
|
15
|
-
export declare function buildForm(questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse): Promise<void>;
|
|
16
9
|
/**
|
|
17
10
|
* Destroy the form to clean up the questionnaire and questionnaireResponse stores.
|
|
18
11
|
*
|
package/lib/index.js
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { questionnaireResponseStore, questionnaireStore } from './stores';
|
|
11
|
-
import { initialiseQuestionnaireResponse } from './utils/initialise';
|
|
12
2
|
import { removeEmptyAnswers } from './utils/removeEmptyAnswers';
|
|
13
3
|
import { getItemsToRepopulate } from './utils/repopulateItems';
|
|
14
4
|
import { repopulateItemsIntoResponse } from './utils/repopulateIntoResponse';
|
|
@@ -17,20 +7,6 @@ export * from './stores';
|
|
|
17
7
|
export * from './hooks';
|
|
18
8
|
export * from './utils';
|
|
19
9
|
export * from './interfaces';
|
|
20
|
-
/**
|
|
21
|
-
* Build the form with an initial Questionnaire and an optional filled QuestionnaireResponse.
|
|
22
|
-
* If a QuestionnaireResponse is not provided, an empty QuestionnaireResponse is set as the initial QuestionnaireResponse.
|
|
23
|
-
*
|
|
24
|
-
* @author Sean Fong
|
|
25
|
-
*/
|
|
26
|
-
export function buildForm(questionnaire, questionnaireResponse) {
|
|
27
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
yield questionnaireStore.getState().buildSourceQuestionnaire(questionnaire);
|
|
29
|
-
const initialisedQuestionnaireResponse = initialiseQuestionnaireResponse(questionnaire, questionnaireResponse);
|
|
30
|
-
questionnaireResponseStore.getState().buildSourceResponse(initialisedQuestionnaireResponse);
|
|
31
|
-
questionnaireStore.getState().updatePopulatedProperties(initialisedQuestionnaireResponse);
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
10
|
/**
|
|
35
11
|
* Destroy the form to clean up the questionnaire and questionnaireResponse stores.
|
|
36
12
|
*
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAG7B;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,kBAAkB,CAAC,QAAQ,EAAE,CAAC,0BAA0B,EAAE,CAAC;IAC3D,0BAA0B,CAAC,QAAQ,EAAE,CAAC,qBAAqB,EAAE,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,0BAA0B,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAC5C,aAA4B,EAC5B,qBAA4C;IAE5C,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,qBAAqB,CAAC;IAClF,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC;IACtE,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,qBAAqB,CAAC;IAElF,OAAO,kBAAkB,CAAC;QACxB,aAAa;QACb,qBAAqB;QACrB,qBAAqB;QACrB,eAAe;QACf,qBAAqB;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,iBAAwC;IAChF,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,mBAAmB,CAAC;IAC9E,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;IAChD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC;IAClF,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,qBAAqB,CAAC;IAClF,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC;IACtE,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,qBAAqB,CAAC;IAElF,OAAO,oBAAoB,CAAC;QAC1B,mBAAmB;QACnB,IAAI;QACJ,iBAAiB;QACjB,iBAAiB;QACjB,qBAAqB;QACrB,eAAe;QACf,qBAAqB;KACtB,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,wBAA0D;IAC3F,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,mBAAmB,CAAC;IAC9E,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC;IAElF,OAAO,2BAA2B,CAChC,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,CACzB,CAAC;AACJ,CAAC"}
|
package/lib/utils/choice.d.ts
CHANGED
|
@@ -35,16 +35,10 @@ export declare function getQrChoiceValue(qrChoice: QuestionnaireResponseItem, re
|
|
|
35
35
|
*
|
|
36
36
|
* @author Sean Fong
|
|
37
37
|
*/
|
|
38
|
-
export declare function
|
|
38
|
+
export declare function updateChoiceCheckboxAnswers(changedValue: string, answers: QuestionnaireResponseItemAnswer[], options: QuestionnaireItemAnswerOption[], oldQrItem: QuestionnaireResponseItem, isMultiSelection: boolean): QuestionnaireResponseItem | null;
|
|
39
39
|
/**
|
|
40
40
|
* Get choice orientation from its itemControl
|
|
41
41
|
*
|
|
42
42
|
* @author Sean Fong
|
|
43
43
|
*/
|
|
44
44
|
export declare function getChoiceOrientation(qItem: QuestionnaireItem): ChoiceItemOrientation | null;
|
|
45
|
-
/**
|
|
46
|
-
* Converts an array of codings to an array of valueCodings which can use the QuestionnaireItemAnswerOption type
|
|
47
|
-
*
|
|
48
|
-
* @author Sean Fong
|
|
49
|
-
*/
|
|
50
|
-
export declare function mapCodingsToOptions(codings: Coding[]): QuestionnaireItemAnswerOption[];
|
package/lib/utils/choice.js
CHANGED
|
@@ -102,11 +102,13 @@ export function getQrChoiceValue(qrChoice, returnNull) {
|
|
|
102
102
|
*
|
|
103
103
|
* @author Sean Fong
|
|
104
104
|
*/
|
|
105
|
-
export function
|
|
105
|
+
export function updateChoiceCheckboxAnswers(changedValue, answers, options, oldQrItem, isMultiSelection) {
|
|
106
106
|
// search for answer item of changedValue from list of answer options
|
|
107
|
-
const newAnswer = findInAnswerOptions(
|
|
108
|
-
if (!newAnswer)
|
|
107
|
+
const newAnswer = findInAnswerOptions(options, changedValue);
|
|
108
|
+
if (!newAnswer) {
|
|
109
109
|
return null;
|
|
110
|
+
}
|
|
111
|
+
// Process multi-selection
|
|
110
112
|
if (isMultiSelection && answers.length > 0) {
|
|
111
113
|
// check and filter if new answer exists in existing qrAnswers
|
|
112
114
|
const updatedAnswers = answers.filter((answer) => JSON.stringify(answer) !== JSON.stringify(newAnswer));
|
|
@@ -114,12 +116,12 @@ export function updateQrCheckboxAnswers(changedValue, answers, answerOptions, qr
|
|
|
114
116
|
if (updatedAnswers.length === answers.length) {
|
|
115
117
|
updatedAnswers.push(newAnswer);
|
|
116
118
|
}
|
|
117
|
-
return Object.assign(Object.assign({},
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
return answers.some((answer) => JSON.stringify(answer) === JSON.stringify(newAnswer))
|
|
121
|
-
? Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: [] }) : Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: [newAnswer] });
|
|
119
|
+
return Object.assign(Object.assign({}, oldQrItem), { answer: updatedAnswers });
|
|
122
120
|
}
|
|
121
|
+
// Process single selection
|
|
122
|
+
// If answer already exists, remove it from the array. Otherwise, add it to the array
|
|
123
|
+
const answerExists = answers.some((answer) => JSON.stringify(answer) === JSON.stringify(newAnswer));
|
|
124
|
+
return answerExists ? Object.assign(Object.assign({}, oldQrItem), { answer: [] }) : Object.assign(Object.assign({}, oldQrItem), { answer: [newAnswer] });
|
|
123
125
|
}
|
|
124
126
|
/**
|
|
125
127
|
* Get choice orientation from its itemControl
|
|
@@ -142,16 +144,4 @@ export function getChoiceOrientation(qItem) {
|
|
|
142
144
|
}
|
|
143
145
|
return null;
|
|
144
146
|
}
|
|
145
|
-
/**
|
|
146
|
-
* Converts an array of codings to an array of valueCodings which can use the QuestionnaireItemAnswerOption type
|
|
147
|
-
*
|
|
148
|
-
* @author Sean Fong
|
|
149
|
-
*/
|
|
150
|
-
export function mapCodingsToOptions(codings) {
|
|
151
|
-
return codings.map((coding) => {
|
|
152
|
-
return {
|
|
153
|
-
valueCoding: coding
|
|
154
|
-
};
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
147
|
//# sourceMappingURL=choice.js.map
|
package/lib/utils/choice.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choice.js","sourceRoot":"","sources":["../../src/utils/choice.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"choice.js","sourceRoot":"","sources":["../../src/utils/choice.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/enableWhen.js
CHANGED
|
@@ -231,17 +231,15 @@ export function checkItemIsEnabledSingle(enableWhenItemProperties) {
|
|
|
231
231
|
for (const answer of linkedItem.answer) {
|
|
232
232
|
const isEnabledForThisLinkedItem = isEnabledAnswerTypeSwitcher(linkedItem.enableWhen, answer);
|
|
233
233
|
// In a repeat item, if at least one answer satisfies the condition, the item is enabled
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
}
|
|
234
|
+
// FIXME need to look further at this
|
|
235
|
+
checkedIsEnabledItems.push(isEnabledForThisLinkedItem);
|
|
236
|
+
break;
|
|
238
237
|
}
|
|
239
238
|
continue;
|
|
240
239
|
}
|
|
241
240
|
// Linked item doesn't have any answers, but we still have to check for unanswered booleans
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
}
|
|
241
|
+
const checkedNonExistentAnswer = evaluateNonExistentAnswers(linkedItem.enableWhen);
|
|
242
|
+
checkedIsEnabledItems.push(checkedNonExistentAnswer);
|
|
245
243
|
}
|
|
246
244
|
if (checkedIsEnabledItems.length === 0) {
|
|
247
245
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enableWhen.js","sourceRoot":"","sources":["../../src/utils/enableWhen.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"enableWhen.js","sourceRoot":"","sources":["../../src/utils/enableWhen.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/index.d.ts
CHANGED
|
@@ -2,3 +2,4 @@ export { isSpecificItemControl } from './itemControl';
|
|
|
2
2
|
export { isRepeatItemAndNotCheckbox } from './qItem';
|
|
3
3
|
export { createEnableWhenLinkedQuestions, readInitialAnswers, setInitialAnswers } from './enableWhen';
|
|
4
4
|
export { initialiseQuestionnaireResponse } from './initialise';
|
|
5
|
+
export { buildForm } from './buildForm';
|
package/lib/utils/index.js
CHANGED
|
@@ -18,4 +18,5 @@ export { isSpecificItemControl } from './itemControl';
|
|
|
18
18
|
export { isRepeatItemAndNotCheckbox } from './qItem';
|
|
19
19
|
export { createEnableWhenLinkedQuestions, readInitialAnswers, setInitialAnswers } from './enableWhen';
|
|
20
20
|
export { initialiseQuestionnaireResponse } from './initialise';
|
|
21
|
+
export { buildForm } from './buildForm';
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EACL,+BAA+B,EAC/B,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EACL,+BAA+B,EAC/B,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,+BAA+B,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
1
|
+
import type { QuestionnaireItem, QuestionnaireItemAnswerOption, QuestionnaireResponseItem, QuestionnaireResponseItemAnswer } from 'fhir/r4';
|
|
2
|
+
import { OpenChoiceItemControl } from '../interfaces/choice.enum';
|
|
3
3
|
/**
|
|
4
|
-
* Update open
|
|
4
|
+
* Update open choice answer based on open label value
|
|
5
|
+
*
|
|
6
|
+
* @author Sean Fong
|
|
7
|
+
*/
|
|
8
|
+
export declare function updateOpenLabelAnswer(openLabelChecked: boolean, changedOpenLabelValue: string, answers: QuestionnaireResponseItemAnswer[], options: QuestionnaireItemAnswerOption[], oldQrItem: QuestionnaireResponseItem, isMultiSelection: boolean): QuestionnaireResponseItem;
|
|
9
|
+
/**
|
|
10
|
+
* Get the old open label answer from the list of answers
|
|
5
11
|
*
|
|
6
12
|
* @author Sean Fong
|
|
7
13
|
*/
|
|
8
|
-
export declare function updateQrOpenChoiceCheckboxAnswers(changedOptionAnswer: string | null, changedOpenLabelAnswer: string | null, answers: QuestionnaireResponseItemAnswer[], answerOptions: QuestionnaireItemAnswerOption[] | Coding[], qrChoiceCheckbox: QuestionnaireResponseItem, checkboxOptionType: CheckBoxOption, isMultiSelection: boolean): QuestionnaireResponseItem | null;
|
|
9
14
|
export declare function getOldOpenLabelAnswer(answers: QuestionnaireResponseItemAnswer[], options: QuestionnaireItemAnswerOption[]): QuestionnaireResponseItemAnswer | null;
|
|
10
15
|
/**
|
|
11
16
|
* Get openChoice control type from qItem
|
package/lib/utils/openChoice.js
CHANGED
|
@@ -14,96 +14,65 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import {
|
|
17
|
+
import { OpenChoiceItemControl } from '../interfaces/choice.enum';
|
|
18
18
|
import { isSpecificItemControl } from './itemControl';
|
|
19
|
-
import
|
|
19
|
+
import _isEqual from 'lodash/isEqual';
|
|
20
20
|
/**
|
|
21
|
-
* Update open
|
|
21
|
+
* Update open choice answer based on open label value
|
|
22
22
|
*
|
|
23
23
|
* @author Sean Fong
|
|
24
24
|
*/
|
|
25
|
-
export function
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return null;
|
|
32
|
-
if (isMultiSelection && answers.length > 0) {
|
|
33
|
-
// check if new answer exists in existing answers
|
|
34
|
-
const newAnswerInAnswers = checkboxOptionType === CheckBoxOption.AnswerOption
|
|
35
|
-
? findInAnswerOptions(answers, changedOptionAnswer)
|
|
36
|
-
: findInAnswerValueSetCodings(answers, changedOptionAnswer);
|
|
37
|
-
if (newAnswerInAnswers) {
|
|
38
|
-
// remove new answer from qrAnswers
|
|
39
|
-
const newAnswers = [...answers].filter((answer) => JSON.stringify(answer) !== JSON.stringify(newAnswerInAnswers));
|
|
40
|
-
return Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: newAnswers });
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
// add new answer to qrAnswers
|
|
44
|
-
return Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: [...answers, newAnswer] });
|
|
45
|
-
}
|
|
25
|
+
export function updateOpenLabelAnswer(openLabelChecked, changedOpenLabelValue, answers, options, oldQrItem, isMultiSelection) {
|
|
26
|
+
// Open label is unchecked, search for open label value and remove it
|
|
27
|
+
if (!openLabelChecked) {
|
|
28
|
+
// In single-selection, return empty array because there can only be one answer
|
|
29
|
+
if (!isMultiSelection) {
|
|
30
|
+
return Object.assign(Object.assign({}, oldQrItem), { answer: [] });
|
|
46
31
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
32
|
+
// The rest of the processing is for multi-selection
|
|
33
|
+
// Get the indexes of answers that match the open label value
|
|
34
|
+
const matchedIndexes = answers
|
|
35
|
+
.filter((answer) => answer.valueString === changedOpenLabelValue)
|
|
36
|
+
.map((matched) => answers.indexOf(matched));
|
|
37
|
+
// Only remove the last one if there are multiple matches, in case open label value is same as an option
|
|
38
|
+
if (matchedIndexes.length > 0) {
|
|
39
|
+
const lastMatchedIndex = matchedIndexes[matchedIndexes.length - 1];
|
|
40
|
+
const newAnswers = answers.filter((answer, index) => index !== lastMatchedIndex);
|
|
41
|
+
return Object.assign(Object.assign({}, oldQrItem), { answer: newAnswers });
|
|
50
42
|
}
|
|
43
|
+
// Return oldQrItem if no matches are found
|
|
44
|
+
return oldQrItem;
|
|
51
45
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
else {
|
|
60
|
-
return Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: [newOpenLabelAnswer] });
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
if (isMultiSelection) {
|
|
64
|
-
if (!oldOpenLabelAnswer) {
|
|
65
|
-
// append newOpenLabel if oldOpenLabel doesnt exist
|
|
66
|
-
return Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: [...answers, newOpenLabelAnswer] });
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
// An oldOpenLabel already exists
|
|
70
|
-
// Remove oldOpenLabel from answers
|
|
71
|
-
const answersWithoutOpenLabel = [...answers].filter((answer) => JSON.stringify(answer) !== JSON.stringify(oldOpenLabelAnswer));
|
|
72
|
-
if (JSON.stringify(newOpenLabelAnswer) === JSON.stringify(oldOpenLabelAnswer) ||
|
|
73
|
-
changedOpenLabelAnswer === '') {
|
|
74
|
-
// User unchecks openLabel checkbox or clears field
|
|
75
|
-
if (answersWithoutOpenLabel.length > 0) {
|
|
76
|
-
return Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: answersWithoutOpenLabel });
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
return { linkId: qrChoiceCheckbox.linkId, text: qrChoiceCheckbox.text };
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
// User changes openLabel value
|
|
84
|
-
return Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: [...answersWithoutOpenLabel, newOpenLabelAnswer] });
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
if (!oldOpenLabelAnswer || newOpenLabelAnswer !== oldOpenLabelAnswer) {
|
|
90
|
-
// set newOpenLabel as sole answer if oldOpenLabel doesnt exist OR if user changed openLabel value
|
|
91
|
-
return Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: [newOpenLabelAnswer] });
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
// User unchecks openLabel checkbox
|
|
95
|
-
return Object.assign(Object.assign({}, qrChoiceCheckbox), { answer: [] });
|
|
96
|
-
}
|
|
97
|
-
}
|
|
46
|
+
// Open label is checked, search for open label value and add it
|
|
47
|
+
const newOpenLabelAnswer = {
|
|
48
|
+
valueString: changedOpenLabelValue
|
|
49
|
+
};
|
|
50
|
+
// In single-selection, return only newOpenLabelAnswer in an array because there can only be one answer
|
|
51
|
+
if (!isMultiSelection) {
|
|
52
|
+
return Object.assign(Object.assign({}, oldQrItem), { answer: [newOpenLabelAnswer] });
|
|
98
53
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
54
|
+
const oldOpenLabelAnswer = getOldOpenLabelAnswer(answers, options);
|
|
55
|
+
// No open label answer exists initially, add newOpenLabelAnswer to answers
|
|
56
|
+
if (!oldOpenLabelAnswer) {
|
|
57
|
+
return Object.assign(Object.assign({}, oldQrItem), { answer: [...answers, newOpenLabelAnswer] });
|
|
58
|
+
}
|
|
59
|
+
// Old open label answer equals to new open label answer
|
|
60
|
+
// This should not happen, but return oldQrItem
|
|
61
|
+
if (_isEqual(oldOpenLabelAnswer, newOpenLabelAnswer)) {
|
|
62
|
+
return oldQrItem;
|
|
102
63
|
}
|
|
64
|
+
// New open label answer is different from old open label answer, update it
|
|
65
|
+
oldOpenLabelAnswer.valueString = changedOpenLabelValue;
|
|
66
|
+
return Object.assign(Object.assign({}, oldQrItem), { answer: oldQrItem.answer });
|
|
103
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Get the old open label answer from the list of answers
|
|
70
|
+
*
|
|
71
|
+
* @author Sean Fong
|
|
72
|
+
*/
|
|
104
73
|
export function getOldOpenLabelAnswer(answers, options) {
|
|
105
|
-
const
|
|
106
|
-
return
|
|
74
|
+
const openLabelAnswer = answers.find((answer) => !options.some((option) => _isEqual(option, answer)));
|
|
75
|
+
return openLabelAnswer !== null && openLabelAnswer !== void 0 ? openLabelAnswer : null;
|
|
107
76
|
}
|
|
108
77
|
/**
|
|
109
78
|
* Get openChoice control type from qItem
|