phpservermon/static/plugin/jqplot/jqplot.canvasOverlay.min.js

4 lines
14 KiB
JavaScript

/* jqplot 1.0.9 | (c) 2009-2016 Chris Leonello | jplot.com
jsDate | (c) 2010-2016 Chris Leonello
*/
!function(t){var e=0;function i(){this.uid=null,this.type=null,this.gridStart=null,this.gridStop=null,this.tooltipWidthFactor=0,this.options={name:null,show:!0,lineWidth:2,lineCap:"round",color:"#666666",shadow:!0,shadowAngle:45,shadowOffset:1,shadowDepth:3,shadowAlpha:"0.07",xaxis:"xaxis",yaxis:"yaxis",showTooltip:!1,showTooltipPrecision:.6,tooltipLocation:"nw",fadeTooltip:!0,tooltipFadeSpeed:"fast",tooltipOffset:4,tooltipFormatString:"%d, %d"}}function s(e){i.call(this),this.type="rectangle",t.extend(!0,this.options,{xmin:null,xmax:null,xOffset:"6px",xminOffset:null,xmaxOffset:null,ymin:null,ymax:null,yOffset:"6px",yminOffset:null,ymaxOffset:null},e),this.options.showTooltipPrecision<.01&&(this.options.showTooltipPrecision=.01)}function o(e){i.call(this),this.type="line",t.extend(!0,this.options,{start:[],stop:[]},e),this.options.showTooltipPrecision<.01&&(this.options.showTooltipPrecision=.01)}function n(e){i.call(this),this.type="horizontalLine",t.extend(!0,this.options,{y:null,xmin:null,xmax:null,xOffset:"6px",xminOffset:null,xmaxOffset:null},e),this.options.showTooltipPrecision<.01&&(this.options.showTooltipPrecision=.01)}function a(e){i.call(this),this.type="dashedHorizontalLine",t.extend(!0,this.options,{y:null,xmin:null,xmax:null,xOffset:"6px",xminOffset:null,xmaxOffset:null,dashPattern:[8,8]},e),this.options.showTooltipPrecision<.01&&(this.options.showTooltipPrecision=.01)}function l(e){i.call(this),this.type="verticalLine",t.extend(!0,this.options,{x:null,ymin:null,ymax:null,yOffset:"6px",yminOffset:null,ymaxOffset:null},e),this.options.showTooltipPrecision<.01&&(this.options.showTooltipPrecision=.01)}function p(e){i.call(this),this.type="dashedVerticalLine",this.start=null,this.stop=null,t.extend(!0,this.options,{x:null,ymin:null,ymax:null,yOffset:"6px",yminOffset:null,ymaxOffset:null,dashPattern:[8,8]},e),this.options.showTooltipPrecision<.01&&(this.options.showTooltipPrecision=.01)}function r(e,i,s,o){var n,a,l=e.plugins.canvasOverlay._tooltipElem,p=i.options;switch(l.html(t.jqplot.sprintf(p.tooltipFormatString,o[0],o[1])),p.tooltipLocation){case"nw":n=s[0]+e._gridPadding.left-l.outerWidth(!0)-p.tooltipOffset,a=s[1]+e._gridPadding.top-p.tooltipOffset-l.outerHeight(!0);break;case"n":n=s[0]+e._gridPadding.left-l.outerWidth(!0)/2,a=s[1]+e._gridPadding.top-p.tooltipOffset-l.outerHeight(!0);break;case"ne":n=s[0]+e._gridPadding.left+p.tooltipOffset,a=s[1]+e._gridPadding.top-p.tooltipOffset-l.outerHeight(!0);break;case"e":n=s[0]+e._gridPadding.left+p.tooltipOffset,a=s[1]+e._gridPadding.top-l.outerHeight(!0)/2;break;case"se":n=s[0]+e._gridPadding.left+p.tooltipOffset,a=s[1]+e._gridPadding.top+p.tooltipOffset;break;case"s":n=s[0]+e._gridPadding.left-l.outerWidth(!0)/2,a=s[1]+e._gridPadding.top+p.tooltipOffset;break;case"sw":n=s[0]+e._gridPadding.left-l.outerWidth(!0)-p.tooltipOffset,a=s[1]+e._gridPadding.top+p.tooltipOffset;break;case"w":n=s[0]+e._gridPadding.left-l.outerWidth(!0)-p.tooltipOffset,a=s[1]+e._gridPadding.top-l.outerHeight(!0)/2;break;default:n=s[0]+e._gridPadding.left-l.outerWidth(!0)-p.tooltipOffset,a=s[1]+e._gridPadding.top-p.tooltipOffset-l.outerHeight(!0)}l.css("left",n),l.css("top",a),p.fadeTooltip?l.stop(!0,!0).fadeIn(p.tooltipFadeSpeed):l.show(),l=null}t.jqplot.CanvasOverlay=function(e){var i=e||{};if(this.options={show:t.jqplot.config.enablePlugins,deferDraw:!1},this.objects=[],this.objectNames=[],this.canvas=null,this.markerRenderer=new t.jqplot.MarkerRenderer({style:"line"}),this.markerRenderer.init(),this.highlightObjectIndex=null,i.objects)for(var s,o=i.objects,n=0;n<o.length;n++)for(var a in s=o[n])switch(a){case"line":this.addLine(s[a]);break;case"horizontalLine":this.addHorizontalLine(s[a]);break;case"dashedHorizontalLine":this.addDashedHorizontalLine(s[a]);break;case"verticalLine":this.addVerticalLine(s[a]);break;case"dashedVerticalLine":this.addDashedVerticalLine(s[a]);break;case"rectangle":this.addRectangle(s[a])}t.extend(!0,this.options,i)},t.jqplot.CanvasOverlay.postPlotInit=function(e,i,s){var o=s||{};this.plugins.canvasOverlay=new t.jqplot.CanvasOverlay(o.canvasOverlay)},s.prototype=new i,s.prototype.constructor=s,o.prototype=new i,o.prototype.constructor=o,n.prototype=new i,n.prototype.constructor=n,a.prototype=new i,a.prototype.constructor=a,l.prototype=new i,l.prototype.constructor=l,p.prototype=new i,p.prototype.constructor=p,t.jqplot.CanvasOverlay.prototype.addLine=function(t){var i=new o(t);i.uid=e++,this.objects.push(i),this.objectNames.push(i.options.name)},t.jqplot.CanvasOverlay.prototype.addHorizontalLine=function(t){var i=new n(t);i.uid=e++,this.objects.push(i),this.objectNames.push(i.options.name)},t.jqplot.CanvasOverlay.prototype.addDashedHorizontalLine=function(t){var i=new a(t);i.uid=e++,this.objects.push(i),this.objectNames.push(i.options.name)},t.jqplot.CanvasOverlay.prototype.addVerticalLine=function(t){var i=new l(t);i.uid=e++,this.objects.push(i),this.objectNames.push(i.options.name)},t.jqplot.CanvasOverlay.prototype.addDashedVerticalLine=function(t){var i=new p(t);i.uid=e++,this.objects.push(i),this.objectNames.push(i.options.name)},t.jqplot.CanvasOverlay.prototype.addRectangle=function(t){var i=new s(t);i.uid=e++,this.objects.push(i),this.objectNames.push(i.options.name)},t.jqplot.CanvasOverlay.prototype.removeObject=function(e){if("number"==t.type(e))this.objects.splice(e,1),this.objectNames.splice(e,1);else{var i=t.inArray(e,this.objectNames);-1!=i&&(this.objects.splice(i,1),this.objectNames.splice(i,1))}},t.jqplot.CanvasOverlay.prototype.getObject=function(e){if("number"==t.type(e))return this.objects[e];var i=t.inArray(e,this.objectNames);return-1!=i?this.objects[i]:void 0},t.jqplot.CanvasOverlay.prototype.get=t.jqplot.CanvasOverlay.prototype.getObject,t.jqplot.CanvasOverlay.prototype.clear=function(t){this.canvas._ctx.clearRect(0,0,this.canvas.getWidth(),this.canvas.getHeight())},t.jqplot.CanvasOverlay.prototype.draw=function(e){var i,s,o,n=this.objects,a=this.markerRenderer;if(this.options.show){this.canvas._ctx.clearRect(0,0,this.canvas.getWidth(),this.canvas.getHeight());for(var l=0;l<n.length;l++){i=n[l];var p=t.extend(!0,{},i.options);if(i.options.show)switch(a.shadow=i.options.shadow,i.tooltipWidthFactor=i.options.lineWidth/i.options.showTooltipPrecision,i.type){case"line":a.style="line",p.closePath=!1,s=[e.axes[i.options.xaxis].series_u2p(i.options.start[0]),e.axes[i.options.yaxis].series_u2p(i.options.start[1])],o=[e.axes[i.options.xaxis].series_u2p(i.options.stop[0]),e.axes[i.options.yaxis].series_u2p(i.options.stop[1])],i.gridStart=s,i.gridStop=o,a.draw(s,o,this.canvas._ctx,p);break;case"horizontalLine":if(null!=i.options.y){a.style="line",p.closePath=!1;var r=e.axes[i.options.xaxis],h=e.axes[i.options.yaxis].series_u2p(i.options.y),d=i.options.xminOffset||i.options.xOffset,u=i.options.xmaxOffset||i.options.xOffset;null!=i.options.xmin?w=r.series_u2p(i.options.xmin):null!=d&&("number"==t.type(d)?w=r.series_u2p(r.min+d):"string"==t.type(d)&&(w=r.series_u2p(r.min)+parseFloat(d))),null!=i.options.xmax?P=r.series_u2p(i.options.xmax):null!=u&&("number"==t.type(u)?P=r.series_u2p(r.max-u):"string"==t.type(u)&&(P=r.series_u2p(r.max)-parseFloat(u))),null!=P&&null!=w&&(i.gridStart=[w,h],i.gridStop=[P,h],a.draw([w,h],[P,h],this.canvas._ctx,p))}break;case"dashedHorizontalLine":for(var c=i.options.dashPattern,f=0,x=0;x<c.length;x++)f+=c[x];if(null!=i.options.y&&(a.style="line",p.closePath=!1,r=e.axes[i.options.xaxis],h=e.axes[i.options.yaxis].series_u2p(i.options.y),d=i.options.xminOffset||i.options.xOffset,u=i.options.xmaxOffset||i.options.xOffset,null!=i.options.xmin?w=r.series_u2p(i.options.xmin):null!=d&&("number"==t.type(d)?w=r.series_u2p(r.min+d):"string"==t.type(d)&&(w=r.series_u2p(r.min)+parseFloat(d))),null!=i.options.xmax?P=r.series_u2p(i.options.xmax):null!=u&&("number"==t.type(u)?P=r.series_u2p(r.max-u):"string"==t.type(u)&&(P=r.series_u2p(r.max)-parseFloat(u))),null!=P&&null!=w)){i.gridStart=[w,h],i.gridStop=[P,h];var y=Math.ceil((P-w)/f),m=w;for(x=0;x<y;x++)for(var g=0;g<c.length;g+=2)j=m+c[g],a.draw([m,h],[j,h],this.canvas._ctx,p),m+=c[g],g<c.length-1&&(m+=c[g+1])}break;case"verticalLine":if(null!=i.options.x){a.style="line",p.closePath=!1;var v=e.axes[i.options.yaxis],O=e.axes[i.options.xaxis].series_u2p(i.options.x),_=i.options.yminOffset||i.options.yOffset,b=i.options.ymaxOffset||i.options.yOffset;null!=i.options.ymin?L=v.series_u2p(i.options.ymin):null!=_&&("number"==t.type(_)?L=v.series_u2p(v.min-_):"string"==t.type(_)&&(L=v.series_u2p(v.min)-parseFloat(_))),null!=i.options.ymax?k=v.series_u2p(i.options.ymax):null!=b&&("number"==t.type(b)?k=v.series_u2p(v.max+b):"string"==t.type(b)&&(k=v.series_u2p(v.max)+parseFloat(b))),null!=k&&null!=L&&(i.gridStart=[O,L],i.gridStop=[O,k],a.draw([O,L],[O,k],this.canvas._ctx,p))}break;case"dashedVerticalLine":for(c=i.options.dashPattern,f=0,x=0;x<c.length;x++)f+=c[x];var j;if(null!=i.options.x)if(a.style="line",p.closePath=!1,v=e.axes[i.options.yaxis],O=e.axes[i.options.xaxis].series_u2p(i.options.x),_=i.options.yminOffset||i.options.yOffset,b=i.options.ymaxOffset||i.options.yOffset,null!=i.options.ymin?L=v.series_u2p(i.options.ymin):null!=_&&("number"==t.type(_)?L=v.series_u2p(v.min-_):"string"==t.type(_)&&(L=v.series_u2p(v.min)-parseFloat(_))),null!=i.options.ymax?k=v.series_u2p(i.options.ymax):null!=b&&("number"==t.type(b)?k=v.series_u2p(v.max+b):"string"==t.type(b)&&(k=v.series_u2p(v.max)+parseFloat(b))),null!=k&&null!=L)for(i.gridStart=[O,L],i.gridStop=[O,k],y=Math.ceil((L-k)/f),m=L,x=0;x<y;x++)for(g=0;g<c.length;g+=2)(j=m-c[g])<k&&(j=k),m<k&&(m=k),a.draw([O,m],[O,j],this.canvas._ctx,p),m-=c[g],g<c.length-1&&(m-=c[g+1]);break;case"rectangle":var w,P,L,k;a.style="line",p.closePath=!0,r=e.axes[i.options.xaxis],h=e.axes[i.options.yaxis].series_u2p(i.options.y),d=i.options.xminOffset||i.options.xOffset,u=i.options.xmaxOffset||i.options.xOffset,null!=i.options.xmin?w=r.series_u2p(i.options.xmin):null!=d&&("number"==t.type(d)?w=r.series_u2p(r.min+d):"string"==t.type(d)&&(w=r.series_u2p(r.min)+parseFloat(d))),null!=i.options.xmax?P=r.series_u2p(i.options.xmax):null!=u&&("number"==t.type(u)?P=r.series_u2p(r.max-u):"string"==t.type(u)&&(P=r.series_u2p(r.max)-parseFloat(u))),v=e.axes[i.options.yaxis],O=e.axes[i.options.xaxis].series_u2p(i.options.x),_=i.options.yminOffset||i.options.yOffset,b=i.options.ymaxOffset||i.options.yOffset,null!=i.options.ymin?L=v.series_u2p(i.options.ymin):null!=_&&("number"==t.type(_)?L=v.series_u2p(v.min-_):"string"==t.type(_)&&(L=v.series_u2p(v.min)-parseFloat(_))),null!=i.options.ymax?k=v.series_u2p(i.options.ymax):null!=b&&("number"==t.type(b)?k=v.series_u2p(v.max+b):"string"==t.type(b)&&(k=v.series_u2p(v.max)+parseFloat(b))),null!=P&&null!=w&&null!=k&&null!=L&&(i.gridStart=[w,L],i.gridStop=[P,k],this.canvas._ctx.fillStyle=i.options.color,this.canvas._ctx.fillRect(w,L,P-w,k-L))}}}},t.jqplot.CanvasOverlay.postPlotDraw=function(){(i=this.plugins.canvasOverlay)&&i.highlightCanvas&&(i.highlightCanvas.resetCanvas(),i.highlightCanvas=null),i.canvas=new t.jqplot.GenericCanvas,this.eventCanvas._elem.before(i.canvas.createElement(this._gridPadding,"jqplot-overlayCanvas-canvas",this._plotDimensions,this)),i.canvas.setContext(),i.deferDraw||i.draw(this);var e=document.createElement("div");i._tooltipElem=t(e),e=null,i._tooltipElem.addClass("jqplot-canvasOverlay-tooltip"),i._tooltipElem.css({position:"absolute",display:"none"}),this.eventCanvas._elem.before(i._tooltipElem),this.eventCanvas._elem.bind("mouseleave",{elem:i._tooltipElem},function(t){t.data.elem.hide()});var i=null},t.jqplot.postInitHooks.push(t.jqplot.CanvasOverlay.postPlotInit),t.jqplot.postDrawHooks.push(t.jqplot.CanvasOverlay.postPlotDraw),t.jqplot.eventListenerHooks.push(["jqplotMouseMove",function(t,e,i,s,o){for(var n,a,l,p,h,d,u,c,f,x,y,m,g,v,O,_,b,j,w,P,L,k,S,C=o.plugins.canvasOverlay,q=C.objects,F=q.length,H=!1,T=0;T<F;T++)if((n=q[T]).options.showTooltip){var M;if("rectangle"===n.type?(v=[e.x,e.y],O=n.gridStart,_=n.gridStop,n.tooltipWidthFactor,b=void 0,P=void 0,L=void 0,k=void 0,S=void 0,j=v[0],w=v[1],P=Math.round(_[0]),L=Math.round(_[1]),P>(k=Math.round(O[0]))&&(b=P,P=k,k=b),L>(S=Math.round(O[1]))&&(b=L,L=S,S=b),M=j>=P&&j<=k&&w>=L&&w<=S):(l=[e.x,e.y],p=n.gridStart,h=n.gridStop,d=n.tooltipWidthFactor,u=l[0],c=l[1],f=Math.round(h[0]),x=Math.round(h[1]),y=Math.round(p[0]),m=Math.round(p[1]),g=d*Math.sqrt(Math.pow(f-y,2)+Math.pow(x-m,2)),M=Math.abs((y-f)*(c-x)-(m-x)*(u-f))<g),i=[o.axes[n.options.xaxis].series_p2u(e.x),o.axes[n.options.yaxis].series_p2u(e.y)],M&&null==C.highlightObjectIndex){switch(n.type){case"line":r(o,n,[e.x,e.y],i);break;case"horizontalLine":case"dashedHorizontalLine":r(o,n,[e.x,n.gridStart[1]],[i[0],n.options.y]);break;case"verticalLine":case"dashedVerticalLine":case"rectangle":r(o,n,[n.gridStart[0],e.y],[n.options.x,i[1]])}C.highlightObjectIndex=T,H=!0;break}if(M&&C.highlightObjectIndex!==T){switch(a=C._tooltipElem,n.fadeTooltip?a.fadeOut(n.tooltipFadeSpeed):a.hide(),n.type){case"line":r(o,n,[e.x,e.y],i);break;case"horizontalLine":case"dashedHorizontalLine":r(o,n,[e.x,n.gridStart[1]],[i[0],n.options.y]);break;case"verticalLine":case"dashedVerticalLine":case"rectangle":r(o,n,[n.gridStart[0],e.y],[n.options.x,i[1]])}C.highlightObjectIndex=T,H=!0;break}if(M){switch(n.type){case"line":r(o,n,[e.x,e.y],i);break;case"horizontalLine":case"dashedHorizontalLine":r(o,n,[e.x,n.gridStart[1]],[i[0],n.options.y]);break;case"verticalLine":case"dashedVerticalLine":case"rectangle":r(o,n,[n.gridStart[0],e.y],[n.options.x,i[1]])}H=!0;break}}H||null===C.highlightObjectIndex||(a=C._tooltipElem,(n=C.getObject(C.highlightObjectIndex)).fadeTooltip?a.fadeOut(n.tooltipFadeSpeed):a.hide(),C.highlightObjectIndex=null)}])}(jQuery);