From 746da40d6964e893e87a388f11e75013ce8b3c6f Mon Sep 17 00:00:00 2001 From: David Berneda Date: Wed, 23 May 2012 10:23:17 +0200 Subject: [PATCH] Added teechart.js 1.0 --- ajax/libs/teechart/1.0.0/teechart.js | 138 +++++++++++++++++++++++++++ ajax/libs/teechart/package.json | 15 +++ 2 files changed, 153 insertions(+) create mode 100644 ajax/libs/teechart/1.0.0/teechart.js create mode 100644 ajax/libs/teechart/package.json diff --git a/ajax/libs/teechart/1.0.0/teechart.js b/ajax/libs/teechart/1.0.0/teechart.js new file mode 100644 index 000000000..47897267c --- /dev/null +++ b/ajax/libs/teechart/1.0.0/teechart.js @@ -0,0 +1,138 @@ +/* + TeeChart(tm) for JavaScript(tm) + @fileOverview TeeChart for JavaScript(tm) + v1.0 BETA - February 2012 + Copyright(c) 2012 by Steema Software SL. All Rights Reserved. + http://www.steema.com + + JavaScript is a trademark of Oracle Corporation. +*/ +var Tee=Tee||{}; +(function(){function o(d,b){this.x=d;this.y=b}function n(d,b,a,c){this.set(d,b,a,c)}function A(){this.left=this.right=this.top=this.bottom=2;this.apply=function(d){var b=d.width,a=d.height;d.x+=0.01*b*this.left;d.width-=0.01*b*Math.min(100,this.left+this.right);d.y+=0.01*a*this.top;d.height-=0.01*a*Math.min(100,this.top+this.bottom)}}function D(d,b,a){function c(a){a||(a=(new Date).getTime());a=(a-g.init)/g.duration;1>a?g.format.shadow.color="rgba(0,255,0,"+a.toString()+")":g.autoHide&&g.restore(); +g.format.chart.draw();1>a&&requestAnimFrame(c,g)}this.format=a;this.bounds=b;this.duration=d;var g=this,d=a.shadow;this.init=(new Date).getTime();this.old=new v;this.old.set(d);d.visible=!0;d.color="rgba(0,255,0,0.1)";d.blur=10;d.width=0;d.height=0;requestAnimFrame(c,this);this.restore=function(){this.format.shadow.set(this.old)}}function w(d){this.chart=d;this.visible=!1;this.colors=["white","silver"];this.direction="topbottom";this.stops=null;this.create=function(b,a){return this.rect(b.x,b.y,b.width, +b.height,a)};this.rect=function(b,a,c,g,f){var e=this.chart.ctx,h=e.createLinearGradient;"topbottom"==this.direction?c=h.call(e,b,a,b,a+g):"bottomtop"==this.direction?c=h.call(e,b,a+g,b,a):"leftright"==this.direction?c=h.call(e,b,a,b+c,a):"rightleft"==this.direction?c=h.call(e,b+c,a,b,a):"radial"==this.direction?(b+=0.5*c,a+=0.5*g,c=Math.max(c,g),c=e.createRadialGradient(b,a,0,b,a,c)):c="diagonalup"==this.direction?h.call(e,b,a+g,b+c,a):h.call(e,b,a,b+c,a+g);f&&this.setEndColor(f);e=this.colors;g= +e.length;b=(a=this.stops)?a.length:0;if(1a.old.x?(c.x=a.chart.oldPos.x+a.old.x,c.width=-a.old.x):(c.x=a.chart.oldPos.x,c.width=a.old.x);0>a.old.y?(c.y=a.chart.oldPos.y+a.old.y, +c.height=-a.old.y):(c.y=a.chart.oldPos.y,c.height=a.old.y);return c}this.chart=d;this.active=!1;this.enabled=!0;this.done=!1;this.mouseButton=0;var a=this.format=new Tee.Format(d);a.fill="rgba(255,255,255,0.5)";a.stroke.fill="darkgray";a.stroke.size=2;var c=new n;this.draw=function(){a.rectangle(b(this))};this.apply=function(){if(0>this.old.x||0>this.old.y)this.reset();else{b(this);var a=this.chart.axes;a.left.calcMinMax(c.y+c.height,c.y);a.bottom.calcMinMax(c.x,c.x+c.width);a.right.calcMinMax(c.y+ +c.height,c.y);a.top.calcMinMax(c.x,c.x+c.width)}};this.reset=function(){var a=this.chart.axes;a.left.automatic=!0;a.bottom.automatic=!0;a.right.automatic=!0;a.top.automatic=!0}}function I(d){this.chart=d;this.active=!1;this.enabled=!0;this.done=!1;this.mouseButton=2;this.direction="both";this.position=new o(0,0)}function z(d,b){Tee.Annotation.call(this,d);this.transparent=!0;var a=this.format.font;a.shadow.visible=!0;a.shadow.width=2;a.shadow.height=2;a.shadow.blur=8;a.style="18px Arial";a.fill=b; +this.padding=4;this.calcRect=function(a){this.resize();var b=this.bounds.height+this.padding,f=d.chartRect;a?(this.position.y=f.y,f.setTop(this.position.y+b)):(this.position.y=f.height,f.height-=b+this.padding);this.position.x=0.5*(d.canvas.width-this.bounds.width)};this.tryDraw=function(a){this.visible&&""!=this.text&&(this.calcRect(a),this.draw())}}function J(d){var b=this.format=new Tee.Format(d);b.round.x=12;b.round.y=12;b.stroke.size=3;b.gradient.visible=!0;b.gradient.direction="bottomtop";b.shadow.visible= +!0;b.stroke.fill="#606060";this.transparent=!1;this.margins=new A;this.clear=function(){var a=d.bounds;d.ctx.clearRect(a.x,a.y,a.width,a.height)};this.draw=function(){if(this.transparent)this.clear();else{var a=d.chartRect,c=b.shadow;c.visible&&(a.width-=0.5*Math.abs(c.width)+2,a.height-=0.5*Math.abs(c.height)+2,0>c.width&&(a.x-=c.width),0>c.height&&(a.y-=c.height));var g=0;""!=b.stroke.fill&&(g=b.stroke.size,1a?0.1*f(10*a):2>a?2:5>a?5:10:1}this.chart=d;this.visible=!0;this.inverted=!1;this.horizontal=b;this.otherSide=a;this.bounds=new n;this.position=0;this.format=new Tee.Format(d);this.format.stroke.size=2;this.labels=new function(a,c){this.chart=a;this.format=new Tee.Format(a);this.decimals=2;this.padding=4;this.separation=10;this.visible=!0;this.rotation=0;this.alternate=!1;this.labelStyle="auto";this.dateFormat="shortDate";this.getLabel=function(a,e){if(c.dateTime)return(new Date(e)).format(this.dateFormat); +var b=e|0;return b==e?a&&a.data.labels[b]?a.data.labels[b]:e.toFixed(0):e.toFixed(this.decimals)};this.width=function(a){return this.format.textWidth(this.getLabel(null,a))}}(d,this);var e=this.labels.format.font;this.scroll=function(a){this.automatic=!1;this.inverted&&(a=-a);this.minimum+=a;this.maximum+=a};b?(e.textAlign="center",e.baseLine=a?"bottom":"top"):(e.textAlign=a?"left":"right",e.baseLine="middle");this.grid=new function(a){this.chart=a;a=this.format=new Tee.Format(a);a.stroke.fill="silver"; +a.stroke.cap="butt";a.fill="";this.visible=!0;this.lineDash=!1}(d);this.ticks=new c(d);this.innerTicks=new c(d);this.innerTicks.visible=!1;e=this.minorTicks=new c(d);e.visible=!1;e.length=2;e.count=3;g.prototype=new Tee.Annotation;this.title=new g(d);this.title.format.font.textAlign="center";this.automatic=!0;this.increment=this.maximum=this.minimum=0;this.log=!1;this.maxlabelwidth=this.increm=this.scale=this.axisSize=this.endPos=this.startPos=0;this.minmaxLabelWidth=function(){var a=this.labels, +c=this.roundMin(),e=this.maximum,b=a.width(c),b=Math.max(b,a.width(0.5*(c+e)));return Math.max(b,a.width(e))};this.checkMinMax=function(){var a=this.chart.series;this.automatic&&(this.horizontal?(this.minimum=a.minXValue(),this.maximum=a.maxXValue()):(this.minimum=a.minYValue(),this.maximum=a.maxYValue()))};this.calcScale=function(){var a=this.labels,c;a.format.font.prepare();c=this.horizontal?this.minmaxLabelWidth():a.format.textHeight("Wj");a.alternate&&(c*=0.5);c+=0.02*c*a.separation;if(0==this.increment)if(this.maximum== +this.minimum)a=1;else{var a=this.axisSize/c,e,b=a,h=!1,g=this.chart.series.count(),d,p;for(d=0;d=this.increm&&(this.increm=0.1);a=this.maximum-this.minimum;0==a?a=1:this.log&&(a=Math.log(a));this.scale=this.axisSize/a;this.calc(this.minimum+ +this.increm)-this.startPose;)e+=r[s++%n],e>o&&(e=o),u?t.lineTo(e,0):t.moveTo(e,0),u=!u;t.restore()}else c.moveTo(g,d),c.lineTo(q,p);h+=this.increm}f.stroke.prepare();f.shadow.prepare(c); +c.stroke()};this.roundMin=function(){if(this.dateTime)return this.minimum;var a=this.minimum/this.increm|0;return this.increm*(0>=this.minimum?a:1+a)};this.drawTicks=function(c,e,h){var f=this.roundMin(),g=1+c.length,d=1;if(b&&a||!b&&!a)g=-g,d=-1;var g=g*e+this.axisPos,d=d*e+this.axisPos,q,p=1,r=0;0==h?q=this.increm:(p+=h,q=this.increm/p);var t=this.chart.ctx;for(t.beginPath();f<=this.maximum;){if(0==h||0!=r++%p)e=this.calc(f),b?(t.moveTo(e,d),t.lineTo(e,g)):(t.moveTo(d,e),t.lineTo(g,e));f+=q}c.stroke.prepare(); +t.stroke()};this.drawTitle=function(){if(""!=this.title.text){var a,c;if(b)c=this.axisPos+this.title.padding,this.ticks.visible&&(c+=this.ticks.length),this.labels.visible&&(this.labels.format.font.prepare(),a=this.labels.format.textHeight("Wj"),this.labels.alternate&&(a*=2),c+=a),a=this.startPos+0.5*this.axisSize-0.5*this.title.bounds.width,this.title.position.x=a,this.title.position.y=c,this.title.forceDraw();else{a=this.axisPos-this.title.bounds.height-this.title.padding;this.ticks.visible&&(a-= +this.ticks.length);this.labels.visible&&(c=this.maxlabelwidth,this.labels.alternate&&(c*=2),a-=c);c=this.startPos+0.5*this.axisSize+this.title.bounds.height;var e=this.chart.ctx;e.save();e.translate(a,c);e.rotate(-Math.PI/2);e.textAlign="center";this.title.position.x=0;this.title.position.y=0;this.title.forceDraw();e.restore()}}};var h;this.drawLabel=function(a,c){var e,b=this.labels;e=h&&h.notmandatory==this?b.getLabel(h,a):b.getLabel(null,a);c.width=b.format.textWidth(e);c.width>this.maxlabelwidth&& +(this.maxlabelwidth=c.width);this.horizontal?c.x-=0.5*c.width:c.y+=0.5*c.height;if(0!=b.rotation){var f=this.chart.ctx;f.save();f.translate(c.x,c.y);f.rotate(-Math.PI*b.rotation/180);f.textAlign="right";c.x=-8;c.y=3}b.format.drawText(c,e);0!=b.rotation&&this.chart.ctx.restore()};this.drawLabels=function(){this.maxlabelwidth=0;this.labels.format.font.prepare();var a=this.roundMin(),c=new n,e=this.axisPos,b=this.ticks.visible?this.ticks.length:0,b=b+this.labels.padding;this.horizontal?this.otherSide? +e-=b:e+=b:this.otherSide?e+=b:e-=b;b=e;c.height=this.labels.format.textHeight("Wj");h=this.chart.series.firstVisible();for(var f=this.labels.alternate,g=this.minmaxLabelWidth(),d;a<=this.maximum;)d=this.calc(a),this.horizontal?(c.x=d,c.y=e,f&&(e=e==b?this.otherSide?b-c.height:b+c.height:b)):(c.x=e,c.y=d-0.5*c.height,f&&(e=e==b?this.otherSide?b+g:b-g:b)),this.drawLabel(a,c),a+=this.increm};this.calc=function(a){this.log?(a-=this.minimum,a=0>=a?0:Math.log(a)*this.scale):a=(a-this.minimum)*this.scale; +return this.horizontal?this.inverted?this.endPos-a:this.startPos+a:this.inverted?this.startPos+a:this.endPos-a};this.fromPos=function(a){var c=this.horizontal;this.inverted&&(c=!c);return this.minimum+(c?a-this.startPos:this.endPos-a)/this.scale};this.fromSize=function(a){return a/this.scale};this.calcSize=function(a){return Math.abs(this.calc(a)-this.calc(0))};this.calcMinMax=function(a,c){this.automatic=!1;var e=this.fromPos(a),b=this.fromPos(c),h;e>b&&(h=e,e=b,b=h);this.minimum=e;this.maximum= +b};this.setMinMax=function(a,c){this.automatic=!1;this.minimum=a;this.maximum=c}}function K(d){this.chart=d;this.transparent=!1;var b=this.format=new Tee.Format(d);b.fill="white";b.round.x=8;b.round.y=8;b.font.textAlign="right";b.font.baseLine="top";b.shadow.visible=!0;this.title=new Tee.Annotation(d);this.title.transparent=!0;this.bounds=new n;this.position="right";this.visible=!0;this.inverted=!1;this.padding=5;this.align=0;this.fontColor=!1;var a=this.dividing=new x(d);a.fill="";a.cap="butt";this.symbol= +new function(a){this.chart=a;var c=this.format=new Tee.Format(a);c.shadow.visible=!0;c.shadow.color="silver";this.padding=this.height=this.width=8;this.visible=!0;this.draw=function(b,f,g,d){var m=a.ctx;if(b.isColorEach&&-1!=f){b.format.stroke.prepare();var o=m.fillStyle;c.fill=b.getFill(f);c.rectangle(g,d-0.5*this.height,this.width,this.height);b.hover.enabled&&b.over==f&&b.hover.rectangle(g,d-0.5*this.height,this.width,this.height);m.fillStyle=o}else if(m.beginPath(),m.moveTo(g,d),m.lineTo(g+this.width, +d),c.stroke.prepare(b.format.fill),m.stroke(),b.hover.enabled&&((g=this.chart.legend.showValues())&&b.over==f||!g&&-1!=b.over))b.hover.stroke.prepare(),m.stroke()}}(d);this.itemHeight=10;this.innerOff=0;this.textStyle=this.legendStyle="auto";this.totalWidth=function(){var a=this.itemWidth+8,c=this.symbol;c.visible&&(a+=c.width+c.padding);return a};this.availRows=function(){var a=this.bounds.y;a||(a=0);return 1+((d.chartRect.height-a)/this.itemHeight|0)};this.itemsCount=function(){var a=d.series,c= +a.visibleCount(),b=d.chartRect;"values"==this.legendStyle&&0b.height&&(c=this.availRows());else{this.rows=1;var a=this.totalWidth(),f=this.calcPadding(b),f=b.width-2*f;c*a>f?(this.perRow=f/a|0,c>this.perRow&&(this.rows=1+(c/this.perRow|0),this.rows*this.itemHeight>b.height&&(this.rows=this.availRows(),c=this.rows*this.perRow))):this.perRow= +c}return c};this.showValues=function(){var a=this.legendStyle;return"values"==a||"auto"==a&&1==d.series.visibleCount()};this.itemText=function(a,c){var b=a.dataText(c,this.textStyle);return this.onGetText?this.onGetText(this,a,c,b):b};var c=0;this.calcItemPos=function(a,b){var f=this.itemHeight,g=this.bounds;b.x=g.x;b.y=g.y+this.innerOff;this.isVertical()?(b.x+=g.width-6-this.innerOff,b.y+=0.4*f+a*f+c):(b.x+=this.innerOff+(1+a%this.perRow)*this.totalWidth(),b.y+=f*((a/this.perRow|0)+0.25))};this.drawSymbol= +function(a,c,b){var f=this.symbol;f.draw(a,c,b.x-this.itemWidth-f.width-f.padding,b.y+0.4*this.itemHeight)};var g={x:0,y:0},f=new n;this.drawItem=function(a,c,j){this.calcItemPos(j,g);f.x=g.x;f.y=g.y;var i=b.font.fill;this.fontColor&&(b.font.fill=this.showValues()?c.getFill(j):c.format.fill);b.drawText(f,a);b.font.fill=i;this.symbol.visible&&this.drawSymbol(c,j,g);0a&&(a=g)}else{l=k.count();for(f=0;fa&&(a=g))}return a};this.calcPadding=function(a){return 0.01*this.padding*(this.isVertical()?a.width:a.height)};this.isVertical=function(){return"right"==this.position||"left"==this.position};this.calcrect=function(){var a=0,f=this.title,g=d.chartRect;b.font.prepare();this.itemHeight=b.textHeight("Wj");this.itemWidth=this.largest();f.visible&&""!=f.text?(f.resize(),c=f.bounds.height,a=f.bounds.width): +c=0;var f=this.calcPadding(g),i,l=this.bounds,k=this.align;this.isVertical()?(i=this.symbol.visible?this.symbol.width+this.symbol.padding:0,l.width=6+Math.max(a,6+this.itemWidth+i),0==k&&(k=20),l.y=0.01*d.bounds.height*k,l.height=(0.5+this.itemsCount())*this.itemHeight+c):(this.itemsCount(),l.width=f+this.perRow*this.totalWidth(),l.x=0.01*k*g.width+0.5*(g.width-l.width),l.height=this.itemHeight*(this.rows+0.25));""!=b.stroke.fill&&(i=b.stroke.size,1b.x&&(b.x=g.x),g.y>b.y&&(b.y=g.y)}return b};this.horizMargins=function(){var b,a=this.items,c=a.length,g,f;if(0b.x&&(b.x=g.x),g.y>b.y&&(b.y=g.y)}return b};this.minXValue=function(){for(var b= +Infinity,a=this.items.length,c;a--;)c=this.items[a],c.visible&&(c=c.minXValue(),cb&&(b=c));return b};this.maxYValue=function(){for(var b=-Infinity,a=this.items.length,c;a--;)c=this.items[a],c.visible&&(c=c.maxYValue(),c>b&& +(b=c));return b};this.draw=function(){var b=this.items.length,a=this.chart.ctx,c=this.chart.aspect;if(0=this.x&&d.x<=this.x+this.width&&d.y>=this.y&&d.y<=this.y+this.height};Tee.Tool=function(d){this.chart=d;this.active=!0};Tee.Tool.prototype.mousedown= +function(){};Tee.Tool.prototype.mousemove=function(){};Tee.Tool.prototype.clicked=function(){return!1};Tee.Tool.prototype.draw=function(){};w.prototype.setEndColor=function(d){for(var b=1,a=this.colors.length;be&&(b=j,j=b-e);0>f&&(c=d,d=c-f);2*i>f&&(i=0.5*f);2*l>e&&(l=0.5*e);!k||k[0]?a.moveTo(c+i,b):a.moveTo(c,b);!k||k[1]?(a.lineTo(d-i,b),a.quadraticCurveTo(d,b,d,b+l)):a.lineTo(d,b);!k||k[2]?(a.lineTo(d,j-l),a.quadraticCurveTo(d,j,d-i, +j)):a.lineTo(d,j);!k||k[3]?(a.lineTo(c+i,j),a.quadraticCurveTo(c,j,c,j-l)):a.lineTo(c,j);!k||k[0]?(a.lineTo(c,b+l),a.quadraticCurveTo(c,b,c+i,b)):a.lineTo(c,b);a.closePath()};this.textHeight=function(){return 1.3*this.font.getSize()};this.textWidth=function(a){return this.chart.ctx.measureText(a).width};this.draw=function(a,c,b,f,e,d){var j=this._img;0this.transparency&&("object"===typeof a?this.rectangle(a.x,a.y,a.width,a.height):(this.rectPath(a,c,b,f),this.draw(this.chart.ctx,null,a,c, +b,f)))};var b=new n;this.polygon=function(a){var c=this.chart.ctx,d=a.length,f;c.beginPath();c.moveTo(a[0].x,a[0].y);for(f=1;fd&&(d=k),k=a[m].y,kg&&(g=k)}b.x=c;b.y=f;b.width=d-c;b.height=g-f;return b})};this.ellipsePath=function(a,c,b,f,e){var f=0.5*f,d=b-e,b=b+e;a.beginPath();a.moveTo(c,d);a.bezierCurveTo(c+f,d,c+f,b,c,b); +a.bezierCurveTo(c-f,b,c-f,d,c,d);a.closePath()};this.ellipse=function(a,c,b,f){var e=this.chart.ctx;this.ellipsePath(e,a,c,2+b,0.38*(2+f));this.draw(e,null,a-0.5*b,c-0.5*f,b,f)}};Tee.Format.prototype.setChart=function(d){this.chart=d;this.shadow.chart=d;this.gradient.chart=d;this.font.setChart(d);this._img&&(this._img.chart=d);this.stroke.setChart(d)};Tee.Annotation=function(d,b,a,c){Tee.Tool.call(this,d);this.position=new o(a||10,c||10);var g=this.margins=new A;this.items=[];var f=this.bounds=new n; +this.visible=!0;this.transparent=!1;this.text=b||"";var e=this.format=new Tee.Format(d);e.font.textAlign="center";e.font.baseLine="top";e.fill="beige";e.round.x=4;e.round.y=4;e.stroke.fill="silver";e.shadow.visible=!0;var h,j,i;this.moveTo=function(a,c){this.position.x=a;this.position.y=c;this.resize()};this.resize=function(){e.font.prepare();this.rows=this.text.split("\n");h=e.textHeight(this.text);var a=this.rows.length;j=h*a+g.top;var c,b=j+g.bottom;if(1a.startPos&&d.xc.startPos&&d.ya?(f(a),requestAnimFrame(b,c)):f(1)}Tee.Annotation.call(this,d);this.visible=!1;this.currentSeries=null;this.currentIndex=-1;this.autoHide=!1;this.delay=1E3;this.animated=100;this.hide=function(){if(this.onhide)this.onhide(this);this.visible=!1;this.chart.draw()};var a=function(a){a&&a[0].hide()};this.mousemove=function(c){for(var b=this.chart.series,e=b.count(),d=0;df?(g.setTransp(1-f),d instanceof Tee.Pie?(d.rotation=360*(1-f),c=f):b(g,e,1+10*(1-f)),g.chart.draw(),requestAnimFrame(a,g)):(g.setTransp(0),e.maximum=g.oldmax,e.minimum=g.oldmin,g.chart.draw(),d instanceof Tee.Pie&&(d.transform=null))}Tee.Tool.call(this,d);this.series=null;d instanceof Tee.Chart?this.chart=d:d instanceof Tee.Series&&(this.series=d,this.chart=d.chart);this.oldmax=this.oldmin=0;var c=1;this.duration=500;this.init=0;var g=null;this.setTransp= +function(a){this.series?this.series.format.transparency=a:this.chart.series.each(function(c){c.format.transparency=a})};this.getAxis=function(){var a=this.series||this.chart.series.firstVisible();return a?a.mandatoryAxis:null};this.animate=function(){var d=this.getAxis(),e=this.chart.series.items;0!=e.length&&(this.init=(new Date).getTime(),this.oldmin=d.minimum,this.oldmax=d.maximum,this.setTransp(100),e[0]instanceof Tee.Pie?e[0].transform=function(){this.chart.ctx.scale(c,c)}:b(this,d,10),this.chart.draw(), +g=this,requestAnimFrame(a,this))}};Tee.SeriesAnimation.prototype=new Tee.Tool;Tee.RainbowPalette=function(){return"#FF0000,#FF7F00,#FFFF00,#00FF00,#0000FF,#6600FF,#8B00FF".split(",")};Tee.Palette=function(d){this.colors=d;this.get=function(b){return this.colors[-1==b?0:b%this.colors.length]}};z.prototype=new Tee.Annotation;s.adjustRect=function(){if(this.visible&&this.hasAnySeries()){this.checkMinMax();var d=0,b=this.chart.chartRect,a=this.labels;a.visible&&(a.format.font.prepare(),d=this.horizontal? +a.format.textHeight("Wj"):this.minmaxLabelWidth(),a.alternate&&(d*=2),d+=a.padding);this.ticks.visible&&(d+=this.ticks.length);a=this.title;a.visible&&a.text&&""!=a.text&&(a.resize(),d+=a.bounds.height);this.horizontal?this.otherSide?b.setTop(b.y+d):b.height-=d:this.otherSide?b.width-=d:b.setLeft(b.x+d)}};s.calcRect=function(){if(this.hasAnySeries()){this.checkMinMax();var d=this.chart.chartRect,b=this.bounds;this.horizontal?(b.y=this.otherSide?d.y:d.y+d.height,b.width=d.width,this.startPos=d.x,this.endPos= +d.x+d.width,this.axisSize=d.width):(b.x=this.otherSide?d.x+d.width:d.x,b.height=d.height,this.startPos=d.y,this.endPos=d.y+d.height,this.axisSize=d.height);this.calcScale();this.automatic&&(b=this.chart.series,b=this.horizontal?b.horizMargins():b.vertMargins(),0a&&(g=g.data.values[a],b+=c&&0>g?-g:g);return b}};Tee.Series.prototype.setChart=function(d,b){d.chart=b;d.recalcAxes();d.format.setChart(b);d.marks.setChart(b);d.hover.setChart(b)};Tee.Series.prototype.calc=function(d,b){b.x=this.notmandatory.calc(this.data.x?this.data.x[d]: +d);b.y=this.mandatoryAxis.calc(this.data.values[d]);if(!this.yMandatory){var a=b.x;b.x=b.y;b.y=a}};Tee.Series.prototype.clicked=function(){return-1};Tee.Series.prototype.mousemove=function(d){if(this.hover.enabled||"default"!=this.cursor){var d=this.clicked(d),b=this.chart;d!=this.over&&(this.over=d,this.hover.enabled&&requestAnimFrame(function(){b.draw()}));if("default"!=this.cursor&&-1!=d)return this.chart.newCursor=this.cursor,!0}return!1};Tee.Series.prototype.drawMarks=function(){var d=this.data.values.length, +b=new o,a;for(a=0;ac.height&&(c.y+=c.height,c.height=-c.height)}};Tee.Bar.prototype=new Tee.CustomBar;Tee.Bar.prototype.parent=Tee.CustomBar.prototype;Tee.HorizBar=function(d,b){Tee.CustomBar.call(this,d,b);this.yMandatory=!1;this.format.gradient.direction="rightleft";this.maxMarkWidth=function(){var a=0,c,b,d;if(this.marks.visible){c=this.marks.format;c.font.prepare();for(b=this.count();b--;)d=c.textWidth(this.markText(b)),d>a&&(a=d)}return a};this.horizMargins=function(a){if(this.marks.visible){var c= +this.marks.arrow.length+this.maxMarkWidth();a.y=c;this.minXValue()c.width&&(c.x+=c.width,c.width=-c.width)}};Tee.HorizBar.prototype=new Tee.CustomBar;Tee.HorizBar.prototype.parent=Tee.CustomBar.prototype;Tee.CustomSeries=function(d,b){Tee.Series.call(this,d,b);this.stacked="no";this.stairs=!1;this.hover.enabled=!0;this.isStack100=this.isStacked=!1;this.smooth=0;this.pointer=new function(a){this.setChart=function(a){this.chart=a;this.format.setChart(a)};this.chart=a;a=this.format= +new Tee.Format(a);a.shadow.visible=!1;a.fill="";a.gradient.colors=["white","white","white"];a.shadow.visible=!0;this.colorEach=this.visible=!1;this.style="rectangle";this.height=this.width=12;this.draw=function(a,b,d,e){var h=this.chart.ctx;this.transform&&(h.save(),this.transform(a.x,a.y,b));var b=0.5*this.width,j=0.5*this.height;"rectangle"==this.style?d.rectangle(a.x-b,a.y-j,this.width,this.height):"ellipse"==this.style?d.ellipse(a.x,a.y,this.width,this.height):"triangle"==this.style?d.polygon([new o(a.x, +a.y-j),new o(a.x-b,a.y+j),new o(a.x+b,a.y+j)]):"downtriangle"==this.style?d.polygon([new o(a.x,a.y+j),new o(a.x-b,a.y-j),new o(a.x+b,a.y-j)]):"diamond"==this.style?d.polygon([new o(a.x,a.y-j),new o(a.x-b,a.y),new o(a.x,a.y+j),new o(a.x+b,a.y)]):(h.beginPath(),"cross"==this.style&&(h.moveTo(a.x-b,a.y),h.lineTo(a.x+b,a.y),h.moveTo(a.x,a.y-j),h.lineTo(a.x,a.y+j)),"x"==this.style&&(h.moveTo(a.x-b,a.y-j),h.lineTo(a.x+b,a.y+j),h.moveTo(a.x-b,a.y+j),h.lineTo(a.x+b,a.y-j)),d.stroke.prepare(e),h.stroke()); +this.transform&&h.restore()}}(this.chart);this.maxYValue=function(){return this.stackMaxValue()};this.calc=function(a,c){this.isStacked?this.calcStack(a,c,this.data.values[a]):Tee.Series.prototype.calc.call(this,a,c)};this.calcColorEach=function(){this.isColorEach="yes"==this.colorEach||this.pointer.colorEach}};Tee.CustomSeries.prototype=new Tee.Series;Tee.CustomSeries.prototype.drawPointers=function(){var d=this.data.values.length,b,a=this.pointer.format,c="yes"==this.colorEach||this.pointer.colorEach; +c?b=a.fill:""==a.fill&&(a.fill=this.format.fill);var g=new o,f=a.gradient,e,h=a.fill;for(e=0;e=q;k--)this.calcStack(k,i,0),this.stairs?(d.lineTo(i.x,l),d.lineTo(i.x,i.y),l=j?i.y:i.x):d.lineTo(i.x,i.y)}else j?(d.lineTo(i.x,h),d.lineTo(e,h)):(d.lineTo(h,i.y),d.lineTo(h,e));d.closePath();b=a.gradient;b.visible&&(b.colors[b.colors.length-1]=a.fill);this.bounds(c);a.draw(d,null,c.x,c.y,c.width,c.height);this.pointer.visible&&this.drawPointers()}};this.minYValue=function(){var a=this.yMandatory?Tee.Series.prototype.minYValue.call(this):Tee.Series.prototype.minXValue.call(this); +return this.yMandatory?this.useOrigin?Math.min(a,this.origin):a:a};this.minXValue=function(){var a=this.yMandatory?Tee.Series.prototype.minXValue.call(this):Tee.Series.prototype.minYValue.call(this);return this.yMandatory?a:this.useOrigin?Math.min(a,this.origin):a};this.maxYValue=function(){return this.yMandatory?this.stackMaxValue():Tee.Series.prototype.maxXValue.call(this)};this.maxXValue=function(){return this.yMandatory?Tee.Series.prototype.maxXValue.call(this):this.stackMaxValue()}};Tee.Area.prototype= +new Tee.CustomSeries;Tee.HorizArea=function(d,b){Tee.Area.call(this,d,b);this.yMandatory=!1};Tee.HorizArea.prototype=new Tee.Area;Tee.Donut=function(d,b){Tee.Pie.call(this,d,b);this.donut=50};Tee.Donut.prototype=new Tee.Pie;Tee.Bubble=function(d,b){Tee.PointXY.call(this,d,b);var a=this.pointer;a.colorEach=!0;a.style="ellipse";a.format.gradient.visible=!0;a.format.gradient.direction="radial"};Tee.Bubble.prototype=new Tee.PointXY;Tee.Bubble.prototype.getSize=function(d){d=this.data.radius?this._vertAxis.calcSize(this.data.radius[d]): +0;this.pointer.width=d;this.pointer.height=d};Tee.Bubble.prototype.horizMargins=function(d){this.calcWidth=function(b){this.getSize(b);var b=1+0.5*this.pointer.width,a=this.pointer.format.stroke;""!=a.fill&&(b+=a.size);return b};this.pointer.visible&&(d.x=this.calcWidth(0),d.y=this.calcWidth(this.count()-1))};Tee.Bubble.prototype.vertMargins=function(d){this.calcHeight=function(b){this.getSize(b);var b=1+0.5*this.pointer.height,a=this.pointer.format.stroke;""!=a.fill&&(b+=a.size);return b};this.pointer.visible&& +(d.x=this.calcHeight(0),d.y=this.calcHeight(this.count()-1))};Tee.Candle=function(d,b){Tee.PointXY.call(this,d,b);this.pointer.width=7;this.pointer.format.stroke.visible=!1;this.higher=this.pointer.format;this.higher.fill="green";this.lower=new Tee.Format(this.chart);this.lower.fill="red";this.lower.stroke.visible=!1;this.style="candle";this.setChart=function(a,c){var b=Tee.PointXY.prototype.setChart;b(a,c);this.lower.setChart(c)};this.draw=function(){var a=this.data,c=a.values.length,b,d=new o,e= +this.pointer,h=0.5*e.width,j,i,l,k=this.mandatoryAxis,m,n,q=this.chart.ctx,p,r;for(b=0;bj?(m=j,n=d.y-j,p=this.lower):(m=d.y,n=j-m,p=this.higher),"bar"==this.style?(q.beginPath(),q.moveTo(r,i),q.lineTo(r,l),q.moveTo(r-h,j),q.lineTo(r,j),q.moveTo(r,d.y),q.lineTo(r+h,d.y),p.stroke.prepare(p.fill),q.stroke()):this.hover.enabled&&this.over==b?this.hover.rectangle(r-h,m,e.width,n):p.rectangle(r-h,m,e.width,n), +"openclose"!=this.style&&(im+n))q.beginPath(),q.moveTo(r,m),q.lineTo(r,i),q.moveTo(r,m+n),q.lineTo(r,l),this.hover.enabled&&this.over==b?this.hover.stroke.prepare(p.fill):p.stroke.prepare(p.fill),q.stroke()};this.minYValue=function(){return 0i?i:j,e.height=Math.abs(j-i),e.contains(d))return h;return-1};Tee.Candle.prototype.vertMargins=function(){}})(); diff --git a/ajax/libs/teechart/package.json b/ajax/libs/teechart/package.json new file mode 100644 index 000000000..718ba4b4b --- /dev/null +++ b/ajax/libs/teechart/package.json @@ -0,0 +1,15 @@ +{ + "name": "teechart", + "filename": "teechart.js", + "version": "1.0.0", + "description": "TeeChart 100% JavaScript is a charting library that plots charts to all compatible browsers in native javascript format using the HTML5 Canvas. Live charts support mouse/touch zoom, scroll, tooltips, sliders and many styles like Bar, Line, Area, Point, Scatter, Bubble, Pie, Donut, Candle OHLC. Free for non-commercial use.", + "homepage": "http://steema.com/teechart/html5", + "keywords": ["charting", "graphing", "chart", "charts", "plot", "plots", "graph", "graphing", "html5", "canvas", "pie", "bubble", "bar", "line", "point", + "scatter", "tape", "candle", "ohlc", "financial", "smooth", "stock", "donut", "area", "spline"], + "maintainers": [ + { + "name": "david berneda (Steema Software)", + "web": "http://steema.com/" + } + ] +}