aboutsummaryrefslogtreecommitdiff
path: root/modern/src/reports/TripReportPage.js
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2020-11-14 23:10:22 -0800
committerAnton Tananaev <anton.tananaev@gmail.com>2020-11-14 23:10:22 -0800
commit604eabcd97c6e7ddb42316a5a1fb0abc24e8dc7f (patch)
tree79a1ad01487fa95ac8ba6257d5b423011cba7873 /modern/src/reports/TripReportPage.js
parentcfb788f1f8738b0b29ffb6d27ca8790f1ef7b49a (diff)
downloadtrackermap-web-604eabcd97c6e7ddb42316a5a1fb0abc24e8dc7f.tar.gz
trackermap-web-604eabcd97c6e7ddb42316a5a1fb0abc24e8dc7f.tar.bz2
trackermap-web-604eabcd97c6e7ddb42316a5a1fb0abc24e8dc7f.zip
Support excel reports
Diffstat (limited to 'modern/src/reports/TripReportPage.js')
-rw-r--r--modern/src/reports/TripReportPage.js18
1 files changed, 13 insertions, 5 deletions
diff --git a/modern/src/reports/TripReportPage.js b/modern/src/reports/TripReportPage.js
index bb987e1b..10f1c464 100644
--- a/modern/src/reports/TripReportPage.js
+++ b/modern/src/reports/TripReportPage.js
@@ -6,15 +6,23 @@ import ReportFilter from './ReportFilter';
import ReportLayoutPage from './ReportLayoutPage';
import { useAttributePreference } from '../common/preferences';
-const ReportFilterForm = ({ onResult }) => {
+const ReportFilterForm = ({ setItems }) => {
- const handleSubmit = async (deviceId, from, to) => {
- const query = new URLSearchParams({ deviceId, from, to });
- const response = await fetch(`/api/reports/trips?${query.toString()}`, { headers: { Accept: 'application/json' } });
+ const handleSubmit = async (deviceId, from, to, mail, headers) => {
+ const query = new URLSearchParams({ deviceId, from, to, mail });
+ const response = await fetch(`/api/reports/trips?${query.toString()}`, { headers });
if (response.ok) {
- onResult(await response.json());
+ const contentType = response.headers.get('content-type');
+ if (contentType) {
+ if (contentType === 'application/json') {
+ setItems(await response.json());
+ } else {
+ window.location.assign(window.URL.createObjectURL(await response.blob()));
+ }
+ }
}
}
+
return <ReportFilter handleSubmit={handleSubmit} />;
}