66 lines
1.7 KiB
HTML
66 lines
1.7 KiB
HTML
<html>
|
|
<head>
|
|
<link rel="stylesheet" href="../../css/spectre.min.css">
|
|
</head>
|
|
<body>
|
|
<div id="content"></div>
|
|
|
|
<script src="../../core/lib/interface.js"></script>
|
|
<script>
|
|
const DB_RECORD_LEN = 2;
|
|
const DB_HEADER_LEN = 1;
|
|
|
|
var domContent = document.getElementById("content");
|
|
|
|
function saveCSV(data, title) {
|
|
var csv = "Timestamp,Heart Rate\n";
|
|
var lines = data.split("\n");
|
|
for (var i = 0; i < lines.length; i++) {
|
|
var line = lines[i];
|
|
if (line) {
|
|
csv += line + "\n";
|
|
}
|
|
}
|
|
|
|
var blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' });
|
|
if (navigator.msSaveBlob) { // IE 10+
|
|
navigator.msSaveBlob(blob, title + ".csv");
|
|
} else {
|
|
var link = document.createElement("a");
|
|
if (link.download !== undefined) {
|
|
var url = URL.createObjectURL(blob);
|
|
link.setAttribute("href", url);
|
|
link.setAttribute("download", title + ".csv");
|
|
link.style.visibility = 'hidden';
|
|
document.body.appendChild(link);
|
|
link.click();
|
|
document.body.removeChild(link);
|
|
}
|
|
}
|
|
}
|
|
|
|
function downloadHeartRateData() {
|
|
console.log("starting download...");
|
|
Util.showModal("Downloading Heart Rate Data...");
|
|
Util.readStorageFile("heart_rate_data.csv", data => { // Read data from specified file
|
|
Util.hideModal();
|
|
if (data) {
|
|
saveCSV(data, "Heart Rate Data");
|
|
} else {
|
|
domContent.innerHTML = "<b>No heart rate data found!</b>";
|
|
}
|
|
}, error => {
|
|
console.error("Error reading heart rate data:", error);
|
|
domContent.innerHTML = "<b>Error reading Heart Rate data</b>";
|
|
Util.hideModal();
|
|
});
|
|
}
|
|
|
|
function onInit() {
|
|
downloadHeartRateData();
|
|
}
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|