mirror of https://github.com/espruino/BangleApps
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() {
|
||||
Util.showModal("Loading Track List...");
|
||||
domTracks.innerHTML = "";
|
||||
|
@ -248,6 +270,12 @@ ${trackData.Latitude ? `
|
|||
}
|
||||
html += `
|
||||
</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>
|
||||
<div class="form-group">
|
||||
<label class="form-switch">
|
||||
|
@ -268,8 +296,10 @@ ${trackData.Latitude ? `
|
|||
var button = event.currentTarget;
|
||||
var filename = button.getAttribute("filename");
|
||||
var trackid = parseInt(button.getAttribute("trackid"));
|
||||
if (!filename || trackid===undefined) return;
|
||||
var task = button.getAttribute("task");
|
||||
|
||||
if (!/_all$/.test(task) && (!filename || trackid===undefined)) return;
|
||||
|
||||
switch(task) {
|
||||
case "delete":
|
||||
Util.showModal("Deleting Track...");
|
||||
|
@ -288,6 +318,16 @@ ${trackData.Latitude ? `
|
|||
case "downloadcsv":
|
||||
downloadTrack(filename, track => saveCSV(track, `Bangle.js Track ${trackid}`));
|
||||
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