@aehrc/smart-forms-renderer 0.36.1 → 0.37.2
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/CHANGELOG.md +40 -0
- package/lib/components/FormComponents/Button.styles.d.ts +4 -0
- package/lib/components/FormComponents/Button.styles.js +10 -0
- package/lib/components/FormComponents/Button.styles.js.map +1 -0
- package/lib/components/FormComponents/GroupItem/GroupHeading.d.ts +1 -0
- package/lib/components/FormComponents/GroupItem/GroupHeading.js +3 -2
- package/lib/components/FormComponents/GroupItem/GroupHeading.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItem.d.ts +4 -0
- package/lib/components/FormComponents/GroupItem/GroupItem.js +3 -3
- package/lib/components/FormComponents/GroupItem/GroupItem.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/GroupItemView.d.ts +4 -0
- package/lib/components/FormComponents/GroupItem/GroupItemView.js +8 -5
- package/lib/components/FormComponents/GroupItem/GroupItemView.js.map +1 -1
- package/lib/components/FormComponents/GroupItem/NextPageButton.d.ts +7 -0
- package/lib/{hooks/useQueryClient.js → components/FormComponents/GroupItem/NextPageButton.js} +9 -12
- package/lib/components/FormComponents/GroupItem/NextPageButton.js.map +1 -0
- package/lib/components/FormComponents/GroupItem/PageButtonWrapper.d.ts +8 -0
- package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js +46 -0
- package/lib/components/FormComponents/GroupItem/PageButtonWrapper.js.map +1 -0
- package/lib/components/FormComponents/GroupItem/PreviousPageButton.d.ts +7 -0
- package/lib/components/FormComponents/GroupItem/PreviousPageButton.js +26 -0
- package/lib/components/FormComponents/GroupItem/PreviousPageButton.js.map +1 -0
- package/lib/components/Renderer/BaseRenderer.js +8 -0
- package/lib/components/Renderer/BaseRenderer.js.map +1 -1
- package/lib/components/Renderer/FormBodyPage.d.ts +9 -0
- package/lib/components/Renderer/FormBodyPage.js +43 -0
- package/lib/components/Renderer/FormBodyPage.js.map +1 -0
- package/lib/components/Renderer/FormTopLevelItem.js +7 -0
- package/lib/components/Renderer/FormTopLevelItem.js.map +1 -1
- package/lib/components/Renderer/FormTopLevelPage.d.ts +9 -0
- package/lib/components/Renderer/FormTopLevelPage.js +29 -0
- package/lib/components/Renderer/FormTopLevelPage.js.map +1 -0
- package/lib/hooks/useNextAndPreviousVisiblePages.d.ts +7 -0
- package/lib/hooks/useNextAndPreviousVisiblePages.js +47 -0
- package/lib/hooks/useNextAndPreviousVisiblePages.js.map +1 -0
- package/lib/interfaces/page.interface.d.ts +16 -0
- package/lib/interfaces/page.interface.js +2 -0
- package/lib/interfaces/page.interface.js.map +1 -0
- package/lib/interfaces/questionnaireStore.interface.d.ts +2 -0
- package/lib/stores/questionnaireStore.d.ts +13 -0
- package/lib/stores/questionnaireStore.js +19 -3
- package/lib/stores/questionnaireStore.js.map +1 -1
- package/lib/utils/initialise.d.ts +3 -0
- package/lib/utils/initialise.js +6 -1
- package/lib/utils/initialise.js.map +1 -1
- package/lib/utils/page.d.ts +43 -0
- package/lib/utils/page.js +101 -0
- package/lib/utils/page.js.map +1 -0
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +4 -0
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractPages.d.ts +3 -0
- package/lib/utils/questionnaireStoreUtils/extractPages.js +18 -0
- package/lib/utils/questionnaireStoreUtils/extractPages.js.map +1 -0
- package/package.json +4 -4
- package/src/components/FormComponents/Button.styles.ts +10 -0
- package/src/components/FormComponents/GroupItem/GroupHeading.tsx +5 -3
- package/src/components/FormComponents/GroupItem/GroupItem.tsx +11 -1
- package/src/components/FormComponents/GroupItem/GroupItemView.tsx +12 -0
- package/src/components/FormComponents/GroupItem/NextPageButton.tsx +37 -0
- package/src/components/FormComponents/GroupItem/PageButtonWrapper.tsx +78 -0
- package/src/components/FormComponents/GroupItem/PreviousPageButton.tsx +41 -0
- package/src/components/Renderer/BaseRenderer.tsx +21 -0
- package/src/components/Renderer/FormBodyPage.tsx +93 -0
- package/src/components/Renderer/FormTopLevelItem.tsx +17 -0
- package/src/components/Renderer/FormTopLevelPage.tsx +70 -0
- package/src/hooks/useNextAndPreviousVisiblePages.ts +69 -0
- package/src/interfaces/page.interface.ts +13 -0
- package/src/interfaces/questionnaireStore.interface.ts +2 -0
- package/src/stores/questionnaireStore.ts +33 -2
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreAllergyIntolerance.json +1 -1
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreCondition.json +1 -1
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreEncounter.json +137 -58
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreImmunization.json +175 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreMedicationRequest.json +229 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationBP.json +359 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationBodyHeight.json +195 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationBodyWeight.json +195 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationHeartRate.json +195 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreObservationSmokingStatus.json +174 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCorePatient.json +495 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCorePractitioner.json +139 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCorePractitionerRole.json +216 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreProcedure.json +199 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreRespirationRate.json +195 -0
- package/src/stories/assets/questionnaires/AuCoreTestingJson/AuCoreWaistCircumference.json +195 -0
- package/src/stories/assets/questionnaires/QAuCoreTesting.ts +3342 -1
- package/src/stories/assets/questionnaires/QItemControlGroup.ts +673 -0
- package/src/stories/sdc/ItemControlGroup.stories.tsx +22 -1
- package/src/stories/testing/AuCoreTester.stories.tsx +140 -1
- package/src/utils/initialise.ts +11 -0
- package/src/utils/page.ts +134 -0
- package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +5 -0
- package/src/utils/questionnaireStoreUtils/extractPages.ts +24 -0
- package/lib/components/FormComponents/DateTimeItem/DateTimeField.d.ts +0 -12
- package/lib/components/FormComponents/DateTimeItem/DateTimeField.js +0 -34
- package/lib/components/FormComponents/DateTimeItem/DateTimeField.js.map +0 -1
- package/lib/components/FormComponents/DateTimeItem/DateTimeItem.d.ts +0 -9
- package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js +0 -60
- package/lib/components/FormComponents/DateTimeItem/DateTimeItem.js.map +0 -1
- package/lib/hooks/useDisplayCalculatedExpression.d.ts +0 -3
- package/lib/hooks/useDisplayCalculatedExpression.js +0 -40
- package/lib/hooks/useDisplayCalculatedExpression.js.map +0 -1
- package/lib/hooks/useInitialiseRenderer.d.ts +0 -4
- package/lib/hooks/useInitialiseRenderer.js +0 -85
- package/lib/hooks/useInitialiseRenderer.js.map +0 -1
- package/lib/hooks/useQueryClient.d.ts +0 -3
- package/lib/hooks/useQueryClient.js.map +0 -1
- package/lib/utils/buildForm.d.ts +0 -8
- package/lib/utils/buildForm.js +0 -26
- package/lib/utils/buildForm.js.map +0 -1
- package/stats.html +0 -4842
- package/stats1.html +0 -4842
- package/stats3.html +0 -4842
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { useQuestionnaireStore } from '../stores';
|
|
2
|
+
import { constructPagesWithVisibility } from '../utils/page';
|
|
3
|
+
function useNextAndPreviousVisiblePages(currentPageIndex, pages) {
|
|
4
|
+
const enableWhenIsActivated = useQuestionnaireStore.use.enableWhenIsActivated();
|
|
5
|
+
const enableWhenItems = useQuestionnaireStore.use.enableWhenItems();
|
|
6
|
+
const enableWhenExpressions = useQuestionnaireStore.use.enableWhenExpressions();
|
|
7
|
+
const pagesNotDefined = currentPageIndex === undefined || pages === undefined;
|
|
8
|
+
if (pagesNotDefined) {
|
|
9
|
+
return { previousPageIndex: null, nextPageIndex: null, numOfVisiblePages: 0 };
|
|
10
|
+
}
|
|
11
|
+
const pagesWithVisibility = constructPagesWithVisibility({
|
|
12
|
+
pages,
|
|
13
|
+
enableWhenIsActivated,
|
|
14
|
+
enableWhenItems,
|
|
15
|
+
enableWhenExpressions
|
|
16
|
+
});
|
|
17
|
+
return {
|
|
18
|
+
previousPageIndex: getPreviousPageIndex(currentPageIndex, pagesWithVisibility),
|
|
19
|
+
nextPageIndex: getNextPageIndex(currentPageIndex, pagesWithVisibility),
|
|
20
|
+
numOfVisiblePages: pagesWithVisibility.filter((tab) => tab.isVisible).length
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function getPreviousPageIndex(currentPageIndex, pagesWithVisibility) {
|
|
24
|
+
const previousPages = pagesWithVisibility.slice(0, currentPageIndex);
|
|
25
|
+
const foundIndex = previousPages.reverse().findIndex((tab) => tab.isVisible);
|
|
26
|
+
// Previous visible tab not found
|
|
27
|
+
if (foundIndex === -1) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
// Previous visible tab less than 0
|
|
31
|
+
const previousPageIndex = currentPageIndex - foundIndex - 1;
|
|
32
|
+
if (previousPageIndex < 0) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return previousPageIndex;
|
|
36
|
+
}
|
|
37
|
+
function getNextPageIndex(currentPageIndex, pagesWithVisibility) {
|
|
38
|
+
const subsequentPages = pagesWithVisibility.slice(currentPageIndex + 1);
|
|
39
|
+
const foundIndex = subsequentPages.findIndex((tab) => tab.isVisible);
|
|
40
|
+
// Next visible tab not found, something is wrong
|
|
41
|
+
if (foundIndex === -1) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
return currentPageIndex + foundIndex + 1;
|
|
45
|
+
}
|
|
46
|
+
export default useNextAndPreviousVisiblePages;
|
|
47
|
+
//# sourceMappingURL=useNextAndPreviousVisiblePages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNextAndPreviousVisiblePages.js","sourceRoot":"","sources":["../../src/hooks/useNextAndPreviousVisiblePages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7D,SAAS,8BAA8B,CACrC,gBAAyB,EACzB,KAAa;IAEb,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,eAAe,GAAG,gBAAgB,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC;IAE9E,IAAI,eAAe,EAAE;QACnB,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;KAC/E;IAED,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;QACvD,KAAK;QACL,qBAAqB;QACrB,eAAe;QACf,qBAAqB;KACtB,CAAC,CAAC;IAEH,OAAO;QACL,iBAAiB,EAAE,oBAAoB,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;QAC9E,aAAa,EAAE,gBAAgB,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;QACtE,iBAAiB,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM;KAC7E,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,gBAAwB,EACxB,mBAA6D;IAE7D,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE7E,iCAAiC;IACjC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,mCAAmC;IACnC,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,GAAG,CAAC,CAAC;IAC5D,IAAI,iBAAiB,GAAG,CAAC,EAAE;QACzB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,gBAAgB,CACvB,gBAAwB,EACxB,mBAA6D;IAE7D,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAErE,iDAAiD;IACjD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;QACrB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,gBAAgB,GAAG,UAAU,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,eAAe,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page interface
|
|
3
|
+
*
|
|
4
|
+
* @property pageIndex - The index of the page
|
|
5
|
+
* @property isComplete - Whether the page is marked as complete
|
|
6
|
+
* @property isHidden - Whether the page is hidden
|
|
7
|
+
*/
|
|
8
|
+
export type Page = {
|
|
9
|
+
pageIndex: number;
|
|
10
|
+
isComplete: boolean;
|
|
11
|
+
isHidden: boolean;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Key-value pair of pages `Record<linkId, Page>`
|
|
15
|
+
*/
|
|
16
|
+
export type Pages = Record<string, Page>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.interface.js","sourceRoot":"","sources":["../../src/interfaces/page.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Tabs } from './tab.interface';
|
|
2
|
+
import type { Pages } from './page.interface';
|
|
2
3
|
import type { Variables } from './variables.interface';
|
|
3
4
|
import type { LaunchContext } from './populate.interface';
|
|
4
5
|
import type { EnableWhenExpressions, EnableWhenItems } from './enableWhen.interface';
|
|
@@ -9,6 +10,7 @@ import type { InitialExpression } from './initialExpression.interface';
|
|
|
9
10
|
export interface QuestionnaireModel {
|
|
10
11
|
itemTypes: Record<string, string>;
|
|
11
12
|
tabs: Tabs;
|
|
13
|
+
pages: Pages;
|
|
12
14
|
variables: Variables;
|
|
13
15
|
launchContexts: Record<string, LaunchContext>;
|
|
14
16
|
enableWhenItems: EnableWhenItems;
|
|
@@ -5,6 +5,7 @@ import type { CalculatedExpression } from '../interfaces/calculatedExpression.in
|
|
|
5
5
|
import type { EnableWhenExpressions, EnableWhenItems } from '../interfaces/enableWhen.interface';
|
|
6
6
|
import type { AnswerExpression } from '../interfaces/answerExpression.interface';
|
|
7
7
|
import type { Tabs } from '../interfaces/tab.interface';
|
|
8
|
+
import type { Pages } from '../interfaces/page.interface';
|
|
8
9
|
import type { InitialExpression } from '../interfaces/initialExpression.interface';
|
|
9
10
|
/**
|
|
10
11
|
* QuestionnaireStore properties and methods
|
|
@@ -15,6 +16,8 @@ import type { InitialExpression } from '../interfaces/initialExpression.interfac
|
|
|
15
16
|
* @property itemTypes - Key-value pair of item types `Record<linkId, item.type>`
|
|
16
17
|
* @property tabs - Key-value pair of tabs `Record<linkId, Tab>`
|
|
17
18
|
* @property currentTabIndex - Index of the current tab
|
|
19
|
+
* @property pages - Key-value pair of pages `Record<linkId, Page>`
|
|
20
|
+
* @property currentPageIndex - Index of the current page
|
|
18
21
|
* @property variables - Questionnaire variables object containing FHIRPath and x-fhir-query variables
|
|
19
22
|
* @property launchContexts - Key-value pair of launch contexts `Record<launch context name, launch context properties>`
|
|
20
23
|
* @property enableWhenItems - EnableWhenItems object containing enableWhen items and their linked questions
|
|
@@ -33,7 +36,9 @@ import type { InitialExpression } from '../interfaces/initialExpression.interfac
|
|
|
33
36
|
* @property buildSourceQuestionnaire - Used to build the source questionnaire with the provided questionnaire and optionally questionnaire response, additional variables, terminology server url and readyOnly flag
|
|
34
37
|
* @property destroySourceQuestionnaire - Used to destroy the source questionnaire and reset all properties
|
|
35
38
|
* @property switchTab - Used to switch the current tab index
|
|
39
|
+
* @property switchPage - Used to switch the current page index
|
|
36
40
|
* @property markTabAsComplete - Used to mark a tab index as complete
|
|
41
|
+
* @property markPageAsComplete - Used to mark a page index as complete
|
|
37
42
|
* @property updateEnableWhenItem - Used to update linked enableWhen items by updating a question with a new answer
|
|
38
43
|
* @property mutateRepeatEnableWhenItems - Used to add or remove instances of repeating enableWhen items
|
|
39
44
|
* @property toggleEnableWhenActivation - Used to toggle enableWhen checks on/off
|
|
@@ -51,6 +56,8 @@ export interface QuestionnaireStoreType {
|
|
|
51
56
|
itemTypes: Record<string, string>;
|
|
52
57
|
tabs: Tabs;
|
|
53
58
|
currentTabIndex: number;
|
|
59
|
+
pages: Pages;
|
|
60
|
+
currentPageIndex: number;
|
|
54
61
|
variables: Variables;
|
|
55
62
|
launchContexts: Record<string, LaunchContext>;
|
|
56
63
|
enableWhenItems: EnableWhenItems;
|
|
@@ -70,7 +77,9 @@ export interface QuestionnaireStoreType {
|
|
|
70
77
|
buildSourceQuestionnaire: (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string, readOnly?: boolean) => Promise<void>;
|
|
71
78
|
destroySourceQuestionnaire: () => void;
|
|
72
79
|
switchTab: (newTabIndex: number) => void;
|
|
80
|
+
switchPage: (newPageIndex: number) => void;
|
|
73
81
|
markTabAsComplete: (tabLinkId: string) => void;
|
|
82
|
+
markPageAsComplete: (pageLinkId: string) => void;
|
|
74
83
|
updateEnableWhenItem: (linkId: string, newAnswer: QuestionnaireResponseItemAnswer[] | undefined, parentRepeatGroupIndex: number | null) => void;
|
|
75
84
|
mutateRepeatEnableWhenItems: (parentRepeatGroupLinkId: string, parentRepeatGroupIndex: number, actionType: 'add' | 'remove') => void;
|
|
76
85
|
toggleEnableWhenActivation: (isActivated: boolean) => void;
|
|
@@ -103,6 +112,8 @@ export declare const useQuestionnaireStore: import("zustand/vanilla").StoreApi<Q
|
|
|
103
112
|
itemTypes: () => Record<string, string>;
|
|
104
113
|
tabs: () => Tabs;
|
|
105
114
|
currentTabIndex: () => number;
|
|
115
|
+
pages: () => Pages;
|
|
116
|
+
currentPageIndex: () => number;
|
|
106
117
|
variables: () => Variables;
|
|
107
118
|
launchContexts: () => Record<string, LaunchContext>;
|
|
108
119
|
enableWhenItems: () => EnableWhenItems;
|
|
@@ -122,7 +133,9 @@ export declare const useQuestionnaireStore: import("zustand/vanilla").StoreApi<Q
|
|
|
122
133
|
buildSourceQuestionnaire: () => (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, additionalVariables?: Record<string, object>, terminologyServerUrl?: string, readOnly?: boolean) => Promise<void>;
|
|
123
134
|
destroySourceQuestionnaire: () => () => void;
|
|
124
135
|
switchTab: () => (newTabIndex: number) => void;
|
|
136
|
+
switchPage: () => (newPageIndex: number) => void;
|
|
125
137
|
markTabAsComplete: () => (tabLinkId: string) => void;
|
|
138
|
+
markPageAsComplete: () => (pageLinkId: string) => void;
|
|
126
139
|
updateEnableWhenItem: () => (linkId: string, newAnswer: QuestionnaireResponseItemAnswer[] | undefined, parentRepeatGroupIndex: number | null) => void;
|
|
127
140
|
mutateRepeatEnableWhenItems: () => (parentRepeatGroupLinkId: string, parentRepeatGroupIndex: number, actionType: 'add' | 'remove') => void;
|
|
128
141
|
toggleEnableWhenActivation: () => (isActivated: boolean) => void;
|
|
@@ -49,6 +49,8 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
49
49
|
itemTypes: {},
|
|
50
50
|
tabs: {},
|
|
51
51
|
currentTabIndex: 0,
|
|
52
|
+
pages: {},
|
|
53
|
+
currentPageIndex: 0,
|
|
52
54
|
variables: { fhirPathVariables: {}, xFhirQueryVariables: {} },
|
|
53
55
|
launchContexts: {},
|
|
54
56
|
calculatedExpressions: {},
|
|
@@ -70,13 +72,14 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
70
72
|
// Insert answerOptions with displays into questionnaire
|
|
71
73
|
questionnaire = insertCompleteAnswerOptionsIntoQuestionnaire(questionnaire, questionnaireModel.answerOptions);
|
|
72
74
|
// Initialise form with questionnaire response and properties in questionnaire model
|
|
73
|
-
const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, initialCalculatedExpressions, firstVisibleTab, updatedFhirPathContext } = initialiseFormFromResponse({
|
|
75
|
+
const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, initialCalculatedExpressions, firstVisibleTab, firstVisiblePage, updatedFhirPathContext } = initialiseFormFromResponse({
|
|
74
76
|
questionnaireResponse,
|
|
75
77
|
enableWhenItems: questionnaireModel.enableWhenItems,
|
|
76
78
|
enableWhenExpressions: questionnaireModel.enableWhenExpressions,
|
|
77
79
|
calculatedExpressions: questionnaireModel.calculatedExpressions,
|
|
78
80
|
variablesFhirPath: questionnaireModel.variables.fhirPathVariables,
|
|
79
81
|
tabs: questionnaireModel.tabs,
|
|
82
|
+
pages: questionnaireModel.pages,
|
|
80
83
|
fhirPathContext: questionnaireModel.fhirPathContext
|
|
81
84
|
});
|
|
82
85
|
set({
|
|
@@ -84,6 +87,8 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
84
87
|
itemTypes: questionnaireModel.itemTypes,
|
|
85
88
|
tabs: questionnaireModel.tabs,
|
|
86
89
|
currentTabIndex: firstVisibleTab,
|
|
90
|
+
pages: questionnaireModel.pages,
|
|
91
|
+
currentPageIndex: firstVisiblePage,
|
|
87
92
|
variables: questionnaireModel.variables,
|
|
88
93
|
launchContexts: questionnaireModel.launchContexts,
|
|
89
94
|
enableWhenItems: initialEnableWhenItems,
|
|
@@ -103,6 +108,8 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
103
108
|
itemTypes: {},
|
|
104
109
|
tabs: {},
|
|
105
110
|
currentTabIndex: 0,
|
|
111
|
+
pages: {},
|
|
112
|
+
currentPageIndex: 0,
|
|
106
113
|
variables: { fhirPathVariables: {}, xFhirQueryVariables: {} },
|
|
107
114
|
launchContexts: {},
|
|
108
115
|
enableWhenItems: { singleItems: {}, repeatItems: {} },
|
|
@@ -116,12 +123,19 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
116
123
|
fhirPathContext: {}
|
|
117
124
|
}),
|
|
118
125
|
switchTab: (newTabIndex) => set(() => ({ currentTabIndex: newTabIndex })),
|
|
126
|
+
switchPage: (newPageIndex) => set(() => ({ currentPageIndex: newPageIndex })),
|
|
119
127
|
markTabAsComplete: (tabLinkId) => {
|
|
120
128
|
const tabs = get().tabs;
|
|
121
129
|
set(() => ({
|
|
122
130
|
tabs: Object.assign(Object.assign({}, tabs), { [tabLinkId]: Object.assign(Object.assign({}, tabs[tabLinkId]), { isComplete: !tabs[tabLinkId].isComplete }) })
|
|
123
131
|
}));
|
|
124
132
|
},
|
|
133
|
+
markPageAsComplete: (pageLinkId) => {
|
|
134
|
+
const pages = get().pages;
|
|
135
|
+
set(() => ({
|
|
136
|
+
pages: Object.assign(Object.assign({}, pages), { [pageLinkId]: Object.assign(Object.assign({}, pages[pageLinkId]), { isComplete: !pages[pageLinkId].isComplete }) })
|
|
137
|
+
}));
|
|
138
|
+
},
|
|
125
139
|
updateEnableWhenItem: (linkId, newAnswer, parentRepeatGroupIndex) => {
|
|
126
140
|
const enableWhenLinkedQuestions = get().enableWhenLinkedQuestions;
|
|
127
141
|
const enableWhenItems = get().enableWhenItems;
|
|
@@ -181,7 +195,7 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
181
195
|
addCodingToCache: (valueSetUrl, codings) => set(() => ({
|
|
182
196
|
cachedValueSetCodings: Object.assign(Object.assign({}, get().cachedValueSetCodings), { [valueSetUrl]: codings })
|
|
183
197
|
})),
|
|
184
|
-
updatePopulatedProperties: (populatedResponse, populatedContext, persistTabIndex) => {
|
|
198
|
+
updatePopulatedProperties: (populatedResponse, populatedContext, persistTabIndex, persistPageIndex) => {
|
|
185
199
|
const initialResponseItemMap = createQuestionnaireResponseItemMap(populatedResponse);
|
|
186
200
|
const evaluateInitialCalculatedExpressionsResult = evaluateInitialCalculatedExpressions({
|
|
187
201
|
initialResponse: populatedResponse,
|
|
@@ -193,13 +207,14 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
193
207
|
const { initialCalculatedExpressions } = evaluateInitialCalculatedExpressionsResult;
|
|
194
208
|
let updatedFhirPathContext = evaluateInitialCalculatedExpressionsResult.updatedFhirPathContext;
|
|
195
209
|
const updatedResponse = initialiseCalculatedExpressionValues(get().sourceQuestionnaire, populatedResponse, initialCalculatedExpressions);
|
|
196
|
-
const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, firstVisibleTab } = initialiseFormFromResponse({
|
|
210
|
+
const { initialEnableWhenItems, initialEnableWhenLinkedQuestions, initialEnableWhenExpressions, firstVisibleTab, firstVisiblePage } = initialiseFormFromResponse({
|
|
197
211
|
questionnaireResponse: updatedResponse,
|
|
198
212
|
enableWhenItems: get().enableWhenItems,
|
|
199
213
|
enableWhenExpressions: get().enableWhenExpressions,
|
|
200
214
|
calculatedExpressions: initialCalculatedExpressions,
|
|
201
215
|
variablesFhirPath: get().variables.fhirPathVariables,
|
|
202
216
|
tabs: get().tabs,
|
|
217
|
+
pages: get().pages,
|
|
203
218
|
fhirPathContext: updatedFhirPathContext
|
|
204
219
|
});
|
|
205
220
|
updatedFhirPathContext = evaluateInitialCalculatedExpressionsResult.updatedFhirPathContext;
|
|
@@ -209,6 +224,7 @@ export const questionnaireStore = createStore()((set, get) => ({
|
|
|
209
224
|
enableWhenExpressions: initialEnableWhenExpressions,
|
|
210
225
|
calculatedExpressions: initialCalculatedExpressions,
|
|
211
226
|
currentTabIndex: persistTabIndex ? get().currentTabIndex : firstVisibleTab,
|
|
227
|
+
currentPageIndex: persistPageIndex ? get().currentPageIndex : firstVisiblePage,
|
|
212
228
|
fhirPathContext: updatedFhirPathContext,
|
|
213
229
|
populatedContext: populatedContext !== null && populatedContext !== void 0 ? populatedContext : get().populatedContext
|
|
214
230
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"questionnaireStore.js","sourceRoot":"","sources":["../../src/stores/questionnaireStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"questionnaireStore.js","sourceRoot":"","sources":["../../src/stores/questionnaireStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Expression, Questionnaire, QuestionnaireItemInitial, QuestionnaireResponse, QuestionnaireResponseItemAnswer } from 'fhir/r4';
|
|
2
2
|
import type { EnableWhenExpressions, EnableWhenItems } from '../interfaces/enableWhen.interface';
|
|
3
3
|
import type { Tabs } from '../interfaces/tab.interface';
|
|
4
|
+
import type { Pages } from '../interfaces/page.interface';
|
|
4
5
|
import type { CalculatedExpression } from '../interfaces/calculatedExpression.interface';
|
|
5
6
|
/**
|
|
6
7
|
* Initialise a questionnaireResponse from a given questionnaire
|
|
@@ -17,6 +18,7 @@ export interface initialFormFromResponseParams {
|
|
|
17
18
|
calculatedExpressions: Record<string, CalculatedExpression[]>;
|
|
18
19
|
variablesFhirPath: Record<string, Expression[]>;
|
|
19
20
|
tabs: Tabs;
|
|
21
|
+
pages: Pages;
|
|
20
22
|
fhirPathContext: Record<string, any>;
|
|
21
23
|
}
|
|
22
24
|
export declare function initialiseFormFromResponse(params: initialFormFromResponseParams): {
|
|
@@ -25,5 +27,6 @@ export declare function initialiseFormFromResponse(params: initialFormFromRespon
|
|
|
25
27
|
initialEnableWhenExpressions: EnableWhenExpressions;
|
|
26
28
|
initialCalculatedExpressions: Record<string, CalculatedExpression[]>;
|
|
27
29
|
firstVisibleTab: number;
|
|
30
|
+
firstVisiblePage: number;
|
|
28
31
|
updatedFhirPathContext: Record<string, any>;
|
|
29
32
|
};
|
package/lib/utils/initialise.js
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { evaluateInitialEnableWhenExpressions } from './enableWhenExpression';
|
|
18
18
|
import { getFirstVisibleTab } from './tabs';
|
|
19
|
+
import { getFirstVisiblePage } from './page';
|
|
19
20
|
import { assignPopulatedAnswersToEnableWhen } from './enableWhen';
|
|
20
21
|
import { evaluateInitialCalculatedExpressions } from './calculatedExpression';
|
|
21
22
|
import { createQuestionnaireResponseItemMap } from './questionnaireResponseStoreUtils/updatableResponseItems';
|
|
@@ -234,7 +235,7 @@ function createNewRepeatGroupQuestionnaireResponseItem(qItem, initialValueItems)
|
|
|
234
235
|
};
|
|
235
236
|
}
|
|
236
237
|
export function initialiseFormFromResponse(params) {
|
|
237
|
-
const { questionnaireResponse, enableWhenItems, enableWhenExpressions, calculatedExpressions, variablesFhirPath, tabs, fhirPathContext } = params;
|
|
238
|
+
const { questionnaireResponse, enableWhenItems, enableWhenExpressions, calculatedExpressions, variablesFhirPath, tabs, pages, fhirPathContext } = params;
|
|
238
239
|
const initialResponseItemMap = createQuestionnaireResponseItemMap(questionnaireResponse);
|
|
239
240
|
let updatedFhirPathContext = {};
|
|
240
241
|
const { initialisedItems, linkedQuestions } = assignPopulatedAnswersToEnableWhen(enableWhenItems, questionnaireResponse);
|
|
@@ -259,12 +260,16 @@ export function initialiseFormFromResponse(params) {
|
|
|
259
260
|
const firstVisibleTab = Object.keys(tabs).length > 0
|
|
260
261
|
? getFirstVisibleTab(tabs, initialisedItems, initialEnableWhenExpressions)
|
|
261
262
|
: 0;
|
|
263
|
+
const firstVisiblePage = Object.keys(pages).length > 0
|
|
264
|
+
? getFirstVisiblePage(pages, initialisedItems, initialEnableWhenExpressions)
|
|
265
|
+
: 0;
|
|
262
266
|
return {
|
|
263
267
|
initialEnableWhenItems: initialisedItems,
|
|
264
268
|
initialEnableWhenLinkedQuestions: linkedQuestions,
|
|
265
269
|
initialEnableWhenExpressions,
|
|
266
270
|
initialCalculatedExpressions,
|
|
267
271
|
firstVisibleTab,
|
|
272
|
+
firstVisiblePage,
|
|
268
273
|
updatedFhirPathContext
|
|
269
274
|
};
|
|
270
275
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"initialise.js","sourceRoot":"","sources":["../../src/utils/initialise.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Pages } from '../interfaces/page.interface';
|
|
2
|
+
import type { EnableWhenExpressions, EnableWhenItems } from '../interfaces/enableWhen.interface';
|
|
3
|
+
import type { QuestionnaireItem } from 'fhir/r4';
|
|
4
|
+
export declare function getFirstVisiblePage(pages: Pages, enableWhenItems: EnableWhenItems, enableWhenExpressions: EnableWhenExpressions): number;
|
|
5
|
+
/**
|
|
6
|
+
* Checks if all of the items in a qItem array is a page item
|
|
7
|
+
* Returns true if all items is page item
|
|
8
|
+
* Returns false if only have one item
|
|
9
|
+
*
|
|
10
|
+
* @author Riza Nafis
|
|
11
|
+
*/
|
|
12
|
+
export declare function everyIsPages(topLevelQItem: QuestionnaireItem[] | undefined): boolean;
|
|
13
|
+
export declare function isPageContainer(topLevelQItem: QuestionnaireItem[] | undefined): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Checks if any of the items in a qItem array is a page item
|
|
16
|
+
* Returns true if there is at least one page item
|
|
17
|
+
*
|
|
18
|
+
* @author Riza Nafis
|
|
19
|
+
*/
|
|
20
|
+
export declare function containsPages(topLevelQItem: QuestionnaireItem): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a qItem is a page item
|
|
23
|
+
*
|
|
24
|
+
* @author Riza Nafis
|
|
25
|
+
*/
|
|
26
|
+
export declare function isPage(item: QuestionnaireItem): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Create a `Record<linkId, Pages>` key-value pair for all page items in a qItem array
|
|
29
|
+
*
|
|
30
|
+
* @author Riza Nafis
|
|
31
|
+
*/
|
|
32
|
+
export declare function constructPagesWithProperties(qItems: QuestionnaireItem[] | undefined, hasPageContainer: boolean): Pages;
|
|
33
|
+
interface contructPagesWithVisibilityParams {
|
|
34
|
+
pages: Pages;
|
|
35
|
+
enableWhenIsActivated: boolean;
|
|
36
|
+
enableWhenItems: EnableWhenItems;
|
|
37
|
+
enableWhenExpressions: EnableWhenExpressions;
|
|
38
|
+
}
|
|
39
|
+
export declare function constructPagesWithVisibility(params: contructPagesWithVisibilityParams): {
|
|
40
|
+
linkId: string;
|
|
41
|
+
isVisible: boolean;
|
|
42
|
+
}[];
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { isSpecificItemControl } from './itemControl';
|
|
2
|
+
import { isHiddenByEnableWhen } from './qItem';
|
|
3
|
+
import { structuredDataCapture } from 'fhir-sdc-helpers';
|
|
4
|
+
export function getFirstVisiblePage(pages, enableWhenItems, enableWhenExpressions) {
|
|
5
|
+
// Only singleEnableWhenItems are relevant for page operations
|
|
6
|
+
const { singleItems } = enableWhenItems;
|
|
7
|
+
const { singleExpressions } = enableWhenExpressions;
|
|
8
|
+
return Object.entries(pages)
|
|
9
|
+
.sort(([, pageA], [, pageB]) => pageA.pageIndex - pageB.pageIndex)
|
|
10
|
+
.findIndex(([pageLinkId, page]) => {
|
|
11
|
+
if (page.isHidden) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const singleItem = singleItems[pageLinkId];
|
|
15
|
+
if (singleItem) {
|
|
16
|
+
return singleItem.isEnabled;
|
|
17
|
+
}
|
|
18
|
+
const singleExpression = singleExpressions[pageLinkId];
|
|
19
|
+
if (singleExpression) {
|
|
20
|
+
return singleExpression.isEnabled;
|
|
21
|
+
}
|
|
22
|
+
return true;
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Checks if all of the items in a qItem array is a page item
|
|
27
|
+
* Returns true if all items is page item
|
|
28
|
+
* Returns false if only have one item
|
|
29
|
+
*
|
|
30
|
+
* @author Riza Nafis
|
|
31
|
+
*/
|
|
32
|
+
export function everyIsPages(topLevelQItem) {
|
|
33
|
+
if (!topLevelQItem)
|
|
34
|
+
return false;
|
|
35
|
+
if (isPageContainer(topLevelQItem))
|
|
36
|
+
return false;
|
|
37
|
+
return topLevelQItem.every((i) => isPage(i));
|
|
38
|
+
}
|
|
39
|
+
export function isPageContainer(topLevelQItem) {
|
|
40
|
+
const anyPage = topLevelQItem === null || topLevelQItem === void 0 ? void 0 : topLevelQItem.filter(isPage);
|
|
41
|
+
if (!anyPage)
|
|
42
|
+
return false;
|
|
43
|
+
return anyPage.some((page) => { var _a; return ((_a = page.item) === null || _a === void 0 ? void 0 : _a.every((i) => i.type === 'group')) || false; });
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Checks if any of the items in a qItem array is a page item
|
|
47
|
+
* Returns true if there is at least one page item
|
|
48
|
+
*
|
|
49
|
+
* @author Riza Nafis
|
|
50
|
+
*/
|
|
51
|
+
export function containsPages(topLevelQItem) {
|
|
52
|
+
if (!topLevelQItem.item) {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
const pages = topLevelQItem.item.filter((i) => isPage(i));
|
|
56
|
+
return pages.length > 0;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Check if a qItem is a page item
|
|
60
|
+
*
|
|
61
|
+
* @author Riza Nafis
|
|
62
|
+
*/
|
|
63
|
+
export function isPage(item) {
|
|
64
|
+
return isSpecificItemControl(item, 'page');
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Create a `Record<linkId, Pages>` key-value pair for all page items in a qItem array
|
|
68
|
+
*
|
|
69
|
+
* @author Riza Nafis
|
|
70
|
+
*/
|
|
71
|
+
export function constructPagesWithProperties(qItems, hasPageContainer) {
|
|
72
|
+
var _a;
|
|
73
|
+
if (!qItems)
|
|
74
|
+
return {};
|
|
75
|
+
const qItemPages = hasPageContainer ? qItems : qItems.filter(isPage);
|
|
76
|
+
const pages = {};
|
|
77
|
+
for (const [i, qItem] of qItemPages.entries()) {
|
|
78
|
+
pages[qItem.linkId] = {
|
|
79
|
+
pageIndex: i,
|
|
80
|
+
isComplete: false,
|
|
81
|
+
isHidden: (_a = structuredDataCapture.getHidden(qItem)) !== null && _a !== void 0 ? _a : false
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return pages;
|
|
85
|
+
}
|
|
86
|
+
export function constructPagesWithVisibility(params) {
|
|
87
|
+
const { pages, enableWhenIsActivated, enableWhenItems, enableWhenExpressions } = params;
|
|
88
|
+
return Object.entries(pages).map(([linkId]) => {
|
|
89
|
+
const isVisible = !isHiddenByEnableWhen({
|
|
90
|
+
linkId,
|
|
91
|
+
enableWhenIsActivated,
|
|
92
|
+
enableWhenItems,
|
|
93
|
+
enableWhenExpressions
|
|
94
|
+
});
|
|
95
|
+
return {
|
|
96
|
+
linkId,
|
|
97
|
+
isVisible
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=page.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/utils/page.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
26
26
|
import { extractLaunchContexts } from './extractLaunchContext';
|
|
27
27
|
import { extractQuestionnaireLevelVariables } from './extractVariables';
|
|
28
28
|
import { extractTabs } from './extractTabs';
|
|
29
|
+
import { extractPages } from './extractPages';
|
|
29
30
|
import { extractContainedValueSets } from './extractContainedValueSets';
|
|
30
31
|
import { extractOtherExtensions } from './extractOtherExtensions';
|
|
31
32
|
import { resolveValueSets } from './resolveValueSets';
|
|
@@ -39,6 +40,7 @@ export function createQuestionnaireModel(questionnaire, additionalVariables, ter
|
|
|
39
40
|
}
|
|
40
41
|
const itemTypes = Object.fromEntries(getLinkIdTypeTuples(questionnaire));
|
|
41
42
|
const tabs = extractTabs(questionnaire);
|
|
43
|
+
const pages = extractPages(questionnaire);
|
|
42
44
|
const launchContexts = extractLaunchContexts(questionnaire);
|
|
43
45
|
let variables = extractQuestionnaireLevelVariables(questionnaire);
|
|
44
46
|
variables = addAdditionalVariables(variables, additionalVariables);
|
|
@@ -60,6 +62,7 @@ export function createQuestionnaireModel(questionnaire, additionalVariables, ter
|
|
|
60
62
|
return {
|
|
61
63
|
itemTypes,
|
|
62
64
|
tabs,
|
|
65
|
+
pages,
|
|
63
66
|
variables,
|
|
64
67
|
launchContexts,
|
|
65
68
|
enableWhenItems,
|
|
@@ -78,6 +81,7 @@ function createEmptyModel() {
|
|
|
78
81
|
return {
|
|
79
82
|
itemTypes: {},
|
|
80
83
|
tabs: {},
|
|
84
|
+
pages: {},
|
|
81
85
|
variables: { fhirPathVariables: {}, xFhirQueryVariables: {} },
|
|
82
86
|
launchContexts: {},
|
|
83
87
|
calculatedExpressions: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createQuestionaireModel.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/createQuestionaireModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"createQuestionaireModel.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/createQuestionaireModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { constructPagesWithProperties, isPage, isPageContainer } from '../page';
|
|
2
|
+
export function extractPages(questionnaire) {
|
|
3
|
+
if (!questionnaire.item || questionnaire.item.length === 0) {
|
|
4
|
+
return {};
|
|
5
|
+
}
|
|
6
|
+
if (!isPageContainer(questionnaire.item)) {
|
|
7
|
+
return constructPagesWithProperties(questionnaire.item, false);
|
|
8
|
+
}
|
|
9
|
+
let totalPages = {};
|
|
10
|
+
for (const topLevelItem of questionnaire.item) {
|
|
11
|
+
const items = topLevelItem.item;
|
|
12
|
+
const topLevelItemIsPageContainer = isPage(topLevelItem);
|
|
13
|
+
const pages = constructPagesWithProperties(items, topLevelItemIsPageContainer);
|
|
14
|
+
totalPages = Object.assign(Object.assign({}, totalPages), pages);
|
|
15
|
+
}
|
|
16
|
+
return totalPages;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=extractPages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractPages.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/extractPages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAEhF,MAAM,UAAU,YAAY,CAAC,aAA4B;IACvD,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1D,OAAO,EAAE,CAAC;KACX;IAED,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;QACxC,OAAO,4BAA4B,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAChE;IAED,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,YAAY,IAAI,aAAa,CAAC,IAAI,EAAE;QAC7C,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC;QAChC,MAAM,2BAA2B,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,4BAA4B,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;QAC/E,UAAU,mCAAQ,UAAU,GAAK,KAAK,CAAE,CAAC;KAC1C;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|