olap/tpldata/jqplot.logAxisRenderer.min.js

1 line
7.1 KiB
JavaScript

(function(a){a.jqplot.LogAxisRenderer=function(){a.jqplot.LinearAxisRenderer.call(this);this.axisDefaults={base:10,tickDistribution:"power"}};a.jqplot.LogAxisRenderer.prototype=new a.jqplot.LinearAxisRenderer();a.jqplot.LogAxisRenderer.prototype.constructor=a.jqplot.LogAxisRenderer;a.jqplot.LogAxisRenderer.prototype.init=function(b){this.drawBaseline=true;this.minorTicks="auto";this._scalefact=1;a.extend(true,this,b);this._autoFormatString="%d";this._overrideFormatString=false;for(var c in this.renderer.axisDefaults){if(this[c]==null){this[c]=this.renderer.axisDefaults[c]}}this.resetDataBounds()};a.jqplot.LogAxisRenderer.prototype.createTicks=function(d){var D=this._ticks;var u=this.ticks;var p=this.name;var q=this._dataBounds;var b=(this.name.charAt(0)==="x")?this._plotDimensions.width:this._plotDimensions.height;var h;var N,r;var k,g;var M,I;var K=30;this._scalefact=(Math.max(b,K+1)-K)/300;if(u.length){for(I=0;I<u.length;I++){var x=u[I];var E=new this.tickRenderer(this.tickOptions);if(x.constructor==Array){E.value=x[0];E.label=x[1];if(!this.showTicks){E.showLabel=false;E.showMark=false}else{if(!this.showTickMarks){E.showMark=false}}E.setTick(x[0],this.name);this._ticks.push(E)}else{if(a.isPlainObject(x)){a.extend(true,E,x);E.axis=this.name;this._ticks.push(E)}else{E.value=x;if(!this.showTicks){E.showLabel=false;E.showMark=false}else{if(!this.showTickMarks){E.showMark=false}}E.setTick(x,this.name);this._ticks.push(E)}}}this.numberTicks=u.length;this.min=this._ticks[0].value;this.max=this._ticks[this.numberTicks-1].value}else{if(this.min==null&&this.max==null){N=q.min*(2-this.padMin);r=q.max*this.padMax;if(N==r){var c=0.05;N=N*(1-c);r=r*(1+c)}if(this.min!=null&&this.min<=0){throw ("log axis minimum must be greater than 0")}if(this.max!=null&&this.max<=0){throw ("log axis maximum must be greater than 0")}function L(j){var i=Math.pow(10,Math.floor(Math.log(j)/Math.LN10));return Math.ceil(j/i)*i}function s(j){var i=Math.pow(10,Math.floor(Math.log(j)/Math.LN10));return Math.floor(j/i)*i}var C,o;C=Math.pow(this.base,Math.floor(Math.log(N)/Math.log(this.base)));o=Math.pow(this.base,Math.ceil(Math.log(r)/Math.log(this.base)));var B=Math.round(Math.log(C)/Math.LN10);if(this.tickOptions==null||!this.tickOptions.formatString){this._overrideFormatString=true}this.min=C;this.max=o;var n=this.max-this.min;var z=(this.minorTicks==="auto")?0:this.minorTicks;var f;if(this.numberTicks==null){if(b>140){f=Math.round(Math.log(this.max/this.min)/Math.log(this.base)+1);if(f<2){f=2}if(z===0){var l=b/(f-1);if(l<100){z=0}else{if(l<190){z=1}else{if(l<250){z=3}else{if(l<600){z=4}else{z=9}}}}}}else{f=2;if(z===0){z=1}z=0}}else{f=this.numberTicks}if(B>=0&&z!==3){this._autoFormatString="%d"}else{if(B<=0&&z===3){var l=-(B-1);this._autoFormatString="%."+Math.abs(B-1)+"f"}else{if(B<0){var l=-B;this._autoFormatString="%."+Math.abs(B)+"f"}else{this._autoFormatString="%d"}}}var O,E,w,m,F,h;for(var I=0;I<f;I++){M=Math.pow(this.base,I-f+1)*this.max;E=new this.tickRenderer(this.tickOptions);if(this._overrideFormatString){E.formatString=this._autoFormatString}if(!this.showTicks){E.showLabel=false;E.showMark=false}else{if(!this.showTickMarks){E.showMark=false}}E.setTick(M,this.name);this._ticks.push(E);if(z&&I<f-1){m=Math.pow(this.base,I-f+2)*this.max;F=m-M;h=m/(z+1);for(var G=z-1;G>=0;G--){w=m-h*(G+1);E=new this.tickRenderer(this.tickOptions);if(this._overrideFormatString&&this._autoFormatString!=""){E.formatString=this._autoFormatString}if(!this.showTicks){E.showLabel=false;E.showMark=false}else{if(!this.showTickMarks){E.showMark=false}}E.setTick(w,this.name);this._ticks.push(E)}}}}else{if(this.min!=null&&this.max!=null){var v=a.extend(true,{},this.tickOptions,{name:this.name,value:null});var H,e;if(this.numberTicks==null&&this.tickInterval==null){var A=Math.max(b,K+1);var J=Math.ceil((A-K)/35+1);var y=a.jqplot.LinearTickGenerator.bestConstrainedInterval(this.min,this.max,J);this._autoFormatString=y[3];H=y[2];e=y[4];for(var I=0;I<H;I++){v.value=this.min+I*e;E=new this.tickRenderer(v);if(this._overrideFormatString&&this._autoFormatString!=""){E.formatString=this._autoFormatString}if(!this.showTicks){E.showLabel=false;E.showMark=false}else{if(!this.showTickMarks){E.showMark=false}}this._ticks.push(E)}}else{if(this.numberTicks!=null&&this.tickInterval!=null){H=this.numberTicks;for(var I=0;I<H;I++){v.value=this.min+I*this.tickInterval;E=new this.tickRenderer(v);if(this._overrideFormatString&&this._autoFormatString!=""){E.formatString=this._autoFormatString}if(!this.showTicks){E.showLabel=false;E.showMark=false}else{if(!this.showTickMarks){E.showMark=false}}this._ticks.push(E)}}}}}}};a.jqplot.LogAxisRenderer.prototype.pack=function(l,k){var r=parseInt(this.base,10);var y=this._ticks;var g=function(h){return Math.log(h)/Math.log(r)};var b=function(h){return Math.pow(Math.E,(Math.log(r)*h))};var v=g(this.max);var s=g(this.min);var c=k.max;var e=k.min;var o=(this._label==null)?false:this._label.show;for(var q in l){this._elem.css(q,l[q])}this._offsets=k;var j=c-e;var f=v-s;this.p2u=function(h){return b((h-e)*f/j+s)};this.u2p=function(h){return(g(h)-s)*j/f+e};if(this.name=="xaxis"||this.name=="x2axis"){this.series_u2p=function(h){return(g(h)-s)*j/f};this.series_p2u=function(h){return b(h*f/j+s)}}else{this.series_u2p=function(h){return(g(h)-v)*j/f};this.series_p2u=function(h){return b(h*f/j+v)}}if(this.show){if(this.name=="xaxis"||this.name=="x2axis"){for(var u=0;u<y.length;u++){var n=y[u];if(n.show&&n.showLabel){var d;if(n.constructor==a.jqplot.CanvasAxisTickRenderer&&n.angle){switch(n.labelPosition){case"auto":if(n.angle<0){d=-n.getWidth()+n._textRenderer.height*Math.sin(-n._textRenderer.angle)/2}else{d=-n._textRenderer.height*Math.sin(n._textRenderer.angle)/2}break;case"end":d=-n.getWidth()+n._textRenderer.height*Math.sin(-n._textRenderer.angle)/2;break;case"start":d=-n._textRenderer.height*Math.sin(n._textRenderer.angle)/2;break;case"middle":d=-n.getWidth()/2+n._textRenderer.height*Math.sin(-n._textRenderer.angle)/2;break;default:d=-n.getWidth()/2+n._textRenderer.height*Math.sin(-n._textRenderer.angle)/2;break}}else{d=-n.getWidth()/2}var z=this.u2p(n.value)+d+"px";n._elem.css("left",z);n.pack()}}if(o){var m=this._label._elem.outerWidth(true);this._label._elem.css("left",e+j/2-m/2+"px");if(this.name=="xaxis"){this._label._elem.css("bottom","0px")}else{this._label._elem.css("top","0px")}this._label.pack()}}else{for(var u=0;u<y.length;u++){var n=y[u];if(n.show&&n.showLabel){var d;if(n.constructor==a.jqplot.CanvasAxisTickRenderer&&n.angle){switch(n.labelPosition){case"auto":case"end":if(n.angle<0){d=-n._textRenderer.height*Math.cos(-n._textRenderer.angle)/2}else{d=-n.getHeight()+n._textRenderer.height*Math.cos(n._textRenderer.angle)/2}break;case"start":if(n.angle>0){d=-n._textRenderer.height*Math.cos(-n._textRenderer.angle)/2}else{d=-n.getHeight()+n._textRenderer.height*Math.cos(n._textRenderer.angle)/2}break;case"middle":d=-n.getHeight()/2;break;default:d=-n.getHeight()/2;break}}else{d=-n.getHeight()/2}var z=this.u2p(n.value)+d+"px";n._elem.css("top",z);n.pack()}}if(o){var x=this._label._elem.outerHeight(true);this._label._elem.css("top",c-j/2-x/2+"px");if(this.name=="yaxis"){this._label._elem.css("left","0px")}else{this._label._elem.css("right","0px")}this._label.pack()}}}}})(jQuery);