download.html 3.55 KiB
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>CO2 wifi sensor</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="styles.css" />
    <img class="logo" src="copain.png" />
  </head>
<body>
<script>
function refresh() {fetch('listfiles')
  .then(function(response) {return response.json();})
  .then(function(data) { listFiles(data);})
  .catch(function(err) { console.log('error: '+err); });}
refresh();
function listFiles(data) {
  var mainContainer = document.getElementById("listfiles");
  if (data.length == 0) {
    mainContainer.innerHTML="<div class=\"itxt\"><em>No files available</em></div>";
    return; }
  var t=document.createElement("table");
  for (var i = 0; i < data.length; i++) {
    var li = document.createElement("tr");
    var ce = document.createElement("td");
    var s=Math.round(Number(data[i].size)/1024);
    var a="<div class=\"chk\"><input type=\"radio\" name=\"file\" value=\"";
    a+=data[i].name+"\">"+data[i].name+"</div>";
    ce.innerHTML=a; li.appendChild(ce);
    var ce = document.createElement("td");
    ce.innerHTML="["+s+" kB]"; li.appendChild(ce);
    t.appendChild(li); }
  mainContainer.innerHTML=""; mainContainer.appendChild(t);
  document.getElementById("todo").value="get"; }
function doClick() {
  var action = document.getElementById("todo").value;
  var cbr = document.getElementsByName('file');
  var doc="";
  for(var i = 0; i < cbr.length; i++) if (cbr[i].checked) doc=cbr[i].value;
  if (doc=="") return;
  if (action=="get") { /* download */
    var a = document.createElement('a');
    var url = "/data/"+doc; a.href = url; a.download = url.split('/').pop();
    document.body.appendChild(a); a.click(); document.body.removeChild(a);
    return;
  if (action=="see") { /* chart */
    var a = document.createElement('a');
    var url = "/chart.html?file="+doc; a.href = url; /*a.download = url.split('/').pop();*/
    document.body.appendChild(a); a.click(); document.body.removeChild(a);
    return;
  if (action=="del") { //https://192.168.2.243/FileManage?file=202201231805.csv&todo=del
    fetch("FileManage?file="+doc+"&todo=del")
    .then(function(response) { return response; })
    .then(function(data) {
      document.getElementById("listfiles").innerHTML="<div class=\"loader\"></div>";
      refresh(); })
    .catch(function(err) {console.log('error: '+err); });
</script>
<nav role="navigation">
<div id="menuToggle"><input class="menuchk" type="checkbox" />
<span></span><span></span><span></span><ul id="menu" class="menul">
  <li><h3>Main menu</h3></li>
  <li><a href="index.html">Home</a></li>
  <li><div class="menusel">Data files</div></li>
  <li><h3>Setup</h3></li>
7172737475767778798081828384858687888990919293949596979899100101102103
<li><a href="setupWifi.html">Wifi setup</a><li/> <li><a href="setupAP.html">AP setup</a><li/> <li><a href="setupSensor.html">Sensor settings</a><li/> <li><a href="setupDateTime.html">Date and time</a><li/> </ul> </div> </nav> <div class="main"> <h1 id="wifi-co2-sensor">Data files</h1> <form method='get' id="fm" action='FileManage'> <div class="linfopanel"> <div class="linfo"><div class="ititle">Files</div> <div class="icont"><div class="itxt"> <div id="listfiles"><div class="loader"> </div></div> </div></div> </div> <div class="linfo"><div class="ititle">Actions</div> <div class="icont"> <select name="todo" id="todo"> <option value="get">Download</option> <option value="see">View</option> <option value="del">Delete</option> </select> <input type="button" value="Go" onclick="doClick()" > </div> </div> </div> </form> </div> </body></html>