Commit | Line | Data |
---|---|---|
867ee0af RK |
1 | /* This Source Code Form is subject to the terms of the Mozilla Public |
2 | * License, v. 2.0. If a copy of the MPL was not distributed with this file, | |
3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */ | |
4 | ||
5 | function showLibrary() { | |
6 | document.getElementById("libraryArea").classList.remove("hidden"); | |
7 | var tlist = document.getElementById("libTrackList"); | |
8 | while (tlist.firstChild) { tlist.removeChild(tlist.firstChild); } | |
9 | var litem = document.createElement("li"); | |
10 | var load_img = document.createElement("img"); | |
11 | load_img.setAttribute("src", "style/loading_action.png"); | |
12 | litem.appendChild(load_img); | |
13 | litem.textContent = "Loading list..."; | |
14 | litem.id = "libLoadingItem"; | |
15 | tlist.appendChild(litem); | |
16 | fetchBackend("tracks", "GET", null, | |
17 | function(aResult, aStatusCode) { | |
18 | document.getElementById("libLoadingItem").classList.add("hidden"); | |
19 | if (aStatusCode >= 400) { | |
20 | var litem = document.createElement("li"); | |
21 | litem.textContent = "Error: " + aResult; | |
22 | tlist.appendChild(litem); | |
23 | } | |
d08d3308 RK |
24 | else if (!aResult.length) { |
25 | var litem = document.createElement("li"); | |
26 | litem.textContent = "No tracks uploaded yet."; | |
27 | tlist.appendChild(litem); | |
28 | } | |
867ee0af RK |
29 | else { |
30 | for (var i = 0; i < aResult.length; i++) { | |
31 | var litem = document.createElement("li"); | |
ba819f24 | 32 | litem.textContent = dtformat(aResult[i]["time_created"]) + " - "; |
846a4dac RK |
33 | var llink = document.createElement("a"); |
34 | llink.setAttribute("href", gBackendURL + "/track_gpx?id=" + aResult[i]["id"]); | |
35 | llink.textContent = aResult[i]["comment"]; | |
36 | litem.appendChild(llink); | |
37 | if (aResult[i]["devicename"]) { | |
38 | litem.appendChild(document.createTextNode(" (" + aResult[i]["devicename"] + ")")); | |
39 | } | |
867ee0af RK |
40 | tlist.appendChild(litem); |
41 | } | |
42 | } | |
43 | } | |
44 | ); | |
45 | } | |
46 | ||
47 | function hideLibrary() { | |
48 | document.getElementById("libraryArea").classList.add("hidden"); | |
49 | } | |
50 | ||
ba819f24 RK |
51 | function dtformat(aUnixTimestamp) { |
52 | // Library display time format: YYYY-MM-DD HH:mm | |
53 | // Note that JS has millisecond timestamps while standard/unix has seconds. | |
54 | var tsDate = new Date(aUnixTimestamp * 1000); | |
55 | // Note that .getUTCMonth() returns a number between 0 and 11 (0 for January)! | |
56 | return tsDate.getUTCFullYear() + "-" + | |
57 | (tsDate.getUTCMonth() < 9 ? "0" : "") + (tsDate.getUTCMonth() + 1 ) + "-" + | |
58 | (tsDate.getUTCDate() < 10 ? "0" : "") + tsDate.getUTCDate() + " " + | |
59 | (tsDate.getUTCHours() < 10 ? "0" : "") + tsDate.getUTCHours() + ":" + | |
60 | (tsDate.getUTCMinutes() < 10 ? "0" : "") + tsDate.getUTCMinutes(); | |
61 | } | |
62 |