recorder interface: add download-all functionality
parent
9561a4b5fc
commit
7e7945b6e2
|
|
@ -159,6 +159,28 @@ function downloadTrack(filename, callback) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function downloadAll(trackList, cb) {
|
||||||
|
const tracks = trackList.slice();
|
||||||
|
|
||||||
|
const downloadOne = () => {
|
||||||
|
const track = tracks.pop();
|
||||||
|
if(!track) {
|
||||||
|
showToast("Finished downloading all.", "success");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
downloadTrack(
|
||||||
|
track.filename,
|
||||||
|
lines => {
|
||||||
|
cb(lines, `Bangle.js Track ${track.number}`);
|
||||||
|
downloadOne();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
downloadOne();
|
||||||
|
}
|
||||||
|
|
||||||
function getTrackList() {
|
function getTrackList() {
|
||||||
Util.showModal("Loading Track List...");
|
Util.showModal("Loading Track List...");
|
||||||
domTracks.innerHTML = "";
|
domTracks.innerHTML = "";
|
||||||
|
|
@ -248,6 +270,12 @@ ${trackData.Latitude ? `
|
||||||
}
|
}
|
||||||
html += `
|
html += `
|
||||||
</div><!-- columns -->
|
</div><!-- columns -->
|
||||||
|
<h2>Batch</h2>
|
||||||
|
<div class="form-group">
|
||||||
|
<button class="btn btn-primary" task="downloadkml_all">Download all KML</button>
|
||||||
|
<button class="btn btn-primary" task="downloadgpx_all">Download all GPX</button>
|
||||||
|
<button class="btn btn-primary" task="downloadcsv_all">Download all CSV</button>
|
||||||
|
</div>
|
||||||
<h2>Settings</h2>
|
<h2>Settings</h2>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-switch">
|
<label class="form-switch">
|
||||||
|
|
@ -268,8 +296,10 @@ ${trackData.Latitude ? `
|
||||||
var button = event.currentTarget;
|
var button = event.currentTarget;
|
||||||
var filename = button.getAttribute("filename");
|
var filename = button.getAttribute("filename");
|
||||||
var trackid = parseInt(button.getAttribute("trackid"));
|
var trackid = parseInt(button.getAttribute("trackid"));
|
||||||
if (!filename || trackid===undefined) return;
|
|
||||||
var task = button.getAttribute("task");
|
var task = button.getAttribute("task");
|
||||||
|
|
||||||
|
if (!/_all$/.test(task) && (!filename || trackid===undefined)) return;
|
||||||
|
|
||||||
switch(task) {
|
switch(task) {
|
||||||
case "delete":
|
case "delete":
|
||||||
Util.showModal("Deleting Track...");
|
Util.showModal("Deleting Track...");
|
||||||
|
|
@ -288,6 +318,16 @@ ${trackData.Latitude ? `
|
||||||
case "downloadcsv":
|
case "downloadcsv":
|
||||||
downloadTrack(filename, track => saveCSV(track, `Bangle.js Track ${trackid}`));
|
downloadTrack(filename, track => saveCSV(track, `Bangle.js Track ${trackid}`));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "downloadkml_all":
|
||||||
|
downloadAll(trackList, saveKML);
|
||||||
|
break;
|
||||||
|
case "downloadgpx_all":
|
||||||
|
downloadAll(trackList, saveGPX);
|
||||||
|
break;
|
||||||
|
case "downloadcsv_all":
|
||||||
|
downloadAll(trackList, saveCSV);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue