]>
git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/static/AdminLTE-2.3.7/plugins/morris/morris.min.js
3 Copyright 2014 Olly Smith All rights reserved.
4 Licensed under the BSD-2-Clause License.
6 (function(){var a
,b
,c
,d
,e
=[].slice
,f=function(a
,b
){return function(){return a
.apply(b
,arguments
)}},g
={}.hasOwnProperty
,h=function(a
,b
){function c(){this.constructor=a
}for(var d
in b
)g
.call(b
,d
)&&(a
[d
]=b
[d
]);return c
.prototype=b
.prototype,a
.prototype=new c
,a
.__super__
=b
.prototype,a
},i
=[].indexOf
||function(a
){for(var b
=0,c
=this.length
;c
>b
;b
++)if(b
in this&&this[b
]===a
)return b
;return-1};b
=window
.Morris
={},a
=jQuery
,b
.EventEmitter=function(){function a(){}return a
.prototype.on=function(a
,b
){return null==this.handlers
&&(this.handlers
={}),null==this.handlers
[a
]&&(this.handlers
[a
]=[]),this.handlers
[a
].push(b
),this},a
.prototype.fire=function(){var a
,b
,c
,d
,f
,g
,h
;if(c
=arguments
[0],a
=2<=arguments
.length
?e
.call(arguments
,1):[],null!=this.handlers
&&null!=this.handlers
[c
]){for(g
=this.handlers
[c
],h
=[],d
=0,f
=g
.length
;f
>d
;d
++)b
=g
[d
],h
.push(b
.apply(null,a
));return h
}},a
}(),b
.commas=function(a
){var b
,c
,d
,e
;return null!=a
?(d
=0>a
?"-":"",b
=Math
.abs(a
),c
=Math
.floor(b
).toFixed(0),d
+=c
.replace(/(?=(?:\d{3})+$)(?!^)/g,","),e
=b
.toString(),e
.length
>c
.length
&&(d
+=e
.slice(c
.length
)),d
):"-"},b
.pad2=function(a
){return(10>a
?"0":"")+a
},b
.Grid=function(c
){function d(b
){this.resizeHandler
=f(this.resizeHandler
,this);var c
=this;if(this.el
="string"==typeof b
.element
?a(document
.getElementById(b
.element
)):a(b
.element
),null==this.el
||0===this.el
.length
)throw new Error("Graph container element not found");"static"===this.el
.css("position")&&this.el
.css("position","relative"),this.options
=a
.extend({},this.gridDefaults
,this.defaults
||{},b
),"string"==typeof this.options
.units
&&(this.options
.postUnits
=b
.units
),this.raphael
=new Raphael(this.el
[0]),this.elementWidth
=null,this.elementHeight
=null,this.dirty
=!1,this.selectFrom
=null,this.init
&&this.init(),this.setData(this.options
.data
),this.el
.bind("mousemove",function(a
){var b
,d
,e
,f
,g
;return d
=c
.el
.offset(),g
=a
.pageX
-d
.left
,c
.selectFrom
?(b
=c
.data
[c
.hitTest(Math
.min(g
,c
.selectFrom
))]._x
,e
=c
.data
[c
.hitTest(Math
.max(g
,c
.selectFrom
))]._x
,f
=e
-b
,c
.selectionRect
.attr({x
:b
,width
:f
})):c
.fire("hovermove",g
,a
.pageY
-d
.top
)}),this.el
.bind("mouseleave",function(){return c
.selectFrom
&&(c
.selectionRect
.hide(),c
.selectFrom
=null),c
.fire("hoverout")}),this.el
.bind("touchstart touchmove touchend",function(a
){var b
,d
;return d
=a
.originalEvent
.touches
[0]||a
.originalEvent
.changedTouches
[0],b
=c
.el
.offset(),c
.fire("hovermove",d
.pageX
-b
.left
,d
.pageY
-b
.top
)}),this.el
.bind("click",function(a
){var b
;return b
=c
.el
.offset(),c
.fire("gridclick",a
.pageX
-b
.left
,a
.pageY
-b
.top
)}),this.options
.rangeSelect
&&(this.selectionRect
=this.raphael
.rect(0,0,0,this.el
.innerHeight()).attr({fill
:this.options
.rangeSelectColor
,stroke
:!1}).toBack().hide(),this.el
.bind("mousedown",function(a
){var b
;return b
=c
.el
.offset(),c
.startRange(a
.pageX
-b
.left
)}),this.el
.bind("mouseup",function(a
){var b
;return b
=c
.el
.offset(),c
.endRange(a
.pageX
-b
.left
),c
.fire("hovermove",a
.pageX
-b
.left
,a
.pageY
-b
.top
)})),this.options
.resize
&&a(window
).bind("resize",function(){return null!=c
.timeoutId
&&window
.clearTimeout(c
.timeoutId
),c
.timeoutId
=window
.setTimeout(c
.resizeHandler
,100)}),this.el
.css("-webkit-tap-highlight-color","rgba(0,0,0,0)"),this.postInit
&&this.postInit()}return h(d
,c
),d
.prototype.gridDefaults
={dateFormat
:null,axes
:!0,grid
:!0,gridLineColor
:"#aaa",gridStrokeWidth
:.5,gridTextColor
:"#888",gridTextSize
:12,gridTextFamily
:"sans-serif",gridTextWeight
:"normal",hideHover
:!1,yLabelFormat
:null,xLabelAngle
:0,numLines
:5,padding
:25,parseTime
:!0,postUnits
:"",preUnits
:"",ymax
:"auto",ymin
:"auto 0",goals
:[],goalStrokeWidth
:1,goalLineColors
:["#666633","#999966","#cc6666","#663333"],events
:[],eventStrokeWidth
:1,eventLineColors
:["#005a04","#ccffbb","#3a5f0b","#005502"],rangeSelect
:null,rangeSelectColor
:"#eef",resize
:!1},d
.prototype.setData=function(a
,c
){var d
,e
,f
,g
,h
,i
,j
,k
,l
,m
,n
,o
,p
,q
,r
;return null==c
&&(c
=!0),this.options
.data
=a
,null==a
||0===a
.length
?(this.data
=[],this.raphael
.clear(),null!=this.hover
&&this.hover
.hide(),void 0):(o
=this.cumulative
?0:null,p
=this.cumulative
?0:null,this.options
.goals
.length
>0&&(h
=Math
.min
.apply(Math
,this.options
.goals
),g
=Math
.max
.apply(Math
,this.options
.goals
),p
=null!=p
?Math
.min(p
,h
):h
,o
=null!=o
?Math
.max(o
,g
):g
),this.data=function(){var c
,d
,g
;for(g
=[],f
=c
=0,d
=a
.length
;d
>c
;f
=++c
)j
=a
[f
],i
={src
:j
},i
.label
=j
[this.options
.xkey
],this.options
.parseTime
?(i
.x
=b
.parseDate(i
.label
),this.options
.dateFormat
?i
.label
=this.options
.dateFormat(i
.x
):"number"==typeof i
.label
&&(i
.label
=new Date(i
.label
).toString())):(i
.x
=f
,this.options
.xLabelFormat
&&(i
.label
=this.options
.xLabelFormat(i
))),l
=0,i
.y=function(){var a
,b
,c
,d
;for(c
=this.options
.ykeys
,d
=[],e
=a
=0,b
=c
.length
;b
>a
;e
=++a
)n
=c
[e
],q
=j
[n
],"string"==typeof q
&&(q
=parseFloat(q
)),null!=q
&&"number"!=typeof q
&&(q
=null),null!=q
&&(this.cumulative
?l
+=q
:null!=o
?(o
=Math
.max(q
,o
),p
=Math
.min(q
,p
)):o
=p
=q
),this.cumulative
&&null!=l
&&(o
=Math
.max(l
,o
),p
=Math
.min(l
,p
)),d
.push(q
);return d
}.call(this),g
.push(i
);return g
}.call(this),this.options
.parseTime
&&(this.data
=this.data
.sort(function(a
,b
){return(a
.x
>b
.x
)-(b
.x
>a
.x
)})),this.xmin
=this.data
[0].x
,this.xmax
=this.data
[this.data
.length
-1].x
,this.events
=[],this.options
.events
.length
>0&&(this.events
=this.options
.parseTime
?function(){var a
,c
,e
,f
;for(e
=this.options
.events
,f
=[],a
=0,c
=e
.length
;c
>a
;a
++)d
=e
[a
],f
.push(b
.parseDate(d
));return f
}.call(this):this.options
.events
,this.xmax
=Math
.max(this.xmax
,Math
.max
.apply(Math
,this.events
)),this.xmin
=Math
.min(this.xmin
,Math
.min
.apply(Math
,this.events
))),this.xmin
===this.xmax
&&(this.xmin
-=1,this.xmax
+=1),this.ymin
=this.yboundary("min",p
),this.ymax
=this.yboundary("max",o
),this.ymin
===this.ymax
&&(p
&&(this.ymin
-=1),this.ymax
+=1),((r
=this.options
.axes
)===!0||"both"===r
||"y"===r
||this.options
.grid
===!0)&&(this.options
.ymax
===this.gridDefaults
.ymax
&&this.options
.ymin
===this.gridDefaults
.ymin
?(this.grid
=this.autoGridLines(this.ymin
,this.ymax
,this.options
.numLines
),this.ymin
=Math
.min(this.ymin
,this.grid
[0]),this.ymax
=Math
.max(this.ymax
,this.grid
[this.grid
.length
-1])):(k
=(this.ymax
-this.ymin
)/(this.options.numLines-1),this.grid=function(){var a,b,c,d;for(d=[],m=a=b=this.ymin,c=this.ymax;k>0?c>=a:a>=c;m=a+=k)d.push(m);return d}.call(this))),this.dirty=!0,c?this.redraw():void 0)},d.prototype.yboundary=function(a,b){var c,d;return c=this.options["y"+a],"string"==typeof c?"auto"===c.slice(0,4)?c.length>5?(d=parseInt(c.slice(5),10),null==b?d:Math[a](b,d)):null!=b?b:0:parseInt(c,10):c},d.prototype.autoGridLines=function(a,b,c){var d,e,f,g,h,i,j,k,l;return h=b-a,l=Math.floor(Math.log(h)/Math
.log(10)),j
=Math
.pow(10,l
),e
=Math
.floor(a
/j)*j,d=Math.ceil(b/j
)*j
,i
=(d
-e
)/(c-1),1===j&&i>1&&Math.ceil(i)!==i&&(i=Math.ceil(i),d=e+i*(c-1)),0>e&&d>0&&(e=Math.floor(a/i)*i
,d
=Math
.ceil(b
/i)*i),1>i?(g=Math.floor(Math.log(i)/Math
.log(10)),f=function(){var a
,b
;for(b
=[],k
=a
=e
;i
>0?d
>=a
:a
>=d
;k
=a
+=i
)b
.push(parseFloat(k
.toFixed(1-g
)));return b
}()):f=function(){var a
,b
;for(b
=[],k
=a
=e
;i
>0?d
>=a
:a
>=d
;k
=a
+=i
)b
.push(k
);return b
}(),f
},d
.prototype._calc=function(){var a
,b
,c
,d
,e
,f
,g
,h
;return e
=this.el
.width(),c
=this.el
.height(),(this.elementWidth
!==e
||this.elementHeight
!==c
||this.dirty
)&&(this.elementWidth
=e
,this.elementHeight
=c
,this.dirty
=!1,this.left
=this.options
.padding
,this.right
=this.elementWidth
-this.options
.padding
,this.top
=this.options
.padding
,this.bottom
=this.elementHeight
-this.options
.padding
,((g
=this.options
.axes
)===!0||"both"===g
||"y"===g
)&&(f=function(){var a
,c
,d
,e
;for(d
=this.grid
,e
=[],a
=0,c
=d
.length
;c
>a
;a
++)b
=d
[a
],e
.push(this.measureText(this.yAxisFormat(b
)).width
);return e
}.call(this),this.left
+=Math
.max
.apply(Math
,f
)),((h
=this.options
.axes
)===!0||"both"===h
||"x"===h
)&&(a=function(){var a
,b
,c
;for(c
=[],d
=a
=0,b
=this.data
.length
;b
>=0?b
>a
:a
>b
;d
=b
>=0?++a
:--a
)c
.push(this.measureText(this.data
[d
].text
,-this.options
.xLabelAngle
).height
);return c
}.call(this),this.bottom
-=Math
.max
.apply(Math
,a
)),this.width
=Math
.max(1,this.right
-this.left
),this.height
=Math
.max(1,this.bottom
-this.top
),this.dx
=this.width
/(this.xmax-this.xmin),this.dy=this.height/(this.ymax
-this.ymin
),this.calc
)?this.calc():void 0},d
.prototype.transY=function(a
){return this.bottom
-(a
-this.ymin
)*this.dy
},d
.prototype.transX=function(a
){return 1===this.data
.length
?(this.left
+this.right
)/2:this.left+(a-this.xmin)*this.dx},d.prototype.redraw=function(){return this.raphael.clear(),this._calc(),this.drawGrid(),this.drawGoals(),this.drawEvents(),this.draw?this.draw():void 0},d.prototype.measureText=function(a,b){var c,d;return null==b&&(b=0),d=this.raphael.text(100,100,a).attr("font-size",this.options.gridTextSize).attr("font-family",this.options.gridTextFamily).attr("font-weight",this.options.gridTextWeight).rotate(b),c=d.getBBox(),d.remove(),c},d.prototype.yAxisFormat=function(a){return this.yLabelFormat(a)},d.prototype.yLabelFormat=function(a){return"function"==typeof this.options.yLabelFormat?this.options.yLabelFormat(a):""+this.options.preUnits+b.commas(a)+this.options.postUnits},d.prototype.drawGrid=function(){var a,b,c,d,e,f,g,h;if(this.options.grid!==!1||(e=this.options.axes)===!0||"both"===e||"y"===e){for(f=this.grid,h=[],c=0,d=f.length;d>c;c++)a=f[c],b=this.transY(a),((g=this.options.axes)===!0||"both"===g||"y"===g)&&this.drawYAxisLabel(this.left-this.options.padding/2,b
,this.yAxisFormat(a
)),this.options
.grid
?h
.push(this.drawGridLine("M"+this.left
+","+b
+"H"+(this.left
+this.width
))):h
.push(void 0);return h
}},d
.prototype.drawGoals=function(){var a
,b
,c
,d
,e
,f
,g
;for(f
=this.options
.goals
,g
=[],c
=d
=0,e
=f
.length
;e
>d
;c
=++d
)b
=f
[c
],a
=this.options
.goalLineColors
[c
%this.options
.goalLineColors
.length
],g
.push(this.drawGoal(b
,a
));return g
},d
.prototype.drawEvents=function(){var a
,b
,c
,d
,e
,f
,g
;for(f
=this.events
,g
=[],c
=d
=0,e
=f
.length
;e
>d
;c
=++d
)b
=f
[c
],a
=this.options
.eventLineColors
[c
%this.options
.eventLineColors
.length
],g
.push(this.drawEvent(b
,a
));return g
},d
.prototype.drawGoal=function(a
,b
){return this.raphael
.path("M"+this.left
+","+this.transY(a
)+"H"+this.right
).attr("stroke",b
).attr("stroke-width",this.options
.goalStrokeWidth
)},d
.prototype.drawEvent=function(a
,b
){return this.raphael
.path("M"+this.transX(a
)+","+this.bottom
+"V"+this.top
).attr("stroke",b
).attr("stroke-width",this.options
.eventStrokeWidth
)},d
.prototype.drawYAxisLabel=function(a
,b
,c
){return this.raphael
.text(a
,b
,c
).attr("font-size",this.options
.gridTextSize
).attr("font-family",this.options
.gridTextFamily
).attr("font-weight",this.options
.gridTextWeight
).attr("fill",this.options
.gridTextColor
).attr("text-anchor","end")},d
.prototype.drawGridLine=function(a
){return this.raphael
.path(a
).attr("stroke",this.options
.gridLineColor
).attr("stroke-width",this.options
.gridStrokeWidth
)},d
.prototype.startRange=function(a
){return this.hover
.hide(),this.selectFrom
=a
,this.selectionRect
.attr({x
:a
,width
:0}).show()},d
.prototype.endRange=function(a
){var b
,c
;return this.selectFrom
?(c
=Math
.min(this.selectFrom
,a
),b
=Math
.max(this.selectFrom
,a
),this.options
.rangeSelect
.call(this.el
,{start
:this.data
[this.hitTest(c
)].x
,end
:this.data
[this.hitTest(b
)].x
}),this.selectFrom
=null):void 0},d
.prototype.resizeHandler=function(){return this.timeoutId
=null,this.raphael
.setSize(this.el
.width(),this.el
.height()),this.redraw()},d
}(b
.EventEmitter
),b
.parseDate=function(a
){var b
,c
,d
,e
,f
,g
,h
,i
,j
,k
,l
;return"number"==typeof a
?a
:(c
=a
.match(/^(\d+) Q(\d)$/),e
=a
.match(/^(\d+)-(\d+)$/),f
=a
.match(/^(\d+)-(\d+)-(\d+)$/),h
=a
.match(/^(\d+) W(\d+)$/),i
=a
.match(/^(\d+)-(\d+)-(\d+)[ T](\d+):(\d+)(Z|([+-])(\d\d):?(\d\d))?$/),j
=a
.match(/^(\d+)-(\d+)-(\d+)[ T](\d+):(\d+):(\d+(\.\d+)?)(Z|([+-])(\d\d):?(\d\d))?$/),c
?new Date(parseInt(c
[1],10),3*parseInt(c
[2],10)-1,1).getTime():e
?new Date(parseInt(e
[1],10),parseInt(e
[2],10)-1,1).getTime():f
?new Date(parseInt(f
[1],10),parseInt(f
[2],10)-1,parseInt(f
[3],10)).getTime():h
?(k
=new Date(parseInt(h
[1],10),0,1),4!==k
.getDay()&&k
.setMonth(0,1+(4-k
.getDay()+7)%7),k
.getTime()+6048e5
*parseInt(h
[2],10)):i
?i
[6]?(g
=0,"Z"!==i
[6]&&(g
=60*parseInt(i
[8],10)+parseInt(i
[9],10),"+"===i
[7]&&(g
=0-g
)),Date
.UTC(parseInt(i
[1],10),parseInt(i
[2],10)-1,parseInt(i
[3],10),parseInt(i
[4],10),parseInt(i
[5],10)+g
)):new Date(parseInt(i
[1],10),parseInt(i
[2],10)-1,parseInt(i
[3],10),parseInt(i
[4],10),parseInt(i
[5],10)).getTime():j
?(l
=parseFloat(j
[6]),b
=Math
.floor(l
),d
=Math
.round(1e3
*(l
-b
)),j
[8]?(g
=0,"Z"!==j
[8]&&(g
=60*parseInt(j
[10],10)+parseInt(j
[11],10),"+"===j
[9]&&(g
=0-g
)),Date
.UTC(parseInt(j
[1],10),parseInt(j
[2],10)-1,parseInt(j
[3],10),parseInt(j
[4],10),parseInt(j
[5],10)+g
,b
,d
)):new Date(parseInt(j
[1],10),parseInt(j
[2],10)-1,parseInt(j
[3],10),parseInt(j
[4],10),parseInt(j
[5],10),b
,d
).getTime()):new Date(parseInt(a
,10),0,1).getTime())},b
.Hover=function(){function c(c
){null==c
&&(c
={}),this.options
=a
.extend({},b
.Hover
.defaults
,c
),this.el
=a("<div class='"+this.options
["class"]+"'></div>"),this.el
.hide(),this.options
.parent
.append(this.el
)}return c
.defaults
={"class":"morris-hover morris-default-style"},c
.prototype.update=function(a
,b
,c
){return a
?(this.html(a
),this.show(),this.moveTo(b
,c
)):this.hide()},c
.prototype.html=function(a
){return this.el
.html(a
)},c
.prototype.moveTo=function(a
,b
){var c
,d
,e
,f
,g
,h
;return g
=this.options
.parent
.innerWidth(),f
=this.options
.parent
.innerHeight(),d
=this.el
.outerWidth(),c
=this.el
.outerHeight(),e
=Math
.min(Math
.max(0,a
-d
/2),g
-d
),null!=b
?(h
=b
-c
-10,0>h
&&(h
=b
+10,h
+c
>f
&&(h
=f
/2-c/2))):h
=f
/2-c/2,this.el
.css({left
:e
+"px",top
:parseInt(h
)+"px"})},c
.prototype.show=function(){return this.el
.show()},c
.prototype.hide=function(){return this.el
.hide()},c
}(),b
.Line=function(a
){function c(a
){return this.hilight
=f(this.hilight
,this),this.onHoverOut
=f(this.onHoverOut
,this),this.onHoverMove
=f(this.onHoverMove
,this),this.onGridClick
=f(this.onGridClick
,this),this instanceof b
.Line
?(c
.__super__
.constructor.call(this,a
),void 0):new b
.Line(a
)}return h(c
,a
),c
.prototype.init=function(){return"always"!==this.options
.hideHover
?(this.hover
=new b
.Hover({parent
:this.el
}),this.on("hovermove",this.onHoverMove
),this.on("hoverout",this.onHoverOut
),this.on("gridclick",this.onGridClick
)):void 0},c
.prototype.defaults
={lineWidth
:3,pointSize
:4,lineColors
:["#0b62a4","#7A92A3","#4da74d","#afd8f8","#edc240","#cb4b4b","#9440ed"],pointStrokeWidths
:[1],pointStrokeColors
:["#ffffff"],pointFillColors
:[],smooth
:!0,xLabels
:"auto",xLabelFormat
:null,xLabelMargin
:24,hideHover
:!1},c
.prototype.calc=function(){return this.calcPoints(),this.generatePaths()},c
.prototype.calcPoints=function(){var a
,b
,c
,d
,e
,f
;for(e
=this.data
,f
=[],c
=0,d
=e
.length
;d
>c
;c
++)a
=e
[c
],a
._x
=this.transX(a
.x
),a
._y=function(){var c
,d
,e
,f
;for(e
=a
.y
,f
=[],c
=0,d
=e
.length
;d
>c
;c
++)b
=e
[c
],null!=b
?f
.push(this.transY(b
)):f
.push(b
);return f
}.call(this),f
.push(a
._ymax
=Math
.min
.apply(Math
,[this.bottom
].concat(function(){var c
,d
,e
,f
;for(e
=a
._y
,f
=[],c
=0,d
=e
.length
;d
>c
;c
++)b
=e
[c
],null!=b
&&f
.push(b
);return f
}())));return f
},c
.prototype.hitTest=function(a
){var b
,c
,d
,e
,f
;if(0===this.data
.length
)return null;for(f
=this.data
.slice(1),b
=d
=0,e
=f
.length
;e
>d
&&(c
=f
[b
],!(a
<(c
._x
+this.data
[b
]._x
)/2));b=++d);return b},c.prototype.onGridClick=function(a,b){var c;return c=this.hitTest(a),this.fire("click",c,this.data[c].src,a,b)},c.prototype.onHoverMove=function(a){var b;return b=this.hitTest(a),this.displayHoverForRow(b)},c.prototype.onHoverOut=function(){return this.options.hideHover!==!1?this.displayHoverForRow(null):void 0},c.prototype.displayHoverForRow=function(a){var b;return null!=a?((b=this.hover).update.apply(b,this.hoverContentForRow(a)),this.hilight(a)):(this.hover.hide(),this.hilight())},c.prototype.hoverContentForRow=function(a){var b,c,d,e,f,g,h;for(d=this.data[a],b="<div class='morris-hover-row-label'>"+d.label+"</div>",h=d.y,c=f=0,g=h.length;g>f;c=++f)e=h[c],b+="<div
class='morris-hover-point' style
='color: "+this.colorFor(d,c,"label")+"'>\n "+this.options.labels[c]+":\n "+this.yLabelFormat(e)+"\n</div>";return"function"==typeof this.options.hoverCallback&&(b=this.options.hoverCallback(a,this.options,b,d.src)),[b,d._x,d._ymax]},c.prototype.generatePaths=function(){var a,c,d,e;return this.paths=function(){var f,g,h,j;for(j=[],c=f=0,g=this.options.ykeys.length;g>=0?g>f:f>g;c=g>=0?++f:--f)e="boolean"==typeof this.options.smooth?this.options.smooth:(h=this.options.ykeys[c],i.call(this.options.smooth,h)>=0),a=function(){var a,b,e,f;for(e=this.data,f=[],a=0,b=e.length;b>a;a++)d=e[a],void 0!==d._y[c]&&f.push({x:d._x,y:d._y[c]});return f}.call(this),a.length>1?j.push(b.Line.createPath(a,e,this.bottom)):j.push(null);return j}.call(this)},c.prototype.draw=function(){var a;return((a=this.options.axes)===!0||"both"===a||"x"===a)&&this.drawXAxis(),this.drawSeries(),this.options.hideHover===!1?this.displayHoverForRow(this.data.length-1):void 0},c.prototype.drawXAxis=function(){var a,c,d,e,f,g,h,i,j,k,l=this;for(h=this.bottom+this.options.padding/2,f
=null,e
=null,a=function(a
,b
){var c
,d
,g
,i
,j
;return c
=l
.drawXAxisLabel(l
.transX(b
),h
,a
),j
=c
.getBBox(),c
.transform("r"+-l
.options
.xLabelAngle
),d
=c
.getBBox(),c
.transform("t0,"+d
.height
/2+"..."),0!==l.options.xLabelAngle&&(i=-.5*j.width*Math.cos(l.options.xLabelAngle*Math.PI/180),c
.transform("t"+i
+",0...")),d
=c
.getBBox(),(null==f
||f
>=d
.x
+d
.width
||null!=e
&&e
>=d
.x
)&&d
.x
>=0&&d
.x
+d
.width
<l
.el
.width()?(0!==l
.options
.xLabelAngle
&&(g
=1.25*l
.options
.gridTextSize
/Math.sin(l.options.xLabelAngle*Math.PI/180),e
=d
.x
-g
),f
=d
.x
-l
.options
.xLabelMargin
):c
.remove()},d
=this.options
.parseTime
?1===this.data
.length
&&"auto"===this.options
.xLabels
?[[this.data
[0].label
,this.data
[0].x
]]:b
.labelSeries(this.xmin
,this.xmax
,this.width
,this.options
.xLabels
,this.options
.xLabelFormat
):function(){var a
,b
,c
,d
;for(c
=this.data
,d
=[],a
=0,b
=c
.length
;b
>a
;a
++)g
=c
[a
],d
.push([g
.label
,g
.x
]);return d
}.call(this),d
.reverse(),k
=[],i
=0,j
=d
.length
;j
>i
;i
++)c
=d
[i
],k
.push(a(c
[0],c
[1]));return k
},c
.prototype.drawSeries=function(){var a
,b
,c
,d
,e
,f
;for(this.seriesPoints
=[],a
=b
=d
=this.options
.ykeys
.length
-1;0>=d
?0>=b
:b
>=0;a
=0>=d
?++b
:--b
)this._drawLineFor(a
);for(f
=[],a
=c
=e
=this.options
.ykeys
.length
-1;0>=e
?0>=c
:c
>=0;a
=0>=e
?++c
:--c
)f
.push(this._drawPointFor(a
));return f
},c
.prototype._drawPointFor=function(a
){var b
,c
,d
,e
,f
,g
;for(this.seriesPoints
[a
]=[],f
=this.data
,g
=[],d
=0,e
=f
.length
;e
>d
;d
++)c
=f
[d
],b
=null,null!=c
._y
[a
]&&(b
=this.drawLinePoint(c
._x
,c
._y
[a
],this.colorFor(c
,a
,"point"),a
)),g
.push(this.seriesPoints
[a
].push(b
));return g
},c
.prototype._drawLineFor=function(a
){var b
;return b
=this.paths
[a
],null!==b
?this.drawLinePath(b
,this.colorFor(null,a
,"line"),a
):void 0},c
.createPath=function(a
,c
,d
){var e
,f
,g
,h
,i
,j
,k
,l
,m
,n
,o
,p
,q
,r
;for(k
="",c
&&(g
=b
.Line
.gradients(a
)),l
={y
:null},h
=q
=0,r
=a
.length
;r
>q
;h
=++q
)e
=a
[h
],null!=e
.y
&&(null!=l
.y
?c
?(f
=g
[h
],j
=g
[h
-1],i
=(e
.x
-l
.x
)/4,m=l.x+i,o=Math.min(d,l.y+i*j),n=e.x-i,p=Math.min(d,e.y-i*f),k+="C"+m+","+o+","+n+","+p+","+e.x+","+e.y):k+="L"+e.x+","+e.y:c&&null==g[h]||(k+="M"+e.x+","+e.y)),l=e;return k},c.gradients=function(a){var b,c,d,e,f,g,h,i;for(c=function(a,b){return(a.y-b.y)/(a
.x
-b
.x
)},i
=[],d
=g
=0,h
=a
.length
;h
>g
;d
=++g
)b
=a
[d
],null!=b
.y
?(e
=a
[d
+1]||{y
:null},f
=a
[d
-1]||{y
:null},null!=f
.y
&&null!=e
.y
?i
.push(c(f
,e
)):null!=f
.y
?i
.push(c(f
,b
)):null!=e
.y
?i
.push(c(b
,e
)):i
.push(null)):i
.push(null);return i
},c
.prototype.hilight=function(a
){var b
,c
,d
,e
,f
;if(null!==this.prevHilight
&&this.prevHilight
!==a
)for(b
=c
=0,e
=this.seriesPoints
.length
-1;e
>=0?e
>=c
:c
>=e
;b
=e
>=0?++c
:--c
)this.seriesPoints
[b
][this.prevHilight
]&&this.seriesPoints
[b
][this.prevHilight
].animate(this.pointShrinkSeries(b
));if(null!==a
&&this.prevHilight
!==a
)for(b
=d
=0,f
=this.seriesPoints
.length
-1;f
>=0?f
>=d
:d
>=f
;b
=f
>=0?++d
:--d
)this.seriesPoints
[b
][a
]&&this.seriesPoints
[b
][a
].animate(this.pointGrowSeries(b
));return this.prevHilight
=a
},c
.prototype.colorFor=function(a
,b
,c
){return"function"==typeof this.options
.lineColors
?this.options
.lineColors
.call(this,a
,b
,c
):"point"===c
?this.options
.pointFillColors
[b
%this.options
.pointFillColors
.length
]||this.options
.lineColors
[b
%this.options
.lineColors
.length
]:this.options
.lineColors
[b
%this.options
.lineColors
.length
]},c
.prototype.drawXAxisLabel=function(a
,b
,c
){return this.raphael
.text(a
,b
,c
).attr("font-size",this.options
.gridTextSize
).attr("font-family",this.options
.gridTextFamily
).attr("font-weight",this.options
.gridTextWeight
).attr("fill",this.options
.gridTextColor
)},c
.prototype.drawLinePath=function(a
,b
,c
){return this.raphael
.path(a
).attr("stroke",b
).attr("stroke-width",this.lineWidthForSeries(c
))},c
.prototype.drawLinePoint=function(a
,b
,c
,d
){return this.raphael
.circle(a
,b
,this.pointSizeForSeries(d
)).attr("fill",c
).attr("stroke-width",this.pointStrokeWidthForSeries(d
)).attr("stroke",this.pointStrokeColorForSeries(d
))},c
.prototype.pointStrokeWidthForSeries=function(a
){return this.options
.pointStrokeWidths
[a
%this.options
.pointStrokeWidths
.length
]},c
.prototype.pointStrokeColorForSeries=function(a
){return this.options
.pointStrokeColors
[a
%this.options
.pointStrokeColors
.length
]},c
.prototype.lineWidthForSeries=function(a
){return this.options
.lineWidth
instanceof Array
?this.options
.lineWidth
[a
%this.options
.lineWidth
.length
]:this.options
.lineWidth
},c
.prototype.pointSizeForSeries=function(a
){return this.options
.pointSize
instanceof Array
?this.options
.pointSize
[a
%this.options
.pointSize
.length
]:this.options
.pointSize
},c
.prototype.pointGrowSeries=function(a
){return Raphael
.animation({r
:this.pointSizeForSeries(a
)+3},25,"linear")},c
.prototype.pointShrinkSeries=function(a
){return Raphael
.animation({r
:this.pointSizeForSeries(a
)},25,"linear")},c
}(b
.Grid
),b
.labelSeries=function(c
,d
,e
,f
,g
){var h
,i
,j
,k
,l
,m
,n
,o
,p
,q
,r
;if(j
=200*(d
-c
)/e,i=new Date(c),n=b.LABEL_SPECS[f],void 0===n)for(r=b.AUTO_LABEL_ORDER,p=0,q=r.length;q>p;p++)if(k=r[p],m=b.LABEL_SPECS[k],j>=m.span){n=m;break}for(void 0===n&&(n=b.LABEL_SPECS.second),g&&(n=a.extend({},n,{fmt:g})),h=n.start(i),l=[];(o=h.getTime())<=d;)o>=c&&l.push([n.fmt(h),o]),n.incr(h);return l},c=function(a){return{span:60*a*1e3,start:function(a){return new Date(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours())},fmt:function(a){return""+b.pad2(a.getHours())+":"+b.pad2(a.getMinutes())},incr:function(b){return b.setUTCMinutes(b.getUTCMinutes()+a)}}},d=function(a){return{span:1e3*a,start:function(a){return new Date(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes())},fmt:function(a){return""+b.pad2(a.getHours())+":"+b.pad2(a.getMinutes())+":"+b.pad2(a.getSeconds())},incr:function(b){return b.setUTCSeconds(b.getUTCSeconds()+a)}}},b.LABEL_SPECS={decade:{span:1728e8,start:function(a){return new Date(a.getFullYear()-a.getFullYear()%10,0,1)},fmt:function(a){return""+a.getFullYear()},incr:function(a){return a.setFullYear(a.getFullYear()+10)}},year:{span:1728e7,start:function(a){return new Date(a.getFullYear(),0,1)},fmt:function(a){return""+a.getFullYear()},incr:function(a){return a.setFullYear(a.getFullYear()+1)}},month:{span:24192e5,start:function(a){return new Date(a.getFullYear(),a.getMonth(),1)},fmt:function(a){return""+a.getFullYear()+"-"+b.pad2(a.getMonth()+1)},incr:function(a){return a.setMonth(a.getMonth()+1)}},week:{span:6048e5,start:function(a){return new Date(a.getFullYear(),a.getMonth(),a.getDate())},fmt:function(a){return""+a.getFullYear()+"-"+b.pad2(a.getMonth()+1)+"-"+b.pad2(a.getDate())},incr:function(a){return a.setDate(a.getDate()+7)}},day:{span:864e5,start:function(a){return new Date(a.getFullYear(),a.getMonth(),a.getDate())},fmt:function(a){return""+a.getFullYear()+"-"+b.pad2(a.getMonth()+1)+"-"+b.pad2(a.getDate())},incr:function(a){return a.setDate(a.getDate()+1)}},hour:c(60),"30min":c(30),"15min":c(15),"10min":c(10),"5min":c(5),minute:c(1),"30sec":d(30),"15sec":d(15),"10sec":d(10),"5sec":d(5),second:d(1)},b.AUTO_LABEL_ORDER=["decade","year","month","week","day","hour","30min","15min","10min","5min","minute","30sec","15sec","10sec","5sec","second"],b.Area=function(c){function d(c){var f;return this instanceof b.Area?(f=a.extend({},e,c),this.cumulative=!f.behaveLikeLine,"auto"===f.fillOpacity&&(f.fillOpacity=f.behaveLikeLine?.8:1),d.__super__.constructor.call(this,f),void 0):new b.Area(c)}var e;return h(d,c),e={fillOpacity:"auto",behaveLikeLine:!1},d.prototype.calcPoints=function(){var a,b,c,d,e,f,g;for(f=this.data,g=[],d=0,e=f.length;e>d;d++)a=f[d],a._x=this.transX(a.x),b=0,a._y=function(){var d,e,f,g;for(f=a.y,g=[],d=0,e=f.length;e>d;d++)c=f[d],this.options.behaveLikeLine?g.push(this.transY(c)):(b+=c||0,g.push(this.transY(b)));return g}.call(this),g.push(a._ymax=Math.max.apply(Math,a._y));return g},d.prototype.drawSeries=function(){var a,b,c,d,e,f,g,h;for(this.seriesPoints=[],b=this.options.behaveLikeLine?function(){f=[];for(var a=0,b=this.options.ykeys.length-1;b>=0?b>=a:a>=b;b>=0?a++:a--)f.push(a);return f}.apply(this):function(){g=[];for(var a=e=this.options.ykeys.length-1;0>=e?0>=a:a>=0;0>=e?a++:a--)g.push(a);return g}.apply(this),h=[],c=0,d=b.length;d>c;c++)a=b[c],this._drawFillFor(a),this._drawLineFor(a),h.push(this._drawPointFor(a));return h},d.prototype._drawFillFor=function(a){var b;return b=this.paths[a],null!==b?(b+="L"+this.transX(this.xmax)+","+this.bottom+"L"+this.transX(this.xmin)+","+this.bottom+"Z",this.drawFilledPath(b,this.fillForSeries(a))):void 0},d.prototype.fillForSeries=function(a){var b;return b=Raphael.rgb2hsl(this.colorFor(this.data[a],a,"line")),Raphael.hsl(b.h,this.options.behaveLikeLine?.9*b.s:.75*b.s,Math.min(.98,this.options.behaveLikeLine?1.2*b.l:1.25*b.l))},d.prototype.drawFilledPath=function(a,b){return this.raphael.path(a).attr("fill",b).attr("fill-opacity",this.options.fillOpacity).attr("stroke","none")},d}(b.Line),b.Bar=function(c){function d(c){return this.onHoverOut=f(this.onHoverOut,this),this.onHoverMove=f(this.onHoverMove,this),this.onGridClick=f(this.onGridClick,this),this instanceof b.Bar?(d.__super__.constructor.call(this,a.extend({},c,{parseTime:!1})),void 0):new b.Bar(c)}return h(d,c),d.prototype.init=function(){return this.cumulative=this.options.stacked,"always"!==this.options.hideHover?(this.hover=new b.Hover({parent:this.el}),this.on("hovermove",this.onHoverMove),this.on("hoverout",this.onHoverOut),this.on("gridclick",this.onGridClick)):void 0},d.prototype.defaults={barSizeRatio:.75,barGap:3,barColors:["#0b62a4","#7a92a3","#4da74d","#afd8f8","#edc240","#cb4b4b","#9440ed"],barOpacity:1,barRadius:[0,0,0,0],xLabelMargin:50},d.prototype.calc=function(){var a;return this.calcBars(),this.options.hideHover===!1?(a=this.hover).update.apply(a,this.hoverContentForRow(this.data.length-1)):void 0},d.prototype.calcBars=function(){var a,b,c,d,e,f,g;for(f=this.data,g=[],a=d=0,e=f.length;e>d;a=++d)b=f[a],b._x=this.left+this.width*(a+.5)/this.data
.length
,g
.push(b
._y=function(){var a
,d
,e
,f
;for(e
=b
.y
,f
=[],a
=0,d
=e
.length
;d
>a
;a
++)c
=e
[a
],null!=c
?f
.push(this.transY(c
)):f
.push(null);return f
}.call(this));return g
},d
.prototype.draw=function(){var a
;return((a
=this.options
.axes
)===!0||"both"===a
||"x"===a
)&&this.drawXAxis(),this.drawSeries()},d
.prototype.drawXAxis=function(){var a
,b
,c
,d
,e
,f
,g
,h
,i
,j
,k
,l
,m
;for(j
=this.bottom
+(this.options
.xAxisLabelTopPadding
||this.options
.padding
/2),g=null,f=null,m=[],a=k=0,l=this.data.length;l>=0?l>k:k>l;a=l>=0?++k:--k)h=this.data[this.data.length-1-a],b=this.drawXAxisLabel(h._x,j,h.label),i=b.getBBox(),b.transform("r"+-this.options.xLabelAngle),c=b.getBBox(),b.transform("t0,"+c.height/2+"..."),0!==this.options
.xLabelAngle
&&(e
=-.5*i
.width
*Math
.cos(this.options
.xLabelAngle
*Math
.PI
/180),b.transform("t"+e+",0...")),(null==g||g>=c.x+c.width||null!=f&&f>=c.x)&&c.x>=0&&c.x+c.width<this.el.width()?(0!==this.options.xLabelAngle&&(d=1.25*this.options.gridTextSize/Math
.sin(this.options
.xLabelAngle
*Math
.PI
/180),f=c.x-d),m.push(g=c.x-this.options.xLabelMargin)):m.push(b.remove());return m},d.prototype.drawSeries=function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;return c=this.width/this.options
.data
.length
,h
=this.options
.stacked
?1:this.options
.ykeys
.length
,a
=(c
*this.options
.barSizeRatio
-this.options
.barGap
*(h
-1))/h,this.options.barSize&&(a=Math.min(a,this.options.barSize)),l=c-a*h-this.options.barGap*(h-1),g=l/2,o
=this.ymin
<=0&&this.ymax
>=0?this.transY(0):null,this.bars=function(){var h
,l
,p
,q
;for(p
=this.data
,q
=[],d
=h
=0,l
=p
.length
;l
>h
;d
=++h
)i
=p
[d
],e
=0,q
.push(function(){var h
,l
,p
,q
;for(p
=i
._y
,q
=[],j
=h
=0,l
=p
.length
;l
>h
;j
=++h
)n
=p
[j
],null!==n
?(o
?(m
=Math
.min(n
,o
),b
=Math
.max(n
,o
)):(m
=n
,b
=this.bottom
),f
=this.left
+d
*c
+g
,this.options
.stacked
||(f
+=j
*(a
+this.options
.barGap
)),k
=b
-m
,this.options
.verticalGridCondition
&&this.options
.verticalGridCondition(i
.x
)&&this.drawBar(this.left
+d
*c
,this.top
,c
,Math
.abs(this.top
-this.bottom
),this.options
.verticalGridColor
,this.options
.verticalGridOpacity
,this.options
.barRadius
),this.options
.stacked
&&(m
-=e
),this.drawBar(f
,m
,a
,k
,this.colorFor(i
,j
,"bar"),this.options
.barOpacity
,this.options
.barRadius
),q
.push(e
+=k
)):q
.push(null);return q
}.call(this));return q
}.call(this)},d
.prototype.colorFor=function(a
,b
,c
){var d
,e
;return"function"==typeof this.options
.barColors
?(d
={x
:a
.x
,y
:a
.y
[b
],label
:a
.label
},e
={index
:b
,key
:this.options
.ykeys
[b
],label
:this.options
.labels
[b
]},this.options
.barColors
.call(this,d
,e
,c
)):this.options
.barColors
[b
%this.options
.barColors
.length
]},d
.prototype.hitTest=function(a
){return 0===this.data
.length
?null:(a
=Math
.max(Math
.min(a
,this.right
),this.left
),Math
.min(this.data
.length
-1,Math
.floor((a
-this.left
)/(this.width/this.data
.length
))))},d
.prototype.onGridClick=function(a
,b
){var c
;return c
=this.hitTest(a
),this.fire("click",c
,this.data
[c
].src
,a
,b
)},d
.prototype.onHoverMove=function(a
){var b
,c
;return b
=this.hitTest(a
),(c
=this.hover
).update
.apply(c
,this.hoverContentForRow(b
))},d
.prototype.onHoverOut=function(){return this.options
.hideHover
!==!1?this.hover
.hide():void 0},d
.prototype.hoverContentForRow=function(a
){var b
,c
,d
,e
,f
,g
,h
,i
;for(d
=this.data
[a
],b
="<div class='morris-hover-row-label'>"+d
.label
+"</div>",i
=d
.y
,c
=g
=0,h
=i
.length
;h
>g
;c
=++g
)f
=i
[c
],b
+="<div class='morris-hover-point' style='color: "+this.colorFor(d
,c
,"label")+"'>\n "+this.options
.labels
[c
]+":\n "+this.yLabelFormat(f
)+"\n</div>";return"function"==typeof this.options
.hoverCallback
&&(b
=this.options
.hoverCallback(a
,this.options
,b
,d
.src
)),e
=this.left
+(a
+.5)*this.width
/this.data.length,[b,e]},d.prototype.drawXAxisLabel=function(a,b,c){var d;return d=this.raphael.text(a,b,c).attr("font-size",this.options.gridTextSize).attr("font-family",this.options.gridTextFamily).attr("font-weight",this.options.gridTextWeight).attr("fill",this.options.gridTextColor)},d.prototype.drawBar=function(a,b,c,d,e,f,g){var h,i;return h=Math.max.apply(Math,g),i=0===h||h>d?this.raphael.rect(a,b,c,d):this.raphael.path(this.roundedRect(a,b,c,d,g)),i.attr("fill",e).attr("fill-opacity",f).attr("stroke","none")},d.prototype.roundedRect=function(a,b,c,d,e){return null==e&&(e=[0,0,0,0]),["M",a,e[0]+b,"Q",a,b,a+e[0],b,"L",a+c-e[1],b,"Q",a+c,b,a+c,b+e[1],"L",a+c,b+d-e[2],"Q",a+c,b+d,a+c-e[2],b+d,"L",a+e[3],b+d,"Q",a,b+d,a,b+d-e[3],"Z"]},d}(b.Grid),b.Donut=function(c){function d(c){this.resizeHandler=f(this.resizeHandler,this),this.select=f(this.select,this),this.click=f(this.click,this);var d=this;if(!(this instanceof b.Donut))return new b.Donut(c);if(this.options=a.extend({},this.defaults,c),this.el="string"==typeof c.element?a(document.getElementById(c.element)):a(c.element),null===this.el||0===this.el.length)throw new Error("Graph placeholder not found.");void 0!==c.data&&0!==c.data.length&&(this.raphael=new Raphael(this.el[0]),this.options.resize&&a(window).bind("resize",function(){return null!=d.timeoutId&&window.clearTimeout(d.timeoutId),d.timeoutId=window.setTimeout(d.resizeHandler,100)}),this.setData(c.data))}return h(d,c),d.prototype.defaults={colors:["#0B62A4","#3980B5","#679DC6","#95BBD7","#B0CCE1","#095791","#095085","#083E67","#052C48","#042135"],backgroundColor:"#FFFFFF",labelColor:"#000000",formatter:b.commas,resize:!1},d.prototype.redraw=function(){var a,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;for(this.raphael.clear(),c=this.el.width()/2,d
=this.el
.height()/2,n=(Math.min(c,d)-10)/3,l
=0,u
=this.values
,o
=0,r
=u
.length
;r
>o
;o
++)m
=u
[o
],l
+=m
;for(i
=5/(2*n),a=1.9999*Math.PI-i*this.data.length,g=0,f=0,this.segments=[],v=this.values,e=p=0,s=v.length;s>p;e=++p)m=v[e],j=g+i+a*(m/l),k
=new b
.DonutSegment(c
,d
,2*n
,n
,g
,j
,this.data
[e
].color
||this.options
.colors
[f
%this.options
.colors
.length
],this.options
.backgroundColor
,f
,this.raphael
),k
.render(),this.segments
.push(k
),k
.on("hover",this.select
),k
.on("click",this.click
),g
=j
,f
+=1;for(this.text1
=this.drawEmptyDonutLabel(c
,d
-10,this.options
.labelColor
,15,800),this.text2
=this.drawEmptyDonutLabel(c
,d
+10,this.options
.labelColor
,14),h
=Math
.max
.apply(Math
,this.values
),f
=0,w
=this.values
,x
=[],q
=0,t
=w
.length
;t
>q
;q
++){if(m
=w
[q
],m
===h
){this.select(f
);
7 break}x
.push(f
+=1)}return x
},d
.prototype.setData=function(a
){var b
;return this.data
=a
,this.values=function(){var a
,c
,d
,e
;for(d
=this.data
,e
=[],a
=0,c
=d
.length
;c
>a
;a
++)b
=d
[a
],e
.push(parseFloat(b
.value
));return e
}.call(this),this.redraw()},d
.prototype.click=function(a
){return this.fire("click",a
,this.data
[a
])},d
.prototype.select=function(a
){var b
,c
,d
,e
,f
,g
;for(g
=this.segments
,e
=0,f
=g
.length
;f
>e
;e
++)c
=g
[e
],c
.deselect();return d
=this.segments
[a
],d
.select(),b
=this.data
[a
],this.setLabels(b
.label
,this.options
.formatter(b
.value
,b
))},d
.prototype.setLabels=function(a
,b
){var c
,d
,e
,f
,g
,h
,i
,j
;return c
=2*(Math
.min(this.el
.width()/2,this.el.height()/2)-10)/3,f=1.8*c,e=c/2,d
=c
/3,this.text1.attr({text:a,transform:""}),g=this.text1.getBBox(),h=Math.min(f/g.width
,e
/g.height),this.text1.attr({transform:"S"+h+","+h+","+(g.x+g.width/2)+","+(g
.y
+g
.height
)}),this.text2
.attr({text
:b
,transform
:""}),i
=this.text2
.getBBox(),j
=Math
.min(f
/i.width,d/i.height
),this.text2
.attr({transform
:"S"+j
+","+j
+","+(i
.x
+i
.width
/2)+","+i
.y
})},d
.prototype.drawEmptyDonutLabel=function(a
,b
,c
,d
,e
){var f
;return f
=this.raphael
.text(a
,b
,"").attr("font-size",d
).attr("fill",c
),null!=e
&&f
.attr("font-weight",e
),f
},d
.prototype.resizeHandler=function(){return this.timeoutId
=null,this.raphael
.setSize(this.el
.width(),this.el
.height()),this.redraw()},d
}(b
.EventEmitter
),b
.DonutSegment=function(a
){function b(a
,b
,c
,d
,e
,g
,h
,i
,j
,k
){this.cx
=a
,this.cy
=b
,this.inner
=c
,this.outer
=d
,this.color
=h
,this.backgroundColor
=i
,this.index
=j
,this.raphael
=k
,this.deselect
=f(this.deselect
,this),this.select
=f(this.select
,this),this.sin_p0
=Math
.sin(e
),this.cos_p0
=Math
.cos(e
),this.sin_p1
=Math
.sin(g
),this.cos_p1
=Math
.cos(g
),this.is_long
=g
-e
>Math
.PI
?1:0,this.path
=this.calcSegment(this.inner
+3,this.inner
+this.outer
-5),this.selectedPath
=this.calcSegment(this.inner
+3,this.inner
+this.outer
),this.hilight
=this.calcArc(this.inner
)}return h(b
,a
),b
.prototype.calcArcPoints=function(a
){return[this.cx
+a
*this.sin_p0
,this.cy
+a
*this.cos_p0
,this.cx
+a
*this.sin_p1
,this.cy
+a
*this.cos_p1
]},b
.prototype.calcSegment=function(a
,b
){var c
,d
,e
,f
,g
,h
,i
,j
,k
,l
;return k
=this.calcArcPoints(a
),c
=k
[0],e
=k
[1],d
=k
[2],f
=k
[3],l
=this.calcArcPoints(b
),g
=l
[0],i
=l
[1],h
=l
[2],j
=l
[3],"M"+c
+","+e
+("A"+a
+","+a
+",0,"+this.is_long
+",0,"+d
+","+f
)+("L"+h
+","+j
)+("A"+b
+","+b
+",0,"+this.is_long
+",1,"+g
+","+i
)+"Z"},b
.prototype.calcArc=function(a
){var b
,c
,d
,e
,f
;return f
=this.calcArcPoints(a
),b
=f
[0],d
=f
[1],c
=f
[2],e
=f
[3],"M"+b
+","+d
+("A"+a
+","+a
+",0,"+this.is_long
+",0,"+c
+","+e
)},b
.prototype.render=function(){var a
=this;return this.arc
=this.drawDonutArc(this.hilight
,this.color
),this.seg
=this.drawDonutSegment(this.path
,this.color
,this.backgroundColor
,function(){return a
.fire("hover",a
.index
)},function(){return a
.fire("click",a
.index
)})},b
.prototype.drawDonutArc=function(a
,b
){return this.raphael
.path(a
).attr({stroke
:b
,"stroke-width":2,opacity
:0})},b
.prototype.drawDonutSegment=function(a
,b
,c
,d
,e
){return this.raphael
.path(a
).attr({fill
:b
,stroke
:c
,"stroke-width":3}).hover(d
).click(e
)},b
.prototype.select=function(){return this.selected
?void 0:(this.seg
.animate({path
:this.selectedPath
},150,"<>"),this.arc
.animate({opacity
:1},150,"<>"),this.selected
=!0)},b
.prototype.deselect=function(){return this.selected
?(this.seg
.animate({path
:this.path
},150,"<>"),this.arc
.animate({opacity
:0},150,"<>"),this.selected
=!1):void 0},b
}(b
.EventEmitter
)}).call(this);