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

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 (133) hide show
  1. package/.eslintrc.js +10 -0
  2. package/.husky/pre-push +1 -6
  3. package/.tx/config +9 -0
  4. package/.yarn/plugins/@yarnpkg/plugin-version.cjs +550 -0
  5. package/.yarn/versions/c1451405.yml +0 -0
  6. package/README.md +39 -12
  7. package/dist/openmrs-esm-fast-data-entry-app.js +1 -1
  8. package/docs/config-icrc-forms.png +0 -0
  9. package/docs/config-other-forms.png +0 -0
  10. package/docs/configuring-form-categories.md +77 -0
  11. package/docs/fde-workflow.mov +0 -0
  12. package/docs/form-workflow-state-diagram.png +0 -0
  13. package/jest.config.json +20 -18
  14. package/package.json +99 -106
  15. package/src/FormBootstrap.tsx +151 -0
  16. package/src/Root.tsx +14 -3
  17. package/src/add-group-modal/AddGroupModal.tsx +262 -0
  18. package/src/add-group-modal/styles.scss +45 -0
  19. package/src/config-schema.ts +63 -31
  20. package/src/context/FormWorkflowContext.tsx +114 -0
  21. package/src/context/FormWorkflowReducer.ts +277 -0
  22. package/src/context/GroupFormWorkflowContext.tsx +143 -0
  23. package/src/context/GroupFormWorkflowReducer.ts +296 -0
  24. package/src/empty-state/EmptyDataIllustration.tsx +51 -0
  25. package/src/empty-state/EmptyState.tsx +33 -0
  26. package/src/empty-state/styles.scss +55 -0
  27. package/src/form-entry-workflow/FormEntryWorkflow.tsx +230 -0
  28. package/src/form-entry-workflow/form-review-card/FormReviewCard.tsx +50 -0
  29. package/src/form-entry-workflow/form-review-card/index.ts +3 -0
  30. package/src/form-entry-workflow/form-review-card/styles.scss +39 -0
  31. package/src/form-entry-workflow/index.ts +3 -0
  32. package/src/form-entry-workflow/patient-banner/PatientBanner.test.tsx +9 -0
  33. package/src/form-entry-workflow/patient-banner/PatientBanner.tsx +86 -0
  34. package/src/form-entry-workflow/patient-banner/index.ts +3 -0
  35. package/src/form-entry-workflow/patient-banner/styles.scss +45 -0
  36. package/src/form-entry-workflow/patient-search-header/PatientSearchHeader.tsx +63 -0
  37. package/src/form-entry-workflow/patient-search-header/index.ts +3 -0
  38. package/src/form-entry-workflow/patient-search-header/styles.scss +22 -0
  39. package/src/form-entry-workflow/styles.scss +64 -0
  40. package/src/form-entry-workflow/workflow-review/WorkflowReview.tsx +35 -0
  41. package/src/form-entry-workflow/workflow-review/index.ts +3 -0
  42. package/src/form-entry-workflow/workflow-review/styles.scss +34 -0
  43. package/src/forms-app-menu-link.tsx +3 -2
  44. package/src/forms-page/FormsPage.tsx +129 -0
  45. package/src/forms-page/forms-table/FormsTable.tsx +131 -0
  46. package/src/forms-page/forms-table/index.ts +3 -0
  47. package/src/forms-page/forms-table/styles.scss +20 -0
  48. package/src/forms-page/index.ts +3 -0
  49. package/src/forms-page/styles.scss +11 -0
  50. package/src/group-form-entry-workflow/GroupFormEntryWorkflow.tsx +413 -0
  51. package/src/group-form-entry-workflow/group-display-header/GroupDisplayHeader.test.tsx +9 -0
  52. package/src/group-form-entry-workflow/group-display-header/GroupDisplayHeader.tsx +71 -0
  53. package/src/group-form-entry-workflow/group-display-header/index.ts +3 -0
  54. package/src/group-form-entry-workflow/group-display-header/styles.scss +60 -0
  55. package/src/group-form-entry-workflow/group-search/CompactGroupResults.tsx +139 -0
  56. package/src/group-form-entry-workflow/group-search/CompactGroupSearch.tsx +68 -0
  57. package/src/group-form-entry-workflow/group-search/GroupSearch.tsx +150 -0
  58. package/src/group-form-entry-workflow/group-search/compact-group-result.scss +64 -0
  59. package/src/group-form-entry-workflow/group-search/compact-group-search.scss +35 -0
  60. package/src/group-form-entry-workflow/group-search/group-search.scss +96 -0
  61. package/src/group-form-entry-workflow/group-search-header/GroupSearchHeader.tsx +49 -0
  62. package/src/group-form-entry-workflow/group-search-header/index.ts +3 -0
  63. package/src/group-form-entry-workflow/group-search-header/styles.scss +20 -0
  64. package/src/group-form-entry-workflow/index.ts +3 -0
  65. package/src/group-form-entry-workflow/styles.scss +96 -0
  66. package/src/hooks/index.ts +7 -0
  67. package/src/hooks/useFormState.ts +23 -0
  68. package/src/hooks/useGetAllForms.ts +45 -0
  69. package/src/hooks/useGetEncounter.ts +21 -0
  70. package/src/hooks/useGetPatient.ts +23 -0
  71. package/src/hooks/useKeyPress.ts +31 -0
  72. package/src/hooks/usePostEndpoint.ts +70 -0
  73. package/src/hooks/useSearchEndpoint.ts +120 -0
  74. package/src/index.ts +20 -4
  75. package/src/patient-card/PatientCard.tsx +67 -0
  76. package/src/patient-card/index.ts +3 -0
  77. package/src/patient-card/styles.scss +45 -0
  78. package/translations/en.json +54 -4
  79. package/tsconfig.json +26 -23
  80. package/.eslintrc +0 -4
  81. package/.github/workflows/node.js.yml +0 -79
  82. package/.husky/pre-commit +0 -6
  83. package/dist/24.js +0 -3
  84. package/dist/24.js.LICENSE.txt +0 -16
  85. package/dist/24.js.map +0 -1
  86. package/dist/294.js +0 -3
  87. package/dist/294.js.LICENSE.txt +0 -14
  88. package/dist/294.js.map +0 -1
  89. package/dist/296.js +0 -2
  90. package/dist/296.js.map +0 -1
  91. package/dist/299.js +0 -2
  92. package/dist/299.js.map +0 -1
  93. package/dist/382.js +0 -3
  94. package/dist/382.js.LICENSE.txt +0 -8
  95. package/dist/382.js.map +0 -1
  96. package/dist/415.js +0 -2
  97. package/dist/415.js.map +0 -1
  98. package/dist/574.js +0 -1
  99. package/dist/595.js +0 -3
  100. package/dist/595.js.LICENSE.txt +0 -1
  101. package/dist/595.js.map +0 -1
  102. package/dist/69.js +0 -2
  103. package/dist/69.js.map +0 -1
  104. package/dist/735.js +0 -3
  105. package/dist/735.js.LICENSE.txt +0 -29
  106. package/dist/735.js.map +0 -1
  107. package/dist/777.js +0 -2
  108. package/dist/777.js.map +0 -1
  109. package/dist/860.js +0 -2
  110. package/dist/860.js.map +0 -1
  111. package/dist/906.js +0 -2
  112. package/dist/906.js.map +0 -1
  113. package/dist/openmrs-esm-fast-data-entry-app.js.buildmanifest.json +0 -369
  114. package/dist/openmrs-esm-fast-data-entry-app.js.map +0 -1
  115. package/dist/openmrs-esm-fast-data-entry-app.old +0 -2
  116. package/src/boxes/extensions/blue-box.tsx +0 -15
  117. package/src/boxes/extensions/box.scss +0 -23
  118. package/src/boxes/extensions/brand-box.tsx +0 -15
  119. package/src/boxes/extensions/red-box.tsx +0 -15
  120. package/src/boxes/slot/boxes.css +0 -23
  121. package/src/boxes/slot/boxes.tsx +0 -19
  122. package/src/forms/FormsRoot.tsx +0 -32
  123. package/src/forms/FormsTable.tsx +0 -64
  124. package/src/forms/mockData.ts +0 -43
  125. package/src/greeter/greeter.css +0 -4
  126. package/src/greeter/greeter.test.tsx +0 -29
  127. package/src/greeter/greeter.tsx +0 -25
  128. package/src/hello.css +0 -3
  129. package/src/hello.test.tsx +0 -45
  130. package/src/hello.tsx +0 -30
  131. package/src/patient-getter/patient-getter.resource.ts +0 -31
  132. package/src/patient-getter/patient-getter.test.tsx +0 -28
  133. 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":""}