2020-06-17 10:07:47 +00:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<link rel="stylesheet" href="../../css/spectre.min.css">
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div id="records"></div>
|
|
|
|
|
2020-08-24 10:59:52 +00:00
|
|
|
<script src="../../core/lib/interface.js"></script>
|
2020-06-17 10:07:47 +00:00
|
|
|
<script>
|
|
|
|
var domRecords = document.getElementById("records");
|
|
|
|
|
|
|
|
function saveRecord(record,name) {
|
2020-06-17 10:27:39 +00:00
|
|
|
var csv = `${record.map(rec=>[rec.start_time, rec.end_time].join(",")).join("\n")}`;
|
2020-06-17 10:07:47 +00:00
|
|
|
Util.saveCSV(name, csv);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2020-06-17 10:27:39 +00:00
|
|
|
function recordLineToObject(l) {
|
2020-06-17 10:07:47 +00:00
|
|
|
var t = l.trim().split(",");
|
|
|
|
var o = {
|
2020-06-17 10:27:39 +00:00
|
|
|
start_time: parseFloat(t[0]),
|
|
|
|
end_time: parseFloat(t[1]),
|
2020-06-17 10:07:47 +00:00
|
|
|
};
|
|
|
|
return o;
|
|
|
|
}
|
|
|
|
|
2020-06-17 10:27:39 +00:00
|
|
|
function downloadRecord(callback) {
|
2020-06-17 10:07:47 +00:00
|
|
|
Util.showModal("Downloading one-button tracker data...");
|
|
|
|
Util.readStorageFile(`one_button_presses.csv`,data=>{
|
|
|
|
Util.hideModal();
|
2020-06-17 10:27:39 +00:00
|
|
|
var record = data.trim().split("\n").map(l=>recordLineToObject(l));
|
2020-06-17 10:07:47 +00:00
|
|
|
callback(record);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function getRecordList() {
|
|
|
|
Util.showModal("Loading one button tracker records...");
|
|
|
|
domRecords.innerHTML = "";
|
|
|
|
var html = `<div class="container">
|
|
|
|
<div class="columns">\n`;
|
|
|
|
html += `
|
|
|
|
<div class="column col-12">
|
|
|
|
<div class="card-header">
|
2020-06-17 10:27:39 +00:00
|
|
|
<div class="card-title h5">One-Button Presses</div>
|
2020-06-17 10:44:31 +00:00
|
|
|
<div class="card-subtitle text-gray">Get all of your button presses</div>
|
2020-06-17 10:07:47 +00:00
|
|
|
</div>
|
|
|
|
<div class="card-body"></div>
|
|
|
|
<div class="card-footer">
|
2020-06-17 10:27:39 +00:00
|
|
|
<button class="btn btn-primary" task="download">Download</button>
|
|
|
|
<button class="btn btn-default" task="delete">Delete</button>
|
2020-06-17 10:07:47 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
`;
|
|
|
|
html += `
|
|
|
|
</div>
|
|
|
|
</div>`;
|
|
|
|
domRecords.innerHTML = html;
|
|
|
|
Util.hideModal();
|
|
|
|
var buttons = domRecords.querySelectorAll("button");
|
|
|
|
for (var i=0;i<buttons.length;i++) {
|
|
|
|
buttons[i].addEventListener("click",event => {
|
|
|
|
var button = event.currentTarget;
|
|
|
|
var task = button.getAttribute("task");
|
|
|
|
if (task=="delete") {
|
|
|
|
Util.showModal("Deleting record...");
|
2020-06-17 10:27:39 +00:00
|
|
|
Util.eraseStorageFile(`one_button_presses.csv`,()=>{
|
2020-06-17 10:07:47 +00:00
|
|
|
Util.hideModal();
|
|
|
|
getRecordList();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
if (task=="download") {
|
2020-06-17 10:27:39 +00:00
|
|
|
downloadRecord(record => saveRecord(record, `one_button_presses`));
|
2020-06-17 10:07:47 +00:00
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
2020-06-17 11:21:37 +00:00
|
|
|
}
|
2020-06-17 10:07:47 +00:00
|
|
|
|
|
|
|
function onInit() {
|
|
|
|
getRecordList();
|
|
|
|
}
|
|
|
|
|
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html>
|