@openmrs/esm-fast-data-entry-app 1.0.0-pre.9 → 1.0.1-pre.101

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 (186) hide show
  1. package/README.md +58 -12
  2. package/dist/153.js +1 -0
  3. package/dist/153.js.map +1 -0
  4. package/dist/233.js +2 -0
  5. package/dist/{382.js.LICENSE.txt → 233.js.LICENSE.txt} +3 -2
  6. package/dist/233.js.map +1 -0
  7. package/dist/262.js +1 -0
  8. package/dist/262.js.map +1 -0
  9. package/dist/279.js +1 -0
  10. package/dist/279.js.map +1 -0
  11. package/dist/294.js +1 -2
  12. package/dist/294.js.LICENSE.txt +2 -7
  13. package/dist/294.js.map +1 -1
  14. package/dist/327.js +1 -0
  15. package/dist/327.js.map +1 -0
  16. package/dist/409.js +2 -0
  17. package/dist/409.js.LICENSE.txt +27 -0
  18. package/dist/409.js.map +1 -0
  19. package/dist/415.js +1 -2
  20. package/dist/415.js.map +1 -1
  21. package/dist/559.js +1 -0
  22. package/dist/559.js.map +1 -0
  23. package/dist/574.js +1 -1
  24. package/dist/651.js +1 -0
  25. package/dist/651.js.map +1 -0
  26. package/dist/706.js +1 -0
  27. package/dist/706.js.map +1 -0
  28. package/dist/757.js +1 -0
  29. package/dist/800.js +2 -0
  30. package/dist/800.js.LICENSE.txt +5 -0
  31. package/dist/800.js.map +1 -0
  32. package/dist/820.js +1 -0
  33. package/dist/820.js.map +1 -0
  34. package/dist/883.js +1 -0
  35. package/dist/883.js.map +1 -0
  36. package/dist/889.js +1 -0
  37. package/dist/889.js.map +1 -0
  38. package/dist/897.js +2 -0
  39. package/dist/897.js.LICENSE.txt +21 -0
  40. package/dist/897.js.map +1 -0
  41. package/dist/92.js +1 -0
  42. package/dist/92.js.map +1 -0
  43. package/dist/935.js +2 -0
  44. package/dist/{735.js.LICENSE.txt → 935.js.LICENSE.txt} +6 -16
  45. package/dist/935.js.map +1 -0
  46. package/dist/959.js +1 -0
  47. package/dist/959.js.map +1 -0
  48. package/dist/main.js +1 -0
  49. package/dist/main.js.map +1 -0
  50. package/dist/openmrs-esm-fast-data-entry-app.js +1 -1
  51. package/dist/openmrs-esm-fast-data-entry-app.js.buildmanifest.json +374 -89
  52. package/dist/openmrs-esm-fast-data-entry-app.js.map +1 -1
  53. package/dist/routes.json +1 -0
  54. package/docs/config-icrc-forms.png +0 -0
  55. package/docs/config-other-forms.png +0 -0
  56. package/docs/configuring-form-categories.md +77 -0
  57. package/docs/fde-workflow.mov +0 -0
  58. package/docs/form-workflow-state-diagram.png +0 -0
  59. package/jest.config.json +21 -18
  60. package/package.json +100 -106
  61. package/src/CancelModal.tsx +48 -0
  62. package/src/CompleteModal.tsx +46 -0
  63. package/src/FormBootstrap.tsx +166 -0
  64. package/src/Root.tsx +14 -3
  65. package/src/add-group-modal/AddGroupModal.tsx +288 -0
  66. package/src/add-group-modal/styles.scss +45 -0
  67. package/src/config-schema.ts +85 -31
  68. package/src/context/FormWorkflowContext.tsx +126 -0
  69. package/src/context/FormWorkflowReducer.ts +287 -0
  70. package/src/context/GroupFormWorkflowContext.tsx +176 -0
  71. package/src/context/GroupFormWorkflowReducer.ts +430 -0
  72. package/src/empty-state/EmptyDataIllustration.tsx +51 -0
  73. package/src/empty-state/EmptyState.tsx +33 -0
  74. package/src/empty-state/styles.scss +55 -0
  75. package/src/form-entry-workflow/FormEntryWorkflow.tsx +196 -0
  76. package/src/form-entry-workflow/form-review-card/FormReviewCard.tsx +50 -0
  77. package/src/form-entry-workflow/form-review-card/index.ts +3 -0
  78. package/src/form-entry-workflow/form-review-card/styles.scss +39 -0
  79. package/src/form-entry-workflow/index.ts +3 -0
  80. package/src/form-entry-workflow/patient-banner/PatientBanner.test.tsx +9 -0
  81. package/src/form-entry-workflow/patient-banner/PatientBanner.tsx +86 -0
  82. package/src/form-entry-workflow/patient-banner/index.ts +3 -0
  83. package/src/form-entry-workflow/patient-banner/styles.scss +45 -0
  84. package/src/form-entry-workflow/patient-search-header/PatientSearchHeader.tsx +63 -0
  85. package/src/form-entry-workflow/patient-search-header/index.ts +3 -0
  86. package/src/form-entry-workflow/patient-search-header/styles.scss +22 -0
  87. package/src/form-entry-workflow/styles.scss +65 -0
  88. package/src/form-entry-workflow/workflow-review/WorkflowReview.tsx +35 -0
  89. package/src/form-entry-workflow/workflow-review/index.ts +3 -0
  90. package/src/form-entry-workflow/workflow-review/styles.scss +34 -0
  91. package/src/forms-app-menu-link.tsx +3 -2
  92. package/src/forms-page/FormsPage.tsx +134 -0
  93. package/src/forms-page/forms-table/FormsTable.tsx +137 -0
  94. package/src/forms-page/forms-table/index.ts +3 -0
  95. package/src/forms-page/forms-table/styles.scss +20 -0
  96. package/src/forms-page/index.ts +3 -0
  97. package/src/forms-page/styles.scss +11 -0
  98. package/src/group-form-entry-workflow/GroupFormEntryWorkflow.tsx +26 -0
  99. package/src/group-form-entry-workflow/GroupSessionWorkspace.tsx +247 -0
  100. package/src/group-form-entry-workflow/SessionDetailsForm.tsx +131 -0
  101. package/src/group-form-entry-workflow/SessionMetaWorkspace.tsx +107 -0
  102. package/src/group-form-entry-workflow/attendance-table/AttendanceTable.tsx +144 -0
  103. package/src/group-form-entry-workflow/attendance-table/index.ts +1 -0
  104. package/src/group-form-entry-workflow/group-display-header/GroupDisplayHeader.test.tsx +9 -0
  105. package/src/group-form-entry-workflow/group-display-header/GroupDisplayHeader.tsx +63 -0
  106. package/src/group-form-entry-workflow/group-display-header/index.ts +3 -0
  107. package/src/group-form-entry-workflow/group-display-header/styles.scss +60 -0
  108. package/src/group-form-entry-workflow/group-search/CompactGroupResults.tsx +139 -0
  109. package/src/group-form-entry-workflow/group-search/CompactGroupSearch.tsx +68 -0
  110. package/src/group-form-entry-workflow/group-search/GroupSearch.tsx +150 -0
  111. package/src/group-form-entry-workflow/group-search/compact-group-result.scss +64 -0
  112. package/src/group-form-entry-workflow/group-search/compact-group-search.scss +35 -0
  113. package/src/group-form-entry-workflow/group-search/group-search.scss +96 -0
  114. package/src/group-form-entry-workflow/group-search-header/GroupSearchHeader.tsx +73 -0
  115. package/src/group-form-entry-workflow/group-search-header/index.ts +3 -0
  116. package/src/group-form-entry-workflow/group-search-header/styles.scss +20 -0
  117. package/src/group-form-entry-workflow/index.ts +3 -0
  118. package/src/group-form-entry-workflow/styles.scss +97 -0
  119. package/src/hooks/index.ts +7 -0
  120. package/src/hooks/useFormState.ts +23 -0
  121. package/src/hooks/useGetAllForms.ts +45 -0
  122. package/src/hooks/useGetEncounter.ts +21 -0
  123. package/src/hooks/useGetPatient.ts +23 -0
  124. package/src/hooks/useGetPatients.ts +34 -0
  125. package/src/hooks/useGetSystemSetting.ts +38 -0
  126. package/src/hooks/useKeyPress.ts +31 -0
  127. package/src/hooks/usePostEndpoint.ts +76 -0
  128. package/src/hooks/useSearchEndpoint.ts +120 -0
  129. package/src/hooks/useStartVisit.ts +92 -0
  130. package/src/index.ts +26 -62
  131. package/src/patient-card/PatientCard.tsx +67 -0
  132. package/src/patient-card/index.ts +3 -0
  133. package/src/patient-card/styles.scss +46 -0
  134. package/src/routes.json +24 -0
  135. package/tools/i18next-parser.config.js +93 -0
  136. package/translations/en.json +69 -4
  137. package/translations/fr.json +50 -0
  138. package/tsconfig.json +26 -23
  139. package/.editorconfig +0 -12
  140. package/.eslintignore +0 -2
  141. package/.eslintrc +0 -4
  142. package/.github/workflows/node.js.yml +0 -79
  143. package/.husky/pre-commit +0 -6
  144. package/.husky/pre-push +0 -6
  145. package/.prettierignore +0 -14
  146. package/dist/24.js +0 -3
  147. package/dist/24.js.LICENSE.txt +0 -16
  148. package/dist/24.js.map +0 -1
  149. package/dist/296.js +0 -2
  150. package/dist/296.js.map +0 -1
  151. package/dist/299.js +0 -2
  152. package/dist/299.js.map +0 -1
  153. package/dist/382.js +0 -3
  154. package/dist/382.js.map +0 -1
  155. package/dist/595.js +0 -3
  156. package/dist/595.js.LICENSE.txt +0 -1
  157. package/dist/595.js.map +0 -1
  158. package/dist/69.js +0 -2
  159. package/dist/69.js.map +0 -1
  160. package/dist/735.js +0 -3
  161. package/dist/735.js.map +0 -1
  162. package/dist/777.js +0 -2
  163. package/dist/777.js.map +0 -1
  164. package/dist/860.js +0 -2
  165. package/dist/860.js.map +0 -1
  166. package/dist/906.js +0 -2
  167. package/dist/906.js.map +0 -1
  168. package/dist/openmrs-esm-fast-data-entry-app.old +0 -2
  169. package/src/boxes/extensions/blue-box.tsx +0 -15
  170. package/src/boxes/extensions/box.scss +0 -23
  171. package/src/boxes/extensions/brand-box.tsx +0 -15
  172. package/src/boxes/extensions/red-box.tsx +0 -15
  173. package/src/boxes/slot/boxes.css +0 -23
  174. package/src/boxes/slot/boxes.tsx +0 -19
  175. package/src/forms/FormsRoot.tsx +0 -32
  176. package/src/forms/FormsTable.tsx +0 -64
  177. package/src/forms/mockData.ts +0 -43
  178. package/src/greeter/greeter.css +0 -4
  179. package/src/greeter/greeter.test.tsx +0 -29
  180. package/src/greeter/greeter.tsx +0 -25
  181. package/src/hello.css +0 -3
  182. package/src/hello.test.tsx +0 -45
  183. package/src/hello.tsx +0 -30
  184. package/src/patient-getter/patient-getter.resource.ts +0 -31
  185. package/src/patient-getter/patient-getter.test.tsx +0 -28
  186. package/src/patient-getter/patient-getter.tsx +0 -28
package/dist/69.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_openmrs_esm_fast_data_entry_app=self.webpackChunk_openmrs_esm_fast_data_entry_app||[]).push([[69],{5273:(e,n,t)=>{t.r(n),t.d(n,{default:()=>P});var r=t(5365),a=t.n(r),l=t(9246),o=window.spaBase,c="".concat(o).concat("/forms"),m=t(1558),s=t(8376),i=t(263),u=t(5566),f=t(2302),p=t(3567),E=t(1699),d=t(8529),g=t(8722),b=t(9758),h=t(9586),y=t(7450),w=t(7188);function Z(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var v=function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),r.forEach((function(n){Z(e,n,t[n])}))}return e}({},{rows:[{id:"admission-form",name:"Admission form",region:"All regions",actions:"Fill Form"},{id:"dass-form",name:"DASS 21",region:"All regions",actions:"Fill form"},{id:"follow-up-form",name:"Follow-up form",region:"All regions",actions:"Fill form"},{id:"closure-form",name:"Closure form",region:"All regions",actions:"Fill form"}],headers:[{key:"name",header:"Form name"},{key:"region",header:"Region"},{key:"actions",header:"Actions"}]});function _(){return _=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},_.apply(this,arguments)}const F=function(){var e=v.rows,n=v.headers;return a().createElement(i.ZP,{rows:e,headers:n,isSortable:!0},(function(e){var n=e.rows,t=e.headers,r=e.getTableProps,l=e.getHeaderProps,o=e.getRowProps,c=e.onInputChange;return a().createElement(u.Z,null,a().createElement(f.Z,{style:{position:"relative"}},a().createElement(p.Z,null,a().createElement(E.Z,{onChange:c}))),a().createElement(d.Z,_({},r()),a().createElement(g.Z,null,a().createElement(b.Z,null,t.map((function(e){return a().createElement(h.Z,_({},l({header:e})),e.header)})))),a().createElement(y.Z,null,n.map((function(e){return a().createElement(b.Z,_({},o({row:e})),e.cells.map((function(e){return a().createElement(w.Z,{key:e.id},e.value)})))})))))}))},O=function(e){var n=e.match;return(null==n?void 0:n.params).tab,a().createElement("div",{style:{padding:"2rem"}},a().createElement("h3",{style:{marginBottom:"1.5rem"}},"Forms"),a().createElement(m.ZP,{type:"container"},a().createElement(s.Z,{label:"All Forms"},a().createElement(F,null)),a().createElement(s.Z,{label:"ICRC Forms"},a().createElement(F,null)),a().createElement(s.Z,{label:"Distress Scales"},a().createElement(F,null)),a().createElement(s.Z,{label:"Functioning Scales"},a().createElement(F,null)),a().createElement(s.Z,{label:"Coping Scales"},a().createElement(F,null))))},P=function(){return a().createElement("main",null,a().createElement(l.BrowserRouter,{basename:c},a().createElement(l.Route,{path:"/:tab?",component:O})))}}}]);
2
- //# sourceMappingURL=69.js.map
package/dist/69.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"69.js","mappings":"iNAIaA,EAAUC,OAAOD,QAEjBE,EAAU,GAAaC,OAAVH,GAAkB,OADpB,U,iICLxB,kB,sGAAA,IA0CaI,E,sUAAY,IAAK,CAAEC,KA1CnB,CACX,CACEC,GAAI,iBACJC,KAAM,iBACNC,OAAQ,cACRC,QAAS,aAEX,CACEH,GAAI,YACJC,KAAM,UACNC,OAAQ,cACRC,QAAS,aAEX,CACEH,GAAI,iBACJC,KAAM,iBACNC,OAAQ,cACRC,QAAS,aAEX,CACEH,GAAI,eACJC,KAAM,eACNC,OAAQ,cACRC,QAAS,cAmByBC,QAftB,CACd,CACEC,IAAK,OACLC,OAAQ,aAEV,CACED,IAAK,SACLC,OAAQ,UAEV,CACED,IAAK,UACLC,OAAQ,cCtCZ,a,mMA8DA,QA9CmB,WACjB,IAAQP,EAAkBD,EAAAA,KAAZM,EAAYN,EAAAA,QAC1B,OACE,kBAACS,EAAAA,GAAS,CAACR,KAAMA,EAAMK,QAASA,EAASI,YAAAA,IACtC,Y,IACCT,EAAI,EAAJA,KACAK,EAAO,EAAPA,QACAK,EAAa,EAAbA,cACAC,EAAc,EAAdA,eACAC,EAAW,EAAXA,YACAC,EAAa,EAAbA,cAEA,OACE,kBAACC,EAAAA,EAAc,KACb,kBAACC,EAAAA,EAAY,CAACC,MAAO,CAAEC,SAAU,aAC/B,kBAACC,EAAAA,EAAmB,KAClB,kBAACC,EAAAA,EAAkB,CAACC,SAAUP,MAGlC,kBAACQ,EAAAA,EAAK,KAAKX,KACT,kBAACY,EAAAA,EAAS,KACR,kBAACC,EAAAA,EAAQ,KACNlB,EAAQmB,KAAI,SAACjB,G,OACZ,kBAACkB,EAAAA,EAAW,KAAKd,EAAe,CAAEJ,OAAAA,KAC/BA,EAAOA,aAKhB,kBAACmB,EAAAA,EAAS,KACP1B,EAAKwB,KAAI,SAACG,G,OACT,kBAACJ,EAAAA,EAAQ,KAAKX,EAAY,CAAEe,IAAAA,KACzBA,EAAIC,MAAMJ,KAAI,SAACK,G,OACd,kBAACC,EAAAA,EAAS,CAACxB,IAAKuB,EAAK5B,IAAK4B,EAAKE,qBCnBrD,EA1BkB,Y,IAAGC,EAAK,EAALA,MAEnB,OADgBA,MAAAA,OAAAA,EAAAA,EAAOC,QAAfC,IAEN,kBAACC,MAAG,CAACnB,MAAO,CAAEoB,QAAS,SACrB,kBAACC,KAAE,CAACrB,MAAO,CAAEsB,aAAc,WAAY,SACvC,kBAACC,EAAAA,GAAI,CAACC,KAAK,aACT,kBAACC,EAAAA,EAAG,CAACC,MAAM,aACT,kBAACC,EAAU,OAEb,kBAACF,EAAAA,EAAG,CAACC,MAAM,cACT,kBAACC,EAAU,OAEb,kBAACF,EAAAA,EAAG,CAACC,MAAM,mBACT,kBAACC,EAAU,OAEb,kBAACF,EAAAA,EAAG,CAACC,MAAM,sBACT,kBAACC,EAAU,OAEb,kBAACF,EAAAA,EAAG,CAACC,MAAM,iBACT,kBAACC,EAAU,UCRrB,EAVa,WACX,OACE,kBAACC,OAAI,KACH,kBAACC,EAAAA,cAAa,CAACC,SAAUjD,GACvB,kBAACkD,EAAAA,MAAK,CAACC,KAAK,SAASC,UAAWC","sources":["webpack://@openmrs/esm-fast-data-entry-app/./src/constant.ts","webpack://@openmrs/esm-fast-data-entry-app/./src/forms/mockData.ts","webpack://@openmrs/esm-fast-data-entry-app/./src/forms/FormsTable.tsx","webpack://@openmrs/esm-fast-data-entry-app/./src/forms/FormsRoot.tsx","webpack://@openmrs/esm-fast-data-entry-app/./src/Root.tsx"],"sourcesContent":["export const routes = {\n allForms: \"all-forms\",\n};\n\nexport const spaBase = window.spaBase;\nexport const appBase = `/forms`;\nexport const appPath = `${spaBase}${appBase}`;\n","const rows = [\n {\n id: \"admission-form\",\n name: \"Admission form\",\n region: \"All regions\",\n actions: \"Fill Form\",\n },\n {\n id: \"dass-form\",\n name: \"DASS 21\",\n region: \"All regions\",\n actions: \"Fill form\",\n },\n {\n id: \"follow-up-form\",\n name: \"Follow-up form\",\n region: \"All regions\",\n actions: \"Fill form\",\n },\n {\n id: \"closure-form\",\n name: \"Closure form\",\n region: \"All regions\",\n actions: \"Fill form\",\n },\n];\n\nconst headers = [\n {\n key: \"name\",\n header: \"Form name\",\n },\n {\n key: \"region\",\n header: \"Region\",\n },\n {\n key: \"actions\",\n header: \"Actions\",\n },\n];\n\nexport const tableData = { ...{ rows, headers } };\n","import {\n DataTable,\n Table,\n TableBody,\n TableCell,\n TableContainer,\n TableHead,\n TableHeader,\n TableRow,\n TableToolbar,\n TableToolbarContent,\n TableToolbarSearch,\n} from \"carbon-components-react\";\nimport React from \"react\";\nimport { tableData } from \"./mockData\";\n\nconst FormsTable = () => {\n const { rows, headers } = tableData;\n return (\n <DataTable rows={rows} headers={headers} isSortable>\n {({\n rows,\n headers,\n getTableProps,\n getHeaderProps,\n getRowProps,\n onInputChange,\n }) => {\n return (\n <TableContainer>\n <TableToolbar style={{ position: \"relative\" }}>\n <TableToolbarContent>\n <TableToolbarSearch onChange={onInputChange} />\n </TableToolbarContent>\n </TableToolbar>\n <Table {...getTableProps()}>\n <TableHead>\n <TableRow>\n {headers.map((header) => (\n <TableHeader {...getHeaderProps({ header })}>\n {header.header}\n </TableHeader>\n ))}\n </TableRow>\n </TableHead>\n <TableBody>\n {rows.map((row) => (\n <TableRow {...getRowProps({ row })}>\n {row.cells.map((cell) => (\n <TableCell key={cell.id}>{cell.value}</TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n );\n }}\n </DataTable>\n );\n};\n\nexport default FormsTable;\nexport { FormsTable };\n","import { Tab, Tabs } from \"carbon-components-react\";\nimport React from \"react\";\nimport FormsTable from \"./FormsTable\";\n\nconst FormsRoot = ({ match }) => {\n const { tab } = match?.params;\n return (\n <div style={{ padding: \"2rem\" }}>\n <h3 style={{ marginBottom: \"1.5rem\" }}>Forms</h3>\n <Tabs type=\"container\">\n <Tab label=\"All Forms\">\n <FormsTable />\n </Tab>\n <Tab label=\"ICRC Forms\">\n <FormsTable />\n </Tab>\n <Tab label=\"Distress Scales\">\n <FormsTable />\n </Tab>\n <Tab label=\"Functioning Scales\">\n <FormsTable />\n </Tab>\n <Tab label=\"Coping Scales\">\n <FormsTable />\n </Tab>\n </Tabs>\n </div>\n );\n};\n\nexport default FormsRoot;\nexport { FormsRoot };\n","import React from \"react\";\nimport { BrowserRouter, Route } from \"react-router-dom\";\nimport { appPath } from \"./constant\";\nimport FormsRoot from \"./forms/FormsRoot\";\n\nconst Root = () => {\n return (\n <main>\n <BrowserRouter basename={appPath}>\n <Route path=\"/:tab?\" component={FormsRoot} />\n </BrowserRouter>\n </main>\n );\n};\n\nexport default Root;\n"],"names":["spaBase","window","appPath","appBase","tableData","rows","id","name","region","actions","headers","key","header","DataTable","isSortable","getTableProps","getHeaderProps","getRowProps","onInputChange","TableContainer","TableToolbar","style","position","TableToolbarContent","TableToolbarSearch","onChange","Table","TableHead","TableRow","map","TableHeader","TableBody","row","cells","cell","TableCell","value","match","params","tab","div","padding","h3","marginBottom","Tabs","type","Tab","label","FormsTable","main","BrowserRouter","basename","Route","path","component","FormsRoot"],"sourceRoot":""}