@kenyaemr/esm-bed-management-app 1.0.1-pre.7 → 8.1.1-pre.116

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.
Files changed (175) hide show
  1. package/.turbo/turbo-build.log +36 -0
  2. package/README.md +6 -38
  3. package/dist/130.js +2 -0
  4. package/dist/{800.js.LICENSE.txt → 130.js.LICENSE.txt} +2 -0
  5. package/dist/130.js.map +1 -0
  6. package/dist/148.js +1 -0
  7. package/dist/148.js.map +1 -0
  8. package/dist/169.js +1 -0
  9. package/dist/169.js.map +1 -0
  10. package/dist/271.js +1 -0
  11. package/dist/319.js +1 -0
  12. package/dist/325.js +1 -0
  13. package/dist/325.js.map +1 -0
  14. package/dist/339.js +1 -0
  15. package/dist/339.js.map +1 -0
  16. package/dist/455.js +1 -1
  17. package/dist/455.js.LICENSE.txt +6 -0
  18. package/dist/455.js.map +1 -1
  19. package/dist/460.js +1 -0
  20. package/dist/501.js +1 -0
  21. package/dist/501.js.map +1 -0
  22. package/dist/542.js +1 -0
  23. package/dist/542.js.map +1 -0
  24. package/dist/574.js +1 -1
  25. package/dist/591.js +2 -0
  26. package/dist/{26.js.LICENSE.txt → 591.js.LICENSE.txt} +3 -3
  27. package/dist/591.js.map +1 -0
  28. package/dist/644.js +1 -0
  29. package/dist/757.js +1 -0
  30. package/dist/766.js +2 -0
  31. package/dist/{330.js.LICENSE.txt → 766.js.LICENSE.txt} +0 -9
  32. package/dist/766.js.map +1 -0
  33. package/dist/{294.js → 784.js} +2 -2
  34. package/dist/{294.js.map → 784.js.map} +1 -1
  35. package/dist/788.js +1 -0
  36. package/dist/807.js +1 -0
  37. package/dist/833.js +1 -0
  38. package/dist/main.js +1 -1
  39. package/dist/main.js.map +1 -1
  40. package/dist/openmrs-esm-bed-management-app.js +1 -0
  41. package/dist/{esm-kenyaemr-bed-management-app.js.buildmanifest.json → openmrs-esm-bed-management-app.js.buildmanifest.json} +202 -155
  42. package/dist/openmrs-esm-bed-management-app.js.map +1 -0
  43. package/dist/routes.json +1 -1
  44. package/jest.config.js +3 -0
  45. package/package.json +25 -82
  46. package/src/__mocks__/react-i18next.js +18 -14
  47. package/src/admin-card-link.component.tsx +7 -10
  48. package/src/bed-administration/bed-administration-form.component.tsx +65 -99
  49. package/src/bed-administration/bed-administration-table.component.tsx +68 -127
  50. package/src/bed-administration/bed-administration-table.scss +12 -16
  51. package/src/bed-administration/bed-administration.resource.ts +16 -18
  52. package/src/bed-administration/edit-bed-form.component.tsx +20 -31
  53. package/src/bed-administration/new-bed-form.component.tsx +28 -44
  54. package/src/{bed-admission/bed-tag → bed-tag}/bed-tag-administration-table.component.tsx +35 -60
  55. package/src/{bed-admission/bed-tag → bed-tag}/bed-tags-admin-form.component.tsx +30 -34
  56. package/src/{bed-admission/bed-tag → bed-tag}/edit-tag-form.component.tsx +17 -25
  57. package/src/{bed-admission/bed-tag → bed-tag}/new-tag-form.component.tsx +20 -27
  58. package/src/{bed-admission/bed-type → bed-type}/bed-type-admin-form.component.tsx +37 -44
  59. package/src/{bed-admission/bed-type → bed-type}/bed-type-administration-table.component.tsx +36 -60
  60. package/src/{bed-admission/bed-type → bed-type}/edit-bed-type.component.tsx +17 -25
  61. package/src/{bed-admission/bed-type → bed-type}/new-bed-type-form.component.tsx +21 -28
  62. package/src/card-header/card-header.component.tsx +20 -0
  63. package/src/card-header/card-header.scss +45 -0
  64. package/src/config-schema.ts +9 -17
  65. package/src/declarations.d.ts +5 -5
  66. package/src/empty-state/empty-state.component.tsx +6 -21
  67. package/src/empty-state/empty-state.scss +10 -10
  68. package/src/header/header.component.tsx +14 -23
  69. package/src/header/header.scss +11 -11
  70. package/src/header/illustration.component.tsx +3 -3
  71. package/src/home.component.tsx +4 -4
  72. package/src/index.ts +21 -48
  73. package/src/left-panel/left-panel.component.tsx +7 -17
  74. package/src/left-panel/left-panel.scss +8 -7
  75. package/src/left-panel-link.component.tsx +14 -24
  76. package/src/root.component.tsx +12 -12
  77. package/src/root.scss +2 -2
  78. package/src/routes.json +12 -12
  79. package/src/setup-tests.ts +1 -1
  80. package/src/summary/summary.component.tsx +16 -30
  81. package/src/summary/summary.resource.ts +116 -95
  82. package/src/summary/summary.scss +31 -29
  83. package/src/types.ts +50 -40
  84. package/src/ward-card/ward-card.component.tsx +5 -12
  85. package/src/ward-card/ward-card.scss +2 -2
  86. package/src/ward-with-beds/ward-with-beds.component.tsx +28 -47
  87. package/src/ward-with-beds/ward-with-beds.scss +5 -5
  88. package/translations/am.json +51 -0
  89. package/translations/ar.json +51 -0
  90. package/translations/en.json +48 -4
  91. package/translations/es.json +51 -0
  92. package/translations/fr.json +51 -0
  93. package/translations/he.json +51 -0
  94. package/translations/km.json +51 -0
  95. package/translations/zh.json +51 -0
  96. package/translations/zh_CN.json +51 -0
  97. package/tsconfig.json +3 -21
  98. package/webpack.config.js +1 -1
  99. package/.editorconfig +0 -12
  100. package/.eslintignore +0 -2
  101. package/.eslintrc +0 -37
  102. package/.husky/pre-commit +0 -4
  103. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  104. package/.idea/modules.xml +0 -8
  105. package/.idea/vcs.xml +0 -6
  106. package/.prettierignore +0 -14
  107. package/.turbo.json +0 -18
  108. package/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +0 -541
  109. package/.yarn/plugins/@yarnpkg/plugin-version.cjs +0 -550
  110. package/.yarn/versions/cb9a89ac.yml +0 -0
  111. package/LICENSE +0 -373
  112. package/dist/187.js +0 -1
  113. package/dist/187.js.map +0 -1
  114. package/dist/207.js +0 -1
  115. package/dist/207.js.map +0 -1
  116. package/dist/26.js +0 -2
  117. package/dist/26.js.map +0 -1
  118. package/dist/283.js +0 -1
  119. package/dist/283.js.map +0 -1
  120. package/dist/330.js +0 -2
  121. package/dist/330.js.map +0 -1
  122. package/dist/352.js +0 -1
  123. package/dist/352.js.map +0 -1
  124. package/dist/404.js +0 -1
  125. package/dist/404.js.map +0 -1
  126. package/dist/558.js +0 -2
  127. package/dist/558.js.LICENSE.txt +0 -14
  128. package/dist/558.js.map +0 -1
  129. package/dist/629.js +0 -1
  130. package/dist/629.js.map +0 -1
  131. package/dist/707.js +0 -1
  132. package/dist/707.js.map +0 -1
  133. package/dist/800.js +0 -2
  134. package/dist/800.js.map +0 -1
  135. package/dist/850.js +0 -1
  136. package/dist/850.js.map +0 -1
  137. package/dist/884.js +0 -1
  138. package/dist/884.js.map +0 -1
  139. package/dist/933.js +0 -1
  140. package/dist/933.js.map +0 -1
  141. package/dist/esm-kenyaemr-bed-management-app.js +0 -1
  142. package/dist/esm-kenyaemr-bed-management-app.js.map +0 -1
  143. package/i18next-parser.config.js +0 -89
  144. package/src/assets/landing-page.png +0 -0
  145. package/src/assets/logo.svg +0 -1
  146. package/src/bed-admission/active-patients/active-patients-table.component.tsx +0 -299
  147. package/src/bed-admission/active-patients/active-visits.resource.ts +0 -171
  148. package/src/bed-admission/active-patients/admission-action-button-styles.scss +0 -0
  149. package/src/bed-admission/active-patients/admission-action-button.component.tsx +0 -26
  150. package/src/bed-admission/active-patients/index.tsx +0 -15
  151. package/src/bed-admission/active-patients/patient-queues.resource.ts +0 -136
  152. package/src/bed-admission/active-patients/styles.scss +0 -284
  153. package/src/bed-admission/active-patients/view-action-menu.component.tsx +0 -33
  154. package/src/bed-admission/admitted-patients/active-admissions.resource.ts +0 -121
  155. package/src/bed-admission/admitted-patients/admitted-patients-table.component.tsx +0 -280
  156. package/src/bed-admission/admitted-patients/admitted-patients.component.tsx +0 -22
  157. package/src/bed-admission/admitted-patients/location-combo-box.component.tsx +0 -55
  158. package/src/bed-admission/admitted-patients/styles.scss +0 -284
  159. package/src/bed-admission/bed-admission-tabs-styles.scss +0 -30
  160. package/src/bed-admission/bed-admission-tabs.component.tsx +0 -69
  161. package/src/bed-admission/bed-admission.component.tsx +0 -15
  162. package/src/bed-admission/bed-admission.resource.ts +0 -35
  163. package/src/bed-admission/bed-layout/bed-layout-list.component.tsx +0 -101
  164. package/src/bed-admission/bed-layout/bed-layout.component.tsx +0 -64
  165. package/src/bed-admission/bed-layout/bed-layout.scss +0 -118
  166. package/src/bed-admission/bed-layout/min-bed-layout.component.tsx +0 -26
  167. package/src/bed-admission/createDashboardLink.tsx +0 -47
  168. package/src/bed-admission/discharged-patients/discharged-patients.componet.tsx +0 -19
  169. package/src/bed-admission/helpers/functions.ts +0 -102
  170. package/src/bed-admission/types.ts +0 -133
  171. package/src/workspace/allocate-bed-workspace.component.tsx +0 -141
  172. package/src/workspace/allocate-bed.scss +0 -117
  173. package/src/workspace/overlay.component.tsx +0 -55
  174. package/src/workspace/overlay.scss +0 -96
  175. /package/dist/{294.js.LICENSE.txt → 784.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openmrs-esm-bed-management-app.js","mappings":"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","sources":["webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/load script","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/consumes","webpack://@kenyaemr/esm-bed-management-app/webpack/container-entry","webpack://@kenyaemr/esm-bed-management-app/webpack/bootstrap","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/compat get default export","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/define property getters","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/ensure chunk","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/get javascript chunk filename","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/global","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/hasOwnProperty shorthand","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/make namespace object","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/node module decorator","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/sharing","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/publicPath","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/jsonp chunk loading","webpack://@kenyaemr/esm-bed-management-app/webpack/runtime/nonce","webpack://@kenyaemr/esm-bed-management-app/webpack/startup"],"names":["inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","findSingletonVersionKey","getInvalidSingletonVersionMessage","getSingletonVersion","warn","get","loadSingletonVersionCheckFallback","installedModules","moduleToHandlerMapping","chunkMapping","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","definition","key","Object","defineProperty","enumerable","f","chunkId","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","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","test","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":{"fhir2":"^1.2.0","webservices.rest":"^2.24.0"},"pages":[{"component":"root","route":"bed-management"}],"extensions":[{"component":"adminCardLink","name":"bed-management-admin-card-link","slot":"system-admin-page-card-link-slot"},{"component":"adminLeftPanelLink","name":"bed-administration-left-panel-link","slot":"bed-management-left-panel-slot"},{"component":"summaryLeftPanelLink","name":"bed-management-home-dashboard-link","slot":"bed-management-left-panel-slot","order":0},{"component":"bedAdmission","name":"bed-admission-dashboard","slot":"bed-admission-dashboard-slot"},{"component":"bedTypeLeftPanelLink","name":"bed-type-left-panel-link","slot":"bed-management-left-panel-slot"},{"component":"bedTagLeftPanelLink","name":"bed-tag-left-panel-link","slot":"bed-management-left-panel-slot"},{"name":"bed-admission-dashboard-link","component":"bedAdmissionDashboardLink","slot":"homepage-dashboard-slot","meta":{"name":"bed-admission","slot":"bed-admission-dashboard-slot","title":"Bed-admission"}}],"version":"1.0.1-pre.7"}
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":"^2.24.0"},"pages":[{"component":"root","route":"bed-management"}],"extensions":[{"component":"adminCardLink","name":"bed-management-admin-card-link","slot":"system-admin-page-card-link-slot"},{"component":"adminLeftPanelLink","name":"bed-administration-left-panel-link","slot":"bed-management-left-panel-slot"},{"component":"bedTypeLeftPanelLink","name":"bed-type-left-panel-link","slot":"bed-management-left-panel-slot"},{"component":"bedTagLeftPanelLink","name":"bed-tag-left-panel-link","slot":"bed-management-left-panel-slot"},{"component":"summaryLeftPanelLink","name":"bed-management-home-dashboard-link","slot":"bed-management-left-panel-slot","order":0},{"component":"bedAdmission","name":"bed-admission-dashboard","slot":"bed-admission-dashboard-slot"},{"name":"bed-admission-dashboard-link","component":"bedAdmissionDashboardLink","slot":"homepage-dashboard-slot","meta":{"name":"bed-admission","slot":"bed-admission-dashboard-slot","title":"Bed-admission"}}],"version":"8.1.1-pre.116"}
package/jest.config.js CHANGED
@@ -0,0 +1,3 @@
1
+ const rootConfig = require('../../jest.config.js');
2
+
3
+ module.exports = rootConfig;
package/package.json CHANGED
@@ -1,112 +1,55 @@
1
1
  {
2
2
  "name": "@kenyaemr/esm-bed-management-app",
3
- "version": "1.0.1-pre.7",
4
- "license": "MPL-2.0",
5
- "description": "A frontend module for managing beds in UgandaEMR+",
6
- "browser": "dist/esm-kenyaemr-bed-management-app.js",
3
+ "version": "8.1.1-pre.116",
4
+ "description": "Bed management app for OpenMRS 3",
5
+ "browser": "dist/openmrs-esm-bed-management-app.js",
7
6
  "main": "src/index.ts",
8
7
  "source": true,
8
+ "license": "MPL-2.0",
9
+ "homepage": "https://github.com/openmrs/openmrs-esm-patient-management#readme",
9
10
  "scripts": {
10
11
  "start": "openmrs develop",
11
12
  "serve": "webpack serve --mode=development",
13
+ "debug": "npm run serve",
12
14
  "build": "webpack --mode production",
13
- "analyze": "webpack --mode=production --env analyze=true",
14
- "lint": "TIMING=1 eslint src --ext js,jsx,ts,tsx",
15
- "prettier": "prettier --write \"src/**/*.{ts,tsx}\"",
16
- "typescript": "tsc",
17
- "test": "jest --config jest.config.js --passWithNoTests",
18
- "verify": "turbo lint typescript coverage",
15
+ "analyze": "webpack --mode=production --env.analyze=true",
16
+ "lint": "cross-env eslint src --ext ts,tsx",
17
+ "test": "cross-env TZ=UTC jest --config jest.config.js --verbose false --passWithNoTests --color",
18
+ "test:watch": "cross-env TZ=UTC jest --watch --config jest.config.js --color",
19
19
  "coverage": "yarn test --coverage",
20
- "prepare": "husky install",
21
- "extract-translations": "i18next 'src/**/*.component.tsx' --config ./i18next-parser.config.js"
22
- },
23
- "husky": {
24
- "hooks": {
25
- "pre-commit": "pretty-quick --staged && yarn verify"
26
- }
20
+ "typescript": "tsc",
21
+ "extract-translations": "i18next 'src/**/*.component.tsx' 'src/**/*.extension.tsx' 'src/**/*modal.tsx' 'src/**/*.workspace.tsx' 'src/index.ts' --config ../../tools/i18next-parser.config.js"
27
22
  },
28
23
  "browserslist": [
29
24
  "extends browserslist-config-openmrs"
30
25
  ],
31
26
  "keywords": [
32
- "openmrs",
33
- "microfrontends"
27
+ "openmrs"
34
28
  ],
35
- "repository": {
36
- "type": "git",
37
- "url": "git+https://github.com/mets-programme/esm-ugandaemr-bed-management-app.git"
38
- },
39
- "homepage": "https://github.com/mets-programme/esm-ugandaemr-bed-management-app#readme",
40
29
  "publishConfig": {
41
30
  "access": "public"
42
31
  },
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/openmrs/openmrs-esm-patient-management.git"
35
+ },
43
36
  "bugs": {
44
- "url": "https://github.com/mets-programme/esm-ugandaemr-bed-management-app/issues"
37
+ "url": "https://github.com/openmrs/openmrs-esm-patient-management/issues"
45
38
  },
46
39
  "dependencies": {
47
- "@carbon/react": "^1.33.1",
48
- "@hookform/resolvers": "^3.3.1",
49
- "@openmrs/openmrs-form-engine-lib": "^1.0.0-pre.44",
50
- "classnames": "^2.3.2",
51
- "dayjs": "^1.11.9",
52
- "lodash-es": "^4.17.21",
53
- "react-hook-form": "^7.47.0",
54
- "react-image-annotate": "^1.8.0",
55
- "zod": "^3.22.2"
40
+ "@carbon/react": "~1.37.0",
41
+ "lodash-es": "^4.17.15"
56
42
  },
57
43
  "peerDependencies": {
58
- "@openmrs/esm-framework": "*",
59
- "@openmrs/openmrs-form-engine-lib": "5.x",
44
+ "@openmrs/esm-framework": "5.x",
45
+ "dayjs": "1.x",
60
46
  "react": "18.x",
61
47
  "react-i18next": "11.x",
62
48
  "react-router-dom": "6.x",
63
- "rxjs": "6.x"
49
+ "swr": "2.x"
64
50
  },
65
51
  "devDependencies": {
66
- "@openmrs/esm-framework": "next",
67
- "@openmrs/esm-patient-common-lib": "next",
68
- "@openmrs/esm-styleguide": "next",
69
- "@swc/cli": "^0.1.62",
70
- "@swc/core": "^1.3.68",
71
- "@swc/jest": "^0.2.26",
72
- "@testing-library/dom": "^8.20.1",
73
- "@testing-library/jest-dom": "^5.16.5",
74
- "@testing-library/react": "^13.4.0",
75
- "@testing-library/user-event": "^14.4.3",
76
- "@types/jest": "^28.1.8",
77
- "@types/react": "^18.2.14",
78
- "@types/react-dom": "^18.2.6",
79
- "@types/react-router": "^5.1.20",
80
- "@types/react-router-dom": "^5.3.3",
81
- "@types/webpack-env": "^1.18.1",
82
- "@typescript-eslint/eslint-plugin": "^5.61.0",
83
- "@typescript-eslint/parser": "^5.61.0",
84
- "css-loader": "^6.8.1",
85
- "eslint": "^8.44.0",
86
- "eslint-config-prettier": "^8.8.0",
87
- "eslint-config-ts-react-important-stuff": "^3.0.0",
88
- "eslint-plugin-prettier": "^4.2.1",
89
- "husky": "^8.0.0",
90
- "i18next": "^23.2.8",
91
- "i18next-parser": "^8.0.0",
92
- "identity-obj-proxy": "^3.0.0",
93
- "jest": "^28.1.3",
94
- "jest-cli": "^28.1.3",
95
- "jest-environment-jsdom": "^28.1.3",
96
- "openmrs": "next",
97
- "prettier": "^2.8.8",
98
- "pretty-quick": "^3.1.3",
99
- "react": "^18.2.0",
100
- "react-dom": "^18.2.0",
101
- "react-i18next": "^11.18.6",
102
- "react-router-dom": "^6.14.1",
103
- "rxjs": "^6.6.7",
104
- "swc-loader": "^0.2.3",
105
- "turbo": "^1.10.7",
106
- "typescript": "^4.9.5",
107
- "webpack": "^5.88.1",
108
- "webpack-cli": "^5.1.4"
52
+ "webpack": "^5.74.0"
109
53
  },
110
- "packageManager": "yarn@3.6.3",
111
- "stableVersion": "1.0.0"
54
+ "stableVersion": "8.1.0"
112
55
  }
@@ -1,15 +1,13 @@
1
1
  /** At present, this entire mock is boilerplate. */
2
- import "react";
3
- import "react-i18next";
2
+ import 'react';
3
+ const reactI18next = require('react-i18next');
4
4
 
5
- const hasChildren = (node) =>
6
- node && (node.children || (node.props && node.props.children));
5
+ const hasChildren = (node) => node && (node.children || (node.props && node.props.children));
7
6
 
8
- const getChildren = (node) =>
9
- node && node.children ? node.children : node.props && node.props.children;
7
+ const getChildren = (node) => (node && node.children ? node.children : node.props && node.props.children);
10
8
 
11
9
  const renderNodes = (reactNodes) => {
12
- if (typeof reactNodes === "string") {
10
+ if (typeof reactNodes === 'string') {
13
11
  return reactNodes;
14
12
  }
15
13
 
@@ -17,18 +15,15 @@ const renderNodes = (reactNodes) => {
17
15
  const child = reactNodes[key];
18
16
  const isElement = React.isValidElement(child);
19
17
 
20
- if (typeof child === "string") {
18
+ if (typeof child === 'string') {
21
19
  return child;
22
20
  }
23
21
  if (hasChildren(child)) {
24
22
  const inner = renderNodes(getChildren(child));
25
23
  return React.cloneElement(child, { ...child.props, key: i }, inner);
26
24
  }
27
- if (typeof child === "object" && !isElement) {
28
- return Object.keys(child).reduce(
29
- (str, childKey) => `${str}${child[childKey]}`,
30
- ""
31
- );
25
+ if (typeof child === 'object' && !isElement) {
26
+ return Object.keys(child).reduce((str, childKey) => `${str}${child[childKey]}`, '');
32
27
  }
33
28
 
34
29
  return child;
@@ -36,7 +31,16 @@ const renderNodes = (reactNodes) => {
36
31
  };
37
32
 
38
33
  const useMock = [(k) => k, {}];
39
- useMock.t = (k, o) => (o && o.defaultValue) || (typeof o === "string" ? o : k);
34
+ useMock.t = (key, defaultValue, options = {}) => {
35
+ let translatedString = defaultValue;
36
+ Object.keys(options).forEach((key) => {
37
+ if (key != 'interpolation') {
38
+ translatedString = defaultValue.replace(`{{${key}}}`, `${options[key]}`);
39
+ }
40
+ });
41
+
42
+ return translatedString ?? key;
43
+ };
40
44
  useMock.i18n = {};
41
45
 
42
46
  module.exports = {
@@ -1,20 +1,17 @@
1
- import React from "react";
2
- import { useTranslation } from "react-i18next";
3
- import { Layer, ClickableTile } from "@carbon/react";
4
- import { ArrowRight } from "@carbon/react/icons";
1
+ import React from 'react';
2
+ import { useTranslation } from 'react-i18next';
3
+ import { Layer, ClickableTile } from '@carbon/react';
4
+ import { ArrowRight } from '@carbon/react/icons';
5
5
 
6
6
  const BedManagementAdminCardLink: React.FC = () => {
7
7
  const { t } = useTranslation();
8
- const header = t("manageBeds", "Manage Beds");
8
+ const header = t('manageBeds', 'Manage Beds');
9
9
  return (
10
10
  <Layer>
11
- <ClickableTile
12
- href={window.getOpenmrsSpaBase() + "bed-management/summary"}
13
- rel="noopener noreferrer"
14
- >
11
+ <ClickableTile href={window.getOpenmrsSpaBase() + 'bed-management'} rel="noopener noreferrer">
15
12
  <div>
16
13
  <div className="heading">{header}</div>
17
- <div className="content">{t("bedManagement", "Bed Management")}</div>
14
+ <div className="content">{t('bedManagement', 'Bed Management')}</div>
18
15
  </div>
19
16
  <div className="iconWrapper">
20
17
  <ArrowRight size={16} />
@@ -1,8 +1,8 @@
1
- import React, { useState } from "react";
2
- import capitalize from "lodash-es/capitalize";
3
- import { z } from "zod";
4
- import { useForm, Controller } from "react-hook-form";
5
- import { zodResolver } from "@hookform/resolvers/zod";
1
+ import React, { useState } from 'react';
2
+ import capitalize from 'lodash-es/capitalize';
3
+ import { z } from 'zod';
4
+ import { useForm, Controller } from 'react-hook-form';
5
+ import { zodResolver } from '@hookform/resolvers/zod';
6
6
  import {
7
7
  Button,
8
8
  ComboBox,
@@ -19,18 +19,18 @@ import {
19
19
  TextArea,
20
20
  TextInput,
21
21
  InlineNotification,
22
- } from "@carbon/react";
23
- import { useTranslation } from "react-i18next";
24
- import { Location } from "@openmrs/esm-framework";
25
- import type { BedType, InitialData } from "../types";
26
- import { BedAdministrationData } from "./bed-administration-types";
22
+ } from '@carbon/react';
23
+ import { useTranslation } from 'react-i18next';
24
+ import { getCoreTranslation, type Location } from '@openmrs/esm-framework';
25
+ import type { BedType, BedFormData } from '../types';
26
+ import { type BedAdministrationData } from './bed-administration-types';
27
27
 
28
28
  const numberInString = z.string().transform((val, ctx) => {
29
29
  const parsed = parseInt(val);
30
30
  if (isNaN(parsed) || parsed < 1) {
31
31
  ctx.addIssue({
32
32
  code: z.ZodIssueCode.custom,
33
- message: "Please enter a valid number",
33
+ message: 'Please enter a valid number',
34
34
  });
35
35
  return z.NEVER;
36
36
  }
@@ -38,19 +38,15 @@ const numberInString = z.string().transform((val, ctx) => {
38
38
  });
39
39
 
40
40
  const BedAdministrationSchema = z.object({
41
- bedId: z.string().min(5).max(255),
41
+ bedId: z.string().max(255),
42
42
  description: z.string().max(255),
43
43
  bedRow: numberInString,
44
44
  bedColumn: numberInString,
45
45
  location: z
46
46
  .object({ display: z.string(), uuid: z.string() })
47
- .refine((value) => value.display != "", "Please select a valid location"),
48
- occupancyStatus: z
49
- .string()
50
- .refine((value) => value != "", "Please select a valid occupied status"),
51
- bedType: z
52
- .string()
53
- .refine((value) => value != "", "Please select a valid bed type"),
47
+ .refine((value) => value.display != '', 'Please select a valid location'),
48
+ occupancyStatus: z.string().refine((value) => value != '', 'Please select a valid occupied status'),
49
+ bedType: z.string().refine((value) => value != '', 'Please select a valid bed type'),
54
50
  });
55
51
 
56
52
  interface BedAdministrationFormProps {
@@ -61,7 +57,7 @@ interface BedAdministrationFormProps {
61
57
  handleCreateQuestion?: (formData: BedAdministrationData) => void;
62
58
  headerTitle: string;
63
59
  occupancyStatuses: string[];
64
- initialData: InitialData;
60
+ initialData: BedFormData;
65
61
  }
66
62
 
67
63
  interface ErrorType {
@@ -79,19 +75,13 @@ const BedAdministrationForm: React.FC<BedAdministrationFormProps> = ({
79
75
  initialData,
80
76
  }) => {
81
77
  const { t } = useTranslation();
82
- const [occupancyStatus, setOccupancyStatus] = useState(
83
- capitalize(initialData.status)
84
- );
85
- const [selectedBedType] = useState(initialData.bedType.name);
78
+ const [occupancyStatus, setOccupancyStatus] = useState(capitalize(initialData.status));
79
+ const [selectedBedType] = useState(initialData.bedType?.name ?? '');
86
80
  const [showErrorNotification, setShowErrorNotification] = useState(false);
87
- const [formStateError, setFormStateError] = useState("");
81
+ const [formStateError, setFormStateError] = useState('');
88
82
 
89
83
  const filterLocationNames = (location) => {
90
- return (
91
- location.item.display
92
- ?.toLowerCase()
93
- .includes(location?.inputValue?.toLowerCase()) ?? []
94
- );
84
+ return location.item.display?.toLowerCase().includes(location?.inputValue?.toLowerCase()) ?? [];
95
85
  };
96
86
 
97
87
  const {
@@ -99,16 +89,16 @@ const BedAdministrationForm: React.FC<BedAdministrationFormProps> = ({
99
89
  control,
100
90
  formState: { isDirty },
101
91
  } = useForm<BedAdministrationData>({
102
- mode: "all",
92
+ mode: 'all',
103
93
  resolver: zodResolver(BedAdministrationSchema),
104
94
  defaultValues: {
105
- bedId: initialData.bedNumber || "",
106
- description: initialData.description || "",
107
- bedRow: initialData.row.toString() || "0",
108
- bedColumn: initialData.column.toString() || "0",
109
- location: initialData.location || {},
110
- occupancyStatus: capitalize(initialData.status) || occupancyStatus,
111
- bedType: initialData.bedType.name || "",
95
+ bedId: initialData.bedNumber ?? '',
96
+ description: initialData.bedType?.description ?? '',
97
+ bedRow: initialData.row.toString() ?? '0',
98
+ bedColumn: initialData.column.toString() ?? '0',
99
+ location: initialData.location ?? {},
100
+ occupancyStatus: capitalize(initialData.status) ?? occupancyStatus,
101
+ bedType: initialData.bedType?.name ?? '',
112
102
  },
113
103
  });
114
104
 
@@ -126,16 +116,12 @@ const BedAdministrationForm: React.FC<BedAdministrationFormProps> = ({
126
116
  };
127
117
 
128
118
  return (
129
- <ComposedModal
130
- open={showModal}
131
- onClose={() => onModalChange(false)}
132
- preventCloseOnClickOutside
133
- >
119
+ <ComposedModal open={showModal} onClose={() => onModalChange(false)} preventCloseOnClickOutside>
134
120
  <ModalHeader title={headerTitle} />
135
- <Form onSubmit={handleSubmit(onSubmit, onError)}>
136
- <ModalBody hasScrollingContent>
121
+ <ModalBody hasScrollingContent>
122
+ <Form>
137
123
  <Stack gap={3}>
138
- <FormGroup legendText={""}>
124
+ <FormGroup legendText={''}>
139
125
  <Controller
140
126
  name="bedId"
141
127
  control={control}
@@ -143,8 +129,8 @@ const BedAdministrationForm: React.FC<BedAdministrationFormProps> = ({
143
129
  <>
144
130
  <TextInput
145
131
  id="bedId"
146
- labelText={t("bedId", "Bed number")}
147
- placeholder={t("bedIdPlaceholder", "e.g. BMW-201")}
132
+ labelText={t('bedId', 'Bed number')}
133
+ placeholder={t('bedIdPlaceholder', 'e.g. BMW-201')}
148
134
  invalidText={fieldState.error?.message}
149
135
  {...field}
150
136
  />
@@ -163,12 +149,9 @@ const BedAdministrationForm: React.FC<BedAdministrationFormProps> = ({
163
149
  rows={2}
164
150
  id="description"
165
151
  invalidText={fieldState?.error?.message}
166
- labelText={t("description", "Bed description")}
152
+ labelText={t('description', 'Bed description')}
167
153
  {...field}
168
- placeholder={t(
169
- "description",
170
- "Enter the bed description"
171
- )}
154
+ placeholder={t('description', 'Enter the bed description')}
172
155
  />
173
156
  </>
174
157
  )}
@@ -213,27 +196,21 @@ const BedAdministrationForm: React.FC<BedAdministrationFormProps> = ({
213
196
  <Controller
214
197
  name="location"
215
198
  control={control}
216
- render={({
217
- fieldState,
218
- field: { onChange, onBlur, value, ref },
219
- }) => (
199
+ render={({ fieldState, field: { onChange, onBlur, value, ref } }) => (
220
200
  <ComboBox
221
- aria-label={t("location", "Location")}
201
+ aria-label={t('location', 'Location')}
222
202
  shouldFilterItem={filterLocationNames}
223
203
  id="location"
224
- label={t("location", "Location")}
204
+ label={t('location', 'Location')}
225
205
  invalidText={fieldState?.error?.message}
226
206
  items={allLocations}
227
207
  onBlur={onBlur}
228
208
  ref={ref}
229
209
  selectedItem={value}
230
210
  onChange={({ selectedItem }) => onChange(selectedItem)}
231
- itemToString={(location) => location?.display ?? ""}
232
- placeholder={t(
233
- "selectBedLocation",
234
- "Select a bed location"
235
- )}
236
- titleText={t("bedLocation", "Location")}
211
+ itemToString={(location) => location?.display ?? ''}
212
+ placeholder={t('selectBedLocation', 'Select a bed location')}
213
+ titleText={t('bedLocation', 'Location')}
237
214
  />
238
215
  )}
239
216
  />
@@ -246,21 +223,17 @@ const BedAdministrationForm: React.FC<BedAdministrationFormProps> = ({
246
223
  render={({ field, fieldState }) => (
247
224
  <Select
248
225
  id="occupancyStatus"
249
- labelText={t("occupancyStatus", "Occupied Status")}
226
+ labelText={t('occupancyStatus', 'Occupied Status')}
250
227
  invalidText={fieldState.error?.message}
251
228
  defaultValue={occupancyStatus}
252
229
  onChange={(event) => setOccupancyStatus(event.target.value)}
253
230
  value={occupancyStatus}
254
- {...field}
255
- >
256
- <SelectItem
257
- text={t("chooseOccupiedStatus", "Choose occupied status")}
258
- value=""
259
- />
231
+ {...field}>
232
+ <SelectItem text={t('chooseOccupiedStatus', 'Choose occupied status')} value="" />
260
233
  {occupancyStatuses.map((occupancyStatus, index) => (
261
234
  <SelectItem
262
- text={t("occupancyStatus", `${occupancyStatus}`)}
263
- value={t("occupancyStatus", `${occupancyStatus}`)}
235
+ text={t('occupancyStatus', `${occupancyStatus}`)}
236
+ value={t('occupancyStatus', `${occupancyStatus}`)}
264
237
  key={`occupancyStatus-${index}`}
265
238
  />
266
239
  ))}
@@ -276,20 +249,13 @@ const BedAdministrationForm: React.FC<BedAdministrationFormProps> = ({
276
249
  render={({ field }) => (
277
250
  <Select
278
251
  id="bedType"
279
- labelText={t("bedType", "Bed type")}
280
- invalidText={t("required", "Required")}
252
+ labelText={t('bedType', 'Bed type')}
253
+ invalidText={t('required', 'Required')}
281
254
  defaultValue={selectedBedType}
282
- {...field}
283
- >
284
- <SelectItem
285
- text={t("chooseBedtype", "Choose a bed type")}
286
- />
255
+ {...field}>
256
+ <SelectItem text={t('chooseBedtype', 'Choose a bed type')} />
287
257
  {availableBedTypes.map((bedType, index) => (
288
- <SelectItem
289
- text={bedType.name}
290
- value={bedType.name}
291
- key={`bedType-${index}`}
292
- >
258
+ <SelectItem text={bedType.name} value={bedType.name} key={`bedType-${index}`}>
293
259
  {bedType.name}
294
260
  </SelectItem>
295
261
  ))}
@@ -300,25 +266,25 @@ const BedAdministrationForm: React.FC<BedAdministrationFormProps> = ({
300
266
  {showErrorNotification && (
301
267
  <InlineNotification
302
268
  lowContrast
303
- title={t("error", "Error")}
304
- style={{ minWidth: "100%", margin: "0rem", padding: "0rem" }}
269
+ title={t('error', 'Error')}
270
+ style={{ minWidth: '100%', margin: '0', padding: '0' }}
305
271
  role="alert"
306
272
  kind="error"
307
- subtitle={t("pleaseFillField", formStateError) + "."}
273
+ subtitle={t('pleaseFillField', formStateError) + '.'}
308
274
  onClose={() => setShowErrorNotification(false)}
309
275
  />
310
276
  )}
311
277
  </Stack>
312
- </ModalBody>
313
- <ModalFooter>
314
- <Button onClick={() => onModalChange(false)} kind="secondary">
315
- {t("cancel", "Cancel")}
316
- </Button>
317
- <Button disabled={!isDirty} type="submit">
318
- <span>{t("save", "Save")}</span>
319
- </Button>
320
- </ModalFooter>
321
- </Form>
278
+ </Form>
279
+ </ModalBody>
280
+ <ModalFooter>
281
+ <Button onClick={() => onModalChange(false)} kind="secondary">
282
+ {getCoreTranslation('cancel', 'Cancel')}
283
+ </Button>
284
+ <Button disabled={!isDirty} onClick={handleSubmit(onSubmit, onError)}>
285
+ <span>{t('save', 'Save')}</span>
286
+ </Button>
287
+ </ModalFooter>
322
288
  </ComposedModal>
323
289
  );
324
290
  };