From e904b0d08de0350182f99a0898f73d147a2d33dc Mon Sep 17 00:00:00 2001 From: John-Mark Gurney Date: Tue, 3 Mar 2020 01:41:56 -0800 Subject: [PATCH] HighStocks always adds a navigator series that isn't defined, so it messes up the indexes... find the indexes that we want, and store them so that any other crazy things that the library does hopefully won't screw us up.. --- root/js/solardash.base.js | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/root/js/solardash.base.js b/root/js/solardash.base.js index 09811a2..f90c332 100644 --- a/root/js/solardash.base.js +++ b/root/js/solardash.base.js @@ -8,11 +8,6 @@ socket.onopen = function() { // connected } -// Indexes for chart series -consumIdx = 0; -gridIdx = 1; -prodIdx = 2; - var msgNumbs = { p: "#production", ng: "#netgrid", @@ -63,9 +58,9 @@ socket.onmessage = function(m) { var data = JSON.parse(msg[1]); console.log(data); solarchart.sd_lastwindata = Date.now(); - solarchart.series[consumIdx].setData(data.consumption, false); - solarchart.series[gridIdx].setData(data.grid, false); - solarchart.series[prodIdx].setData(data.production, false); + solarchart.series[consumDataIdx].setData(data.consumption, false); + solarchart.series[gridDataIdx].setData(data.grid, false); + solarchart.series[prodDataIdx].setData(data.production, false); solarchart.redraw(); solarchart.hideLoading() } @@ -153,3 +148,22 @@ var solarchart = Highcharts.stockChart('solarchart', { }, ] }); + +// Indexes for chart series +delete solarchart.navigator.series[0]; +for (var idx in solarchart.navigator.series) { + if (solarchart.navigator.series[idx].name == 'consumptionNav') + consumIdx = idx; + else if (solarchart.navigator.series[idx].name == 'gridNav') + gridIdx = idx; + else if (solarchart.navigator.series[idx].name == 'productionNav') + prodIdx = idx; +} +for (var idx in solarchart.series) { + if (solarchart.series[idx].name == 'consumption') + consumDataIdx = idx; + else if (solarchart.series[idx].name == 'grid') + gridDataIdx = idx; + else if (solarchart.series[idx].name == 'production') + prodDataIdx = idx; +}