initial dashboard files
[osm/vim-emu.git] / dashboard / js / main.js
1 var API_HOST = "http://127.0.0.1:5001";
2 var ERROR_ALERT = true;
3 var TIMESTAMP = 0;
4
5
6
7 function updateMessageTable(msg_list) {
8
9 }
10
11 function updateMessageCount(msg_list) {
12 $("#lbl_msg_count").text(msg_list.length);
13 }
14
15 function fetchMessages() {
16
17 }
18
19
20 function autoFetchMessages() {
21 fetchMessages();
22 // do periodic update
23 if(AUTO_REFRESH)
24 setTimeout(autoFetchMessages, AUTO_REFRESH_INTERVAL);
25 }
26
27 function updateLateness() {
28 lateness = (Date.now() - LAST_UPDATE_TIMESTAMP) / 1000;
29 $("#lbl_lateness").text("Lateness: " + Number(lateness).toPrecision(3) + "s")
30 setTimeout(updateLateness, LATENESS_UPDATE_INTERVAL)
31 }
32
33 function errorAjaxConnection()
34 {
35 // only do once
36 if(!ERROR_ALERT)
37 {
38 ERROR_ALERT = true;
39 // show message
40 bootbox.alert("ERROR!\nAPI request failed.\n\n Please check the backend connection.", function() {
41 // callback
42 ERROR_ALERT = false;
43 });
44 }
45 }
46
47 function change_auto_refresh(event)
48 {
49 console.debug("trigger btn_auto_refresh");
50 AUTO_REFRESH = !AUTO_REFRESH;
51 if(AUTO_REFRESH) {
52 $("#btn_autorefresh").addClass("active");
53 autoFetchMessages();
54 }
55 else {
56 $("#btn_autorefresh").removeClass("active");
57 }
58 }
59
60
61 $(document).ready(function(){
62 console.info("document ready");
63 // setup global connection error handling
64 $.ajaxSetup({
65 "error": errorAjaxConnection
66 });
67
68 // add listeners
69 //TODO
70
71 // activate message fetching
72 autoFetchMessages();
73 LAST_UPDATE_TIMESTAMP = Date.now();
74 updateLateness();
75
76
77 // refresh on window focus
78 $(window).focus(function () {
79 // TODO observe if this works well
80 fetchMessages();
81 });
82
83 });