-
Notifications
You must be signed in to change notification settings - Fork 2
/
app.js
34 lines (29 loc) · 987 Bytes
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import "./css/style.css";
import csvToArray from "./js/csvToArray.js";
import { exportFile, generateCSV } from "./js/generateCSV.js";
import generateTable from "./js/generateTable.js";
const uploadForm = document.getElementById("fileForm");
const csvFile = document.getElementById("csvUpload");
const preview = document.getElementById("filePreview");
uploadForm.addEventListener("submit", (e) => {
e.preventDefault();
if (0 === csvFile.files.length) {
return;
}
const file = csvFile.files[0];
if (file) {
const reader = new FileReader();
// Define what happens once the FileReader has completed reading
reader.onload = function (e) {
const text = e.target.result;
const data = csvToArray(text);
console.log(data);
preview.innerHTML = generateTable(data);
const csvContent = generateCSV(data);
exportFile(csvContent);
};
reader.readAsText(file);
} else {
preview.innerText = "Please choose a file";
}
});