From 6eb29d296bd779b4f9468cd634a299c433f3701c Mon Sep 17 00:00:00 2001 From: Alessandro Maggio Date: Mon, 1 Mar 2021 16:29:25 +0100 Subject: [PATCH] Reload streamer data each 5 minutes --- assets/charts.html | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/assets/charts.html b/assets/charts.html index 5e8f19d..b12ca42 100644 --- a/assets/charts.html +++ b/assets/charts.html @@ -110,8 +110,9 @@ }; var chart = new ApexCharts(document.querySelector("#chart"), options); + var currentStreamer = null; - $( document ).ready(function() { + $(document).ready(function() { chart.render(); $("li").eq(0).click(); }); @@ -119,17 +120,24 @@ function changeStreamer(streamer, index) { $("li").removeClass( "is-active" ) $("li").eq(index - 1).addClass('is-active'); + currentStreamer = streamer; + getData(streamer); + } - $.getJSON(`./json/${streamer}`, function (response) { - chart.clearAnnotations() - chart.updateSeries([{ - name: streamer.replace(".json", ""), - data: response["series"] - }], true) - response["points"].forEach(annotation => { - chart.addPointAnnotation(annotation, true) - }) - }); + function getStreamerData(streamer) { + if(currentStreamer == streamer){ + $.getJSON(`./json/${streamer}`, function (response) { + chart.clearAnnotations() + chart.updateSeries([{ + name: streamer.replace(".json", ""), + data: response["series"] + }], true) + response["points"].forEach(annotation => { + chart.addPointAnnotation(annotation, true) + }) + setTimeout(function(){getStreamerData(streamer);}, 300000); // 5 minutes + }); + } }