tweak interface
parent
223668faa0
commit
b6afd43b32
|
|
@ -10,28 +10,25 @@
|
||||||
var domRecords = document.getElementById("records");
|
var domRecords = document.getElementById("records");
|
||||||
|
|
||||||
function saveRecord(record,name) {
|
function saveRecord(record,name) {
|
||||||
var csv = `${record.map(rec=>[rec.time, rec.bpm, rec.confidence].join(",")).join("\n")}`;
|
var csv = `${record.map(rec=>[rec.start_time, rec.end_time].join(",")).join("\n")}`;
|
||||||
Util.saveCSV(name, csv);
|
Util.saveCSV(name, csv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function recordLineToObject(l, hasRecordNbr) {
|
function recordLineToObject(l) {
|
||||||
var t = l.trim().split(",");
|
var t = l.trim().split(",");
|
||||||
var n = hasRecordNbr?1:0;
|
|
||||||
var o = {
|
var o = {
|
||||||
start_time: parseFloat(t[n+0]),
|
start_time: parseFloat(t[0]),
|
||||||
end_time: parseFloat(t[n+1]),
|
end_time: parseFloat(t[1]),
|
||||||
};
|
};
|
||||||
if (hasRecordNbr)
|
|
||||||
o.number = t[0];
|
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
|
|
||||||
function downloadRecord(recordNbr, callback) {
|
function downloadRecord(callback) {
|
||||||
Util.showModal("Downloading one-button tracker data...");
|
Util.showModal("Downloading one-button tracker data...");
|
||||||
Util.readStorageFile(`one_button_presses.csv`,data=>{
|
Util.readStorageFile(`one_button_presses.csv`,data=>{
|
||||||
Util.hideModal();
|
Util.hideModal();
|
||||||
var record = data.trim().split("\n").map(l=>recordLineToObject(l,false));
|
var record = data.trim().split("\n").map(l=>recordLineToObject(l));
|
||||||
callback(record);
|
callback(record);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -47,17 +44,17 @@ function getRecordList() {
|
||||||
var html = `<div class="container">
|
var html = `<div class="container">
|
||||||
<div class="columns">\n`;
|
<div class="columns">\n`;
|
||||||
recordLines.forEach(l => {
|
recordLines.forEach(l => {
|
||||||
var record = recordLineToObject(l, true /*has record number*/);
|
var record = recordLineToObject(l);
|
||||||
html += `
|
html += `
|
||||||
<div class="column col-12">
|
<div class="column col-12">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<div class="card-title h5">Heart Rate Record ${record.number}</div>
|
<div class="card-title h5">One-Button Presses</div>
|
||||||
<div class="card-subtitle text-gray">${(new Date(record.time*1000)).toString().substr(0,24)}</div>
|
<div class="card-subtitle text-gray">${(new Date(record.start_time*1000)).toString().substr(0,24)}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body"></div>
|
<div class="card-body"></div>
|
||||||
<div class="card-footer">
|
<div class="card-footer">
|
||||||
<button class="btn btn-primary" recordNbr="${record.number}" task="download">Download</button>
|
<button class="btn btn-primary" task="download">Download</button>
|
||||||
<button class="btn btn-default" recordNbr="${record.number}" task="delete">Delete</button>
|
<button class="btn btn-default" task="delete">Delete</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|
@ -85,13 +82,13 @@ function getRecordList() {
|
||||||
var task = button.getAttribute("task");
|
var task = button.getAttribute("task");
|
||||||
if (task=="delete") {
|
if (task=="delete") {
|
||||||
Util.showModal("Deleting record...");
|
Util.showModal("Deleting record...");
|
||||||
Util.eraseStorageFile(`.heart${recordNbr.toString(36)}`,()=>{
|
Util.eraseStorageFile(`one_button_presses.csv`,()=>{
|
||||||
Util.hideModal();
|
Util.hideModal();
|
||||||
getRecordList();
|
getRecordList();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (task=="download") {
|
if (task=="download") {
|
||||||
downloadRecord(recordNbr, record => saveRecord(record, `HeartRateRecord${recordNbr}`));
|
downloadRecord(record => saveRecord(record, `one_button_presses`));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue