Файл: templates/backend/default/assets/plugins/jquery-ricksaw-chart/js/Rickshaw.Graph.HoverDetail.min.js
Строк: 156
<?php
Rickshaw.namespace("Rickshaw.Graph.HoverDetail"),Rickshaw.Graph.HoverDetail=Rickshaw.Class.create({initialize:function(l){var e=this.graph=l.graph;this.xFormatter=l.xFormatter||function(l){return new Date(1e3*l).toUTCString()},this.yFormatter=l.yFormatter||function(l){return null===l?l:l.toFixed(2)};var t=this.element=document.createElement("div");t.className="detail",this.visible=!0,e.element.appendChild(t),this.lastEvent=null,this._addListeners(),this.onShow=l.onShow,this.onHide=l.onHide,this.onRender=l.onRender,this.formatter=l.formatter||this.formatter},formatter:function(l,e,t,n,i){return l.name+": "+i},update:function(l){if(l=l||this.lastEvent,l&&(this.lastEvent=l,l.target.nodeName.match(/^(path|svg|rect|circle)$/))){var e,t=this.graph,n=l.offsetX||l.layerX,i=l.offsetY||l.layerY,a=0,o=[];if(this.graph.series.active().forEach(function(l){var s=this.graph.stackedData[a++];if(s.length){var r=t.x.invert(n),c=d3.scale.linear().domain([s[0].x,s.slice(-1)[0].x]).range([0,s.length-1]),u=Math.round(c(r));u==s.length-1&&u--;for(var d=Math.min(u||0,s.length-1),h=u;h<s.length-1&&s[h]&&s[h+1];){if(s[h].x<=r&&s[h+1].x>r){d=Math.abs(r-s[h].x)<Math.abs(r-s[h+1].x)?h:h+1;break}s[h+1].x<=r?h++:h--}0>d&&(d=0);var f=s[d],p=Math.sqrt(Math.pow(Math.abs(t.x(f.x)-n),2)+Math.pow(Math.abs(t.y(f.y+f.y0)-i),2)),m=l.xFormatter||this.xFormatter,g=l.yFormatter||this.yFormatter,v={formattedXValue:m(f.x),formattedYValue:g(l.scale?l.scale.invert(f.y):f.y),series:l,value:f,distance:p,order:a,name:l.name};(!e||p<e.distance)&&(e=v),o.push(v)}},this),e){e.active=!0;var s=e.value.x,r=e.formattedXValue;this.element.innerHTML="",this.element.style.left=t.x(s)+"px",this.visible&&this.render({points:o,detail:o,mouseX:n,mouseY:i,formattedXValue:r,domainX:s})}}},hide:function(){this.visible=!1,this.element.classList.add("inactive"),"function"==typeof this.onHide&&this.onHide()},show:function(){this.visible=!0,this.element.classList.remove("inactive"),"function"==typeof this.onShow&&this.onShow()},render:function(l){var e=this.graph,t=l.points,n=t.filter(function(l){return l.active}).shift();if(null!==n.value.y){var i=n.formattedXValue,a=n.formattedYValue;this.element.innerHTML="",this.element.style.left=e.x(n.value.x)+"px";var o=document.createElement("div");o.className="x_label",o.innerHTML=i,this.element.appendChild(o);var s=document.createElement("div");s.className="item";var r=n.series,c=r.scale?r.scale.invert(n.value.y):n.value.y;s.innerHTML=this.formatter(r,n.value.x,c,i,a,n),s.style.top=this.graph.y(n.value.y0+n.value.y)+"px",this.element.appendChild(s);var u=document.createElement("div");u.className="dot",u.style.top=s.style.top,u.style.borderColor=r.color,this.element.appendChild(u),n.active&&(s.className="item active",u.className="dot active"),this.show(),"function"==typeof this.onRender&&this.onRender(l)}},_addListeners:function(){this.graph.element.addEventListener("mousemove",function(l){this.visible=!0,this.update(l)}.bind(this),!1),this.graph.onUpdate(function(){this.update()}.bind(this)),this.graph.element.addEventListener("mouseout",function(l){!l.relatedTarget||l.relatedTarget.compareDocumentPosition(this.graph.element)&Node.DOCUMENT_POSITION_CONTAINS||this.hide()}.bind(this),!1)}});
?>