!function(m,t){var v,p,i=m.Chart,w=m.extend,n=m.each;p=["path","rect","circle"],v={top:0,left:0,center:.5,middle:.5,bottom:1,right:1};var k=t.inArray,r=m.merge;function o(t){return"[object Array]"===Object.prototype.toString.call(t)}function P(t){return"number"==typeof t}function O(t){return null!=t}function l(){this.init.apply(this,arguments)}l.prototype={init:function(t,i){var e,n,a,s=i.shape&&i.shape.type;this.chart=t,this.options=r({},(a={xAxis:0,yAxis:0,title:{style:{},text:"",x:0,y:0},shape:{params:{stroke:"#000000",fill:"transparent",strokeWidth:2}}},(n={circle:{params:{x:0,y:0}}})[e=s]&&(a.shape=r(a.shape,n[e])),a),i)},render:function(t){var i=this,e=this.chart,n=i.chart.renderer,a=i.group,s=i.title,r=i.shape,o=i.options,l=o.title,h=o.shape;a=a||(i.group=n.g()),!r&&h&&-1!==k(h.type,p)&&(r=i.shape=n[o.shape.type](h.params)).add(a),!s&&l&&(s=i.title=n.label(l)).add(a),a.add(e.annotations.group),i.linkObjects(),!1!==t&&i.redraw()},redraw:function(){var t,i,e,n,a,s,r,o=this.options,l=this.chart,h=this.group,p=this.title,c=this.shape,d=this.linkedObject,u=l.xAxis[o.xAxis],f=l.yAxis[o.yAxis],y=o.width,x=o.height,g=v[o.anchorY],b=v[o.anchorX];if(d&&("point"===(i=d instanceof m.Point?"point":d instanceof m.Series?"series":null)?(o.xValue=d.x,o.yValue=d.y,e=d.series):"series"===i&&(e=d),h.visibility!==e.group.visibility&&h.attr({visibility:e.group.visibility})),s=O(o.xValue)?u.toPixels(o.xValue+u.minPointOffset)-u.minPixelPadding:o.x,r=O(o.yValue)?f.toPixels(o.yValue):o.y,!isNaN(s)&&!isNaN(r)&&P(s)&&P(r)){if(p&&(p.attr(o.title),p.css(o.title.style),0),c){if(t=w({},o.shape.params),"values"===o.units){for(n in t)-1<k(n,["width","x"])?t[n]=u.translate(t[n]):-1<k(n,["height","y"])&&(t[n]=f.translate(t[n]));t.width&&(t.width-=u.toPixels(0)-u.left),t.x&&(t.x+=u.minPixelPadding),"path"===o.shape.type&&function(t,i,e,n,a){for(var s=t.length,r=0;r<s;)"number"==typeof t[r]&&"number"==typeof t[r+1]?(t[r]=i.toPixels(t[r])-n,t[r+1]=e.toPixels(t[r+1])-a,r+=2):r+=1}(t.d,u,f,s,r)}"circle"===o.shape.type&&(t.x+=t.r,t.y+=t.r),c.attr(t)}h.bBox=null,P(y)||(y=(a=h.getBBox()).width),P(x)||(x=(a=a||h.getBBox()).height),P(b)||(b=v.center),P(g)||(g=v.center),s-=y*b,r-=x*g,l.animation&&O(h.translateX)&&O(h.translateY)?h.animate({translateX:s,translateY:r}):h.translate(s,r)}},destroy:function(){var i=this,t=this.chart.annotations.allItems,e=t.indexOf(i);-1<e&&t.splice(e,1),n(["title","shape","group"],function(t){i[t]&&(i[t].destroy(),i[t]=null)}),i.group=i.title=i.shape=i.chart=i.options=null},update:function(t,i){w(this.options,t),this.linkObjects(),this.render(i)},linkObjects:function(){var t=this,i=t.chart,e=t.linkedObject,n=e&&(e.id||e.options.id),a=t.options.linkedTo;O(a)?O(e)&&a===n||(t.linkedObject=i.get(a)):t.linkedObject=null}},w(i.prototype,{annotations:{add:function(t,i){var e,n,a=this.allItems,s=this.chart;for(o(t)||(t=[t]),n=t.length;n--;)e=new l(s,t[n]),a.push(e),e.render(i)},redraw:function(){n(this.allItems,function(t){t.redraw()})}}}),i.prototype.callbacks.push(function(t){var i,e=t.options.annotations;(i=t.renderer.g("annotations")).attr({zIndex:7}),i.add(),t.annotations.allItems=[],(t.annotations.chart=t).annotations.group=i,o(e)&&0<e.length&&t.annotations.add(t.options.annotations),m.addEvent(t,"redraw",function(){t.annotations.redraw()})})}(Highcharts,HighchartsAdapter);
|