display message when no datapoints

This commit is contained in:
Joerg Lehmann 2021-03-25 16:20:52 +01:00
parent 6cd9966041
commit b738ac7663
1 changed files with 47 additions and 28 deletions

View File

@ -67,19 +67,24 @@ function refreshDatapoints(deveui, start, stop) {
$.getJSON('https://wo-bisch.ch/metrics?deveui=' + deveui + range, function (mydata) { $.getJSON('https://wo-bisch.ch/metrics?deveui=' + deveui + range, function (mydata) {
if ("msg" in mydata) { if ("msg" in mydata) {
$('#map').hide();
$('#datetimeslider').hide();
if (mydata.msg.includes("expired")) { if (mydata.msg.includes("expired")) {
$('#chart').html(`<article class="message is-danger"> $('#chart').html(`<article class="message is-danger">
<div class="message-body"> <div class="message-body">
Abo ist abgelaufen Abo ist abgelaufen
</div> </div>
</article>`); </article>`);
$('#chart').show();
} else if (mydata.msg.includes("error:")) { } else if (mydata.msg.includes("error:")) {
$('#myselectors').hide(); $('#map').hide();
$('#datetimeslider').hide();
$('#chart').html(`<article class="message is-danger"> $('#chart').html(`<article class="message is-danger">
<div class="message-body"> <div class="message-body">
Fehler im Aufruf Fehler im Aufruf
</div> </div>
</article>`); </article>`);
$('#chart').show();
} else { } else {
location.reload(true); location.reload(true);
} }
@ -87,36 +92,50 @@ function refreshDatapoints(deveui, start, stop) {
} }
datapoints = mydata['data']; datapoints = mydata['data'];
$('#datetimeslider').attr('max', datapoints.length - 1); if (datapoints.length > 0) {
$('#datetimeslider').val(datapoints.length - 1); $('#chart').hide();
last_slider_position = datapoints.length - 1; $('#map').show();
var unix_timestamp = datapoints[datapoints.length - 1][0]; $('#datetimeslider').attr('max', datapoints.length - 1);
var date = new Date(unix_timestamp * 1000); $('#datetimeslider').val(datapoints.length - 1);
$('#datetimeslider').show();
last_slider_position = datapoints.length - 1;
var unix_timestamp = datapoints[datapoints.length - 1][0];
var date = new Date(unix_timestamp * 1000);
var myhtml = '<p class="has-text-centered"><b>' + alias + '</b><br />' + moment(date).format('DD.MM.YYYY HH:mm') + '<br />' + vbat2icon(datapoints[datapoints.length - 1][4]) + '</p>'; var myhtml = '<p class="has-text-centered"><b>' + alias + '</b><br />' + moment(date).format('DD.MM.YYYY HH:mm') + '<br />' + vbat2icon(datapoints[datapoints.length - 1][4]) + '</p>';
marker.bindPopup(myhtml).openPopup(); marker.bindPopup(myhtml).openPopup();
if (allmarkers !== undefined) { if (allmarkers !== undefined) {
map.removeLayer(allmarkers); map.removeLayer(allmarkers);
}
markers = [];
// we create the layer group with all positions
for (let i of datapoints) {
unix_timestamp = i[0];
date = new Date(unix_timestamp * 1000);
markers.push(L.marker([i[1], i[2]], { icon: woBischIcon2 }).bindPopup(moment(date).format('DD.MM.YYYY HH:mm')));
}
allmarkers = L.layerGroup(markers);
if (lcontrol != undefined) {
//lcontrol.clearLayers();
lcontrol.remove();
}
lcontrol = L.control.layers({}).addTo(map);
lcontrol.addOverlay(allmarkers, 'alle Positionen anzeigen');
bounds = new L.LatLngBounds([[mydata['max_lat'], mydata['max_lon']], [mydata['min_lat'], mydata['min_lon']]]);
map.fitBounds(bounds, { padding: [20, 20] });
} else {
$('#map').hide();
$('#datetimeslider').hide();
$('#chart').html(`<article class="message is-danger">
<div class="message-body">
Keine Messpunkte f&uuml;r diese Zeitperiode
</div>
</article>`);
$('#chart').show();
} }
markers = [];
// we create the layer group with all positions
for (let i of datapoints) {
unix_timestamp = i[0];
date = new Date(unix_timestamp * 1000);
markers.push(L.marker([i[1], i[2]], { icon: woBischIcon2 }).bindPopup(moment(date).format('DD.MM.YYYY HH:mm')));
}
allmarkers = L.layerGroup(markers);
if (lcontrol != undefined) {
//lcontrol.clearLayers();
lcontrol.remove();
}
lcontrol = L.control.layers({}).addTo(map);
lcontrol.addOverlay(allmarkers, 'alle Positionen anzeigen');
bounds = new L.LatLngBounds([[mydata['max_lat'], mydata['max_lon']], [mydata['min_lat'], mydata['min_lon']]]);
map.fitBounds(bounds, { padding: [20, 20] });
}); });
} }