Car/Css/ichartjs/dist/ichartjs.line.js

(完整代码) 7KB

(function(b){b.LineSegment=b.extend(b.Component,{configure:function(){b.LineSegment.superclass.configure.apply(this,arguments);this.type="linesegment";this.set({brushsize:1,intersection:!0,label:{},sign:"round",area_color:null,hollow:!0,hollow_inside:!0,hollow_color:"#FEFEFE",smooth:!1,smoothing:1.5,point_size:6,points:[],keep_with_coordinate:!1,shadow_blur:1,shadow_offsety:1,point_space:0,coordinate:null,event_range_x:0,limit_y:!1,tip_offset:2,event_range_y:0});this.registerEvent("parseText");this.tip=null},drawSegment:function(){var a=this._();a.polygons.each(function(b){a.T.polygon.apply(a.T,b)});a.T.shadowOn(a.get("shadow"));a.lines.each(function(b){a.T.lineArray.apply(a.T,b)});a.intersections.each(function(b){a.sign_plugin?a.sign_plugin_fn.apply(a,b):a.T.round0.apply(a.T,b)});a.get("shadow")&&a.T.shadowOff()},doDraw:function(a){a.drawSegment();a.get("label")&&a.labels.each(function(a){a.draw()})},isEventValid:function(){},tipInvoke:function(){var a=this.x,b=this.get("tip_offset"),g=this.get("point_size")+b,e=this;return function(c,i,f){var l=f.left,f=f.top,l=3>e.tipPosition&&0<l-c-a-b||2<e.tipPosition&&0>l-c-a-b?l-(c+b):l+b,f=0==e.tipPosition%2?f+g:f-i-g;return{left:l,top:f}}},PP:function(a,b,g,e,c,i){a.get("area")&&a.polygons.push([a.get("area_color")||a.get("light_color2"),0,a.get("brushsize"),0,0,a.get("area_opacity"),a.get("smooth")?b:[{x:g,y:e}].concat(b.concat([{x:c,y:i}])),a.get("smooth"),a.get("smoothing")||1.5,[{x:g,y:e},{x:c,y:i}]])},parse:function(a){a.polygons=[];a.lines=[];a.intersections=[];a.labels=[];var m=a.get("points"),g=a.get("intersection"),e=!!a.get("label"),c=[],i=!1,f=a.get("smooth"),l=a.get("smoothing")||1.5,o=a.get("f_color"),n=a.get("brushsize"),j=a.get("point_size");if(g){var k=a.getPlugin("sign"),p=o,h=a.get("hollow_color");a.sign_plugin=b.isFunction(k);a.sign_plugin_fn=k;a.get("hollow_inside")&&(p=h,h=o)}m.each(function(d){d.x_=d.x;d.y_=d.y;!d.ignored&&e&&(a.push("label.originx",d.x),a.push("label.originy",d.y-j/2-1),a.push("label.text",a.fireString(a,"parseText",[a,d.value],d.value)),b.applyIf(a.get("label"),{textBaseline:"bottom",color:a.get("f_color")}),a.labels.push(new b.Text(a.get("label"),a)));d.ignored&&i?(a.lines.push([c,n,o,f,l]),a.PP(a,c,c[0].x,a.y,c[c.length-1].x,a.y),c=[],i=!1):d.ignored||(c.push(d),i=!0);g&&!d.ignored&&a.intersections.push(a.sign_plugin?[a.T,a.get("sign"),d,j,d.color||p,d.hollow_color||h]:a.get("hollow")?[d,j/2-n+1,d.color||p,n+1,d.hollow_color||h]:[d,j/2,d.color||p])});c.length&&(a.lines.push([c,n,o,f,l]),a.PP(a,c,c[0].x,a.y,c[c.length-1].x,a.y))},doConfig:function(){b.LineSegment.superclass.doConfig.call(this);b.Assert.isTrue(0<this.get("point_space"),"point_space");var a=this._(),m=3*a.get("point_size")/2,g=a.get("point_space"),e=a.get("event_range_y"),c=a.get("event_range_x"),i=a.get("tipInvokeHeap"),f=a.get("points"),l=a.get("name");a.parse(a);if(0>=c||c>g/2)c=a.push("event_range_x",g/2);0==e&&(e=a.push("event_range_y",m/2));a.get("tip.enable")&&(a.on("mouseover",function(){i.push(a);a.tipPosition=i.length}).on("mouseout",function(){i.pop()}),a.push("tip.invokeOffsetDynamic",!0),a.tip=new b.Tip(a.get("tip"),a));var o=a.get("coordinate"),n=a.get("limit_y"),j=a.get("keep_with_coordinate"),k=function(a,b,f){return!a.ignored&&Math.abs(b-a.x)<c&&(!n||n&&Math.abs(f-a.y)<e)?true:false},p=function(a){return{valid:true,name:l,value:f[a].value,text:f[a].text,top:f[a].y,left:f[a].x,i:a,hit:true}};a.isEventValid=function(c){if(o&&!o.isEventValid(c,o).valid)return{valid:false};var d=Math.floor((c.x-a.x)/g);if(d<0||d>=f.length-1){d=b.between(0,f.length-1,d);return k(f[d],c.x,c.y)?p(d):{valid:j}}for(var e=d;e<=d+1;e++)if(k(f[e],c.x,c.y))return p(e);return{valid:j}}}});b.Line=b.extend(b.Chart,{configure:function(){b.Line.superclass.configure.call(this);this.type="line";this.set({brushsize:1,coordinate:{axis:{width:[0,0,2,2]}},crosshair:{enable:!1},tipMocker:null,tipMockerOffset:null,scaleAlign:"left",labelAlign:"bottom",labels:[],label_space:6,proportional_spacing:!0,sub_option:{},legend:{sign:"bar"},label:{}});this.registerEvent("parsePoint");this.lines=[];this.components.push(this.lines)},getCoordinate:function(){return this.coo},doConfig:function(){b.Line.superclass.doConfig.call(this);var a=this._(),m=1==a.data.length;a.lines.length=0;a.lines.zIndex=a.get("z_index");var g=a.pushIf("sub_option.keep_with_coordinate",m);a.get("crosshair.enable")&&(a.pushIf("crosshair.hcross",m),a.push("crosshair.invokeOffset",function(b){b=a.lines[0].isEventValid(b);return b.valid?b:g}));a.Combination||(a.push("coordinate.crosshair",a.get("crosshair")),a.pushIf("coordinate.scale",[{position:a.get("scaleAlign"),max_scale:a.get("maxValue")},{position:a.get("labelAlign"),start_scale:1,scale:1,end_scale:a.get("maxItemSize"),labels:a.get("labels"),label:a.get("label")}]));a.coo=b.Coordinate.coordinate_.call(a);a.Combination&&(a.coo.push("crosshair",a.get("crosshair")),a.coo.doCrosshair(a.coo));var e=m=a.coo.valid_width,c=a.get("maxItemSize")-1,i=m/c,f=a.get("point_space");a.get("proportional_spacing")&&(f&&f<i?e=c*f:a.push("point_space",i));a.push("sub_option.width",e);a.push("sub_option.height",a.coo.valid_height);a.push("sub_option.originx",a.coo.get("x_start")+(m-e)/2);a.push("sub_option.originy",a.coo.get("y_end"));if(a.get("tip.enable")&&!a.mocker&&b.isFunction(a.get("tipMocker"))){a.push("sub_option.tip.enable",!1);a.push("tip.invokeOffsetDynamic",!0);var l,o=a.coo.get(a.X),n=a.coo.get(a.Y),j=a.coo.height,k=a.get("tipMockerOffset"),p,h,d,k=b.isNumber(k)?0>k?0:1<k?1:k:null;a.push("tip.invokeOffset",function(a,b,c){if(k!=null)c.top=n+(j-b)*k;else{c.top=c.maxTop-(c.maxTop-c.minTop)/3-b;if(b>j||n>c.top)c.top=n}return{left:c.left-a-o>5?c.left-a-5:c.left+5,top:c.top}});var q=a.get("tip.listeners.parseText");q&&delete a.get("tip.listeners").parseText;a.mocker=new b.Custom({eventValid:function(b){h=a.lines[0].isEventValid(b);h.hit=p!=h.i;if(h.valid){p=h.i;l=[];a.lines.each(function(a,c){d=a.isEventValid(b);if(c==0)h.minTop=h.maxTop=d.top;else{h.minTop=Math.min(h.minTop,d.top);h.maxTop=Math.max(h.maxTop,d.top)}l.push(q?q(null,d.name,d.value,d.text,d.i):d.name+" "+d.value)});h.text=a.get("tipMocker").call(a,l,h.i)||"tipMocker not return"}return h.valid?h:false}});new b.Tip(a.get("tip"),a.mocker);a.register(a.mocker)}a.pushIf("sub_option.area_opacity",a.get("area_opacity"))}});b.LineBasic2D=b.extend(b.Line,{configure:function(){b.LineBasic2D.superclass.configure.call(this);this.type="basicline2d";this.tipInvokeHeap=[]},doAnimation:function(a,b,g){g.lines.each(function(e){e.get("points").each(function(c){c.y=e.y-Math.ceil(g.animationArithmetic(a,0,e.y-c.y_,b))});e.drawSegment()})},doConfig:function(){b.LineBasic2D.superclass.doConfig.call(this);var a=this._(),m,g=a.coo.valid_height,e=a.get("point_space"),c,i,f,l=a.get("sub_option.originx"),o,n;a.push("sub_option.tip.showType","follow");a.push("sub_option.coordinate",a.coo);a.push("sub_option.tipInvokeHeap",a.tipInvokeHeap);a.push("sub_option.point_space",e);a.data.each(function(j){m=a.coo.getScale(j.scaleAlign||a.get("scaleAlign"));o=a.get("sub_option.originy")-m.basic*g;c=[];j.value.each(function(k,p){i=e*p;f=(k-m.start)*g/m.distance;n={x:l+i,y:o-f,value:k,text:j.name+" "+k};b.merge(n,a.fireEvent(a,"parsePoint",[j,k,i,f,p,m]));c.push(n)},a);b.merge(a.get("sub_option"),j);a.push("sub_option.points",c);a.push("sub_option.brushsize",j.linewidth||j.line_width);a.lines.push(new b.LineSegment(a.get("sub_option"),a))},this)}});b.register("LineBasic2D");b.Area2D=b.extend(b.LineBasic2D,{configure:function(){b.Area2D.superclass.configure.call(this);this.type="area2d";this.set({area_opacity:0.3})},doConfig:function(){this.push("sub_option.area",!0);b.Area2D.superclass.doConfig.call(this)}});b.register("Area2D")})(iChart);

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。