@openmrs/esm-reports-app 4.1.0 → 4.1.1-pre.204
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 +22 -25
- package/dist/11.js +2 -0
- package/dist/{202.js.LICENSE.txt → 11.js.LICENSE.txt} +19 -0
- package/dist/11.js.map +1 -0
- package/dist/126.js +1 -1
- package/dist/126.js.map +1 -1
- package/dist/216.js +1 -1
- package/dist/216.js.map +1 -1
- package/dist/300.js +1 -1
- package/dist/304.js +1 -0
- package/dist/304.js.map +1 -0
- package/dist/312.js +1 -0
- package/dist/312.js.map +1 -0
- package/dist/322.js +1 -1
- package/dist/322.js.map +1 -1
- package/dist/367.js +1 -1
- package/dist/367.js.LICENSE.txt +2 -0
- package/dist/367.js.map +1 -1
- package/dist/443.js +1 -0
- package/dist/443.js.map +1 -0
- package/dist/{353.js → 464.js} +1 -1
- package/dist/{353.js.map → 464.js.map} +1 -1
- package/dist/562.js +1 -0
- package/dist/562.js.map +1 -0
- package/dist/592.js +2 -0
- package/dist/592.js.map +1 -0
- package/dist/640.js +1 -1
- package/dist/640.js.map +1 -1
- package/dist/855.js +1 -1
- package/dist/855.js.LICENSE.txt +2 -2
- package/dist/855.js.map +1 -1
- package/dist/899.js +1 -0
- package/dist/899.js.map +1 -0
- package/dist/{297.js → 913.js} +2 -2
- package/dist/{297.js.map → 913.js.map} +1 -1
- package/dist/920.js +1 -0
- package/dist/920.js.map +1 -0
- package/dist/947.js +1 -1
- package/dist/947.js.map +1 -1
- package/dist/972.js +1 -1
- package/dist/972.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-reports-app.js +1 -1
- package/dist/openmrs-esm-reports-app.js.buildmanifest.json +225 -151
- package/dist/openmrs-esm-reports-app.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +4 -2
- package/src/components/overlay.scss +1 -2
- package/src/components/overview.component.tsx +14 -5
- package/src/components/report-data-viewer.component.tsx +232 -0
- package/src/components/reports-data-overview.component.tsx +144 -0
- package/src/components/reports.resource.tsx +55 -1
- package/src/components/reports.scss +95 -12
- package/src/constants.ts +1 -1
- package/src/declarations.d.ts +15 -2
- package/src/index.ts +19 -12
- package/src/reports-link.tsx +2 -2
- package/src/reports.component.tsx +7 -4
- package/src/routes.json +4 -0
- package/translations/en.json +13 -0
- package/dist/156.js +0 -1
- package/dist/156.js.map +0 -1
- package/dist/202.js +0 -2
- package/dist/202.js.map +0 -1
- package/dist/549.js +0 -1
- package/dist/549.js.map +0 -1
- package/dist/553.js +0 -2
- package/dist/553.js.map +0 -1
- package/dist/699.js +0 -1
- package/dist/699.js.map +0 -1
- package/dist/926.js +0 -1
- package/dist/926.js.map +0 -1
- /package/dist/{553.js.LICENSE.txt → 592.js.LICENSE.txt} +0 -0
- /package/dist/{297.js.LICENSE.txt → 913.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openmrs-esm-reports-app.js","mappings":"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","sources":["webpack://@openmrs/esm-reports-app/webpack/runtime/create fake namespace object","webpack://@openmrs/esm-reports-app/webpack/runtime/load script","webpack://@openmrs/esm-reports-app/webpack/runtime/consumes","webpack://@openmrs/esm-reports-app/webpack/container-entry","webpack://@openmrs/esm-reports-app/webpack/bootstrap","webpack://@openmrs/esm-reports-app/webpack/runtime/compat get default export","webpack://@openmrs/esm-reports-app/webpack/runtime/define property getters","webpack://@openmrs/esm-reports-app/webpack/runtime/ensure chunk","webpack://@openmrs/esm-reports-app/webpack/runtime/get javascript chunk filename","webpack://@openmrs/esm-reports-app/webpack/runtime/global","webpack://@openmrs/esm-reports-app/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-reports-app/webpack/runtime/make namespace object","webpack://@openmrs/esm-reports-app/webpack/runtime/node module decorator","webpack://@openmrs/esm-reports-app/webpack/runtime/sharing","webpack://@openmrs/esm-reports-app/webpack/runtime/publicPath","webpack://@openmrs/esm-reports-app/webpack/runtime/jsonp chunk loading","webpack://@openmrs/esm-reports-app/webpack/runtime/nonce","webpack://@openmrs/esm-reports-app/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","findSingletonVersionKey","getInvalidSingletonVersionMessage","getSingletonVersion","warn","get","loadSingletonVersionCheckFallback","installedModules","moduleToHandlerMapping","chunkMapping","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":""}
|
|
1
|
+
{"version":3,"file":"openmrs-esm-reports-app.js","mappings":"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","sources":["webpack://@openmrs/esm-reports-app/webpack/runtime/create fake namespace object","webpack://@openmrs/esm-reports-app/webpack/runtime/load script","webpack://@openmrs/esm-reports-app/webpack/runtime/consumes","webpack://@openmrs/esm-reports-app/webpack/container-entry","webpack://@openmrs/esm-reports-app/webpack/bootstrap","webpack://@openmrs/esm-reports-app/webpack/runtime/compat get default export","webpack://@openmrs/esm-reports-app/webpack/runtime/define property getters","webpack://@openmrs/esm-reports-app/webpack/runtime/ensure chunk","webpack://@openmrs/esm-reports-app/webpack/runtime/get javascript chunk filename","webpack://@openmrs/esm-reports-app/webpack/runtime/global","webpack://@openmrs/esm-reports-app/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-reports-app/webpack/runtime/make namespace object","webpack://@openmrs/esm-reports-app/webpack/runtime/node module decorator","webpack://@openmrs/esm-reports-app/webpack/runtime/sharing","webpack://@openmrs/esm-reports-app/webpack/runtime/publicPath","webpack://@openmrs/esm-reports-app/webpack/runtime/jsonp chunk loading","webpack://@openmrs/esm-reports-app/webpack/runtime/nonce","webpack://@openmrs/esm-reports-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
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":"^2.24.0","reportingrest":">=1.15.0","reporting":">=1.27.0"},"extensions":[{"name":"admin-report-link","slot":"system-admin-page-card-link-slot","component":"reportsLink"},{"name":"run-report","component":"runReport"}],"pages":[{"component":"root","route":"reports"},{"component":"overview","route":"overview"},{"component":"scheduled-overview","route":"scheduled-overview"}],"modals":[{"name":"cancel-report-modal","component":"cancelReportModal"}],"version":"4.1.
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":">=1.2","webservices.rest":"^2.24.0","reportingrest":">=1.15.0","reporting":">=1.27.0"},"extensions":[{"name":"admin-report-link","slot":"system-admin-page-card-link-slot","component":"reportsLink"},{"name":"run-report","component":"runReport"}],"pages":[{"component":"root","route":"reports"},{"component":"overview","route":"overview"},{"component":"scheduled-overview","route":"scheduled-overview"},{"component":"reports-data-overview","route":"reports-data-overview"}],"modals":[{"name":"cancel-report-modal","component":"cancelReportModal"}],"version":"4.1.1-pre.204"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openmrs/esm-reports-app",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.1-pre.204",
|
|
4
4
|
"license": "MPL-2.0",
|
|
5
5
|
"description": "Reports admin dashboard for 03",
|
|
6
6
|
"browser": "dist/openmrs-esm-reports-app.js",
|
|
@@ -48,9 +48,11 @@
|
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"@openmrs/esm-framework": "*",
|
|
50
50
|
"dayjs": "1.x",
|
|
51
|
+
"i18next": "*",
|
|
51
52
|
"react": "18.x",
|
|
52
53
|
"react-i18next": "11.x",
|
|
53
54
|
"react-router-dom": "6.x",
|
|
54
55
|
"rxjs": "6.x"
|
|
55
|
-
}
|
|
56
|
+
},
|
|
57
|
+
"stableVersion": "4.1.0"
|
|
56
58
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useCallback, useEffect, useState } from 'react';
|
|
1
|
+
import React, { type ChangeEvent, useCallback, useEffect, useState } from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import { useTranslation } from 'react-i18next';
|
|
4
4
|
import {
|
|
@@ -96,7 +96,7 @@ const OverviewComponent: React.FC = () => {
|
|
|
96
96
|
<td className={classNames({ [styles.rowCellEven]: index % 2 === 0, [styles.rowCellOdd]: index % 2 !== 0 })}>
|
|
97
97
|
<Checkbox
|
|
98
98
|
id={`checkbox-${row.id}`}
|
|
99
|
-
onChange={(e) => handleOnCheckboxClick(e)}
|
|
99
|
+
onChange={(e: ChangeEvent<HTMLInputElement>) => handleOnCheckboxClick(e)}
|
|
100
100
|
checked={checkedReportUuidsArray.includes(row.id)}
|
|
101
101
|
/>
|
|
102
102
|
</td>
|
|
@@ -231,7 +231,7 @@ const OverviewComponent: React.FC = () => {
|
|
|
231
231
|
<div className={styles.mainActionButtonsDiv}>
|
|
232
232
|
<Button
|
|
233
233
|
kind="ghost"
|
|
234
|
-
renderIcon={() => <Download size={16}
|
|
234
|
+
renderIcon={() => <Download size={16} className={styles.actionButtonIcon} />}
|
|
235
235
|
iconDescription="Download reports"
|
|
236
236
|
onClick={() => handleDownloadMultipleReports(checkedReportUuidsArray.join(','))}
|
|
237
237
|
className={classNames(styles.mainActionButton, {
|
|
@@ -243,7 +243,7 @@ const OverviewComponent: React.FC = () => {
|
|
|
243
243
|
</Button>
|
|
244
244
|
<Button
|
|
245
245
|
kind="ghost"
|
|
246
|
-
renderIcon={() => <Play size={16}
|
|
246
|
+
renderIcon={() => <Play size={16} className={styles.actionButtonIcon} />}
|
|
247
247
|
iconDescription="Run reports"
|
|
248
248
|
onClick={() => {
|
|
249
249
|
launchOverlay(
|
|
@@ -266,10 +266,19 @@ const OverviewComponent: React.FC = () => {
|
|
|
266
266
|
iconDescription="Report schedule"
|
|
267
267
|
kind="ghost"
|
|
268
268
|
onClick={() => navigate({ to: `\${openmrsSpaBase}/reports/scheduled-overview` })}
|
|
269
|
-
renderIcon={() => <Calendar size={16}
|
|
269
|
+
renderIcon={() => <Calendar size={16} className={styles.actionButtonIcon} />}
|
|
270
270
|
>
|
|
271
271
|
{t('reportSchedule', 'Report schedule')}
|
|
272
272
|
</Button>
|
|
273
|
+
<Button
|
|
274
|
+
className={styles.mainActionButton}
|
|
275
|
+
iconDescription="Report schedule"
|
|
276
|
+
kind="ghost"
|
|
277
|
+
onClick={() => navigate({ to: `\${openmrsSpaBase}/reports/reports-data-overview` })}
|
|
278
|
+
renderIcon={() => <Calendar size={16} className={styles.actionButtonIcon} />}
|
|
279
|
+
>
|
|
280
|
+
{t('viewReports', 'View Reports')}
|
|
281
|
+
</Button>
|
|
273
282
|
</div>
|
|
274
283
|
</div>
|
|
275
284
|
<DataTable rows={reports} headers={tableHeaders} isSortable>
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import React, { useState, useMemo } from 'react';
|
|
2
|
+
import { useTranslation } from 'react-i18next';
|
|
3
|
+
import {
|
|
4
|
+
DataTable,
|
|
5
|
+
Table,
|
|
6
|
+
TableBody,
|
|
7
|
+
TableCell,
|
|
8
|
+
TableContainer,
|
|
9
|
+
TableHead,
|
|
10
|
+
TableHeader,
|
|
11
|
+
TableRow,
|
|
12
|
+
Pagination,
|
|
13
|
+
Button,
|
|
14
|
+
Modal,
|
|
15
|
+
Checkbox,
|
|
16
|
+
FormGroup,
|
|
17
|
+
} from '@carbon/react';
|
|
18
|
+
import { Download } from '@carbon/react/icons';
|
|
19
|
+
import { isDesktop, useLayoutType, formatDatetime, getCoreTranslation } from '@openmrs/esm-framework';
|
|
20
|
+
import styles from './reports.scss';
|
|
21
|
+
|
|
22
|
+
interface ReportDataViewerProps {
|
|
23
|
+
reportData: any;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const DEFAULT_PAGE_SIZE = 10;
|
|
27
|
+
const DEFAULT_PAGE_SIZES = [10, 20, 30, 40, 50];
|
|
28
|
+
|
|
29
|
+
const ReportDataViewer: React.FC<ReportDataViewerProps> = ({ reportData }) => {
|
|
30
|
+
const { t } = useTranslation();
|
|
31
|
+
const layout = useLayoutType();
|
|
32
|
+
const [pageSize, setPageSize] = useState(DEFAULT_PAGE_SIZE);
|
|
33
|
+
const [currentPage, setCurrentPage] = useState(1);
|
|
34
|
+
const [showExportModal, setShowExportModal] = useState(false);
|
|
35
|
+
const [selectedColumns, setSelectedColumns] = useState<Record<string, boolean>>({});
|
|
36
|
+
|
|
37
|
+
// Get the first dataset since we're only handling one dataset for now
|
|
38
|
+
const dataset = useMemo(() => reportData?.dataSets?.[0], [reportData?.dataSets]);
|
|
39
|
+
const columns = useMemo(() => dataset?.metadata?.columns || [], [dataset?.metadata?.columns]);
|
|
40
|
+
const rows = useMemo(() => dataset?.rows || [], [dataset?.rows]);
|
|
41
|
+
|
|
42
|
+
// Initialize selected columns when columns change
|
|
43
|
+
React.useEffect(() => {
|
|
44
|
+
const initialSelection = columns.reduce((acc, col) => {
|
|
45
|
+
acc[col.name] = true; // Select all columns by default
|
|
46
|
+
return acc;
|
|
47
|
+
}, {});
|
|
48
|
+
setSelectedColumns(initialSelection);
|
|
49
|
+
}, [columns]);
|
|
50
|
+
|
|
51
|
+
const handleColumnToggle = (columnName: string) => {
|
|
52
|
+
setSelectedColumns((prev) => ({
|
|
53
|
+
...prev,
|
|
54
|
+
[columnName]: !prev[columnName],
|
|
55
|
+
}));
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const formatCellValue = (value: any) => {
|
|
59
|
+
if (Array.isArray(value)) {
|
|
60
|
+
// Handle date arrays [year, month, day, hour, minute, second]
|
|
61
|
+
if (value.length >= 3 && value.length <= 6) {
|
|
62
|
+
const [year, month, day, hour = 0, minute = 0, second = 0] = value;
|
|
63
|
+
const date = new Date(year, month - 1, day, hour, minute, second);
|
|
64
|
+
return formatDatetime(date);
|
|
65
|
+
}
|
|
66
|
+
return value.join(', ');
|
|
67
|
+
}
|
|
68
|
+
if (value instanceof Date) {
|
|
69
|
+
return formatDatetime(value);
|
|
70
|
+
}
|
|
71
|
+
return value?.toString() ?? '';
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
const exportToCSV = () => {
|
|
75
|
+
// Filter selected columns
|
|
76
|
+
const selectedColumnNames = Object.entries(selectedColumns)
|
|
77
|
+
.filter(([_, selected]) => selected)
|
|
78
|
+
.map(([name]) => name);
|
|
79
|
+
|
|
80
|
+
const selectedColumnsData = columns.filter((col) => selectedColumnNames.includes(col.name));
|
|
81
|
+
|
|
82
|
+
// Create CSV header
|
|
83
|
+
const header = selectedColumnsData.map((col) => col.label).join(',');
|
|
84
|
+
|
|
85
|
+
// Create CSV rows
|
|
86
|
+
const csvRows = rows.map((row) => {
|
|
87
|
+
return selectedColumnsData
|
|
88
|
+
.map((col) => {
|
|
89
|
+
const value = row[col.name];
|
|
90
|
+
// Handle array values and escape commas
|
|
91
|
+
if (Array.isArray(value)) {
|
|
92
|
+
// Handle date arrays
|
|
93
|
+
if (value.length >= 3 && value.length <= 6) {
|
|
94
|
+
const [year, month, day, hour = 0, minute = 0, second = 0] = value;
|
|
95
|
+
const date = new Date(year, month - 1, day, hour, minute, second);
|
|
96
|
+
return `"${formatDatetime(date)}"`;
|
|
97
|
+
}
|
|
98
|
+
return `"${value.join(' ')}"`;
|
|
99
|
+
}
|
|
100
|
+
// Handle strings with commas
|
|
101
|
+
if (typeof value === 'string' && value.includes(',')) {
|
|
102
|
+
return `"${value}"`;
|
|
103
|
+
}
|
|
104
|
+
return value;
|
|
105
|
+
})
|
|
106
|
+
.join(',');
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// Combine header and rows
|
|
110
|
+
const csvContent = [header, ...csvRows].join('\n');
|
|
111
|
+
|
|
112
|
+
// Create and trigger download
|
|
113
|
+
const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
|
|
114
|
+
const link = document.createElement('a');
|
|
115
|
+
const url = URL.createObjectURL(blob);
|
|
116
|
+
link.setAttribute('href', url);
|
|
117
|
+
link.setAttribute('download', `${reportData?.definition?.name || 'report'}.csv`);
|
|
118
|
+
document.body.appendChild(link);
|
|
119
|
+
link.click();
|
|
120
|
+
document.body.removeChild(link);
|
|
121
|
+
setShowExportModal(false);
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
// Calculate pagination
|
|
125
|
+
const totalItems = rows.length;
|
|
126
|
+
const startIndex = (currentPage - 1) * pageSize;
|
|
127
|
+
const endIndex = startIndex + pageSize;
|
|
128
|
+
const paginatedRows = rows.slice(startIndex, endIndex);
|
|
129
|
+
|
|
130
|
+
// Transform the data into a format that Carbon's DataTable can understand
|
|
131
|
+
const tableRows = paginatedRows.map((row, index) => ({
|
|
132
|
+
id: index.toString(),
|
|
133
|
+
...row,
|
|
134
|
+
}));
|
|
135
|
+
|
|
136
|
+
const tableHeaders = columns.map((column) => ({
|
|
137
|
+
key: column.name,
|
|
138
|
+
header: column.label,
|
|
139
|
+
}));
|
|
140
|
+
|
|
141
|
+
return (
|
|
142
|
+
<div className={styles.reportDataViewer}>
|
|
143
|
+
<div className={styles.reportDataViewerHeader}>
|
|
144
|
+
<h3>{reportData?.definition?.name || t('reportData', 'Report Data')}</h3>
|
|
145
|
+
<Button
|
|
146
|
+
kind="ghost"
|
|
147
|
+
size="sm"
|
|
148
|
+
renderIcon={Download}
|
|
149
|
+
iconDescription={t('exportCSV', 'Export CSV')}
|
|
150
|
+
onClick={() => setShowExportModal(true)}
|
|
151
|
+
>
|
|
152
|
+
{t('exportCSV', 'Export CSV')}
|
|
153
|
+
</Button>
|
|
154
|
+
</div>
|
|
155
|
+
<div className={styles.reportDataViewerContent}>
|
|
156
|
+
<DataTable rows={tableRows} headers={tableHeaders} isSortable>
|
|
157
|
+
{({ rows, headers }) => (
|
|
158
|
+
<TableContainer>
|
|
159
|
+
<Table>
|
|
160
|
+
<TableHead>
|
|
161
|
+
<TableRow>
|
|
162
|
+
{headers.map((header) => (
|
|
163
|
+
<TableHeader key={header.key}>{header.header}</TableHeader>
|
|
164
|
+
))}
|
|
165
|
+
</TableRow>
|
|
166
|
+
</TableHead>
|
|
167
|
+
<TableBody>
|
|
168
|
+
{rows.length > 0 ? (
|
|
169
|
+
rows.map((row) => (
|
|
170
|
+
<TableRow key={row.id}>
|
|
171
|
+
{row.cells.map((cell) => (
|
|
172
|
+
<TableCell key={cell.id}>{formatCellValue(cell.value)}</TableCell>
|
|
173
|
+
))}
|
|
174
|
+
</TableRow>
|
|
175
|
+
))
|
|
176
|
+
) : (
|
|
177
|
+
<TableRow>
|
|
178
|
+
<TableCell colSpan={headers.length} className={styles.emptyTableMessage}>
|
|
179
|
+
{t('noDataAvailable', 'No data available')}
|
|
180
|
+
</TableCell>
|
|
181
|
+
</TableRow>
|
|
182
|
+
)}
|
|
183
|
+
</TableBody>
|
|
184
|
+
</Table>
|
|
185
|
+
</TableContainer>
|
|
186
|
+
)}
|
|
187
|
+
</DataTable>
|
|
188
|
+
<Pagination
|
|
189
|
+
backwardText={t('previousPage', 'Previous page')}
|
|
190
|
+
forwardText={t('nextPage', 'Next page')}
|
|
191
|
+
page={currentPage}
|
|
192
|
+
pageSize={pageSize}
|
|
193
|
+
pageSizes={DEFAULT_PAGE_SIZES}
|
|
194
|
+
totalItems={totalItems}
|
|
195
|
+
size={isDesktop(layout) ? 'sm' : 'lg'}
|
|
196
|
+
onChange={({ pageSize: newPageSize, page: newPage }) => {
|
|
197
|
+
if (newPageSize !== pageSize) {
|
|
198
|
+
setPageSize(newPageSize);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
if (newPage !== currentPage) {
|
|
202
|
+
setCurrentPage(newPage);
|
|
203
|
+
}
|
|
204
|
+
}}
|
|
205
|
+
/>
|
|
206
|
+
</div>
|
|
207
|
+
|
|
208
|
+
<Modal
|
|
209
|
+
open={showExportModal}
|
|
210
|
+
modalHeading={t('selectColumns', 'Select Columns to Export')}
|
|
211
|
+
primaryButtonText={t('export', 'Export')}
|
|
212
|
+
secondaryButtonText={getCoreTranslation('cancel')}
|
|
213
|
+
onRequestClose={() => setShowExportModal(false)}
|
|
214
|
+
onRequestSubmit={exportToCSV}
|
|
215
|
+
>
|
|
216
|
+
<FormGroup legendText={t('availableColumns', 'Available Columns')}>
|
|
217
|
+
{columns.map((column) => (
|
|
218
|
+
<Checkbox
|
|
219
|
+
key={column.name}
|
|
220
|
+
id={column.name}
|
|
221
|
+
labelText={column.label}
|
|
222
|
+
checked={selectedColumns[column.name]}
|
|
223
|
+
onChange={() => handleColumnToggle(column.name)}
|
|
224
|
+
/>
|
|
225
|
+
))}
|
|
226
|
+
</FormGroup>
|
|
227
|
+
</Modal>
|
|
228
|
+
</div>
|
|
229
|
+
);
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
export default ReportDataViewer;
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import React, { useState, useMemo, useEffect } from 'react';
|
|
2
|
+
import { useTranslation } from 'react-i18next';
|
|
3
|
+
import { Select, SelectItem, Button } from '@carbon/react';
|
|
4
|
+
import { ExtensionSlot, showSnackbar, OpenmrsDatePicker, getCoreTranslation } from '@openmrs/esm-framework';
|
|
5
|
+
import { useReportDefinitions, useReportData } from './reports.resource';
|
|
6
|
+
import Overlay from './overlay.component';
|
|
7
|
+
import ReportDataViewer from './report-data-viewer.component';
|
|
8
|
+
import styles from './reports.scss';
|
|
9
|
+
import dayjs from 'dayjs';
|
|
10
|
+
|
|
11
|
+
const ReportsDataOverviewComponent: React.FC = () => {
|
|
12
|
+
const { t } = useTranslation();
|
|
13
|
+
const [selectedReport, setSelectedReport] = useState('');
|
|
14
|
+
const [reportParameters, setReportParameters] = useState<Record<string, string>>({});
|
|
15
|
+
|
|
16
|
+
const { reportDefinitions } = useReportDefinitions();
|
|
17
|
+
const { reportData, error, isLoading, mutate } = useReportData(selectedReport, reportParameters);
|
|
18
|
+
|
|
19
|
+
const selectedReportDefinition = useMemo(() => {
|
|
20
|
+
return reportDefinitions?.find((report) => report.uuid === selectedReport);
|
|
21
|
+
}, [selectedReport, reportDefinitions]);
|
|
22
|
+
|
|
23
|
+
const handleParameterChange = (parameterName: string, value: Date) => {
|
|
24
|
+
const formattedDate = value ? dayjs(value).format('YYYY-MM-DDTHH:mm:ss.SSSZ') : '';
|
|
25
|
+
setReportParameters((prev) => ({
|
|
26
|
+
...prev,
|
|
27
|
+
[parameterName]: formattedDate,
|
|
28
|
+
}));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
const handleReportChange = (event: React.ChangeEvent<HTMLSelectElement>) => {
|
|
32
|
+
const newReportUuid = event.target.value;
|
|
33
|
+
if (newReportUuid !== selectedReport) {
|
|
34
|
+
// Clear all parameters first
|
|
35
|
+
setReportParameters({});
|
|
36
|
+
// Then set the new report UUID
|
|
37
|
+
setSelectedReport(newReportUuid);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const handleFetchReport = () => {
|
|
42
|
+
if (!selectedReport) {
|
|
43
|
+
showSnackbar({
|
|
44
|
+
kind: 'error',
|
|
45
|
+
title: getCoreTranslation('error'),
|
|
46
|
+
subtitle: t('selectReportFirst', 'Please select a report first'),
|
|
47
|
+
});
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Check if the report has parameters in its definition
|
|
52
|
+
const hasParameters = selectedReportDefinition?.parameters?.length > 0;
|
|
53
|
+
|
|
54
|
+
if (hasParameters) {
|
|
55
|
+
// Check if all parameters have values
|
|
56
|
+
const missingParameters = selectedReportDefinition?.parameters
|
|
57
|
+
?.filter((param) => !reportParameters[param.name])
|
|
58
|
+
.map((param) => param.label);
|
|
59
|
+
|
|
60
|
+
if (missingParameters?.length > 0) {
|
|
61
|
+
showSnackbar({
|
|
62
|
+
kind: 'error',
|
|
63
|
+
title: getCoreTranslation('error'),
|
|
64
|
+
subtitle: t('missingParameters', 'Please provide the following parameters: {parameters}', {
|
|
65
|
+
parameters: missingParameters.join(', '),
|
|
66
|
+
}),
|
|
67
|
+
});
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Only fetch when explicitly requested and parameters are valid
|
|
73
|
+
mutate();
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
// Remove the automatic fetch effect
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
if (error) {
|
|
79
|
+
showSnackbar({
|
|
80
|
+
kind: 'error',
|
|
81
|
+
title: getCoreTranslation('error'),
|
|
82
|
+
subtitle: error?.message || t('errorFetchingReport', 'Error fetching report'),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}, [error, t]);
|
|
86
|
+
|
|
87
|
+
useEffect(() => {
|
|
88
|
+
if (reportData) {
|
|
89
|
+
showSnackbar({
|
|
90
|
+
kind: 'success',
|
|
91
|
+
title: t('reportFetched', 'Report fetched successfully'),
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}, [reportData, t]);
|
|
95
|
+
|
|
96
|
+
return (
|
|
97
|
+
<div>
|
|
98
|
+
<ExtensionSlot name="breadcrumbs-slot" className={styles.breadcrumb} />
|
|
99
|
+
<div className={styles.mainPanelDiv}>
|
|
100
|
+
<div className={styles.reportsLabelDiv}>
|
|
101
|
+
<h3>{t('reports', 'Reports')}</h3>
|
|
102
|
+
</div>
|
|
103
|
+
<div className={styles.filterForm}>
|
|
104
|
+
<div className={styles.formField}>
|
|
105
|
+
<Select
|
|
106
|
+
id="report-select"
|
|
107
|
+
labelText={t('selectReport', 'Select Report')}
|
|
108
|
+
value={selectedReport}
|
|
109
|
+
onChange={handleReportChange}
|
|
110
|
+
>
|
|
111
|
+
<SelectItem text={t('selectReport', 'Select Report')} value="" />
|
|
112
|
+
{reportDefinitions?.map((report) => (
|
|
113
|
+
<SelectItem key={report.uuid} text={report.name} value={report.uuid} />
|
|
114
|
+
))}
|
|
115
|
+
</Select>
|
|
116
|
+
</div>
|
|
117
|
+
{selectedReportDefinition?.parameters?.map((parameter) => (
|
|
118
|
+
<div key={parameter.name + selectedReportDefinition.uuid} className={styles.formField}>
|
|
119
|
+
<OpenmrsDatePicker
|
|
120
|
+
id={parameter.name}
|
|
121
|
+
labelText={parameter.label}
|
|
122
|
+
onChange={(date) => handleParameterChange(parameter.name, date)}
|
|
123
|
+
value={reportParameters[parameter.name]}
|
|
124
|
+
/>
|
|
125
|
+
</div>
|
|
126
|
+
))}
|
|
127
|
+
<div className={styles.formField}>
|
|
128
|
+
<Button onClick={handleFetchReport} disabled={isLoading}>
|
|
129
|
+
{isLoading ? getCoreTranslation('loading') : t('fetchReport', 'Fetch Report')}
|
|
130
|
+
</Button>
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
{reportData && (
|
|
134
|
+
<div className={styles.reportDataViewerContainer}>
|
|
135
|
+
<ReportDataViewer reportData={reportData} />
|
|
136
|
+
</div>
|
|
137
|
+
)}
|
|
138
|
+
</div>
|
|
139
|
+
<Overlay />
|
|
140
|
+
</div>
|
|
141
|
+
);
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
export default ReportsDataOverviewComponent;
|
|
@@ -6,6 +6,8 @@ import type { ReportDefinition } from '../types/report-definition';
|
|
|
6
6
|
import type { ReportDesign } from '../types/report-design';
|
|
7
7
|
import type { ReportRequest } from '../types/report-request';
|
|
8
8
|
import dayjs from 'dayjs';
|
|
9
|
+
import { useTranslation } from 'react-i18next';
|
|
10
|
+
import { useState, useMemo, useEffect } from 'react';
|
|
9
11
|
|
|
10
12
|
interface ReportModel {
|
|
11
13
|
reportName: string;
|
|
@@ -39,7 +41,7 @@ export function useLocations() {
|
|
|
39
41
|
|
|
40
42
|
export function useReports(statuses: string, pageNumber: number, pageSize: number, sortBy?: string): any {
|
|
41
43
|
const reportsUrl =
|
|
42
|
-
`/ws/rest/v1/reportingrest/
|
|
44
|
+
`/ws/rest/v1/reportingrest/reportDefinition?status=${statuses}&startIndex=${pageNumber}&limit=${pageSize}&totalCount=true` +
|
|
43
45
|
(sortBy ? `&sortBy=${sortBy}` : '');
|
|
44
46
|
|
|
45
47
|
const { data, error, isValidating, mutate } = useSWR<{ data: { results: Array<any>; totalCount: number } }, Error>(
|
|
@@ -222,3 +224,55 @@ function convertParametersToString(data: any): string {
|
|
|
222
224
|
|
|
223
225
|
return finalString;
|
|
224
226
|
}
|
|
227
|
+
|
|
228
|
+
export function useReportData(reportUuid: string, parameters: Record<string, string>) {
|
|
229
|
+
const { t } = useTranslation();
|
|
230
|
+
const [shouldFetch, setShouldFetch] = useState(false);
|
|
231
|
+
const [lastReportUuid, setLastReportUuid] = useState('');
|
|
232
|
+
|
|
233
|
+
// Reset shouldFetch when reportUuid changes
|
|
234
|
+
useEffect(() => {
|
|
235
|
+
if (reportUuid !== lastReportUuid) {
|
|
236
|
+
setShouldFetch(false);
|
|
237
|
+
setLastReportUuid(reportUuid);
|
|
238
|
+
}
|
|
239
|
+
}, [reportUuid, lastReportUuid]);
|
|
240
|
+
|
|
241
|
+
// Only fetch when shouldFetch is true and we have a reportUuid
|
|
242
|
+
const { data, error, isLoading, mutate } = useSWR(
|
|
243
|
+
shouldFetch && reportUuid ? ['reportData', reportUuid, parameters] : null,
|
|
244
|
+
async () => {
|
|
245
|
+
if (!reportUuid) return null;
|
|
246
|
+
|
|
247
|
+
// Build query string only if we have parameters
|
|
248
|
+
let url = `/ws/rest/v1/reportingrest/reportdata/${reportUuid}`;
|
|
249
|
+
if (Object.keys(parameters).length > 0) {
|
|
250
|
+
const queryParams = new URLSearchParams();
|
|
251
|
+
Object.entries(parameters).forEach(([key, value]) => {
|
|
252
|
+
if (value) {
|
|
253
|
+
queryParams.append(key, value);
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
url += `?${queryParams.toString()}`;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
const response = await openmrsFetch(url);
|
|
260
|
+
return response.data;
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
revalidateOnFocus: false,
|
|
264
|
+
revalidateOnReconnect: false,
|
|
265
|
+
shouldRetryOnError: false,
|
|
266
|
+
},
|
|
267
|
+
);
|
|
268
|
+
|
|
269
|
+
return {
|
|
270
|
+
reportData: data,
|
|
271
|
+
error,
|
|
272
|
+
isLoading,
|
|
273
|
+
mutate: () => {
|
|
274
|
+
setShouldFetch(true);
|
|
275
|
+
mutate();
|
|
276
|
+
},
|
|
277
|
+
};
|
|
278
|
+
}
|