@openmrs/esm-fast-data-entry-app 1.0.0-pre.59 → 1.0.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/README.md +21 -2
- package/__mocks__/react-i18next.js +9 -14
- package/dist/101.js +1 -0
- package/dist/101.js.map +1 -0
- package/dist/132.js +1 -1
- package/dist/188.js +1 -0
- package/dist/188.js.map +1 -0
- package/dist/197.js +1 -0
- package/dist/219.js +1 -0
- package/dist/219.js.map +1 -0
- package/dist/221.js +1 -0
- package/dist/221.js.map +1 -0
- package/dist/259.js +1 -0
- package/dist/259.js.map +1 -0
- package/dist/29.js +2 -0
- package/dist/29.js.LICENSE.txt +3 -0
- package/dist/29.js.map +1 -0
- package/dist/300.js +1 -0
- package/dist/326.js +1 -0
- package/dist/326.js.map +1 -0
- package/dist/335.js +1 -0
- package/dist/367.js +1 -0
- package/dist/367.js.map +1 -0
- package/dist/480.js +1 -0
- package/dist/540.js +2 -0
- package/dist/{536.js.LICENSE.txt → 540.js.LICENSE.txt} +3 -2
- package/dist/540.js.map +1 -0
- package/dist/55.js +1 -0
- package/dist/564.js +1 -0
- package/dist/564.js.map +1 -0
- package/dist/602.js +1 -0
- package/dist/602.js.map +1 -0
- package/dist/626.js +2 -0
- package/dist/{294.js.LICENSE.txt → 626.js.LICENSE.txt} +3 -8
- package/dist/626.js.map +1 -0
- package/dist/652.js +1 -0
- package/dist/685.js +1 -0
- package/dist/685.js.map +1 -0
- package/dist/773.js +2 -0
- package/dist/773.js.LICENSE.txt +32 -0
- package/dist/773.js.map +1 -0
- package/dist/893.js +1 -0
- package/dist/893.js.map +1 -0
- package/dist/91.js +1 -0
- package/dist/91.js.map +1 -0
- package/dist/941.js +2 -0
- package/dist/941.js.LICENSE.txt +30 -0
- package/dist/941.js.map +1 -0
- package/dist/961.js +2 -0
- package/dist/{935.js.LICENSE.txt → 961.js.LICENSE.txt} +6 -10
- package/dist/961.js.map +1 -0
- package/dist/99.js +1 -0
- package/dist/99.js.map +1 -0
- package/dist/991.js +1 -0
- package/dist/991.js.map +1 -0
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -0
- package/dist/openmrs-esm-fast-data-entry-app.js +1 -1
- package/dist/openmrs-esm-fast-data-entry-app.js.buildmanifest.json +500 -122
- package/dist/openmrs-esm-fast-data-entry-app.js.map +1 -0
- package/dist/routes.json +1 -0
- package/jest.config.json +21 -18
- package/package.json +59 -62
- package/prettier.config.js +8 -0
- package/src/CancelModal.tsx +42 -0
- package/src/CompleteModal.tsx +35 -0
- package/src/FormBootstrap.tsx +45 -10
- package/src/Root.tsx +11 -9
- package/src/add-group-modal/AddGroupModal.tsx +249 -0
- package/src/add-group-modal/styles.scss +49 -0
- package/src/config-schema.ts +77 -16
- package/src/constant.ts +1 -1
- package/src/context/FormWorkflowContext.tsx +32 -33
- package/src/context/FormWorkflowReducer.ts +53 -67
- package/src/context/GroupFormWorkflowContext.tsx +155 -0
- package/src/context/GroupFormWorkflowReducer.ts +405 -0
- package/src/declarations.d.ts +4 -0
- package/src/empty-state/EmptyDataIllustration.tsx +4 -16
- package/src/empty-state/EmptyState.tsx +16 -17
- package/src/empty-state/styles.scss +14 -14
- package/src/form-entry-workflow/FormEntryWorkflow.tsx +89 -125
- package/src/{form-review-card → form-entry-workflow/form-review-card}/FormReviewCard.tsx +7 -7
- package/src/form-entry-workflow/form-review-card/index.ts +3 -0
- package/src/form-entry-workflow/form-review-card/styles.scss +37 -0
- package/src/form-entry-workflow/index.ts +1 -1
- package/src/form-entry-workflow/patient-banner/PatientBanner.test.tsx +9 -0
- package/src/{patient-banner → form-entry-workflow/patient-banner}/PatientBanner.tsx +14 -27
- package/src/form-entry-workflow/patient-banner/index.ts +3 -0
- package/src/form-entry-workflow/patient-banner/styles.scss +44 -0
- package/src/form-entry-workflow/patient-search-header/PatientSearchHeader.tsx +54 -0
- package/src/form-entry-workflow/patient-search-header/index.ts +3 -0
- package/src/form-entry-workflow/patient-search-header/styles.scss +25 -0
- package/src/form-entry-workflow/styles.scss +16 -16
- package/src/form-entry-workflow/workflow-review/WorkflowReview.tsx +37 -0
- package/src/form-entry-workflow/workflow-review/index.ts +3 -0
- package/src/{workflow-review → form-entry-workflow/workflow-review}/styles.scss +0 -4
- package/src/forms-app-menu-link.tsx +5 -7
- package/src/forms-page/FormsPage.tsx +48 -37
- package/src/forms-page/forms-table/FormsTable.tsx +117 -0
- package/src/forms-page/forms-table/index.ts +3 -0
- package/src/forms-page/forms-table/styles.scss +19 -0
- package/src/forms-page/index.ts +1 -1
- package/src/forms-page/styles.scss +3 -5
- package/src/group-form-entry-workflow/GroupFormEntryWorkflow.tsx +26 -0
- package/src/group-form-entry-workflow/GroupSessionWorkspace.tsx +207 -0
- package/src/group-form-entry-workflow/SessionDetailsForm.tsx +154 -0
- package/src/group-form-entry-workflow/SessionMetaWorkspace.tsx +99 -0
- package/src/group-form-entry-workflow/attendance-table/AttendanceTable.tsx +130 -0
- package/src/group-form-entry-workflow/attendance-table/index.ts +1 -0
- package/src/group-form-entry-workflow/configurable-questions/ConfigurableQuestionsSection.tsx +41 -0
- package/src/group-form-entry-workflow/group-display-header/GroupDisplayHeader.test.tsx +9 -0
- package/src/group-form-entry-workflow/group-display-header/GroupDisplayHeader.tsx +55 -0
- package/src/group-form-entry-workflow/group-display-header/index.ts +3 -0
- package/src/group-form-entry-workflow/group-display-header/styles.scss +60 -0
- package/src/group-form-entry-workflow/group-search/CompactGroupResults.tsx +128 -0
- package/src/group-form-entry-workflow/group-search/CompactGroupSearch.tsx +66 -0
- package/src/group-form-entry-workflow/group-search/GroupSearch.tsx +134 -0
- package/src/group-form-entry-workflow/group-search/compact-group-result.scss +63 -0
- package/src/group-form-entry-workflow/group-search/compact-group-search.scss +34 -0
- package/src/group-form-entry-workflow/group-search/group-search.scss +93 -0
- package/src/group-form-entry-workflow/group-search-header/GroupSearchHeader.tsx +72 -0
- package/src/group-form-entry-workflow/group-search-header/index.ts +3 -0
- package/src/group-form-entry-workflow/group-search-header/styles.scss +20 -0
- package/src/group-form-entry-workflow/index.ts +3 -0
- package/src/group-form-entry-workflow/styles.scss +94 -0
- package/src/hooks/index.ts +7 -5
- package/src/hooks/useForm.ts +56 -0
- package/src/hooks/useFormState.ts +3 -3
- package/src/hooks/useGetAllForms.ts +7 -15
- package/src/hooks/useGetEncounter.ts +3 -3
- package/src/hooks/useGetPatient.ts +3 -3
- package/src/hooks/useGetPatients.ts +32 -0
- package/src/hooks/useGetSystemSetting.ts +36 -0
- package/src/hooks/useKeyPress.ts +31 -0
- package/src/hooks/usePostEndpoint.ts +76 -0
- package/src/hooks/useSearchEndpoint.ts +103 -0
- package/src/hooks/useStartVisit.ts +82 -0
- package/src/index.ts +12 -72
- package/src/patient-card/PatientCard.tsx +10 -20
- package/src/patient-card/index.ts +1 -1
- package/src/patient-card/styles.scss +8 -8
- package/src/routes.json +24 -0
- package/src/setup-tests.ts +1 -1
- package/src/types.ts +20 -0
- package/tools/i18next-parser.config.js +93 -0
- package/translations/am.json +75 -0
- package/translations/ar.json +75 -0
- package/translations/en.json +57 -2
- package/translations/es.json +75 -0
- package/translations/fr.json +75 -0
- package/translations/he.json +75 -0
- package/translations/km.json +75 -0
- package/turbo.json +18 -0
- package/webpack.config.js +1 -1
- package/.editorconfig +0 -12
- package/.eslintignore +0 -2
- package/.eslintrc.js +0 -10
- package/.github/pull_request_template.md +0 -18
- package/.github/workflows/node.js.yml +0 -121
- package/.husky/pre-push +0 -1
- package/.prettierignore +0 -14
- package/dist/187.js +0 -1
- package/dist/247.js +0 -1
- package/dist/294.js +0 -2
- package/dist/312.js +0 -1
- package/dist/412.js +0 -1
- package/dist/536.js +0 -2
- package/dist/574.js +0 -1
- package/dist/592.js +0 -1
- package/dist/595.js +0 -2
- package/dist/595.js.LICENSE.txt +0 -1
- package/dist/776.js +0 -1
- package/dist/804.js +0 -1
- package/dist/880.js +0 -2
- package/dist/880.js.LICENSE.txt +0 -20
- package/dist/906.js +0 -1
- package/dist/935.js +0 -2
- package/dist/990.js +0 -1
- package/dist/openmrs-esm-fast-data-entry-app.old +0 -1
- package/src/declarations.d.tsx +0 -2
- package/src/form-review-card/index.ts +0 -3
- package/src/form-review-card/styles.scss +0 -38
- package/src/forms-table/FormsTable.tsx +0 -123
- package/src/forms-table/index.ts +0 -3
- package/src/forms-table/styles.scss +0 -20
- package/src/patient-banner/PatientBanner.test.tsx +0 -9
- package/src/patient-banner/index.ts +0 -3
- package/src/patient-banner/styles.scss +0 -44
- package/src/patient-search-header/PatientSearchHeader.tsx +0 -61
- package/src/patient-search-header/index.ts +0 -3
- package/src/patient-search-header/styles.scss +0 -21
- package/src/workflow-review/WorkflowReview.tsx +0 -35
- package/src/workflow-review/index.ts +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openmrs-esm-fast-data-entry-app.js","mappings":"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","sources":["webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/load script","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/consumes","webpack://@openmrs/esm-fast-data-entry-app/webpack/container-entry","webpack://@openmrs/esm-fast-data-entry-app/webpack/bootstrap","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/compat get default export","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/define property getters","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/ensure chunk","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/get javascript chunk filename","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/global","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/make namespace object","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/node module decorator","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/sharing","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/publicPath","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/jsonp chunk loading","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/nonce","webpack://@openmrs/esm-fast-data-entry-app/webpack/startup"],"names":["inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","findSingletonVersionKey","getInvalidSingletonVersionMessage","getSingletonVersion","warn","get","loadSingletonVersionCheckFallback","installedModules","moduleToHandlerMapping","chunkMapping","moduleMap","__webpack_require__","e","then","module","getScope","R","o","Promise","resolve","Error","undefined","init","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","loaded","__webpack_modules__","call","m","c","n","getter","__esModule","a","definition","key","Object","defineProperty","enumerable","f","chunkId","all","keys","reduce","promises","u","g","globalThis","this","Function","window","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","fn","setTimeout","bind","type","target","head","appendChild","r","Symbol","toStringTag","value","nmd","paths","children","initPromises","initTokens","initToken","indexOf","scope","uniqueName","register","version","factory","eager","versions","activeVersion","from","scriptUrl","importScripts","location","currentScript","test","replace","p","str","split","map","exec","apply","b","t","range","pop","requiredVersion","scopeName","msg","console","entry","promise","fallback","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
|
package/dist/routes.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":"^2.2.0"},"pages":[{"component":"root","routeRegex":"forms","online":true,"offline":true}],"extensions":[{"name":"forms-app-link","slot":"app-menu-slot","component":"formsAppMenuLink","online":true,"offline":true}],"version":"1.0.0"}
|
package/jest.config.json
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
"^
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
},
|
|
14
|
-
"setupFilesAfterEnv": [
|
|
15
|
-
"<rootDir>/src/setup-tests.ts"
|
|
16
|
-
],
|
|
17
|
-
"testEnvironment": "jsdom"
|
|
18
|
-
|
|
1
|
+
|
|
2
|
+
{
|
|
3
|
+
"transform": {
|
|
4
|
+
"^.+\\.tsx?$": "@swc/jest"
|
|
5
|
+
},
|
|
6
|
+
"transformIgnorePatterns": ["/node_modules/(?!@openmrs)"],
|
|
7
|
+
"moduleNameMapper": {
|
|
8
|
+
"\\.(s?css)$": "identity-obj-proxy",
|
|
9
|
+
"@openmrs/esm-framework": "@openmrs/esm-framework/mock",
|
|
10
|
+
"^lodash-es/(.*)$": "lodash/$1",
|
|
11
|
+
"^uuid$": "<rootDir>/node_modules/uuid/dist/index.js",
|
|
12
|
+
"^dexie$": "<rootDir>/node_modules/dexie"
|
|
13
|
+
},
|
|
14
|
+
"setupFilesAfterEnv": [
|
|
15
|
+
"<rootDir>/src/setup-tests.ts"
|
|
16
|
+
],
|
|
17
|
+
"testEnvironment": "jsdom",
|
|
18
|
+
"testEnvironmentOptions": {
|
|
19
|
+
"url": "http://localhost/"
|
|
20
|
+
}
|
|
21
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openmrs/esm-fast-data-entry-app",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"license": "MPL-2.0",
|
|
5
5
|
"description": "An OpenMRS 3.x microfrontend",
|
|
6
6
|
"browser": "dist/openmrs-esm-fast-data-entry-app.js",
|
|
@@ -9,20 +9,16 @@
|
|
|
9
9
|
"scripts": {
|
|
10
10
|
"start": "openmrs develop",
|
|
11
11
|
"serve": "webpack serve --mode=development",
|
|
12
|
-
"build": "webpack --mode production",
|
|
12
|
+
"build": "webpack --mode production --color",
|
|
13
13
|
"analyze": "webpack --mode=production --env.analyze=true",
|
|
14
|
-
"lint": "eslint \"src/**/*.ts\" \"src/**/*.tsx\" --fix --max-warnings=0
|
|
15
|
-
"prettier": "prettier --write \"src/**/*.{ts,tsx}\"",
|
|
14
|
+
"lint": "eslint \"src/**/*.ts\" \"src/**/*.tsx\" --fix --max-warnings=0",
|
|
15
|
+
"prettier": "prettier --write \"src/**/*.{ts,tsx}\" --list-different",
|
|
16
16
|
"typescript": "tsc",
|
|
17
17
|
"test": "jest --config jest.config.json --passWithNoTests",
|
|
18
|
-
"verify": "
|
|
18
|
+
"verify": "turbo lint typescript test",
|
|
19
19
|
"coverage": "yarn test -- --coverage ",
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
"husky": {
|
|
23
|
-
"hooks": {
|
|
24
|
-
"pre-commit": "pretty-quick --staged && yarn verify"
|
|
25
|
-
}
|
|
20
|
+
"postinstall": "husky install",
|
|
21
|
+
"extract-translations": "i18next 'src/**/*.tsx' --config ./tools/i18next-parser.config.js"
|
|
26
22
|
},
|
|
27
23
|
"browserslist": [
|
|
28
24
|
"extends browserslist-config-openmrs"
|
|
@@ -42,63 +38,64 @@
|
|
|
42
38
|
"bugs": {
|
|
43
39
|
"url": "https://github.com/openmrs/openmrs-esm-fast-data-entry-app/issues"
|
|
44
40
|
},
|
|
45
|
-
"resolutions": {
|
|
46
|
-
"**/@types/react": "^16.14.5"
|
|
47
|
-
},
|
|
48
|
-
"dependencies": {},
|
|
49
41
|
"peerDependencies": {
|
|
50
|
-
"@
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"react": "
|
|
54
|
-
"react-dom": "
|
|
42
|
+
"@carbon/react": "^1.9.0",
|
|
43
|
+
"@openmrs/esm-framework": "*",
|
|
44
|
+
"lodash-es": "4.x",
|
|
45
|
+
"react": "18.x",
|
|
46
|
+
"react-dom": "18.x",
|
|
55
47
|
"react-i18next": "11.x",
|
|
56
|
-
"react-router-dom": "
|
|
48
|
+
"react-router-dom": "6.x",
|
|
49
|
+
"swr": "2.x"
|
|
57
50
|
},
|
|
58
51
|
"devDependencies": {
|
|
59
|
-
"@
|
|
60
|
-
"@babel/plugin-proposal-class-properties": "^7.13.0",
|
|
61
|
-
"@babel/preset-env": "^7.14.4",
|
|
62
|
-
"@babel/preset-react": "^7.13.13",
|
|
63
|
-
"@babel/preset-typescript": "^7.13.0",
|
|
64
|
-
"@babel/runtime": "^7.14.0",
|
|
52
|
+
"@carbon/react": "^1.37.0",
|
|
65
53
|
"@openmrs/esm-framework": "next",
|
|
66
|
-
"@
|
|
67
|
-
"@
|
|
68
|
-
"@
|
|
69
|
-
"@testing-library/
|
|
70
|
-
"@
|
|
71
|
-
"@
|
|
72
|
-
"@
|
|
73
|
-
"@types/
|
|
74
|
-
"@types/react-dom": "^
|
|
75
|
-
"@types/react-router-dom": "^5.
|
|
76
|
-
"@types/testing-library__jest-dom": "^5.14.
|
|
77
|
-
"@types/webpack-env": "^1.
|
|
78
|
-
"@typescript-eslint/
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"eslint": "^8.20.0",
|
|
84
|
-
"eslint-config-prettier": "^8.3.0",
|
|
54
|
+
"@swc-node/loader": "^1.3.7",
|
|
55
|
+
"@swc/core": "^1.3.84",
|
|
56
|
+
"@swc/jest": "^0.2.29",
|
|
57
|
+
"@testing-library/dom": "^7.31.2",
|
|
58
|
+
"@testing-library/jest-dom": "^5.17.0",
|
|
59
|
+
"@testing-library/react": "^13.4.0",
|
|
60
|
+
"@testing-library/user-event": "^14.4.3",
|
|
61
|
+
"@types/jest": "^28.1.8",
|
|
62
|
+
"@types/react-dom": "^18.2.7",
|
|
63
|
+
"@types/react-router-dom": "^5.3.3",
|
|
64
|
+
"@types/testing-library__jest-dom": "^5.14.9",
|
|
65
|
+
"@types/webpack-env": "^1.18.1",
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "^6.7.0",
|
|
67
|
+
"@typescript-eslint/parser": "^6.7.0",
|
|
68
|
+
"concurrently": "^6.5.1",
|
|
69
|
+
"css-loader": "^6.8.1",
|
|
70
|
+
"eslint": "^8.49.0",
|
|
85
71
|
"eslint-config-react-app": "^7.0.1",
|
|
86
|
-
"
|
|
87
|
-
"eslint-plugin-prettier": "^4.2.1",
|
|
88
|
-
"husky": "^8.0.1",
|
|
72
|
+
"husky": "^8.0.3",
|
|
89
73
|
"identity-obj-proxy": "^3.0.0",
|
|
90
|
-
"jest": "^
|
|
91
|
-
"jest-cli": "^
|
|
74
|
+
"jest": "^28.1.3",
|
|
75
|
+
"jest-cli": "^28.1.3",
|
|
76
|
+
"jest-environment-jsdom": "^28.1.3",
|
|
77
|
+
"lodash-es": "^4.17.21",
|
|
92
78
|
"openmrs": "next",
|
|
93
|
-
"prettier": "^2.
|
|
94
|
-
"pretty-quick": "^3.1.
|
|
95
|
-
"react": "^
|
|
96
|
-
"react-dom": "^
|
|
97
|
-
"react-i18next": "^11.
|
|
98
|
-
"react-router-dom": "^
|
|
79
|
+
"prettier": "^2.8.8",
|
|
80
|
+
"pretty-quick": "^3.1.3",
|
|
81
|
+
"react": "^18.2.0",
|
|
82
|
+
"react-dom": "^18.2.0",
|
|
83
|
+
"react-i18next": "^11.18.6",
|
|
84
|
+
"react-router-dom": "^6.15.0",
|
|
85
|
+
"semver": "^7.5.4",
|
|
99
86
|
"swc-loader": "^0.2.3",
|
|
100
|
-
"swr": "^
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
|
|
104
|
-
|
|
87
|
+
"swr": "^2.2.4",
|
|
88
|
+
"turbo": "^1.10.13",
|
|
89
|
+
"typescript": "^4.9.5",
|
|
90
|
+
"webpack": "^5.88.2",
|
|
91
|
+
"webpack-cli": "^5.1.4"
|
|
92
|
+
},
|
|
93
|
+
"dependencies": {
|
|
94
|
+
"i18next": "^21.10.0",
|
|
95
|
+
"i18next-parser": "^6.6.0",
|
|
96
|
+
"react-hook-form": "^7.34.2",
|
|
97
|
+
"turbo": "^1.12.4",
|
|
98
|
+
"uuid": "^9.0.1"
|
|
99
|
+
},
|
|
100
|
+
"packageManager": "yarn@4.2.2"
|
|
101
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Button, ComposedModal, ModalBody, ModalFooter, ModalHeader } from '@carbon/react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
|
|
5
|
+
const CancelModal = ({ open, setOpen, context }) => {
|
|
6
|
+
const { t } = useTranslation();
|
|
7
|
+
|
|
8
|
+
const onCancel = () => setOpen(false);
|
|
9
|
+
|
|
10
|
+
const onDiscard = async () => {
|
|
11
|
+
await context.destroySession();
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const onSaveAndClose = async () => {
|
|
15
|
+
await context.closeSession();
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<ComposedModal open={open}>
|
|
20
|
+
<ModalHeader>{t('areYouSure', 'Are you sure?')}</ModalHeader>
|
|
21
|
+
<ModalBody>
|
|
22
|
+
{t(
|
|
23
|
+
'cancelExplanation',
|
|
24
|
+
'You will lose any unsaved changes on the current form. Do you want to discard the current session?',
|
|
25
|
+
)}
|
|
26
|
+
</ModalBody>
|
|
27
|
+
<ModalFooter>
|
|
28
|
+
<Button kind="secondary" onClick={onCancel}>
|
|
29
|
+
{t('cancel', 'Cancel')}
|
|
30
|
+
</Button>
|
|
31
|
+
<Button kind="danger" onClick={onDiscard}>
|
|
32
|
+
{t('discard', 'Discard')}
|
|
33
|
+
</Button>
|
|
34
|
+
<Button kind="primary" onClick={onSaveAndClose}>
|
|
35
|
+
{t('saveSession', 'Save Session')}
|
|
36
|
+
</Button>
|
|
37
|
+
</ModalFooter>
|
|
38
|
+
</ComposedModal>
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export default CancelModal;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Button, ComposedModal, ModalBody, ModalFooter, ModalHeader } from '@carbon/react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
|
|
5
|
+
const CompleteModal = ({ open, setOpen, context, validateFirst = false }) => {
|
|
6
|
+
const { t } = useTranslation();
|
|
7
|
+
|
|
8
|
+
const onCancel = () => setOpen(false);
|
|
9
|
+
|
|
10
|
+
const onComplete = () => {
|
|
11
|
+
if (validateFirst) {
|
|
12
|
+
context.validateForComplete();
|
|
13
|
+
} else {
|
|
14
|
+
context.submitForComplete();
|
|
15
|
+
}
|
|
16
|
+
setOpen(false);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
return (
|
|
20
|
+
<ComposedModal open={open}>
|
|
21
|
+
<ModalHeader>{t('areYouSure', 'Are you sure?')}</ModalHeader>
|
|
22
|
+
<ModalBody>{t('saveExplanation', 'Do you want to save the current form and exit the workflow?')}</ModalBody>
|
|
23
|
+
<ModalFooter>
|
|
24
|
+
<Button kind="secondary" onClick={onCancel}>
|
|
25
|
+
{t('cancel', 'Cancel')}
|
|
26
|
+
</Button>
|
|
27
|
+
<Button kind="primary" onClick={onComplete}>
|
|
28
|
+
{t('complete', 'Complete')}
|
|
29
|
+
</Button>
|
|
30
|
+
</ModalFooter>
|
|
31
|
+
</ComposedModal>
|
|
32
|
+
);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export default CompleteModal;
|
package/src/FormBootstrap.tsx
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { ExtensionSlot } from
|
|
3
|
-
import useGetPatient from
|
|
1
|
+
import React, { useContext, useEffect, useState } from 'react';
|
|
2
|
+
import { detach, ExtensionSlot } from '@openmrs/esm-framework';
|
|
3
|
+
import useGetPatient from './hooks/useGetPatient';
|
|
4
|
+
import GroupFormWorkflowContext from './context/GroupFormWorkflowContext';
|
|
4
5
|
|
|
5
6
|
export interface Order {
|
|
6
7
|
uuid: string;
|
|
@@ -98,14 +99,22 @@ export interface Encounter {
|
|
|
98
99
|
obs: Array<Observation>;
|
|
99
100
|
orders: Array<Order>;
|
|
100
101
|
}
|
|
102
|
+
|
|
103
|
+
type PreFilledQuestions = {
|
|
104
|
+
[key: string]: string;
|
|
105
|
+
};
|
|
106
|
+
|
|
101
107
|
interface FormParams {
|
|
102
108
|
formUuid: string;
|
|
103
109
|
patientUuid: string;
|
|
104
110
|
visitUuid?: string;
|
|
105
111
|
visitTypeUuid?: string;
|
|
106
112
|
encounterUuid?: string;
|
|
113
|
+
preFilledQuestions?: PreFilledQuestions;
|
|
107
114
|
showDiscardSubmitButtons?: boolean;
|
|
108
115
|
handlePostResponse?: (Encounter) => void;
|
|
116
|
+
handleEncounterCreate?: (Object) => void;
|
|
117
|
+
handleOnValidate?: (boolean) => void;
|
|
109
118
|
}
|
|
110
119
|
|
|
111
120
|
const FormBootstrap = ({
|
|
@@ -115,25 +124,51 @@ const FormBootstrap = ({
|
|
|
115
124
|
visitTypeUuid,
|
|
116
125
|
encounterUuid,
|
|
117
126
|
handlePostResponse,
|
|
127
|
+
handleEncounterCreate,
|
|
128
|
+
handleOnValidate,
|
|
118
129
|
}: FormParams) => {
|
|
119
130
|
const patient = useGetPatient(patientUuid);
|
|
131
|
+
const { activeSessionMeta } = useContext(GroupFormWorkflowContext);
|
|
132
|
+
|
|
133
|
+
useEffect(() => {
|
|
134
|
+
return () => detach('form-widget-slot', 'form-widget-slot');
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
// FIXME This should not be necessary
|
|
138
|
+
const [showForm, setShowForm] = useState(true);
|
|
139
|
+
|
|
140
|
+
const updateFormComponent = () => {
|
|
141
|
+
setShowForm(false);
|
|
142
|
+
setTimeout(() => {
|
|
143
|
+
setShowForm(true);
|
|
144
|
+
});
|
|
145
|
+
};
|
|
120
146
|
|
|
121
147
|
return (
|
|
122
148
|
<div>
|
|
123
|
-
{formUuid && patientUuid && patient && (
|
|
149
|
+
{showForm && formUuid && patientUuid && patient && (
|
|
124
150
|
<ExtensionSlot
|
|
125
|
-
|
|
151
|
+
name="form-widget-slot"
|
|
126
152
|
state={{
|
|
127
|
-
view:
|
|
153
|
+
view: 'form',
|
|
128
154
|
formUuid,
|
|
129
|
-
visitUuid: visitUuid ??
|
|
130
|
-
visitTypeUuid: visitTypeUuid ??
|
|
155
|
+
visitUuid: visitUuid ?? '',
|
|
156
|
+
visitTypeUuid: visitTypeUuid ?? '',
|
|
131
157
|
patientUuid,
|
|
132
158
|
patient,
|
|
133
|
-
encounterUuid: encounterUuid ??
|
|
159
|
+
encounterUuid: encounterUuid ?? '',
|
|
134
160
|
closeWorkspace: () => undefined,
|
|
135
|
-
handlePostResponse
|
|
161
|
+
handlePostResponse: (encounter) => {
|
|
162
|
+
handlePostResponse(encounter);
|
|
163
|
+
updateFormComponent();
|
|
164
|
+
},
|
|
165
|
+
handleEncounterCreate,
|
|
166
|
+
handleOnValidate,
|
|
136
167
|
showDiscardSubmitButtons: false,
|
|
168
|
+
preFilledQuestions: {
|
|
169
|
+
...activeSessionMeta,
|
|
170
|
+
encDate: activeSessionMeta.sessionDate,
|
|
171
|
+
},
|
|
137
172
|
}}
|
|
138
173
|
/>
|
|
139
174
|
)}
|
package/src/Root.tsx
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { BrowserRouter, Route,
|
|
3
|
-
import { appPath } from
|
|
4
|
-
const FormsPage = React.lazy(() => import(
|
|
5
|
-
const FormEntryWorkflow = React.lazy(() => import(
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BrowserRouter, Route, Routes } from 'react-router-dom';
|
|
3
|
+
import { appPath } from './constant';
|
|
4
|
+
const FormsPage = React.lazy(() => import('./forms-page'));
|
|
5
|
+
const FormEntryWorkflow = React.lazy(() => import('./form-entry-workflow'));
|
|
6
|
+
const GroupFormEntryWorkflow = React.lazy(() => import('./group-form-entry-workflow'));
|
|
6
7
|
|
|
7
8
|
const Root = () => {
|
|
8
9
|
return (
|
|
9
10
|
<main>
|
|
10
11
|
<BrowserRouter basename={appPath}>
|
|
11
|
-
<
|
|
12
|
-
<Route
|
|
13
|
-
<Route path="/:formUuid
|
|
14
|
-
|
|
12
|
+
<Routes>
|
|
13
|
+
<Route path="/" element={<FormsPage />} />
|
|
14
|
+
<Route path="/form/:formUuid" element={<FormEntryWorkflow />} />
|
|
15
|
+
<Route path="/groupform/:formUuid" element={<GroupFormEntryWorkflow />} />
|
|
16
|
+
</Routes>
|
|
15
17
|
</BrowserRouter>
|
|
16
18
|
</main>
|
|
17
19
|
);
|