@pih/esm-referrals-queue-app 2.0.0-pre.9 → 2.1.1-pre.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/.turbo/turbo-build.log +37 -0
- package/README.md +1 -17
- package/dist/150.js +1 -0
- package/dist/150.js.map +1 -0
- package/dist/173.js +1 -0
- package/dist/173.js.map +1 -0
- package/dist/291.js +1 -0
- package/dist/291.js.map +1 -0
- package/dist/300.js +1 -0
- package/dist/41.js +2 -0
- package/dist/41.js.map +1 -0
- package/dist/449.js +1 -0
- package/dist/449.js.map +1 -0
- package/dist/55.js +1 -0
- package/dist/830.js +1 -0
- package/dist/830.js.map +1 -0
- package/dist/831.js +2 -0
- package/dist/831.js.LICENSE.txt +5 -0
- package/dist/831.js.map +1 -0
- package/dist/871.js +2 -0
- package/dist/871.js.LICENSE.txt +39 -0
- package/dist/871.js.map +1 -0
- package/dist/913.js +2 -0
- package/dist/913.js.LICENSE.txt +52 -0
- package/dist/913.js.map +1 -0
- package/dist/99.js +1 -0
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -0
- package/dist/pih-esm-referrals-queue-app.js +1 -1
- package/dist/pih-esm-referrals-queue-app.js.buildmanifest.json +202 -72
- package/dist/pih-esm-referrals-queue-app.js.map +1 -0
- package/dist/routes.json +1 -0
- package/jest.config.js +3 -0
- package/package.json +27 -69
- package/src/config-schema.ts +8 -16
- package/src/declarations.d.tsx +3 -4
- package/src/index.ts +11 -65
- package/src/referrals-queue/referrals-queue.component.tsx +71 -120
- package/src/referrals-queue/referrals-queue.resource.tsx +6 -9
- package/src/referrals-queue/referrals-queue.scss +24 -0
- package/src/referrals-queue/referrals-queue.test.tsx +132 -115
- package/src/root.component.test.tsx +3 -3
- package/src/root.component.tsx +6 -6
- package/src/routes.json +9 -0
- package/src/setup-tests.ts +8 -8
- package/src/table/referrals-table.component.tsx +83 -0
- package/src/util.ts +5 -9
- package/translations/en.json +13 -2
- package/translations/es.json +15 -0
- package/translations/fr.json +15 -0
- package/tsconfig.json +4 -22
- package/.editorconfig +0 -12
- package/.eslintignore +0 -2
- package/.eslintrc +0 -4
- package/.github/workflows/node.js.yml +0 -79
- package/.husky/pre-commit +0 -6
- package/.husky/pre-push +0 -6
- package/.prettierignore +0 -14
- package/LICENSE +0 -401
- package/dist/132.js +0 -1
- package/dist/147.js +0 -2
- package/dist/147.js.LICENSE.txt +0 -47
- package/dist/281.js +0 -1
- package/dist/294.js +0 -2
- package/dist/574.js +0 -1
- package/dist/595.js +0 -2
- package/dist/595.js.LICENSE.txt +0 -1
- package/dist/879.js +0 -2
- package/dist/879.js.LICENSE.txt +0 -21
- package/dist/90.js +0 -1
- package/dist/pih-esm-referrals-queue-app.old +0 -1
- package/jest.config.json +0 -19
- package/src/referrals-queue/react-dates-overrides.css +0 -39
- package/src/referrals-queue/referrals-queue.css +0 -63
- package/src/table/table.component.tsx +0 -95
- package/src/table/table.css +0 -16
- /package/dist/{294.js.LICENSE.txt → 41.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pih-esm-referrals-queue-app.js","mappings":"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","sources":["webpack://@pih/esm-referrals-queue-app/webpack/runtime/create fake namespace object","webpack://@pih/esm-referrals-queue-app/webpack/runtime/load script","webpack://@pih/esm-referrals-queue-app/webpack/runtime/consumes","webpack://@pih/esm-referrals-queue-app/webpack/container-entry","webpack://@pih/esm-referrals-queue-app/webpack/bootstrap","webpack://@pih/esm-referrals-queue-app/webpack/runtime/compat get default export","webpack://@pih/esm-referrals-queue-app/webpack/runtime/define property getters","webpack://@pih/esm-referrals-queue-app/webpack/runtime/ensure chunk","webpack://@pih/esm-referrals-queue-app/webpack/runtime/get javascript chunk filename","webpack://@pih/esm-referrals-queue-app/webpack/runtime/global","webpack://@pih/esm-referrals-queue-app/webpack/runtime/hasOwnProperty shorthand","webpack://@pih/esm-referrals-queue-app/webpack/runtime/make namespace object","webpack://@pih/esm-referrals-queue-app/webpack/runtime/node module decorator","webpack://@pih/esm-referrals-queue-app/webpack/runtime/sharing","webpack://@pih/esm-referrals-queue-app/webpack/runtime/publicPath","webpack://@pih/esm-referrals-queue-app/webpack/runtime/jsonp chunk loading","webpack://@pih/esm-referrals-queue-app/webpack/runtime/nonce","webpack://@pih/esm-referrals-queue-app/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","findSingletonVersionKey","getInvalidSingletonVersionMessage","getSingletonVersion","warn","get","loadSingletonVersionCheckFallback","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","__webpack_require__","e","then","module","getScope","R","o","Promise","resolve","Error","undefined","init","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","loaded","__webpack_modules__","call","m","c","n","getter","__esModule","a","Object","getPrototypeOf","obj","t","value","mode","this","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","all","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","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","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","test","replace","p","str","split","map","exec","apply","b","range","pop","requiredVersion","scopeName","msg","console","entry","promise","fallback","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
|
package/dist/routes.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","pages":[{"component":"root","route":"referrals-queue"}],"version":"2.1.1-pre.12"}
|
package/jest.config.js
ADDED
package/package.json
CHANGED
|
@@ -1,100 +1,58 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pih/esm-referrals-queue-app",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"license": "MPL-2.0",
|
|
3
|
+
"version": "2.1.1-pre.12",
|
|
5
4
|
"description": "A page for viewing the J9 Home Visits from CommCare",
|
|
6
5
|
"browser": "dist/pih-esm-referrals-queue-app.js",
|
|
7
6
|
"main": "src/index.ts",
|
|
8
7
|
"source": true,
|
|
8
|
+
"license": "MPL-2.0",
|
|
9
|
+
"homepage": "https://github.com/PIH/openmrs-esm-pihemr#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
15
|
"analyze": "webpack --mode=production --env.analyze=true",
|
|
14
|
-
"lint": "eslint src --ext
|
|
15
|
-
"
|
|
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
|
+
"coverage": "yarn test --coverage",
|
|
16
20
|
"typescript": "tsc",
|
|
17
|
-
"
|
|
18
|
-
"verify": "concurrently 'yarn:lint' 'yarn:test' 'yarn:typescript'",
|
|
19
|
-
"coverage": "yarn test -- --coverage",
|
|
20
|
-
"prepare": "husky install"
|
|
21
|
-
},
|
|
22
|
-
"husky": {
|
|
23
|
-
"hooks": {
|
|
24
|
-
"pre-commit": "pretty-quick --staged && yarn verify"
|
|
25
|
-
}
|
|
21
|
+
"extract-translations": "i18next 'src/**/*.component.tsx'"
|
|
26
22
|
},
|
|
27
23
|
"browserslist": [
|
|
28
24
|
"extends browserslist-config-openmrs"
|
|
29
25
|
],
|
|
30
26
|
"keywords": [
|
|
31
|
-
"openmrs"
|
|
32
|
-
"microfrontends"
|
|
27
|
+
"openmrs"
|
|
33
28
|
],
|
|
34
|
-
"repository": {
|
|
35
|
-
"type": "git",
|
|
36
|
-
"url": "git+https://github.com/pih/pih-esm-referrals-queue.git"
|
|
37
|
-
},
|
|
38
|
-
"homepage": "https://github.com/pih/pih-esm-referrals-queue#readme",
|
|
39
29
|
"publishConfig": {
|
|
40
30
|
"access": "public"
|
|
41
31
|
},
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "git+https://github.com/PIH/openmrs-esm-pihemr.git"
|
|
35
|
+
},
|
|
42
36
|
"bugs": {
|
|
43
|
-
"url": "https://github.com/
|
|
37
|
+
"url": "https://github.com/PIH/openmrs-esm-pihemr/issues"
|
|
44
38
|
},
|
|
45
39
|
"dependencies": {
|
|
46
|
-
"
|
|
40
|
+
"@babel/runtime": "^7.24.0",
|
|
41
|
+
"@carbon/react": "~1.37.0",
|
|
42
|
+
"moment": "^2.30.1",
|
|
43
|
+
"react-dates": "^21.8.0",
|
|
44
|
+
"webpack": "^5.74.0"
|
|
47
45
|
},
|
|
48
46
|
"peerDependencies": {
|
|
49
|
-
"@
|
|
50
|
-
"
|
|
51
|
-
"dayjs": "1.x",
|
|
47
|
+
"@openmrs/esm-framework": "5.x",
|
|
48
|
+
"i18next": "^19.0.0",
|
|
52
49
|
"react": "18.x",
|
|
53
50
|
"react-i18next": "11.x",
|
|
54
|
-
"react-router-dom": "6.x",
|
|
55
|
-
"
|
|
51
|
+
"react-router-dom": "^6.x",
|
|
52
|
+
"swr": "2.x"
|
|
56
53
|
},
|
|
57
54
|
"devDependencies": {
|
|
58
|
-
"
|
|
59
|
-
"@carbon/icons-react": "^10.18.0",
|
|
60
|
-
"@openmrs/esm-framework": "next",
|
|
61
|
-
"@swc/core": "^1.2.203",
|
|
62
|
-
"@swc/jest": "^0.2.21",
|
|
63
|
-
"@testing-library/dom": "^7.20.0",
|
|
64
|
-
"@testing-library/jest-dom": "^5.16.5",
|
|
65
|
-
"@testing-library/react": "^13.3.0",
|
|
66
|
-
"@testing-library/user-event": "^14.4.3",
|
|
67
|
-
"@types/jest": "^28.1.4",
|
|
68
|
-
"@types/react": "^18.0.14",
|
|
69
|
-
"@types/react-dates": "^21.8.0",
|
|
70
|
-
"@types/react-dom": "^18.0.5",
|
|
71
|
-
"@types/react-router": "^5.1.14",
|
|
72
|
-
"@types/react-router-dom": "^5.1.7",
|
|
73
|
-
"@types/webpack-env": "^1.16.0",
|
|
74
|
-
"@typescript-eslint/parser": "^5.28.0",
|
|
75
|
-
"concurrently": "^6.2.0",
|
|
76
|
-
"css-loader": "^6.7.1",
|
|
77
|
-
"eslint": "^7.27.0",
|
|
78
|
-
"eslint-config-prettier": "^8.3.0",
|
|
79
|
-
"eslint-config-ts-react-important-stuff": "^3.0.0",
|
|
80
|
-
"eslint-plugin-prettier": "^3.4.0",
|
|
81
|
-
"husky": "^6.0.0",
|
|
82
|
-
"identity-obj-proxy": "^3.0.0",
|
|
83
|
-
"jest": "^27.0.4",
|
|
84
|
-
"jest-cli": "^27.0.4",
|
|
85
|
-
"mockdate": "^3.0.5",
|
|
86
|
-
"openmrs": "next",
|
|
87
|
-
"prettier": "^2.3.0",
|
|
88
|
-
"pretty-quick": "^3.1.0",
|
|
89
|
-
"react": "^18.2.0",
|
|
90
|
-
"react-dates": "^21.8.0",
|
|
91
|
-
"react-dom": "^18.2.0",
|
|
92
|
-
"react-i18next": "^11.7.0",
|
|
93
|
-
"react-router-dom": "^6.3.0",
|
|
94
|
-
"rxjs": "^6.5.4",
|
|
95
|
-
"typescript": "^4.3.2"
|
|
55
|
+
"webpack": "^5.74.0"
|
|
96
56
|
},
|
|
97
|
-
"
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
}
|
|
57
|
+
"stableVersion": "2.1.0"
|
|
58
|
+
}
|
package/src/config-schema.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Type, validators } from
|
|
1
|
+
import { Type, validators } from '@openmrs/esm-framework';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* This is the config schema. It expects a configuration object which
|
|
@@ -25,33 +25,25 @@ export const configSchema = {
|
|
|
25
25
|
patientDash: {
|
|
26
26
|
_type: Type.String,
|
|
27
27
|
_default:
|
|
28
|
-
|
|
29
|
-
_validators: [validators.isUrlWithTemplateParameters([
|
|
28
|
+
'${openmrsBase}/coreapps/clinicianfacing/patient.page?patientId=${patientUuid}&app=pih.app.clinicianDashboard',
|
|
29
|
+
_validators: [validators.isUrlWithTemplateParameters(['patientUuid'])],
|
|
30
30
|
},
|
|
31
31
|
visitPage: {
|
|
32
32
|
_type: Type.String,
|
|
33
33
|
_default:
|
|
34
|
-
|
|
35
|
-
_validators: [
|
|
36
|
-
validators.isUrlWithTemplateParameters(["patientUuid", "visitUuid"]),
|
|
37
|
-
],
|
|
34
|
+
'${openmrsBase}/pihcore/visit/visit.page?patient=${patientUuid}&visit=${visitUuid}&suppressActions=true#/overview',
|
|
35
|
+
_validators: [validators.isUrlWithTemplateParameters(['patientUuid', 'visitUuid'])],
|
|
38
36
|
},
|
|
39
37
|
homeVisitForm: {
|
|
40
38
|
_type: Type.String,
|
|
41
39
|
_default:
|
|
42
|
-
|
|
43
|
-
_validators: [
|
|
44
|
-
validators.isUrlWithTemplateParameters([
|
|
45
|
-
"patientUuid",
|
|
46
|
-
"visitUuid",
|
|
47
|
-
"encounterUuid",
|
|
48
|
-
]),
|
|
49
|
-
],
|
|
40
|
+
'${openmrsBase}/htmlformentryui/htmlform/editHtmlFormWithStandardUi.page?patientId=${patientUuid}&visitId=${visitUuid}&encounterId=${encounterUuid}&definitionUiResource=file:configuration/pih/htmlforms/section-mch-referral.xml&returnUrl=/mirebalais/spa/referrals-queue',
|
|
41
|
+
_validators: [validators.isUrlWithTemplateParameters(['patientUuid', 'visitUuid', 'encounterUuid'])],
|
|
50
42
|
},
|
|
51
43
|
},
|
|
52
44
|
pendingStatuses: {
|
|
53
45
|
_type: Type.Array,
|
|
54
|
-
_default: [
|
|
46
|
+
_default: ['Pending status', 'Referral unmet'],
|
|
55
47
|
_elements: {
|
|
56
48
|
_type: Type.String,
|
|
57
49
|
},
|
package/src/declarations.d.tsx
CHANGED
package/src/index.ts
CHANGED
|
@@ -5,79 +5,25 @@
|
|
|
5
5
|
* microfrontend.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
defineConfigSchema,
|
|
11
|
-
registerBreadcrumbs,
|
|
12
|
-
} from "@openmrs/esm-framework";
|
|
13
|
-
import { configSchema } from "./config-schema";
|
|
8
|
+
import { getAsyncLifecycle, defineConfigSchema, registerBreadcrumbs } from '@openmrs/esm-framework';
|
|
9
|
+
import { configSchema } from './config-schema';
|
|
14
10
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
* package.json
|
|
21
|
-
*/
|
|
22
|
-
declare var __VERSION__: string;
|
|
23
|
-
const version = __VERSION__;
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* This tells the app shell how to obtain translation files: that they
|
|
27
|
-
* are JSON files in the directory `../translations` (which you should
|
|
28
|
-
* see in the directory structure).
|
|
29
|
-
*/
|
|
30
|
-
const importTranslation = require.context(
|
|
31
|
-
"../translations",
|
|
32
|
-
false,
|
|
33
|
-
/.json$/,
|
|
34
|
-
"lazy"
|
|
35
|
-
);
|
|
11
|
+
const moduleName = '@pih/esm-referrals-queue-app';
|
|
12
|
+
const options = {
|
|
13
|
+
featureName: 'referrals-queue',
|
|
14
|
+
moduleName,
|
|
15
|
+
};
|
|
36
16
|
|
|
37
|
-
|
|
38
|
-
* This tells the app shell what versions of what OpenMRS backend modules
|
|
39
|
-
* are expected. Warnings will appear if suitable modules are not
|
|
40
|
-
* installed. The keys are the part of the module name after
|
|
41
|
-
* `openmrs-module-`; e.g., `openmrs-module-fhir2` becomes `fhir2`.
|
|
42
|
-
*/
|
|
43
|
-
const backendDependencies = {};
|
|
17
|
+
export const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
|
|
44
18
|
|
|
45
|
-
|
|
46
|
-
* This function performs any setup that should happen at microfrontend
|
|
47
|
-
* load-time (such as defining the config schema) and then returns an
|
|
48
|
-
* object which describes how the React application(s) should be
|
|
49
|
-
* rendered.
|
|
50
|
-
*
|
|
51
|
-
* In this example, our return object contains a single page definition.
|
|
52
|
-
* It tells the app shell that the default export of `greeter.tsx`
|
|
53
|
-
* should be rendered when the route matches `hello`. The full route
|
|
54
|
-
* will be `openmrsSpaBase() + 'hello'`, which is usually
|
|
55
|
-
* `/openmrs/spa/hello`.
|
|
56
|
-
*/
|
|
57
|
-
function setupOpenMRS() {
|
|
58
|
-
const moduleName = "@pih/esm-referrals-queue-app";
|
|
59
|
-
const options = {
|
|
60
|
-
featureName: "referrals-queue",
|
|
61
|
-
moduleName,
|
|
62
|
-
};
|
|
19
|
+
export const root = getAsyncLifecycle(() => import('./root.component'), options);
|
|
63
20
|
|
|
21
|
+
export function startupApp() {
|
|
64
22
|
defineConfigSchema(moduleName, configSchema);
|
|
65
|
-
|
|
66
23
|
registerBreadcrumbs([
|
|
67
24
|
{
|
|
68
25
|
path: `${window.spaBase}/referrals-queue`,
|
|
69
|
-
title:
|
|
26
|
+
title: 'Referrals Queue',
|
|
70
27
|
},
|
|
71
28
|
]);
|
|
72
|
-
|
|
73
|
-
return {
|
|
74
|
-
pages: [
|
|
75
|
-
{
|
|
76
|
-
load: getAsyncLifecycle(() => import("./root.component"), options),
|
|
77
|
-
route: "referrals-queue",
|
|
78
|
-
},
|
|
79
|
-
],
|
|
80
|
-
};
|
|
81
29
|
}
|
|
82
|
-
|
|
83
|
-
export { backendDependencies, importTranslation, setupOpenMRS, version };
|
|
@@ -1,185 +1,136 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { Trans, useTranslation } from
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import { createErrorHandler } from
|
|
8
|
-
import Table from
|
|
9
|
-
import styles from
|
|
10
|
-
import { getReferrals } from
|
|
11
|
-
|
|
12
|
-
// Override the webpack CSS loader config in order to load react-dates styles.
|
|
13
|
-
// See thread: https://github.com/webpack-contrib/css-loader/issues/295
|
|
14
|
-
import "!style-loader!css-loader!react-dates/lib/css/_datepicker.css";
|
|
15
|
-
import "!style-loader!css-loader!./react-dates-overrides.css";
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Trans, useTranslation } from 'react-i18next';
|
|
3
|
+
import 'react-dates/initialize';
|
|
4
|
+
import moment from 'moment';
|
|
5
|
+
import { Content, Tile, Heading, Search, Dropdown, DatePicker, DatePickerInput } from '@carbon/react';
|
|
6
|
+
import 'moment/locale/fr';
|
|
7
|
+
import { createErrorHandler } from '@openmrs/esm-framework';
|
|
8
|
+
import Table from '../table/referrals-table.component';
|
|
9
|
+
import styles from './referrals-queue.scss';
|
|
10
|
+
import { getReferrals } from './referrals-queue.resource';
|
|
16
11
|
|
|
17
12
|
export default function ReferralsQueue(props: ReferralsQueueProps) {
|
|
18
13
|
const [referrals, setReferrals]: [Referral[], Function] = React.useState([]);
|
|
19
|
-
const [referralTypeFilter, setReferralTypeFilter] = React.useState(
|
|
20
|
-
const [statusFilter, setStatusFilter] = React.useState(
|
|
14
|
+
const [referralTypeFilter, setReferralTypeFilter] = React.useState('');
|
|
15
|
+
const [statusFilter, setStatusFilter] = React.useState('');
|
|
21
16
|
const today = moment();
|
|
22
|
-
const [fromDate, setFromDate] = React.useState(moment().subtract(1,
|
|
17
|
+
const [fromDate, setFromDate] = React.useState(moment().subtract(1, 'month'));
|
|
23
18
|
const [toDate, setToDate] = React.useState(today);
|
|
24
|
-
const [ptQuery, setPtQuery] = React.useState(
|
|
25
|
-
const [fromDateFocused, setFromDateFocused] = React.useState(false);
|
|
26
|
-
const [toDateFocused, setToDateFocused] = React.useState(false);
|
|
19
|
+
const [ptQuery, setPtQuery] = React.useState('');
|
|
27
20
|
const { t, i18n } = useTranslation();
|
|
28
21
|
|
|
29
22
|
const languageMatches = i18n.language?.match(/^(en|fr|ht).*/);
|
|
30
|
-
const language = (languageMatches && languageMatches[1]) ||
|
|
23
|
+
const language = (languageMatches && languageMatches[1]) || 'en';
|
|
31
24
|
|
|
32
25
|
React.useEffect(() => {
|
|
33
|
-
moment.locale(language ===
|
|
26
|
+
moment.locale(language === 'ht' ? 'fr' : language);
|
|
34
27
|
}, [language]);
|
|
35
28
|
|
|
36
29
|
React.useEffect(() => {
|
|
37
30
|
if (fromDate && toDate) {
|
|
38
31
|
const sub = getReferrals({
|
|
39
|
-
fromDate: fromDate.format(
|
|
40
|
-
toDate: toDate.format(
|
|
32
|
+
fromDate: fromDate.format('YYYY-MM-DD'),
|
|
33
|
+
toDate: toDate.format('YYYY-MM-DD'),
|
|
41
34
|
locale: language,
|
|
42
|
-
}).subscribe(
|
|
43
|
-
(referrals) => setReferrals(referrals),
|
|
44
|
-
createErrorHandler()
|
|
45
|
-
);
|
|
35
|
+
}).subscribe((referrals) => setReferrals(referrals), createErrorHandler());
|
|
46
36
|
return () => sub.unsubscribe();
|
|
47
37
|
}
|
|
48
38
|
}, [fromDate, toDate, language]);
|
|
49
39
|
|
|
50
|
-
// console.log(referrals);
|
|
51
40
|
const filteredReferrals = referrals
|
|
52
|
-
.filter(
|
|
53
|
-
|
|
41
|
+
.filter(
|
|
42
|
+
(r) => !referralTypeFilter || referralTypeFilter == t('any', 'Any') || r.referral_type == referralTypeFilter,
|
|
43
|
+
)
|
|
44
|
+
.filter((r) => !statusFilter || statusFilter == t('any', 'Any') || r.fulfillment_status == statusFilter)
|
|
54
45
|
.filter((r) => matchQuery(r, ptQuery));
|
|
55
|
-
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
];
|
|
46
|
+
|
|
47
|
+
const referralTypes = [t('any', 'Any'), ...new Set(referrals.map((r) => r.referral_type).filter((r) => r != null))];
|
|
48
|
+
|
|
49
|
+
const statuses = [t('any', 'Any'), ...new Set(referrals.map((r) => r.fulfillment_status).filter((r) => r != null))];
|
|
50
|
+
|
|
61
51
|
return (
|
|
62
|
-
<
|
|
63
|
-
<
|
|
64
|
-
<
|
|
52
|
+
<Content className={styles.container}>
|
|
53
|
+
<Tile>
|
|
54
|
+
<Heading>
|
|
65
55
|
<Trans i18nKey="referrals-queue">Referrals Queue</Trans>
|
|
66
|
-
</
|
|
56
|
+
</Heading>
|
|
67
57
|
<div className={styles.controlsContainer}>
|
|
68
58
|
<div className={styles.inputContainer}>
|
|
69
|
-
<
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
date
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
<Trans i18nKey="to">To</Trans>
|
|
87
|
-
</label>
|
|
88
|
-
<SingleDatePicker
|
|
89
|
-
id="to-date"
|
|
90
|
-
date={toDate}
|
|
91
|
-
onDateChange={(date) => setToDate(date)}
|
|
92
|
-
focused={toDateFocused}
|
|
93
|
-
onFocusChange={({ focused }) => setToDateFocused(focused)}
|
|
94
|
-
isOutsideRange={(date: Moment) => date.isAfter(today)}
|
|
95
|
-
displayFormat="DD MMM YYYY"
|
|
96
|
-
numberOfMonths={1}
|
|
97
|
-
/>
|
|
98
|
-
</div>
|
|
59
|
+
<DatePicker
|
|
60
|
+
dateFormat="d/M/Y"
|
|
61
|
+
datePickerType="range"
|
|
62
|
+
locale={language === 'ht' ? 'fr' : language}
|
|
63
|
+
maxDate={new Date().toISOString()}
|
|
64
|
+
onChange={(date) => {
|
|
65
|
+
if (date && date.length > 0) {
|
|
66
|
+
setFromDate(date ? moment(date[0]) : null);
|
|
67
|
+
if (date.length > 1) {
|
|
68
|
+
setToDate(date ? moment(date[1]) : null);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}}
|
|
72
|
+
value={[fromDate.toISOString(), toDate.toISOString()]}>
|
|
73
|
+
<DatePickerInput id="from-date" labelText={t('from', 'From')} />
|
|
74
|
+
<DatePickerInput id="to-date" labelText={t('to', 'To')} />
|
|
75
|
+
</DatePicker>
|
|
99
76
|
</div>
|
|
100
77
|
<div className={styles.inputContainer}>
|
|
101
|
-
<div
|
|
102
|
-
<
|
|
103
|
-
<Trans i18nKey="referral-type">Referral Type</Trans>
|
|
104
|
-
</label>
|
|
105
|
-
<select
|
|
78
|
+
<div style={{ width: 400 }}>
|
|
79
|
+
<Dropdown
|
|
106
80
|
id="referral-type"
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
{referralTypes.map((t) => (
|
|
113
|
-
<option key={t} value={t}>
|
|
114
|
-
{t}
|
|
115
|
-
</option>
|
|
116
|
-
))}
|
|
117
|
-
</select>
|
|
81
|
+
label={t('select-referral-type', 'Select Referral Type')}
|
|
82
|
+
titleText={t('referral-type', 'Referral Type')}
|
|
83
|
+
items={referralTypes}
|
|
84
|
+
onChange={(e) => setReferralTypeFilter(e.selectedItem)}
|
|
85
|
+
/>
|
|
118
86
|
</div>
|
|
119
87
|
</div>
|
|
120
88
|
<div className={styles.inputContainer}>
|
|
121
|
-
<div
|
|
89
|
+
<div style={{ width: 400 }}>
|
|
122
90
|
<label htmlFor="query-input">
|
|
123
91
|
<Trans i18nKey="filter-by-patient">Filter by patient</Trans>
|
|
124
92
|
</label>
|
|
125
|
-
<input
|
|
126
|
-
id="query-input"
|
|
127
|
-
type="text"
|
|
128
|
-
value={ptQuery}
|
|
129
|
-
onChange={(e) => setPtQuery(e.target.value)}
|
|
130
|
-
className="omrs-input-outlined"
|
|
131
|
-
/>
|
|
93
|
+
<Search id="query-input" labelText="" onChange={(e) => setPtQuery(e.target.value)} />
|
|
132
94
|
</div>
|
|
133
95
|
</div>
|
|
134
96
|
<div className={styles.inputContainer}>
|
|
135
|
-
<div
|
|
136
|
-
<
|
|
137
|
-
<Trans i18nKey="status">Status</Trans>
|
|
138
|
-
</label>
|
|
139
|
-
<select
|
|
97
|
+
<div style={{ width: 400 }}>
|
|
98
|
+
<Dropdown
|
|
140
99
|
id="status"
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
{statuses.map((t) => (
|
|
147
|
-
<option key={t} value={t}>
|
|
148
|
-
{t}
|
|
149
|
-
</option>
|
|
150
|
-
))}
|
|
151
|
-
</select>
|
|
100
|
+
label={t('select-status', 'Select Status')}
|
|
101
|
+
titleText={t('status', 'Status')}
|
|
102
|
+
items={statuses}
|
|
103
|
+
onChange={(e) => setStatusFilter(e.selectedItem)}
|
|
104
|
+
/>
|
|
152
105
|
</div>
|
|
153
106
|
</div>
|
|
154
107
|
</div>
|
|
155
108
|
<div className={styles.tableContainer}>
|
|
156
109
|
<Table referrals={filteredReferrals} />
|
|
157
110
|
</div>
|
|
158
|
-
</
|
|
159
|
-
</
|
|
111
|
+
</Tile>
|
|
112
|
+
</Content>
|
|
160
113
|
);
|
|
161
114
|
}
|
|
162
115
|
|
|
163
116
|
function matchQuery(referral: Referral, query: string): boolean {
|
|
164
117
|
return (
|
|
165
118
|
!query ||
|
|
166
|
-
prepareQuery(query).every((regexp) =>
|
|
167
|
-
|
|
168
|
-
) ||
|
|
169
|
-
new RegExp(query, "i").test(referral.zl_emr_id)
|
|
119
|
+
prepareQuery(query).every((regexp) => regexp.test(removeDiacritics(referral.patient_name))) ||
|
|
120
|
+
new RegExp(query, 'i').test(referral.zl_emr_id)
|
|
170
121
|
);
|
|
171
122
|
}
|
|
172
123
|
|
|
173
124
|
function prepareQuery(query: string): RegExp[] {
|
|
174
125
|
return query.split(/\s/).map((token) => {
|
|
175
126
|
const tokenCleaned = removeDiacritics(token);
|
|
176
|
-
return new RegExp(
|
|
127
|
+
return new RegExp('\\b' + tokenCleaned, 'i');
|
|
177
128
|
});
|
|
178
129
|
}
|
|
179
130
|
|
|
180
131
|
function removeDiacritics(str: string) {
|
|
181
132
|
// From https://stackoverflow.com/a/37511463/1464495
|
|
182
|
-
return str.normalize(
|
|
133
|
+
return str.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
183
134
|
}
|
|
184
135
|
|
|
185
136
|
type ReferralsQueueProps = {};
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import { openmrsObservableFetch } from
|
|
2
|
-
import {
|
|
1
|
+
import { openmrsObservableFetch } from '@openmrs/esm-framework';
|
|
2
|
+
import { type Observable } from 'rxjs';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
3
4
|
|
|
4
|
-
export function getReferrals({
|
|
5
|
-
fromDate,
|
|
6
|
-
toDate,
|
|
7
|
-
locale,
|
|
8
|
-
}): Observable<Object[]> {
|
|
5
|
+
export function getReferrals({ fromDate, toDate, locale }): Observable<Object[]> {
|
|
9
6
|
return openmrsObservableFetch(
|
|
10
|
-
`/ws/rest/v1/reportingrest/reportdata/cd7dfde7-764a-4da6-81c2-d5887ed1df51?startDate=${fromDate}&endDate=${toDate}&locale=${locale}
|
|
11
|
-
).pipe(map(({ data }) => data[
|
|
7
|
+
`/ws/rest/v1/reportingrest/reportdata/cd7dfde7-764a-4da6-81c2-d5887ed1df51?startDate=${fromDate}&endDate=${toDate}&locale=${locale}`,
|
|
8
|
+
).pipe(map(({ data }) => data['dataSets'][0]['rows']));
|
|
12
9
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
.container {
|
|
2
|
+
margin-right: auto;
|
|
3
|
+
margin-left: auto;
|
|
4
|
+
max-width: 1500px;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.tableContainer {
|
|
8
|
+
height: 500px;
|
|
9
|
+
overflow-x: auto;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.controlsContainer {
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-wrap: wrap;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.inputContainer {
|
|
18
|
+
display: flex;
|
|
19
|
+
width: 50%;
|
|
20
|
+
min-width: 300px;
|
|
21
|
+
text-align: left;
|
|
22
|
+
padding: 0.5rem;
|
|
23
|
+
align-items: flex-end;
|
|
24
|
+
}
|