X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=dashboard%2Fjs%2Fmain.js;fp=dashboard%2Fjs%2Fmain.js;h=928adf7adf37dfbc2d98cc61f00c673314b49277;hb=0289b604314f2edf88ed7abbe47a8118c2e04716;hp=0000000000000000000000000000000000000000;hpb=2473edf0b232cec91ebb4529ad69ea0ca0bb0f0a;p=osm%2Fvim-emu.git diff --git a/dashboard/js/main.js b/dashboard/js/main.js new file mode 100644 index 0000000..928adf7 --- /dev/null +++ b/dashboard/js/main.js @@ -0,0 +1,83 @@ +var API_HOST = "http://127.0.0.1:5001"; +var ERROR_ALERT = true; +var TIMESTAMP = 0; + + + +function updateMessageTable(msg_list) { + +} + +function updateMessageCount(msg_list) { + $("#lbl_msg_count").text(msg_list.length); +} + +function fetchMessages() { + +} + + +function autoFetchMessages() { + fetchMessages(); + // do periodic update + if(AUTO_REFRESH) + setTimeout(autoFetchMessages, AUTO_REFRESH_INTERVAL); +} + +function updateLateness() { + lateness = (Date.now() - LAST_UPDATE_TIMESTAMP) / 1000; + $("#lbl_lateness").text("Lateness: " + Number(lateness).toPrecision(3) + "s") + setTimeout(updateLateness, LATENESS_UPDATE_INTERVAL) +} + +function errorAjaxConnection() +{ + // only do once + if(!ERROR_ALERT) + { + ERROR_ALERT = true; + // show message + bootbox.alert("ERROR!\nAPI request failed.\n\n Please check the backend connection.", function() { + // callback + ERROR_ALERT = false; + }); + } +} + +function change_auto_refresh(event) +{ + console.debug("trigger btn_auto_refresh"); + AUTO_REFRESH = !AUTO_REFRESH; + if(AUTO_REFRESH) { + $("#btn_autorefresh").addClass("active"); + autoFetchMessages(); + } + else { + $("#btn_autorefresh").removeClass("active"); + } +} + + +$(document).ready(function(){ + console.info("document ready"); + // setup global connection error handling + $.ajaxSetup({ + "error": errorAjaxConnection + }); + + // add listeners + //TODO + + // activate message fetching + autoFetchMessages(); + LAST_UPDATE_TIMESTAMP = Date.now(); + updateLateness(); + + + // refresh on window focus + $(window).focus(function () { + // TODO observe if this works well + fetchMessages(); + }); + +});