plant.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. document.getElementById("upload").addEventListener("change", upload, false);
  2. document.getElementById("download").addEventListener("click", download, false);
  3. function upload(e) {
  4. var data = null;
  5. var file = e.target.files[0];
  6. var reader = new FileReader();
  7. reader.readAsText(file);
  8. reader.onload = function (event) {
  9. var csvData = event.target.result;
  10. var parsedCSV = d3.csv.parseRows(csvData);
  11. parsedCSV.forEach(function (d, i) {
  12. if (i == 0) return true; // skip the header
  13. document.getElementById(d[0]).value = d[1];
  14. });
  15. }
  16. }
  17. function download(e) {
  18. data = [["id","value"]];
  19. var f = d3.selectAll("#csvForm input, select")[0];
  20. f.forEach(function(d,i){
  21. data.push([d.id, d.value]);
  22. });
  23. console.log(data);
  24. var csvContent = "data:text/csv;charset=utf-8,";
  25. data.forEach(function (d, i) {
  26. dataString = d.join(",");
  27. csvContent += i < data.length ? dataString + "\n" : dataString;
  28. });
  29. var url = window.location.pathname;
  30. var filename = url.substring(url.lastIndexOf('/')+1);
  31. var fname = filename.split(".")[0];
  32. var csvname = fname+".csv";
  33. var encodedUri = encodeURI(csvContent);
  34. var link = document.createElement("a");
  35. link.setAttribute("href", encodedUri);
  36. link.setAttribute("download", csvname);
  37. link.click();
  38. }