in assets/scripts/api.simile-widgets.org/timeplot/1.1/scripts/plot.js [68:186]
var mouseMoveHandler = function(elmt, evt, target) {
if (typeof SimileAjax != "undefined" && plot._plotInfo.showValues) {
var c = plot._canvas;
var x = Math.round(SimileAjax.DOM.getEventRelativeCoordinates(evt,plot._canvas).x);
if (x > c.width) x = c.width;
if (isNaN(x) || x < 0) x = 0;
var t = plot._timeGeometry.fromScreen(x);
if (t == 0) { // something is wrong
plot._valueFlag.style.display = "none";
return;
}
var validTime = plot._dataSource.getClosestValidTime(t);
x = plot._timeGeometry.toScreen(validTime);
var v = plot._dataSource.getValue(validTime);
if (plot._plotInfo.roundValues) v = Math.round(v);
plot._valueFlag.innerHTML = new String(v);
var d = new Date(validTime);
var p = plot._timeGeometry.getPeriod();
if (p < day) {
plot._timeFlag.innerHTML = d.toLocaleTimeString();
} else if (p > month) {
plot._timeFlag.innerHTML = d.toLocaleDateString();
} else {
plot._timeFlag.innerHTML = d.toLocaleString();
}
var tw = plot._timeFlag.clientWidth;
var th = plot._timeFlag.clientHeight;
var tdw = Math.round(tw / 2);
var vw = plot._valueFlag.clientWidth;
var vh = plot._valueFlag.clientHeight;
var y = plot._valueGeometry.toScreen(v);
if (x + tdw > c.width) {
var tx = c.width - tdw;
} else if (x - tdw < 0) {
var tx = tdw;
} else {
var tx = x;
}
if (plot._timeGeometry._timeValuePosition == "top") {
plot._timeplot.placeDiv(plot._valueFlagPole, {
left: x,
top: th - 5,
height: c.height - y - th + 6,
display: "block"
});
plot._timeplot.placeDiv(plot._timeFlag,{
left: tx - tdw,
top: -6,
display: "block"
});
} else {
plot._timeplot.placeDiv(plot._valueFlagPole, {
left: x,
bottom: th - 5,
height: y - th + 6,
display: "block"
});
plot._timeplot.placeDiv(plot._timeFlag,{
left: tx - tdw,
bottom: -6,
display: "block"
});
}
if (x + vw + 14 > c.width && y + vh + 4 > c.height) {
plot._valueFlagLineLeft.style.display = "none";
plot._timeplot.placeDiv(plot._valueFlagLineRight,{
left: x - 14,
bottom: y - 14,
display: "block"
});
plot._timeplot.placeDiv(plot._valueFlag,{
left: x - vw - 13,
bottom: y - vh - 13,
display: "block"
});
} else if (x + vw + 14 > c.width && y + vh + 4 < c.height) {
plot._valueFlagLineRight.style.display = "none";
plot._timeplot.placeDiv(plot._valueFlagLineLeft,{
left: x - 14,
bottom: y,
display: "block"
});
plot._timeplot.placeDiv(plot._valueFlag,{
left: x - vw - 13,
bottom: y + 13,
display: "block"
});
} else if (x + vw + 14 < c.width && y + vh + 4 > c.height) {
plot._valueFlagLineRight.style.display = "none";
plot._timeplot.placeDiv(plot._valueFlagLineLeft,{
left: x,
bottom: y - 13,
display: "block"
});
plot._timeplot.placeDiv(plot._valueFlag,{
left: x + 13,
bottom: y - 13,
display: "block"
});
} else {
plot._valueFlagLineLeft.style.display = "none";
plot._timeplot.placeDiv(plot._valueFlagLineRight,{
left: x,
bottom: y,
display: "block"
});
plot._timeplot.placeDiv(plot._valueFlag,{
left: x + 13,
bottom: y + 13,
display: "block"
});
}
}
}