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