@ampath/esm-patient-registration-app 6.0.1-pre.96 → 9.2.0-next.12
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/dist/1119.js +1 -0
- package/dist/1197.js +1 -0
- package/dist/21.js +1 -0
- package/dist/21.js.map +1 -0
- package/dist/2146.js +1 -0
- package/dist/2372.js +1 -0
- package/dist/2372.js.map +1 -0
- package/dist/2470.js +1 -0
- package/dist/2470.js.map +1 -0
- package/dist/2690.js +1 -0
- package/dist/2913.js +2 -0
- package/dist/{913.js.LICENSE.txt → 2913.js.LICENSE.txt} +3 -23
- package/dist/2913.js.map +1 -0
- package/dist/3093.js +1 -0
- package/dist/3093.js.map +1 -0
- package/dist/3099.js +1 -0
- package/dist/3144.js +2 -0
- package/dist/3144.js.LICENSE.txt +19 -0
- package/dist/3144.js.map +1 -0
- package/dist/320.js +2 -0
- package/dist/{876.js.LICENSE.txt → 320.js.LICENSE.txt} +2 -3
- package/dist/320.js.map +1 -0
- package/dist/3464.js +1 -0
- package/dist/3464.js.map +1 -0
- package/dist/3474.js +2 -0
- package/dist/3474.js.LICENSE.txt +8 -0
- package/dist/3474.js.map +1 -0
- package/dist/3584.js +1 -0
- package/dist/4041.js +2 -0
- package/dist/4041.js.map +1 -0
- package/dist/4055.js +1 -0
- package/dist/4132.js +1 -0
- package/dist/4300.js +1 -0
- package/dist/4335.js +1 -0
- package/dist/4463.js +1 -0
- package/dist/4463.js.map +1 -0
- package/dist/4618.js +1 -0
- package/dist/4652.js +1 -0
- package/dist/4944.js +1 -0
- package/dist/5173.js +1 -0
- package/dist/5220.js +2 -0
- package/dist/5220.js.LICENSE.txt +29 -0
- package/dist/5220.js.map +1 -0
- package/dist/5241.js +1 -0
- package/dist/5442.js +1 -0
- package/dist/5661.js +1 -0
- package/dist/6022.js +1 -0
- package/dist/6078.js +2 -0
- package/dist/6078.js.LICENSE.txt +9 -0
- package/dist/6078.js.map +1 -0
- package/dist/627.js +1 -0
- package/dist/627.js.map +1 -0
- package/dist/6276.js +1 -0
- package/dist/6276.js.map +1 -0
- package/dist/6468.js +1 -0
- package/dist/6679.js +1 -0
- package/dist/6737.js +2 -0
- package/dist/6737.js.LICENSE.txt +9 -0
- package/dist/6737.js.map +1 -0
- package/dist/6840.js +1 -0
- package/dist/6859.js +1 -0
- package/dist/7092.js +1 -0
- package/dist/7092.js.map +1 -0
- package/dist/7097.js +1 -0
- package/dist/7159.js +1 -0
- package/dist/723.js +1 -0
- package/dist/7495.js +2 -0
- package/dist/7495.js.LICENSE.txt +9 -0
- package/dist/7495.js.map +1 -0
- package/dist/7617.js +1 -0
- package/dist/795.js +1 -0
- package/dist/8163.js +1 -0
- package/dist/8349.js +1 -0
- package/dist/8404.js +2 -0
- package/dist/{629.js.LICENSE.txt → 8404.js.LICENSE.txt} +9 -3
- package/dist/8404.js.map +1 -0
- package/dist/8434.js +1 -0
- package/dist/8434.js.map +1 -0
- package/dist/8618.js +1 -0
- package/dist/89.js +2 -0
- package/dist/89.js.LICENSE.txt +9 -0
- package/dist/89.js.map +1 -0
- package/dist/890.js +1 -0
- package/dist/9214.js +1 -0
- package/dist/9538.js +1 -0
- package/dist/9569.js +1 -0
- package/dist/986.js +1 -0
- package/dist/9876.js +1 -0
- package/dist/9876.js.map +1 -0
- package/dist/9879.js +1 -0
- package/dist/9895.js +1 -0
- package/dist/9900.js +1 -0
- package/dist/9913.js +1 -0
- package/dist/main.js +1 -1
- package/dist/main.js.LICENSE.txt +36 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-patient-registration-app.js +1 -0
- package/dist/openmrs-esm-patient-registration-app.js.buildmanifest.json +1576 -0
- package/dist/openmrs-esm-patient-registration-app.js.map +1 -0
- package/dist/routes.json +1 -1
- package/package.json +16 -15
- package/src/{add-patient-link.tsx → add-patient-link.extension.tsx} +4 -2
- package/src/add-patient-link.test.tsx +6 -10
- package/src/config-schema.ts +109 -55
- package/src/constants.ts +1 -1
- package/src/declarations.d.ts +5 -4
- package/src/index.ts +10 -29
- package/src/nav-link.test.tsx +3 -3
- package/src/offline.resources.ts +26 -18
- package/src/patient-photo.extension.tsx +3 -1
- package/src/patient-registration/field/address/address-field.component.tsx +58 -37
- package/src/patient-registration/field/address/address-hierarchy-levels.component.tsx +16 -18
- package/src/patient-registration/field/address/address-hierarchy.resource.tsx +3 -3
- package/src/patient-registration/field/address/address-hierarchy.test.tsx +290 -0
- package/src/patient-registration/field/address/address-search.component.tsx +7 -5
- package/src/patient-registration/field/address/address-search.scss +5 -5
- package/src/patient-registration/field/address/address-search.test.tsx +140 -0
- package/src/patient-registration/field/cause-of-death/cause-of-death.component.tsx +98 -0
- package/src/patient-registration/field/custom-field.component.tsx +3 -9
- package/src/patient-registration/field/date-and-time-of-death/date-and-time-of-death.component.tsx +84 -0
- package/src/patient-registration/field/dob/dob.component.tsx +55 -50
- package/src/patient-registration/field/dob/dob.test.tsx +90 -0
- package/src/patient-registration/field/field.component.tsx +12 -6
- package/src/patient-registration/field/field.resource.ts +11 -4
- package/src/patient-registration/field/field.scss +69 -25
- package/src/patient-registration/field/field.test.tsx +329 -0
- package/src/patient-registration/field/gender/gender-field.component.tsx +14 -9
- package/src/patient-registration/field/gender/gender-field.test.tsx +73 -33
- package/src/patient-registration/field/id/id-field.component.tsx +24 -23
- package/src/patient-registration/field/id/id-field.test.tsx +147 -0
- package/src/patient-registration/field/id/identifier-selection-overlay.component.tsx +12 -10
- package/src/patient-registration/field/id/identifier-selection.scss +12 -8
- package/src/patient-registration/field/name/name-field.component.tsx +10 -5
- package/src/patient-registration/field/obs/obs-field.component.tsx +59 -2
- package/src/patient-registration/field/obs/obs-field.test.tsx +133 -39
- package/src/patient-registration/field/person-attributes/coded-person-attribute-field.component.tsx +3 -3
- package/src/patient-registration/field/person-attributes/coded-person-attribute-field.test.tsx +141 -0
- package/src/patient-registration/field/person-attributes/location-person-attribute-field.component.tsx +105 -0
- package/src/patient-registration/field/person-attributes/location-person-attribute-field.resource.tsx +48 -0
- package/src/patient-registration/field/person-attributes/person-attribute-field.component.tsx +19 -22
- package/src/patient-registration/field/person-attributes/person-attribute-field.test.tsx +193 -0
- package/src/patient-registration/field/person-attributes/text-person-attribute-field.test.tsx +90 -0
- package/src/patient-registration/form-manager.test.ts +91 -0
- package/src/patient-registration/form-manager.ts +49 -23
- package/src/patient-registration/input/basic-input/input/input.component.tsx +6 -2
- package/src/patient-registration/input/basic-input/select/select-input.test.tsx +49 -0
- package/src/patient-registration/input/custom-input/autosuggest/autosuggest.scss +5 -5
- package/src/patient-registration/input/custom-input/autosuggest/autosuggest.test.tsx +164 -0
- package/src/patient-registration/input/custom-input/identifier/identifier-input.component.tsx +73 -36
- package/src/patient-registration/input/custom-input/identifier/identifier-input.test.tsx +335 -0
- package/src/patient-registration/input/dummy-data/dummy-data-input.component.tsx +3 -0
- package/src/patient-registration/input/dummy-data/dummy-data-input.test.tsx +2 -11
- package/src/patient-registration/input/input.scss +17 -13
- package/src/patient-registration/patient-registration-context.ts +22 -11
- package/src/patient-registration/patient-registration-hooks.ts +158 -193
- package/src/patient-registration/patient-registration-utils.test.ts +33 -0
- package/src/patient-registration/patient-registration-utils.ts +11 -13
- package/src/patient-registration/patient-registration.component.tsx +87 -103
- package/src/patient-registration/{patient-registration.resource.testt.tsx → patient-registration.resource.test.tsx} +0 -4
- package/src/patient-registration/patient-registration.resource.ts +27 -3
- package/src/patient-registration/patient-registration.scss +27 -38
- package/src/patient-registration/patient-registration.test.tsx +579 -0
- package/src/patient-registration/patient-registration.types.ts +23 -25
- package/src/patient-registration/section/death-info/death-info-section.component.tsx +22 -17
- package/src/patient-registration/section/death-info/death-info-section.test.tsx +47 -0
- package/src/patient-registration/section/demographics/demographics-section.component.tsx +5 -5
- package/src/patient-registration/section/demographics/demographics-section.test.tsx +98 -0
- package/src/patient-registration/section/patient-relationships/relationships-section.component.tsx +8 -7
- package/src/patient-registration/section/patient-relationships/relationships-section.test.tsx +113 -0
- package/src/patient-registration/section/patient-relationships/relationships.resource.tsx +28 -28
- package/src/patient-registration/section/patient-relationships/relationships.scss +4 -4
- package/src/patient-registration/section/section-wrapper.component.tsx +1 -1
- package/src/patient-registration/section/section.component.tsx +1 -1
- package/src/patient-registration/section/section.scss +21 -1
- package/src/patient-registration/ui-components/overlay/overlay.scss +8 -8
- package/src/patient-registration/validation/{patient-registration-validation.test.tsx → patient-registration-validation.test.ts} +71 -23
- package/src/patient-registration/validation/patient-registration-validation.ts +123 -0
- package/src/resources-context.ts +14 -0
- package/src/root.component.tsx +3 -3
- package/src/routes.json +10 -24
- package/src/widgets/cancel-patient-edit.modal.tsx +33 -0
- package/src/widgets/cancel-patient-edit.test.tsx +22 -0
- package/src/widgets/delete-identifier-confirmation.modal.tsx +48 -0
- package/src/widgets/{delete-identifier-confirmation-modal.testt.tsx → delete-identifier-confirmation.test.tsx} +5 -7
- package/src/widgets/edit-patient-details-button.component.tsx +0 -1
- package/src/widgets/edit-patient-details-button.test.tsx +35 -0
- package/translations/am.json +43 -35
- package/translations/ar.json +41 -33
- package/translations/ar_SY.json +119 -0
- package/translations/bn.json +119 -0
- package/translations/de.json +119 -0
- package/translations/en.json +44 -42
- package/translations/en_US.json +119 -0
- package/translations/es.json +69 -57
- package/translations/es_MX.json +119 -0
- package/translations/fr.json +74 -58
- package/translations/he.json +44 -40
- package/translations/hi.json +119 -0
- package/translations/hi_IN.json +119 -0
- package/translations/id.json +119 -0
- package/translations/it.json +119 -0
- package/translations/ka.json +119 -0
- package/translations/km.json +44 -40
- package/translations/ku.json +119 -0
- package/translations/ky.json +119 -0
- package/translations/lg.json +119 -0
- package/translations/ne.json +119 -0
- package/translations/pl.json +119 -0
- package/translations/pt.json +119 -0
- package/translations/pt_BR.json +119 -0
- package/translations/qu.json +119 -0
- package/translations/ro_RO.json +119 -0
- package/translations/ru_RU.json +119 -0
- package/translations/si.json +119 -0
- package/translations/sw.json +119 -0
- package/translations/sw_KE.json +119 -0
- package/translations/tr.json +119 -0
- package/translations/tr_TR.json +119 -0
- package/translations/uk.json +119 -0
- package/translations/uz.json +119 -0
- package/translations/uz@Latn.json +119 -0
- package/translations/uz_UZ.json +119 -0
- package/translations/vi.json +119 -0
- package/translations/zh.json +45 -23
- package/translations/zh_CN.json +39 -17
- package/.turbo/turbo-build.log +0 -40
- package/dist/132.js +0 -1
- package/dist/197.js +0 -1
- package/dist/236.js +0 -1
- package/dist/236.js.map +0 -1
- package/dist/300.js +0 -1
- package/dist/335.js +0 -1
- package/dist/372.js +0 -1
- package/dist/372.js.map +0 -1
- package/dist/41.js +0 -2
- package/dist/41.js.map +0 -1
- package/dist/449.js +0 -1
- package/dist/449.js.map +0 -1
- package/dist/464.js +0 -1
- package/dist/464.js.map +0 -1
- package/dist/495.js +0 -1
- package/dist/495.js.map +0 -1
- package/dist/55.js +0 -1
- package/dist/56.js +0 -1
- package/dist/56.js.map +0 -1
- package/dist/621.js +0 -1
- package/dist/621.js.map +0 -1
- package/dist/629.js +0 -2
- package/dist/629.js.map +0 -1
- package/dist/652.js +0 -1
- package/dist/661.js +0 -1
- package/dist/757.js +0 -1
- package/dist/757.js.map +0 -1
- package/dist/828.js +0 -1
- package/dist/828.js.map +0 -1
- package/dist/830.js +0 -1
- package/dist/830.js.map +0 -1
- package/dist/831.js +0 -2
- package/dist/831.js.LICENSE.txt +0 -3
- package/dist/831.js.map +0 -1
- package/dist/876.js +0 -2
- package/dist/876.js.map +0 -1
- package/dist/879.js +0 -1
- package/dist/913.js +0 -2
- package/dist/913.js.map +0 -1
- package/dist/927.js +0 -1
- package/dist/927.js.map +0 -1
- package/dist/99.js +0 -1
- package/dist/ampath-esm-patient-registration-app.js +0 -1
- package/dist/ampath-esm-patient-registration-app.js.buildmanifest.json +0 -694
- package/dist/ampath-esm-patient-registration-app.js.map +0 -1
- package/src/patient-registration/date-util.ts +0 -52
- package/src/patient-registration/field/person-attributes/custom-person-attribute-field.component.tsx +0 -56
- package/src/patient-registration/validation/patient-registration-validation.tsx +0 -60
- package/src/patient-verification/assets/counties.json +0 -236
- package/src/patient-verification/assets/verification-assets.ts +0 -11
- package/src/patient-verification/patient-verification-hook.tsx +0 -176
- package/src/patient-verification/patient-verification-utils.ts +0 -179
- package/src/patient-verification/patient-verification.component.tsx +0 -124
- package/src/patient-verification/patient-verification.scss +0 -25
- package/src/patient-verification/verification-modal/confirm-prompt.component.tsx +0 -72
- package/src/patient-verification/verification-modal/empty-prompt.component.tsx +0 -35
- package/src/patient-verification/verification-types.ts +0 -50
- package/src/widgets/cancel-patient-edit.component.tsx +0 -37
- package/src/widgets/delete-identifier-confirmation-modal.tsx +0 -41
- package/src/widgets/delete-identifier-modal.scss +0 -34
- /package/dist/{41.js.LICENSE.txt → 4041.js.LICENSE.txt} +0 -0
- /package/src/patient-registration/input/custom-input/identifier/{utils.testt.ts → utils.test.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openmrs-esm-patient-registration-app.js","mappings":"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","sources":["webpack://@ampath/esm-patient-registration-app/webpack/runtime/create fake namespace object","webpack://@ampath/esm-patient-registration-app/webpack/runtime/load script","webpack://@ampath/esm-patient-registration-app/webpack/runtime/consumes","webpack://@ampath/esm-patient-registration-app/webpack/container-entry","webpack://@ampath/esm-patient-registration-app/webpack/bootstrap","webpack://@ampath/esm-patient-registration-app/webpack/runtime/compat get default export","webpack://@ampath/esm-patient-registration-app/webpack/runtime/define property getters","webpack://@ampath/esm-patient-registration-app/webpack/runtime/ensure chunk","webpack://@ampath/esm-patient-registration-app/webpack/runtime/get javascript chunk filename","webpack://@ampath/esm-patient-registration-app/webpack/runtime/global","webpack://@ampath/esm-patient-registration-app/webpack/runtime/hasOwnProperty shorthand","webpack://@ampath/esm-patient-registration-app/webpack/runtime/make namespace object","webpack://@ampath/esm-patient-registration-app/webpack/runtime/node module decorator","webpack://@ampath/esm-patient-registration-app/webpack/runtime/sharing","webpack://@ampath/esm-patient-registration-app/webpack/runtime/publicPath","webpack://@ampath/esm-patient-registration-app/webpack/runtime/jsonp chunk loading","webpack://@ampath/esm-patient-registration-app/webpack/runtime/nonce","webpack://@ampath/esm-patient-registration-app/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","exists","get","eagerOnly","findSingletonVersionKey","getInvalidSingletonVersionMessage","fail","warn","useFallback","loadSingletonVersion","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","Promise","all","__webpack_require__","e","then","module","getScope","R","o","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","Object","getPrototypeOf","obj","t","value","mode","this","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","keys","reduce","promises","u","g","globalThis","Function","window","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","initPromises","initTokens","initToken","scope","uniqueName","register","version","factory","eager","versions","activeVersion","from","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","replace","p","str","split","map","exec","apply","b","range","pop","entry","filtered","requiredVersion","msg","console","scopeName","fallback","failAsNotExist","promise","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
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":"
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.2.0"},"pages":[{"component":"root","route":"patient-registration","online":true,"offline":true},{"component":"editPatient","routeRegex":"patient\\/([a-zA-Z0-9\\-]+)\\/edit","online":true,"offline":true}],"extensions":[{"component":"addPatientLink","name":"add-patient-action","slot":"top-nav-actions-slot","online":true,"offline":true,"order":30},{"component":"patientPhotoExtension","name":"patient-photo-widget","slot":"patient-photo-slot","online":true,"offline":true},{"component":"editPatientDetailsButton","name":"edit-patient-details-button","slot":"patient-actions-slot","online":true,"offline":true},{"component":"editPatientDetailsButton","name":"edit-patient-details-button","slot":"patient-search-actions-slot","online":true,"offline":true}],"modals":[{"name":"cancel-patient-edit-modal","component":"cancelPatientEditModal"},{"name":"delete-identifier-confirmation-modal","component":"deleteIdentifierConfirmationModal"}],"version":"9.2.0-next.12"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ampath/esm-patient-registration-app",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Patient registration microfrontend for
|
|
5
|
-
"browser": "dist/
|
|
3
|
+
"version": "9.2.0-next.12",
|
|
4
|
+
"description": "Patient registration microfrontend for O3",
|
|
5
|
+
"browser": "dist/openmrs-esm-patient-registration-app.js",
|
|
6
6
|
"main": "src/index.ts",
|
|
7
7
|
"source": true,
|
|
8
8
|
"license": "MPL-2.0",
|
|
9
|
-
"homepage": "https://github.com/
|
|
9
|
+
"homepage": "https://github.com/AMPATH/openmrs-esm-patient-management#readme",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"start": "openmrs develop",
|
|
12
12
|
"serve": "webpack serve --mode=development",
|
|
@@ -18,41 +18,42 @@
|
|
|
18
18
|
"test:watch": "cross-env TZ=UTC jest --watch --config jest.config.js --color",
|
|
19
19
|
"coverage": "yarn test --coverage",
|
|
20
20
|
"typescript": "tsc",
|
|
21
|
-
"extract-translations": "i18next 'src/**/*.component.tsx' 'src/index.ts' --config ../../tools/i18next-parser.config.js"
|
|
21
|
+
"extract-translations": "i18next 'src/**/*.component.tsx' 'src/**/*.extension.tsx' 'src/**/*modal.tsx' 'src/**/*.workspace.tsx' 'src/index.ts' 'src/patient-registration/validation/patient-registration-validation.ts' --config ../../tools/i18next-parser.config.js"
|
|
22
22
|
},
|
|
23
23
|
"browserslist": [
|
|
24
24
|
"extends browserslist-config-openmrs"
|
|
25
25
|
],
|
|
26
26
|
"keywords": [
|
|
27
|
-
"openmrs"
|
|
27
|
+
"openmrs",
|
|
28
|
+
"ampath"
|
|
28
29
|
],
|
|
29
30
|
"publishConfig": {
|
|
30
31
|
"access": "public"
|
|
31
32
|
},
|
|
32
33
|
"repository": {
|
|
33
34
|
"type": "git",
|
|
34
|
-
"url": "git+https://github.com/
|
|
35
|
+
"url": "git+https://github.com/AMPATH/openmrs-esm-patient-management.git"
|
|
35
36
|
},
|
|
36
37
|
"bugs": {
|
|
37
|
-
"url": "https://github.com/
|
|
38
|
+
"url": "https://github.com/AMPATH/openmrs-esm-patient-management/issues"
|
|
38
39
|
},
|
|
39
40
|
"dependencies": {
|
|
40
|
-
"@carbon/react": "
|
|
41
|
+
"@carbon/react": "^1.83.0",
|
|
42
|
+
"classnames": "^2.3.2",
|
|
41
43
|
"formik": "^2.1.5",
|
|
42
44
|
"lodash-es": "^4.17.15",
|
|
43
45
|
"uuid": "^8.3.2",
|
|
44
46
|
"yup": "^0.29.1"
|
|
45
47
|
},
|
|
46
48
|
"peerDependencies": {
|
|
47
|
-
"@openmrs/esm-framework": "
|
|
49
|
+
"@openmrs/esm-framework": "8.x",
|
|
48
50
|
"dayjs": "1.x",
|
|
49
51
|
"react": "18.x",
|
|
50
|
-
"react-i18next": "
|
|
52
|
+
"react-i18next": "16.x",
|
|
51
53
|
"react-router-dom": "6.x",
|
|
52
54
|
"swr": "2.x"
|
|
53
55
|
},
|
|
54
56
|
"devDependencies": {
|
|
55
|
-
"webpack": "^5.
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
}
|
|
57
|
+
"webpack": "^5.99.9"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { useTranslation } from 'react-i18next';
|
|
2
3
|
import { HeaderGlobalAction } from '@carbon/react';
|
|
3
4
|
import { UserFollow } from '@carbon/react/icons';
|
|
4
5
|
import { navigate } from '@openmrs/esm-framework';
|
|
5
6
|
import styles from './add-patient-link.scss';
|
|
6
7
|
|
|
7
8
|
export default function Root() {
|
|
9
|
+
const { t } = useTranslation();
|
|
8
10
|
const addPatient = React.useCallback(() => navigate({ to: '${openmrsSpaBase}/patient-registration' }), []);
|
|
9
11
|
|
|
10
12
|
return (
|
|
11
13
|
<HeaderGlobalAction
|
|
12
|
-
aria-label=
|
|
13
|
-
aria-labelledby=
|
|
14
|
+
aria-label={t('addPatient', 'Add patient')}
|
|
15
|
+
aria-labelledby={t('addPatient', 'Add patient')}
|
|
14
16
|
enterDelayMs={500}
|
|
15
17
|
name="AddPatientIcon"
|
|
16
18
|
onClick={addPatient}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import userEvent from '@testing-library/user-event';
|
|
3
|
-
import { render } from '@testing-library/react';
|
|
3
|
+
import { render, screen } from '@testing-library/react';
|
|
4
4
|
import { navigate } from '@openmrs/esm-framework';
|
|
5
|
-
import Root from './add-patient-link';
|
|
5
|
+
import Root from './add-patient-link.extension';
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const mockNavigate = jest.mocked(navigate);
|
|
8
8
|
|
|
9
9
|
describe('Add patient link component', () => {
|
|
10
10
|
it('renders an "Add Patient" button and triggers navigation on click', async () => {
|
|
11
11
|
const user = userEvent.setup();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
await user.click(addButton);
|
|
17
|
-
|
|
18
|
-
expect(mockedNavigate).toHaveBeenCalledWith({ to: '${openmrsSpaBase}/patient-registration' });
|
|
12
|
+
render(<Root />);
|
|
13
|
+
await user.click(screen.getByRole('button', { name: /add patient/i }));
|
|
14
|
+
expect(mockNavigate).toHaveBeenCalledWith({ to: '${openmrsSpaBase}/patient-registration' });
|
|
19
15
|
});
|
|
20
16
|
});
|
package/src/config-schema.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Type, validator, validators } from '@openmrs/esm-framework';
|
|
2
|
+
import _default from 'yup/lib/locale';
|
|
2
3
|
|
|
3
4
|
export interface SectionDefinition {
|
|
4
5
|
id: string;
|
|
@@ -12,23 +13,23 @@ export interface FieldDefinition {
|
|
|
12
13
|
label?: string;
|
|
13
14
|
uuid: string;
|
|
14
15
|
placeholder?: string;
|
|
16
|
+
allowFutureDates?: boolean;
|
|
17
|
+
allowPastDates?: boolean;
|
|
15
18
|
showHeading: boolean;
|
|
16
19
|
validation?: {
|
|
17
20
|
required: boolean;
|
|
18
21
|
matches?: string;
|
|
19
22
|
};
|
|
23
|
+
locationTag?: string;
|
|
20
24
|
answerConceptSetUuid?: string;
|
|
21
25
|
customConceptAnswers?: Array<CustomConceptAnswer>;
|
|
22
|
-
showWhenExpression?: {
|
|
23
|
-
field: string;
|
|
24
|
-
value: string;
|
|
25
|
-
};
|
|
26
|
-
renderType?: string;
|
|
27
26
|
}
|
|
27
|
+
|
|
28
28
|
export interface CustomConceptAnswer {
|
|
29
29
|
uuid: string;
|
|
30
30
|
label?: string;
|
|
31
31
|
}
|
|
32
|
+
|
|
32
33
|
export interface Gender {
|
|
33
34
|
label?: string;
|
|
34
35
|
value: string;
|
|
@@ -37,9 +38,12 @@ export interface Gender {
|
|
|
37
38
|
export interface RegistrationConfig {
|
|
38
39
|
sections: Array<string>;
|
|
39
40
|
sectionDefinitions: Array<SectionDefinition>;
|
|
40
|
-
|
|
41
41
|
fieldDefinitions: Array<FieldDefinition>;
|
|
42
42
|
fieldConfigurations: {
|
|
43
|
+
causeOfDeath: {
|
|
44
|
+
conceptUuid: string;
|
|
45
|
+
required?: boolean;
|
|
46
|
+
};
|
|
43
47
|
name: {
|
|
44
48
|
displayMiddleName: boolean;
|
|
45
49
|
allowUnidentifiedPatients: boolean;
|
|
@@ -81,6 +85,7 @@ export interface RegistrationConfig {
|
|
|
81
85
|
encounterProviderRoleUuid: string;
|
|
82
86
|
registrationFormUuid: string | null;
|
|
83
87
|
};
|
|
88
|
+
freeTextFieldConceptUuid: string;
|
|
84
89
|
}
|
|
85
90
|
|
|
86
91
|
export const builtInSections: Array<SectionDefinition> = [
|
|
@@ -90,12 +95,21 @@ export const builtInSections: Array<SectionDefinition> = [
|
|
|
90
95
|
fields: ['name', 'gender', 'dob', 'id'],
|
|
91
96
|
},
|
|
92
97
|
{ id: 'contact', name: 'Contact Details', fields: ['address', 'phone'] },
|
|
93
|
-
{ id: 'death', name: 'Death Info', fields: [] },
|
|
98
|
+
{ id: 'death', name: 'Death Info', fields: ['dateAndTimeOfDeath', 'causeOfDeath'] },
|
|
94
99
|
{ id: 'relationships', name: 'Relationships', fields: [] },
|
|
95
100
|
];
|
|
96
101
|
|
|
97
102
|
// These fields are handled specially in field.component.tsx
|
|
98
|
-
export const builtInFields = [
|
|
103
|
+
export const builtInFields = [
|
|
104
|
+
'name',
|
|
105
|
+
'gender',
|
|
106
|
+
'dob',
|
|
107
|
+
'id',
|
|
108
|
+
'address',
|
|
109
|
+
'phone',
|
|
110
|
+
'causeOfDeath',
|
|
111
|
+
'dateAndTimeOfDeath',
|
|
112
|
+
] as const;
|
|
99
113
|
|
|
100
114
|
export const esmPatientRegistrationSchema = {
|
|
101
115
|
sections: {
|
|
@@ -110,6 +124,7 @@ export const esmPatientRegistrationSchema = {
|
|
|
110
124
|
},
|
|
111
125
|
sectionDefinitions: {
|
|
112
126
|
_type: Type.Array,
|
|
127
|
+
_default: [],
|
|
113
128
|
_elements: {
|
|
114
129
|
id: {
|
|
115
130
|
_type: Type.String,
|
|
@@ -127,13 +142,17 @@ export const esmPatientRegistrationSchema = {
|
|
|
127
142
|
_description: `The parts to include in the section. Can be any of the following built-in fields: ${builtInFields.join(
|
|
128
143
|
', ',
|
|
129
144
|
)}. Can also be an id from an object in the \`fieldDefinitions\` array, which you can use to define custom fields.`,
|
|
130
|
-
_elements: {
|
|
145
|
+
_elements: {
|
|
146
|
+
_type: Type.String,
|
|
147
|
+
},
|
|
131
148
|
},
|
|
132
149
|
},
|
|
133
|
-
_default: [],
|
|
134
150
|
},
|
|
135
151
|
fieldDefinitions: {
|
|
136
152
|
_type: Type.Array,
|
|
153
|
+
_default: [],
|
|
154
|
+
_description:
|
|
155
|
+
'Definitions for custom fields that can be used in sectionDefinitions. Can also be used to override built-in fields.',
|
|
137
156
|
_elements: {
|
|
138
157
|
id: {
|
|
139
158
|
_type: Type.String,
|
|
@@ -151,12 +170,12 @@ export const esmPatientRegistrationSchema = {
|
|
|
151
170
|
},
|
|
152
171
|
showHeading: {
|
|
153
172
|
_type: Type.Boolean,
|
|
154
|
-
_description: 'Whether to show a heading above the person attribute field.',
|
|
155
173
|
_default: false,
|
|
174
|
+
_description: 'Whether to show a heading above the person attribute field.',
|
|
156
175
|
},
|
|
157
176
|
label: {
|
|
158
177
|
_type: Type.String,
|
|
159
|
-
_default:
|
|
178
|
+
_default: '',
|
|
160
179
|
_description: 'The label of the input. By default, uses the metadata `display` attribute.',
|
|
161
180
|
},
|
|
162
181
|
placeholder: {
|
|
@@ -164,22 +183,44 @@ export const esmPatientRegistrationSchema = {
|
|
|
164
183
|
_default: '',
|
|
165
184
|
_description: 'Placeholder that will appear in the input.',
|
|
166
185
|
},
|
|
186
|
+
allowFutureDates: {
|
|
187
|
+
_type: Type.Boolean,
|
|
188
|
+
_default: true,
|
|
189
|
+
_description: 'Indicates whether the date input field should allow the selection of future dates or not.',
|
|
190
|
+
},
|
|
191
|
+
allowPastDates: {
|
|
192
|
+
_type: Type.Boolean,
|
|
193
|
+
_default: true,
|
|
194
|
+
_description: 'Indicates whether the date input field should allow the selection of past dates or not.',
|
|
195
|
+
},
|
|
167
196
|
validation: {
|
|
168
|
-
required: {
|
|
197
|
+
required: {
|
|
198
|
+
_type: Type.Boolean,
|
|
199
|
+
_default: false,
|
|
200
|
+
},
|
|
169
201
|
matches: {
|
|
170
202
|
_type: Type.String,
|
|
171
|
-
_default:
|
|
203
|
+
_default: '',
|
|
172
204
|
_description: 'Optional RegEx for testing the validity of the input.',
|
|
173
205
|
},
|
|
174
206
|
},
|
|
207
|
+
locationTag: {
|
|
208
|
+
_type: Type.String,
|
|
209
|
+
_default: '',
|
|
210
|
+
_description:
|
|
211
|
+
'Only for fields with "person attribute" type `org.openmrs.Location`. This filters the list of location options in the dropdown based on their location tag. By default, all locations are shown.',
|
|
212
|
+
},
|
|
175
213
|
answerConceptSetUuid: {
|
|
176
214
|
_type: Type.ConceptUuid,
|
|
177
|
-
_default:
|
|
215
|
+
_default: '',
|
|
178
216
|
_description:
|
|
179
217
|
'For coded questions only. A concept which has the possible responses either as answers or as set members.',
|
|
180
218
|
},
|
|
181
219
|
customConceptAnswers: {
|
|
182
220
|
_type: Type.Array,
|
|
221
|
+
_default: [],
|
|
222
|
+
_description:
|
|
223
|
+
'For coded questions only (obs or person attrbute). A list of custom concept answers. Overrides answers that come from the obs concept or from `answerSetConceptUuid`.',
|
|
183
224
|
_elements: {
|
|
184
225
|
uuid: {
|
|
185
226
|
_type: Type.UUID,
|
|
@@ -187,23 +228,31 @@ export const esmPatientRegistrationSchema = {
|
|
|
187
228
|
},
|
|
188
229
|
label: {
|
|
189
230
|
_type: Type.String,
|
|
190
|
-
_default:
|
|
231
|
+
_default: '',
|
|
191
232
|
_description: 'The custom label for the answer concept.',
|
|
192
233
|
},
|
|
193
234
|
},
|
|
194
|
-
_default: [],
|
|
195
|
-
_description:
|
|
196
|
-
'For coded questions only (obs or person attrbute). A list of custom concept answers. Overrides answers that come from the obs concept or from `answerSetConceptUuid`.',
|
|
197
235
|
},
|
|
198
236
|
},
|
|
199
237
|
// Do not add fields here. If you want to add a field in code, add it to built-in fields above.
|
|
200
|
-
_default: [],
|
|
201
|
-
_description:
|
|
202
|
-
'Definitions for custom fields that can be used in sectionDefinitions. Can also be used to override built-in fields.',
|
|
203
238
|
},
|
|
204
239
|
fieldConfigurations: {
|
|
240
|
+
causeOfDeath: {
|
|
241
|
+
conceptUuid: {
|
|
242
|
+
_type: Type.ConceptUuid,
|
|
243
|
+
_default: '9272a14b-7260-4353-9e5b-5787b5dead9d',
|
|
244
|
+
_description: 'The concept UUID to get cause of death answers',
|
|
245
|
+
},
|
|
246
|
+
required: {
|
|
247
|
+
_type: Type.Boolean,
|
|
248
|
+
_default: false,
|
|
249
|
+
},
|
|
250
|
+
},
|
|
205
251
|
name: {
|
|
206
|
-
displayMiddleName: {
|
|
252
|
+
displayMiddleName: {
|
|
253
|
+
_type: Type.Boolean,
|
|
254
|
+
_default: true,
|
|
255
|
+
},
|
|
207
256
|
allowUnidentifiedPatients: {
|
|
208
257
|
_type: Type.Boolean,
|
|
209
258
|
_default: true,
|
|
@@ -232,20 +281,6 @@ export const esmPatientRegistrationSchema = {
|
|
|
232
281
|
},
|
|
233
282
|
gender: {
|
|
234
283
|
_type: Type.Array,
|
|
235
|
-
_elements: {
|
|
236
|
-
value: {
|
|
237
|
-
_type: Type.String,
|
|
238
|
-
_description:
|
|
239
|
-
'Value that will be sent to the server. Limited to FHIR-supported values for Administrative Gender',
|
|
240
|
-
_validators: [validators.oneOf(['male', 'female', 'other', 'unknown'])],
|
|
241
|
-
},
|
|
242
|
-
label: {
|
|
243
|
-
_type: Type.String,
|
|
244
|
-
_default: null,
|
|
245
|
-
_description:
|
|
246
|
-
'The label displayed for the sex option, if it should be different from the value (the value will be translated; the English "translation" is upper-case).',
|
|
247
|
-
},
|
|
248
|
-
},
|
|
249
284
|
_default: [
|
|
250
285
|
{
|
|
251
286
|
value: 'male',
|
|
@@ -262,68 +297,83 @@ export const esmPatientRegistrationSchema = {
|
|
|
262
297
|
],
|
|
263
298
|
_description:
|
|
264
299
|
'The options for sex selection during patient registration. This is Administrative Gender as it is called by FHIR (Possible options are limited to those defined in FHIR Administrative Gender, see https://hl7.org/fhir/R4/valueset-administrative-gender.html).',
|
|
300
|
+
_elements: {
|
|
301
|
+
value: {
|
|
302
|
+
_type: Type.String,
|
|
303
|
+
_description:
|
|
304
|
+
'Value that will be sent to the server. Limited to FHIR-supported values for Administrative Gender',
|
|
305
|
+
_validators: [validators.oneOf(['male', 'female', 'other', 'unknown'])],
|
|
306
|
+
},
|
|
307
|
+
label: {
|
|
308
|
+
_type: Type.String,
|
|
309
|
+
_default: '',
|
|
310
|
+
_description:
|
|
311
|
+
'The label displayed for the sex option, if it should be different from the value (the value will be translated; the English "translation" is upper-case).',
|
|
312
|
+
},
|
|
313
|
+
},
|
|
265
314
|
},
|
|
266
315
|
address: {
|
|
267
316
|
useAddressHierarchy: {
|
|
268
317
|
enabled: {
|
|
269
318
|
_type: Type.Boolean,
|
|
270
|
-
_description: 'Whether to use the Address hierarchy in the registration form or not',
|
|
271
319
|
_default: true,
|
|
320
|
+
_description: 'Whether to use the Address hierarchy in the registration form or not',
|
|
272
321
|
},
|
|
273
322
|
useQuickSearch: {
|
|
274
323
|
_type: Type.Boolean,
|
|
324
|
+
_default: true,
|
|
275
325
|
_description:
|
|
276
326
|
'Whether to use the quick searching through the address saved in the database pre-fill the form.',
|
|
277
|
-
_default: true,
|
|
278
327
|
},
|
|
279
328
|
searchAddressByLevel: {
|
|
280
329
|
_type: Type.Boolean,
|
|
330
|
+
_default: false,
|
|
281
331
|
_description:
|
|
282
332
|
"Whether to fill the addresses by levels, i.e. County => subCounty, the current field is dependent on it's previous field.",
|
|
283
|
-
_default: false,
|
|
284
|
-
},
|
|
285
|
-
useAddressHierarchyLabel: {
|
|
286
|
-
_type: Type.Object,
|
|
287
|
-
_description: 'Whether to use custom labels for address hierarchy',
|
|
288
|
-
_default: {},
|
|
289
333
|
},
|
|
290
334
|
},
|
|
291
335
|
},
|
|
292
336
|
dateOfBirth: {
|
|
293
337
|
allowEstimatedDateOfBirth: {
|
|
294
338
|
_type: Type.Boolean,
|
|
295
|
-
_description: 'Whether to allow estimated date of birth for a patient during registration',
|
|
296
339
|
_default: true,
|
|
340
|
+
_description: 'Whether to allow estimated date of birth for a patient during registration',
|
|
297
341
|
},
|
|
298
342
|
useEstimatedDateOfBirth: {
|
|
299
343
|
enabled: {
|
|
300
344
|
_type: Type.Boolean,
|
|
301
|
-
_description: 'Whether to use a fixed day and month for estimated date of birth',
|
|
302
345
|
_default: false,
|
|
346
|
+
_description: 'Whether to use a fixed day and month for estimated date of birth',
|
|
303
347
|
},
|
|
304
348
|
dayOfMonth: {
|
|
305
349
|
_type: Type.Number,
|
|
306
|
-
_description: 'The custom day of the month use on the estimated date of birth',
|
|
307
350
|
_default: 0,
|
|
351
|
+
_description:
|
|
352
|
+
'The custom day of the month use on the estimated date of birth (0 = last day of previous month, 1-31 = specific day)',
|
|
353
|
+
_validators: [validators.inRange(0, 31)],
|
|
308
354
|
},
|
|
309
355
|
month: {
|
|
310
356
|
_type: Type.Number,
|
|
311
|
-
_description: 'The custom month to use on the estimated date of birth i.e 0 = Jan & 11 = Dec',
|
|
312
357
|
_default: 0,
|
|
358
|
+
_description: 'The custom month to use on the estimated date of birth i.e 0 = Jan & 11 = Dec',
|
|
359
|
+
_validators: [validators.inRange(0, 11)],
|
|
313
360
|
},
|
|
314
361
|
},
|
|
315
362
|
},
|
|
316
363
|
phone: {
|
|
317
364
|
personAttributeUuid: {
|
|
318
365
|
_type: Type.UUID,
|
|
319
|
-
_default: '
|
|
366
|
+
_default: '14d4f066-15f5-102d-96e4-000c29c2a5d7',
|
|
320
367
|
_description: 'The UUID of the phone number person attribute type',
|
|
321
368
|
},
|
|
322
369
|
validation: {
|
|
323
|
-
required: {
|
|
370
|
+
required: {
|
|
371
|
+
_type: Type.Boolean,
|
|
372
|
+
_default: false,
|
|
373
|
+
},
|
|
324
374
|
matches: {
|
|
325
375
|
_type: Type.String,
|
|
326
|
-
_default:
|
|
376
|
+
_default: '',
|
|
327
377
|
_description: 'Optional RegEx for testing the validity of the input.',
|
|
328
378
|
},
|
|
329
379
|
},
|
|
@@ -338,15 +388,15 @@ export const esmPatientRegistrationSchema = {
|
|
|
338
388
|
},
|
|
339
389
|
defaultPatientIdentifierTypes: {
|
|
340
390
|
_type: Type.Array,
|
|
391
|
+
_default: [],
|
|
341
392
|
_elements: {
|
|
342
393
|
_type: Type.PatientIdentifierTypeUuid,
|
|
343
394
|
},
|
|
344
|
-
_default: [],
|
|
345
395
|
},
|
|
346
396
|
registrationObs: {
|
|
347
397
|
encounterTypeUuid: {
|
|
348
398
|
_type: Type.UUID,
|
|
349
|
-
_default:
|
|
399
|
+
_default: '',
|
|
350
400
|
_description:
|
|
351
401
|
'Obs created during registration will be associated with an encounter of this type. This must be set in order to use fields of type `obs`.',
|
|
352
402
|
},
|
|
@@ -357,11 +407,15 @@ export const esmPatientRegistrationSchema = {
|
|
|
357
407
|
},
|
|
358
408
|
registrationFormUuid: {
|
|
359
409
|
_type: Type.UUID,
|
|
360
|
-
_default:
|
|
410
|
+
_default: '',
|
|
361
411
|
_description:
|
|
362
412
|
'The form UUID to associate with the registration encounter. By default no form will be associated.',
|
|
363
413
|
},
|
|
364
414
|
},
|
|
415
|
+
freeTextFieldConceptUuid: {
|
|
416
|
+
_type: Type.ConceptUuid,
|
|
417
|
+
_default: '5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
|
|
418
|
+
},
|
|
365
419
|
_validators: [
|
|
366
420
|
validator(
|
|
367
421
|
(config: RegistrationConfig) =>
|
package/src/constants.ts
CHANGED
|
@@ -6,7 +6,7 @@ export const personRelationshipRepresentation =
|
|
|
6
6
|
'personB:(age,display,birthdate,uuid),' +
|
|
7
7
|
'relationshipType:(uuid,display,description,aIsToB,bIsToA))';
|
|
8
8
|
|
|
9
|
-
export const moduleName = '@
|
|
9
|
+
export const moduleName = '@openmrs/esm-patient-registration-app';
|
|
10
10
|
export const patientRegistration = 'patient-registration';
|
|
11
11
|
|
|
12
12
|
export const cacheForOfflineHeaders: OmrsOfflineHttpHeaders = {
|
package/src/declarations.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
declare module '@carbon/react';
|
|
2
|
-
declare module '*.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
declare module '*.scss' {
|
|
3
|
+
const content: { [className: string]: string };
|
|
4
|
+
export default content;
|
|
5
|
+
}
|
|
6
|
+
|
|
6
7
|
declare type SideNavProps = {};
|
package/src/index.ts
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { defineConfigSchema, getAsyncLifecycle, getSyncLifecycle, registerBreadcrumbs } from '@openmrs/esm-framework';
|
|
2
2
|
import { esmPatientRegistrationSchema } from './config-schema';
|
|
3
3
|
import { moduleName, patientRegistration } from './constants';
|
|
4
4
|
import { setupOffline } from './offline';
|
|
5
|
-
import
|
|
6
|
-
import addPatientLinkComponent from './add-patient-link';
|
|
7
|
-
import editPatientDetailsButtonComponent from './widgets/edit-patient-details-button.component';
|
|
8
|
-
import { PatientPhotoExtension } from './patient-photo.extension';
|
|
5
|
+
import addPatientLinkComponent from './add-patient-link.extension';
|
|
9
6
|
|
|
10
7
|
export const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
|
|
11
8
|
|
|
@@ -41,38 +38,22 @@ export function startupApp() {
|
|
|
41
38
|
setupOffline();
|
|
42
39
|
}
|
|
43
40
|
|
|
44
|
-
export const root =
|
|
41
|
+
export const root = getAsyncLifecycle(() => import('./root.component'), options);
|
|
45
42
|
|
|
46
|
-
export const editPatient =
|
|
47
|
-
featureName: 'edit-patient-details-form',
|
|
48
|
-
moduleName,
|
|
49
|
-
});
|
|
43
|
+
export const editPatient = getAsyncLifecycle(() => import('./root.component'), options);
|
|
50
44
|
|
|
51
45
|
export const addPatientLink = getSyncLifecycle(addPatientLinkComponent, options);
|
|
52
46
|
|
|
53
|
-
export const cancelPatientEditModal = getAsyncLifecycle(
|
|
54
|
-
() => import('./widgets/cancel-patient-edit.component'),
|
|
55
|
-
options,
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
export const patientPhotoExtension = getSyncLifecycle(PatientPhotoExtension, options);
|
|
59
|
-
|
|
60
|
-
export const editPatientDetailsButton = getSyncLifecycle(editPatientDetailsButtonComponent, {
|
|
61
|
-
featureName: 'edit-patient-details',
|
|
62
|
-
moduleName,
|
|
63
|
-
});
|
|
47
|
+
export const cancelPatientEditModal = getAsyncLifecycle(() => import('./widgets/cancel-patient-edit.modal'), options);
|
|
64
48
|
|
|
65
|
-
export const
|
|
66
|
-
() => import('./widgets/delete-identifier-confirmation-modal'),
|
|
67
|
-
options,
|
|
68
|
-
);
|
|
49
|
+
export const patientPhotoExtension = getAsyncLifecycle(() => import('./patient-photo.extension'), options);
|
|
69
50
|
|
|
70
|
-
export const
|
|
71
|
-
() => import('./patient-
|
|
51
|
+
export const editPatientDetailsButton = getAsyncLifecycle(
|
|
52
|
+
() => import('./widgets/edit-patient-details-button.component'),
|
|
72
53
|
options,
|
|
73
54
|
);
|
|
74
55
|
|
|
75
|
-
export const
|
|
76
|
-
() => import('./
|
|
56
|
+
export const deleteIdentifierConfirmationModal = getAsyncLifecycle(
|
|
57
|
+
() => import('./widgets/delete-identifier-confirmation.modal'),
|
|
77
58
|
options,
|
|
78
59
|
);
|
package/src/nav-link.test.tsx
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { render } from '@testing-library/react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
3
|
import Root from './nav-link';
|
|
4
4
|
|
|
5
5
|
describe('Nav link component', () => {
|
|
6
6
|
it('renders a link to the patient registration page', () => {
|
|
7
|
-
|
|
8
|
-
const linkElement = getByText('Patient Registration');
|
|
7
|
+
render(<Root />);
|
|
8
|
+
const linkElement = screen.getByText('Patient Registration');
|
|
9
9
|
|
|
10
10
|
expect(linkElement).toBeInTheDocument();
|
|
11
11
|
expect(linkElement).toHaveAttribute('href', '/openmrs/spa/patient-registration');
|