mapserver/server/static/js/WorldInfoDisplay.js

59 lines
1.2 KiB
JavaScript
Raw Normal View History

2019-04-04 11:19:29 +03:00
/* exported WorldInfoDisplay */
2019-02-04 23:25:30 +03:00
2019-05-14 17:03:21 +03:00
var worldInfoRender = function(info){
2019-05-14 17:17:04 +03:00
var timeIcon = m("span", { class: "fa fa-sun" });
if (info.time < 5500 || info.time > 19000) //0 - 24'000
timeIcon = m("span", { class: "fa fa-moon" });
function getHour(){
return Math.floor(info.time/1000);
}
function getMinute(){
return Math.floor((info.time % 1000) / 100 * 60);
}
function getLag(){
var color = "green";
if (info.max_lag > 0.8)
color = "yellow";
else if (info.max_lag > 1.2)
color = "red";
return [
m("span", { class: "fa fa-wifi", style: "color: " + color }),
parseInt(info.max_lag/1000),
" ms"
];
}
return [
getLag(),
" ",
m("span", { class: "fa fa-clock" }),
timeIcon,
getHour(), ":", getMinute()
];
2019-05-14 17:04:42 +03:00
};
2019-05-14 17:03:21 +03:00
2019-02-04 23:25:30 +03:00
// coord display
var WorldInfoDisplay = L.Control.extend({
initialize: function(wsChannel, opts) {
L.Control.prototype.initialize.call(this, opts);
this.wsChannel = wsChannel;
},
2019-04-04 11:19:29 +03:00
onAdd: function() {
2019-02-04 23:25:30 +03:00
var div = L.DomUtil.create('div', 'leaflet-bar leaflet-custom-display');
this.wsChannel.addListener("minetest-info", function(info){
2019-05-14 17:04:42 +03:00
m.render(div, worldInfoRender(info));
2019-02-04 23:25:30 +03:00
});
return div;
}
});