|
464 | 464 | return o; |
465 | 465 | } |
466 | 466 |
|
467 | | -async function downloadTrack(filename) { |
| 467 | +async function downloadTrack(filename) { // filename: string |
468 | 468 | function parse(data) { |
469 | 469 | const lines = data.trim().split("\n"), headers = lines.shift().split(","); |
470 | 470 | return lines.map(l=>trackLineToObject(headers, l)).filter(t => t.Time); |
|
487 | 487 | return document.getElementById(`track-download-${trackNumber}`).checked; |
488 | 488 | } |
489 | 489 |
|
490 | | -async function downloadTracks(tracks, saveCb) { |
| 490 | +async function downloadTracks(tracks, saveCb) { // tracks: [{ filename: string, number: number }] |
491 | 491 | for(const track of tracks){ |
492 | 492 | const lines = await downloadTrack(track.filename); |
493 | 493 | const title = `Bangle.js Track ${track.number}`; |
@@ -910,18 +910,19 @@ <h2>Settings</h2> |
910 | 910 |
|
911 | 911 | if (!filename || !trackid) return; |
912 | 912 |
|
| 913 | + const tracks = [{ filename, number: trackid }]; |
913 | 914 | switch(task) { |
914 | 915 | case "delete": |
915 | 916 | await confirmDelete(button, [filename]); |
916 | 917 | break; |
917 | 918 | case "downloadkml": |
918 | | - await downloadTracks([filename], track => saveKML(track, `Bangle.js Track ${trackid}`)); |
| 919 | + await downloadTracks(tracks, track => saveKML(track, `Bangle.js Track ${trackid}`)); |
919 | 920 | break; |
920 | 921 | case "downloadgpx": |
921 | | - await downloadTracks([filename], track => saveGPX(track, `Bangle.js Track ${trackid}`)); |
| 922 | + await downloadTracks(tracks, track => saveGPX(track, `Bangle.js Track ${trackid}`)); |
922 | 923 | break; |
923 | 924 | case "downloadcsv": |
924 | | - await downloadTracks([filename], track => saveCSV(track, `Bangle.js Track ${trackid}`)); |
| 925 | + await downloadTracks(tracks, track => saveCSV(track, `Bangle.js Track ${trackid}`)); |
925 | 926 | break; |
926 | 927 | } |
927 | 928 | }); |
|
0 commit comments