fix legend values when value is undefined
+ improve mechanism to find value
This commit is contained in:
@ -1940,10 +1940,15 @@ function Graph(gindex, container, x_label, y_label, tag, scaleType = "linear"){
|
||||
if (x === null) return;
|
||||
for(let i in chart.data.datasets){
|
||||
let y = null;
|
||||
for(let j = 0; j < chart.getDatasetMeta(i).data.length; j++){
|
||||
let dp = chart.getDatasetMeta(i).data[j];
|
||||
if (dp.x >= x) break; //_model does not exist anymore, properties are defined directly on elements
|
||||
y = chart.data.datasets[i].data[dp.$context.index].y; // $context not mentionned in ChartJS doc, seen with console.log
|
||||
let metadata = chart.getDatasetMeta(i).data;
|
||||
let dataset = chart.data.datasets[i];
|
||||
if (metadata.length != dataset.data.length) {
|
||||
console.log('length mismatch in dataset.data and metadata')
|
||||
}
|
||||
for(let j = 0; j < metadata.length; j++){
|
||||
let dp = metadata[j];
|
||||
if (dp.x >= x) break;
|
||||
y = dataset.data[j].y;
|
||||
}
|
||||
valueElm = legendvalues[chart.data.datasets[i].key];
|
||||
if (labelMinWidth == 0) {
|
||||
@ -1952,7 +1957,9 @@ function Graph(gindex, container, x_label, y_label, tag, scaleType = "linear"){
|
||||
labelMinWidth = valueElm.clientWidth;
|
||||
valueElm.style.minWidth = labelMinWidth + 'px';
|
||||
}
|
||||
if (y !== null) {
|
||||
if (y == null) {
|
||||
valueElm.innerHTML = '';
|
||||
} else {
|
||||
valueElm.innerHTML = strFormat(y, labelDigits);
|
||||
}
|
||||
}
|
||||
|
@ -57,6 +57,7 @@ def to_json_sse(msg):
|
||||
app = flask.Flask(__name__)
|
||||
|
||||
update_rider = circularlog.Rider("upd")
|
||||
pollinterval = 0.1
|
||||
|
||||
@app.route('/update')
|
||||
def get_update(path=None):
|
||||
@ -82,7 +83,7 @@ def get_update(path=None):
|
||||
yield to_json_sse(msg)
|
||||
if messages:
|
||||
lastmsg = time.time()
|
||||
gevent.sleep(1)
|
||||
gevent.sleep(pollinterval)
|
||||
else:
|
||||
if time.time() > lastmsg + 30:
|
||||
if not client.info():
|
||||
@ -91,7 +92,7 @@ def get_update(path=None):
|
||||
yield to_json_sse(dict(type='heartbeat'))
|
||||
lastmsg = time.time()
|
||||
else:
|
||||
gevent.sleep(0.5)
|
||||
gevent.sleep(pollinterval)
|
||||
except (GeneratorExit, tcp_lineserver.Disconnected) as e:
|
||||
logging.info("except clause %r", repr(e))
|
||||
logging.info('CLOSED %s', client.id)
|
||||
|
Reference in New Issue
Block a user