using json-2-csv package for the csv export now since the old package has not been updated in 4 years

This commit is contained in:
csawatzky 2025-02-28 14:50:36 -06:00
parent eb5fd127e3
commit cf559d48a2
4 changed files with 64 additions and 23 deletions

43
package-lock.json generated
View file

@ -22,6 +22,7 @@
"axios": "^1.7.7",
"dayjs": "^1.11.13",
"deep-object-diff": "^1.1.9",
"json-2-csv": "^5.5.8",
"lodash": "^4.17.21",
"moment": "^2.30.1",
"moment-timezone": "^0.5.46",
@ -44,6 +45,7 @@
"devDependencies": {
"@babel/types": "^7.25.8",
"@eslint/js": "^9.11.1",
"@types/jsonexport": "^3.0.5",
"@types/lodash": "^4.17.13",
"@types/react": "^18.3.10",
"@types/react-color": "^3.0.13",
@ -3544,6 +3546,16 @@
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
"dev": true
},
"node_modules/@types/jsonexport": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/jsonexport/-/jsonexport-3.0.5.tgz",
"integrity": "sha512-+zDVaDqNguePOU11YNEsuf/ZRS1ciHeKVYGjfvDFmgG6aCy/s4W4Wy1MiXJIbiyMJLuakGLENCndvmGZpVTV1w==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/lodash": {
"version": "4.17.13",
"integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==",
@ -4787,6 +4799,15 @@
"integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==",
"license": "MIT"
},
"node_modules/deeks": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/deeks/-/deeks-3.1.0.tgz",
"integrity": "sha512-e7oWH1LzIdv/prMQ7pmlDlaVoL64glqzvNgkgQNgyec9ORPHrT2jaOqMtRyqJuwWjtfb6v+2rk9pmaHj+F137A==",
"license": "MIT",
"engines": {
"node": ">= 16"
}
},
"node_modules/deep-eql": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
@ -4878,6 +4899,15 @@
"node": ">=0.4.0"
}
},
"node_modules/doc-path": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/doc-path/-/doc-path-4.1.1.tgz",
"integrity": "sha512-h1ErTglQAVv2gCnOpD3sFS6uolDbOKHDU1BZq+Kl3npPqroU3dYL42lUgMfd5UimlwtRgp7C9dLGwqQ5D2HYgQ==",
"license": "MIT",
"engines": {
"node": ">=16"
}
},
"node_modules/dom-helpers": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
@ -6479,6 +6509,19 @@
"node": ">=6"
}
},
"node_modules/json-2-csv": {
"version": "5.5.8",
"resolved": "https://registry.npmjs.org/json-2-csv/-/json-2-csv-5.5.8.tgz",
"integrity": "sha512-eMQHOwV+av8Sgo+fkbEbQWOw/kwh89AZ5fNA8TYfcooG6TG1ZOL2WcPUrngIMIK8dBJitQ8QEU0zbncQ0CX4CQ==",
"license": "MIT",
"dependencies": {
"deeks": "3.1.0",
"doc-path": "4.1.1"
},
"engines": {
"node": ">= 16"
}
},
"node_modules/json-buffer": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",

View file

@ -32,6 +32,7 @@
"axios": "^1.7.7",
"dayjs": "^1.11.13",
"deep-object-diff": "^1.1.9",
"json-2-csv": "^5.5.8",
"lodash": "^4.17.21",
"moment": "^2.30.1",
"moment-timezone": "^0.5.46",
@ -54,6 +55,7 @@
"devDependencies": {
"@babel/types": "^7.25.8",
"@eslint/js": "^9.11.1",
"@types/jsonexport": "^3.0.5",
"@types/lodash": "^4.17.13",
"@types/react": "^18.3.10",
"@types/react-color": "^3.0.13",

View file

@ -93,14 +93,11 @@ class ExportDataSettings extends React.Component<Props, State> {
};
submit = () => {
console.log("submit export request")
const { device, component, newMeasurements, user } = this.props;
const { startDate, endDate } = this.state;
const { sampleMeasurements, listUnitMeasurements } = this.context;
this.setState({ isLoading: true });
console.log("Device")
console.log(device)
// if (newMeasurements) {
listUnitMeasurements(
device.id(),

View file

@ -1,8 +1,7 @@
// import * as save from "save-svg-as-png";
// import * as jsonexport from "jsonexport";
import { or } from "./types";
// const jsonexport = require("jsonexport");
// const save = require("save-svg-as-png")
import { json2csv } from 'json-2-csv';
export function saveSVG(element: string, filename: string, options: Object) {
// save.saveSvgAsPng(document.getElementById(element), filename, options);
@ -52,25 +51,25 @@ export function exportDataToCSV(filename: string, data: Array<any>) {
return;
}
// jsonexport(data, function(err: any, csv: any) {
// if (err) return console.log(err);
// var blob = new Blob([csv], { type: "text/csv;charset=utf-8;" });
// var link = document.createElement("a");
// link.href = window.URL.createObjectURL(blob);
// link.download = or(filename, "generated") + ".csv";
// document.body.appendChild(link);
// link.click();
// setTimeout(function() {
// document.body.removeChild(link);
// window.URL.revokeObjectURL(link.href);
// }, 100);
// });
let csv = json2csv(data)
//console.log(csv)
var blob = new Blob([csv], { type: "text/csv;charset=utf-8;" });
var link = document.createElement("a");
link.href = window.URL.createObjectURL(blob);
link.download = or(filename, "generated") + ".csv";
document.body.appendChild(link);
link.click();
setTimeout(function() {
document.body.removeChild(link);
window.URL.revokeObjectURL(link.href);
}, 100);
}
export function exportJSON(filename: string, data: Array<any>) {
if (!data || !data.length) {
return;
}
//deprecated function
// export function exportJSON(filename: string, data: Array<any>) {
// if (!data || !data.length) {
// return;
// }
// jsonexport(data, function(err: any, csv: any) {
// if (err) return console.log(err);
@ -85,4 +84,4 @@ export function exportJSON(filename: string, data: Array<any>) {
// window.URL.revokeObjectURL(link.href);
// }, 100);
// });
}
//}