| 1 |
- (function(c){c.Scale=c.extend(c.Component,{configure:function(){c.Scale.superclass.configure.apply(this,arguments);this.type="scale";this.set({position:"left",which:"h",basic_value:0,scale2grid:!0,distance:void 0,start_scale:0,end_scale:void 0,min_scale:void 0,max_scale:void 0,scale_space:void 0,scale_share:5,scale_enable:!0,scale_size:1,scale_width:4,scale_color:"#333333",scaleAlign:"center",labels:[],label:{},text_space:6,textAlign:"left",decimalsnum:0,join_style:"none",join_size:2});this.registerEvent("parseText")},isEventValid:function(){return{valid:!1}},getScale:function(a){a=[a.get("basic_value"),a.get("start_scale"),a.get("end_scale"),a.get("end_scale")-a.get("start_scale"),0];a[4]=c.inRange(a[1],a[2]+1,a[0])||c.inRange(a[2]-1,a[1],a[0]);return{range:a[4],basic:a[4]?(a[0]-a[1])/a[3]:0,start:a[4]?a[0]:a[1],end:a[2],distance:a[3]}},doDraw:function(a){a.get("scale_enable")&&a.items.each(function(b){a.T.line(b.x0,b.y0,b.x1,b.y1,a.get("scale_size"),a.get("scale_color"),!1)});a.labels.each(function(a){a.draw()})},doLayout:function(a,b,c){c.get("scale_enable")&&c.items.each(function(c){c.x0+=a;c.y0+=b;c.x1+=a;c.y1+=b});c.labels.each(function(c){c.doLayout(a,b,0,c)})},doConfig:function(){c.Scale.superclass.doConfig.call(this);var a=this._(),b=Math.abs,i=a.get("labels").length,f=a.get("min_scale"),k=a.get("max_scale"),d=a.get("scale_space"),e=a.get("end_scale"),j=a.get("start_scale");a.items=[];a.labels=[];a.number=0;if(0<i)a.number=i-1;else{j>f&&(j=a.push("start_scale",c.floor(f)));if(!c.isNumber(e)||e<k)e=c.ceil(k),e=a.push("end_scale",!e&&!j?1:e);d&&b(d)<b(e-j)&&a.push("scale_share",(e-j)/d);a.number=a.push("scale_share",b(a.get("scale_share")));if(!d||d>e-j){d=(e-j+"").indexOf(".")+1;for(b=1;0<d;)d--,b*=10;d=a.push("scale",(e-j)*b/a.get("scale_share")/b)}parseInt(d)!=d&&0==a.get("decimalsnum")&&a.push("decimalsnum",(d+"").substring((d+"").indexOf(".")+1).length)}a.push("distanceOne",a.get("valid_distance")/a.number);var g,n,o,q=k=f=b=e=0,r=0;g=a.get("scale_width");n=g/2;o=a.get("scaleAlign");var p=a.get("position"),m=a.get("text_space"),s="",t=a.get("coo").get("axis.width");a.push("which",a.get("which").toLowerCase());a.isH="h"==a.get("which");a.isH?(o==a.O?k=-g:o==a.C?(k=-n,b=n):b=g,p==a.O?(r=-m-t[0],s=a.B):(r=m+t[2],s=a.O),p=a.C):(o==a.L?f=-g:o==a.C?(f=-n,e=n):e=g,s="middle",p==a.R)?(p=a.L,q=m+t[1]):(p=a.R,q=-m-t[3]);for(m=0;m<=a.number;m++)g=i?a.get("labels")[m]:(d*m+j).toFixed(a.get("decimalsnum")),n=a.isH?a.get("valid_x")+m*a.get("distanceOne"):a.x,o=a.isH?a.y:a.get("valid_y")+a.get("valid_distance")-m*a.get("distanceOne"),a.items.push({x:n,y:o,x0:n+f,y0:o+k,x1:n+e,y1:o+b}),a.get("label")&&a.labels.push(new c.Text(c.applyIf(c.apply(a.get("label"),c.merge({text:g,x:n,y:o,originx:n+q,originy:o+r},a.fireEvent(a,"parseText",[g,n+q,o+r,m,a.number==m]))),{textAlign:p,textBaseline:s}),a))}});c.Coordinate={coordinate_:function(a){var b=this._(),i=b.get("coordinate");if(i.ICHARTJS_OBJECT)return b.x=b.push(b.X,i.x),b.y=b.push(b.Y,i.y),b.ILLUSIVE_COO=!0,i;var i=c.parsePercent,f=b.get("coordinate.scale"),k=b.get("scaleAlign"),d=b.push("coordinate._width",i(b.get("coordinate.width")||"85%",Math.floor(b.get("client_width"))));h=b.push("coordinate._height",i(b.get("coordinate.height")||"85%",Math.floor(b.get("client_height")))-(b.is3D()?(b.get("coordinate.pedestal_height")||22)+(b.get("coordinate.board_deep")||20):0));b.push("coordinate.valid_height_value",i(b.get("coordinate.valid_height"),h));b.push("coordinate.valid_width_value",i(b.get("coordinate.valid_width"),d));b.originXY(b,[b.get("l_originx"),b.get("r_originx")-d,b.get("centerx")-d/2],[b.get("centery")-h/2]);b.push("coordinate.originx",b.x);b.push("coordinate.originy",b.y);a&&a();c.isObject(f)&&(f=[f]);if(c.isArray(f)){var e="stacked"!=b.dataType;f.each(function(a){b.get("percent")&&a.position==k&&(a=c.apply(a,{start_scale:0,end_scale:100,scale_space:10,listeners:{parseText:function(a){return{text:a+"%"}}}}));if(!a.start_scale||e&&a.start_scale>b.get("minValue"))a.min_scale=b.get("minValue");if(!a.end_scale||e&&a.end_scale<b.get("maxValue"))a.max_scale=b.get("maxValue")})}else b.push("coordinate.scale",{position:k,scaleAlign:k,max_scale:b.get("maxValue"),min_scale:b.get("minValue")});b.is3D()&&(b.push("coordinate.xAngle_",b.get("xAngle_")),b.push("coordinate.yAngle_",b.get("yAngle_")),b.push("coordinate.zHeight",b.get("zHeight")*b.get("bottom_scale")));b.remove(b,b.coo);return b.register(new (c[b.is3D()?"Coordinate3D":"Coordinate2D"])(b.get("coordinate"),b))}};c.Coordinate2D=c.extend(c.Component,{configure:function(){c.Coordinate2D.superclass.configure.apply(this,arguments);this.type="coordinate2d";this.set({sign_size:12,sign_space:5,scale:[],width:"85%",height:"85%",valid_width:"100%",valid_height:"100%",grid_line_width:1,grid_color:"#dbe1e1",gridHStyle:{},gridVStyle:{},gridlinesVisible:!0,scale2grid:!0,grids:void 0,ignoreOverlap:!0,ignoreEdge:!1,xlabel:"",ylabel:"",background_color:0,striped:!0,striped_direction:"v",striped_factor:0.01,crosshair:{enable:!1},z_index:-1,axis:{enable:!0,color:"#666666",width:1}});this.scale=[];this.gridlines=[]},getScale:function(a,b){for(var c=this._(),f=0;f<c.scale.length;f++)if(c.scale[f].get("position")==a)return c.scale[f].getScale(c.scale[f]);if(!b)return a=a==c.L?c.R:a==c.R?c.L:a==c.O?c.B:c.O,c.getScale(a,!0);throw Error("there no valid scale");},isEventValid:function(a,b){return{valid:a.x>b.x&&a.x<b.x+b.width&&a.y<b.y+b.height&&a.y>b.y}},doDraw:function(a){a.T.box(a.x,a.y,a.width,a.height,0,a.get("f_color"));if(a.get("striped")){var b,i,f=!1;a.get("axis.width");var k=c.dark(a.get("background_color"),a.get("striped_factor"),0)}var d="v"==a.get("striped_direction");a.gridlines.each(function(c){a.get("striped")&&(f&&(d?a.T.box(c.x1,c.y1+c.width,c.x2-c.x1,i-c.y1-c.width,0,k):a.T.box(b+c.width,c.y2,c.x1-b,c.y1-c.y2,0,k)),b=c.x1,i=c.y1,f=!f)}).each(function(b){b.overlap||(b.solid?a.T.line(b.x1,b.y1,b.x2,b.y2,b.width,b.color):a.T.dotted(b.x1,b.y1,b.x2,b.y2,b.width,b.color,b.size,b.fator))});a.T.box(a.x,a.y,a.width,a.height,a.get("axis"),!1,a.get("shadow"),!0);a.scale.each(function(a){a.draw()})},destroy:function(){this.crosshair&&this.crosshair.destroy()},doCrosshair:function(a){a.get("crosshair.enable")&&!a.crosshair&&(a.push("crosshair.wrap",a.root.shell),a.push("crosshair.height",a.height),a.push("crosshair.width",a.width),a.push("crosshair.top",a.y),a.push("crosshair.left",a.x),a.crosshair=new c.CrossHair(a.get("crosshair"),a))},doConfig:function(){c.Coordinate2D.superclass.doConfig.call(this);var a=this._();a.atomic=!1;a.width=a.get("_width");a.height=a.get("_height");a.valid_width=a.get("valid_width_value");a.valid_height=a.get("valid_height_value");a.get("gradient")&&c.isString(a.get("f_color"))&&a.push("f_color",a.T.avgLinearGradient(a.x,a.y,a.x,a.y+a.height,[a.get("dark_color"),a.get("light_color")]));if(a.get("axis.enable")){var b=a.get("axis.width");c.isArray(b)||a.push("axis.width",[b,b,b,b])}else a.push("axis.width",[0,0,0,0]);a.doCrosshair(a);var i,f=(b=!(!a.get("gridlinesVisible")||!a.get("grids")))&&!!a.get("grids.horizontal"),k=b&&!!a.get("grids.vertical"),d=a.height,e=a.width,j=a.valid_width,g=a.valid_height,b=a.get("gridlinesVisible")&&a.get("scale2grid")&&!(f&&k),n=a.push("x_start",a.x+(e-j)/2),o=a.push("y_start",a.y+(d-g)/2),q=a.get("axis.width");a.push("x_end",a.x+(e+j)/2);a.push("y_end",a.y+(d+g)/2);c.isArray(a.get("scale"))||(c.isObject(a.get("scale"))?a.push("scale",[a.get("scale")]):a.push("scale",[]));a.get("scale").each(function(b){i=(i=b.position)||a.L;i=i.toLowerCase();b[a.X]=a.x;b.coo=a;b[a.Y]=a.y;b.valid_x=n;b.valid_y=o;b.position=i;i==a.O?(b.which="h",b.distance=e,b.valid_distance=j):i==a.R?(b.which="v",b.distance=d,b.valid_distance=g,b[a.X]+=e,b.valid_x+=j):i==a.B?(b.which="h",b.distance=e,b.valid_distance=j,b[a.Y]+=d,b.valid_y+=g):(b.which="v",b.distance=d,b.valid_distance=g);a.scale.push(new c.Scale(b,a.root))},a);var r=a.push("ignoreOverlap",a.get("ignoreOverlap")&&a.get("axis.enable")||a.get("ignoreEdge"));if(r)var p=a.get("ignoreEdge")?function(b,c,g){return"v"==b?g==a.y||g==a.y+d:c==a.x||c==a.x+b}:function(b,c,g){return"v"==b?g==a.y&&0<q[0]||g==a.y+d&&0<q[2]:c==a.x&&0<q[3]||c==a.x+e&&0<q[1]};var m={solid:!0,size:10,fator:1,width:a.get("grid_line_width"),color:a.get("grid_color")},s=c.applyIf(a.get("gridHStyle"),m),t=c.applyIf(a.get("gridVStyle"),m);if(b){var u,v,w;a.scale.each(function(b){w=b.get("position");if(!c.isFalse(b.get("scale2grid"))&&!(f&&"v"==b.get("which")||k&&"h"==b.get("which")))u=v=0,w==a.O?v=d:w==a.R?u=-e:w==a.B?v=-d:u=e,b.items.each(function(g){r&&a.gridlines.push(c.applyIf({overlap:p.call(a,b.get("which"),g.x,g.y),x1:g.x,y1:g.y,x2:g.x+u,y2:g.y+v},b.isH?t:s))})})}if(k){var l=a.get("grids.vertical");c.Assert.isTrue(0<l.value,"vertical value");b=e/l.value;m=l.value;"given_value"==l.way&&(m=b,b=l.value,b=b>e?e:b);for(l=0;l<=m;l++)r&&a.gridlines.push(c.applyIf({overlap:p.call(a,"h",a.x+l*b,a.y),x1:a.x+l*b,y1:a.y,x2:a.x+l*b,y2:a.y+d,H:!1,width:t.width,color:t.color},t))}if(f){l=a.get("grids.horizontal");c.Assert.isTrue(0<l.value,"horizontal value");b=d/l.value;m=l.value;"given_value"==l.way&&(m=b,b=l.value,b=b>d?d:b);for(l=0;l<=m;l++)r&&a.gridlines.push(c.applyIf({overlap:p.call(a,"v",a.x,a.y+l*b),x1:a.x,y1:a.y+l*b,x2:a.x+e,y2:a.y+l*b,H:!0,width:s.width,color:s.color},s))}}});c.Coordinate3D=c.extend(c.Coordinate2D,{configure:function(){c.Coordinate3D.superclass.configure.apply(this,arguments);this.type="coordinate3d";this.dimension=c._3D;this.set({xAngle:60,yAngle:20,xAngle_:void 0,yAngle_:void 0,zHeight:0,pedestal_height:22,board_deep:20,left_board:!0,gradient:!0,color_factor:0.18,ignoreEdge:!0,striped:!1,grid_color:"#a4ad96",background_color:"#d6dbd2",shadow_offsetx:4,shadow_offsety:2,wall_style:[],axis:{enable:!1}})},doDraw:function(a){var b=a.width,c=a.height,f=a.get("xAngle_"),k=a.get("yAngle_"),d=a.get("zHeight"),e=a.get("z_offx"),j=a.get("z_offy");a.get("pedestal_height")&&a.T.cube3D(a.x,a.y+c+a.get("pedestal_height"),f,k,!1,b,a.get("pedestal_height"),3*d/2,a.get("axis.enable"),a.get("axis.width"),a.get("axis.color"),a.get("bottom_style"));a.get("board_deep")&&a.T.cube3D(a.x+e,a.y+c-j,f,k,!1,b,c,a.get("board_deep"),a.get("axis.enable"),a.get("axis.width"),a.get("axis.color"),a.get("board_style"));a.T.cube3D(a.x,a.y+c,f,k,!1,b,c,d,a.get("axis.enable"),a.get("axis.width"),a.get("axis.color"),a.get("wall_style"));a.gridlines.each(function(b){b.solid?(a.get("left_board")&&a.T.line(b.x1,b.y1,b.x1+e,b.y1-j,b.width,b.color),a.T.line(b.x1+e,b.y1-j,b.x2+e,b.y2-j,b.width,b.color)):(a.get("left_board")&&a.T.dotted(b.x1,b.y1,b.x1+e,b.y1-j,b.width,b.color,b.size,b.fator),a.T.dotted(b.x1+e,b.y1-j,b.x2+e,b.y2-j,b.width,b.color,b.size,b.fator))});a.scale.each(function(a){a.draw()})},doConfig:function(){c.Coordinate3D.superclass.doConfig.call(this);for(var a=this._(),b=a.get("wall_style"),i=a.get("background_color")||"#d6dbd2",f=a.height,k=a.width,d=a.get("color_factor"),e=a.push("z_offx",a.get("xAngle_")*a.get("zHeight")),j=a.push("z_offy",a.get("yAngle_")*a.get("zHeight"));6>b.length;)b.push({color:i});a.get("left_board")||(b[2]=!1,a.scale.each(function(a){a.doLayout(e,-j,a)}));a.push("bottom_style",[{color:a.get("shadow_color"),shadow:a.get("shadow")},!1,!1,{color:b[3].color},!1,{color:b[3].color}]);a.push("board_style",[!1,!1,!1,{color:b[4].color},{color:b[5].color},!1]);a.get("gradient")&&(c.isString(b[0].color)&&(b[0].color=a.T.avgLinearGradient(a.x,a.y+f,a.x+k,a.y+f,[c.dark(b[0].color,d/2+0.06),c.dark(b[0].color,d/2+0.06)])),c.isString(b[1].color)&&(b[1].color=a.T.avgLinearGradient(a.x+e,a.y-j,a.x+e,a.y+f-j,[c.dark(b[1].color,d),c.light(b[1].color,d)])),c.isString(b[2].color)&&(b[2].color=a.T.avgLinearGradient(a.x,a.y,a.x,a.y+f,[c.light(b[2].color,d/3),c.dark(b[2].color,d)])),a.get("bottom_style")[5].color=a.T.avgLinearGradient(a.x,a.y+f,a.x,a.y+f+a.get("pedestal_height"),[c.light(b[3].color,d/2+0.06),c.dark(b[3].color,d/2,0)]));a.push("wall_style",[b[0],b[1],b[2]])}})})(iChart);
|