(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?factory(exports):typeof define==='function'&&define.amd?define(['exports'],factory):(factory((global.echarts={})))}(this,(function(exports){'use strict';var dev;if(typeof window!=='undefined'){dev=window.__DEV__}else if(typeof global!=='undefined'){dev=global.__DEV__}if(typeof dev==='undefined'){dev=true}var __DEV__=dev;var idStart=0x0907;var guid=function(){return idStart++};var env={};if(typeof wx==='object'&&typeof wx.getSystemInfoSync==='function'){env={browser:{},os:{},node:false,wxa:true,canvasSupported:true,svgSupported:false,touchEventsSupported:true,domSupported:false}}else if(typeof document==='undefined'&&typeof self!=='undefined'){env={browser:{},os:{},node:false,worker:true,canvasSupported:true,domSupported:false}}else if(typeof navigator==='undefined'){env={browser:{},os:{},node:true,worker:false,canvasSupported:true,svgSupported:true,domSupported:false}}else{env=detect(navigator.userAgent)}var env$1=env;function detect(ua){var os={};var browser={};var firefox=ua.match(/Firefox\/([\d.]+)/);var ie=ua.match(/MSIE\s([\d.]+)/)||ua.match(/Trident\/.+?rv:(([\d.]+))/);var edge=ua.match(/Edge\/([\d.]+)/);var weChat=(/micromessenger/i).test(ua);if(firefox){browser.firefox=true;browser.version=firefox[1]}if(ie){browser.ie=true;browser.version=ie[1]}if(edge){browser.edge=true;browser.version=edge[1]}if(weChat){browser.weChat=true}return{browser:browser,os:os,node:false,canvasSupported:!!document.createElement('canvas').getContext,svgSupported:typeof SVGRect!=='undefined',touchEventsSupported:'ontouchstart'in window&&!browser.ie&&!browser.edge,pointerEventsSupported:'onpointerdown'in window&&(browser.edge||(browser.ie&&browser.version>=11)),domSupported:typeof document!=='undefined'}}var BUILTIN_OBJECT={'[object Function]':1,'[object RegExp]':1,'[object Date]':1,'[object Error]':1,'[object CanvasGradient]':1,'[object CanvasPattern]':1,'[object Image]':1,'[object Canvas]':1};var TYPED_ARRAY={'[object Int8Array]':1,'[object Uint8Array]':1,'[object Uint8ClampedArray]':1,'[object Int16Array]':1,'[object Uint16Array]':1,'[object Int32Array]':1,'[object Uint32Array]':1,'[object Float32Array]':1,'[object Float64Array]':1};var objToString=Object.prototype.toString;var arrayProto=Array.prototype;var nativeForEach=arrayProto.forEach;var nativeFilter=arrayProto.filter;var nativeSlice=arrayProto.slice;var nativeMap=arrayProto.map;var nativeReduce=arrayProto.reduce;var methods={};function $override(name,fn){if(name==='createCanvas'){_ctx=null}methods[name]=fn}function clone(source){if(source==null||typeof source!=='object'){return source}var result=source;var typeStr=objToString.call(source);if(typeStr==='[object Array]'){if(!isPrimitive(source)){result=[];for(var i=0,len=source.length;i3){args=arrySlice.call(args,1)}var len=_h.length;for(var i=0;i4){args=arrySlice.call(args,1,args.length-1)}var ctx=args[args.length-1];var len=_h.length;for(var i=0;i>1)%2;stl.cssText=['position: absolute','visibility: hidden','padding: 0','margin: 0','border-width: 0','user-select: none','width:0','height:0',propLR[idxLR]+':0',propTB[idxTB]+':0',propLR[1-idxLR]+':auto',propTB[1-idxTB]+':auto',''].join('!important;');el.appendChild(marker);markers.push(marker)}return markers}function preparePointerTransformer(markers,saved,inverse){var transformerName=inverse?'invTrans':'trans';var transformer=saved[transformerName];var oldSrcCoords=saved.srcCoords;var oldCoordTheSame=true;var srcCoords=[];var destCoords=[];for(var i=0;i<4;i++){var rect=markers[i].getBoundingClientRect();var ii=2*i;var x=rect.left;var y=rect.top;srcCoords.push(x,y);oldCoordTheSame=oldCoordTheSame&&oldSrcCoords&&x===oldSrcCoords[ii]&&y===oldSrcCoords[ii+1];destCoords.push(markers[i].offsetLeft,markers[i].offsetTop)}return(oldCoordTheSame&&transformer)?transformer:(saved.srcCoords=srcCoords,saved[transformerName]=inverse?buildTransformer(destCoords,srcCoords):buildTransformer(srcCoords,destCoords))}function isCanvasEl(el){return el.nodeName.toUpperCase()==='CANVAS'}var isDomLevel2=(typeof window!=='undefined')&&!!window.addEventListener;var MOUSE_EVENT_REG=/^(?:mouse|pointer|contextmenu|drag|drop)|click/;var _calcOut=[];function clientToLocal(el,e,out,calculate){out=out||{};if(calculate||!env$1.canvasSupported){calculateZrXY(el,e,out)}else if(env$1.browser.firefox&&e.layerX!=null&&e.layerX!==e.offsetX){out.zrX=e.layerX;out.zrY=e.layerY}else if(e.offsetX!=null){out.zrX=e.offsetX;out.zrY=e.offsetY}else{calculateZrXY(el,e,out)}return out}function calculateZrXY(el,e,out){if(env$1.domSupported&&el.getBoundingClientRect){var ex=e.clientX;var ey=e.clientY;if(isCanvasEl(el)){var box=el.getBoundingClientRect();out.zrX=ex-box.left;out.zrY=ey-box.top;return}else{if(transformCoordWithViewport(_calcOut,el,ex,ey)){out.zrX=_calcOut[0];out.zrY=_calcOut[1];return}}}out.zrX=out.zrY=0}function getNativeEvent(e){return e||window.event}function normalizeEvent(el,e,calculate){e=getNativeEvent(e);if(e.zrX!=null){return e}var eventType=e.type;var isTouch=eventType&&eventType.indexOf('touch')>=0;if(!isTouch){clientToLocal(el,e,e,calculate);e.zrDelta=(e.wheelDelta)?e.wheelDelta/120:-(e.detail||0)/3}else{var touch=eventType!=='touchend'?e.targetTouches[0]:e.changedTouches[0];touch&&clientToLocal(el,touch,e,calculate)}var button=e.button;if(e.which==null&&button!==undefined&&MOUSE_EVENT_REG.test(e.type)){e.which=(button&1?1:(button&2?3:(button&4?2:0)))}return e}function addEventListener(el,name,handler,opt){if(isDomLevel2){el.addEventListener(name,handler,opt)}else{el.attachEvent('on'+name,handler)}}function removeEventListener(el,name,handler,opt){if(isDomLevel2){el.removeEventListener(name,handler,opt)}else{el.detachEvent('on'+name,handler)}}var stop=isDomLevel2?function(e){e.preventDefault();e.stopPropagation();e.cancelBubble=true}:function(e){e.returnValue=false;e.cancelBubble=true};function isMiddleOrRightButtonOnMouseUpDown(e){return e.which===2||e.which===3}var GestureMgr=function(){this._track=[]};GestureMgr.prototype={constructor:GestureMgr,recognize:function(event,target,root){this._doTrack(event,target,root);return this._recognize(event)},clear:function(){this._track.length=0;return this},_doTrack:function(event,target,root){var touches=event.touches;if(!touches){return}var trackItem={points:[],touches:[],target:target,event:event};for(var i=0,len=touches.length;i1&&pinchEnd&&pinchEnd.length>1){var pinchScale=dist$1(pinchEnd)/dist$1(pinchPre);!isFinite(pinchScale)&&(pinchScale=1);event.pinchScale=pinchScale;var pinchCenter=center(pinchEnd);event.pinchX=pinchCenter[0];event.pinchY=pinchCenter[1];return{type:'pinch',target:track[0].target,event:event}}}};var SILENT='silent';function makeEventPacket(eveType,targetInfo,event){return{type:eveType,event:event,target:targetInfo.target,topTarget:targetInfo.topTarget,cancelBubble:false,offsetX:event.zrX,offsetY:event.zrY,gestureEvent:event.gestureEvent,pinchX:event.pinchX,pinchY:event.pinchY,pinchScale:event.pinchScale,wheelDelta:event.zrDelta,zrByTouch:event.zrByTouch,which:event.which,stop:stopEvent}}function stopEvent(){stop(this.event)}function EmptyProxy(){}EmptyProxy.prototype.dispose=function(){};var handlerNames=['click','dblclick','mousewheel','mouseout','mouseup','mousedown','mousemove','contextmenu'];var Handler=function(storage,painter,proxy,painterRoot){Eventful.call(this);this.storage=storage;this.painter=painter;this.painterRoot=painterRoot;proxy=proxy||new EmptyProxy();this.proxy=null;this._hovered={};this._lastTouchMoment;this._lastX;this._lastY;this._gestureMgr;Draggable.call(this);this.setHandlerProxy(proxy)};Handler.prototype={constructor:Handler,setHandlerProxy:function(proxy){if(this.proxy){this.proxy.dispose()}if(proxy){each$1(handlerNames,function(name){proxy.on&&proxy.on(name,this[name],this)},this);proxy.handler=this}this.proxy=proxy},mousemove:function(event){var x=event.zrX;var y=event.zrY;var isOutside=isOutsideBoundary(this,x,y);var lastHovered=this._hovered;var lastHoveredTarget=lastHovered.target;if(lastHoveredTarget&&!lastHoveredTarget.__zr){lastHovered=this.findHover(lastHovered.x,lastHovered.y);lastHoveredTarget=lastHovered.target}var hovered=this._hovered=isOutside?{x:x,y:y}:this.findHover(x,y);var hoveredTarget=hovered.target;var proxy=this.proxy;proxy.setCursor&&proxy.setCursor(hoveredTarget?hoveredTarget.cursor:'default');if(lastHoveredTarget&&hoveredTarget!==lastHoveredTarget){this.dispatchToElement(lastHovered,'mouseout',event)}this.dispatchToElement(hovered,'mousemove',event);if(hoveredTarget&&hoveredTarget!==lastHoveredTarget){this.dispatchToElement(hovered,'mouseover',event)}},mouseout:function(event){var eventControl=event.zrEventControl;var zrIsToLocalDOM=event.zrIsToLocalDOM;if(eventControl!=='only_globalout'){this.dispatchToElement(this._hovered,'mouseout',event)}if(eventControl!=='no_globalout'){!zrIsToLocalDOM&&this.trigger('globalout',{type:'globalout',event:event})}},resize:function(event){this._hovered={}},dispatch:function(eventName,eventArgs){var handler=this[eventName];handler&&handler.call(this,eventArgs)},dispose:function(){this.proxy.dispose();this.storage=this.proxy=this.painter=null},setCursorStyle:function(cursorStyle){var proxy=this.proxy;proxy.setCursor&&proxy.setCursor(cursorStyle)},dispatchToElement:function(targetInfo,eventName,event){targetInfo=targetInfo||{};var el=targetInfo.target;if(el&&el.silent){return}var eventHandler='on'+eventName;var eventPacket=makeEventPacket(eventName,targetInfo,event);while(el){el[eventHandler]&&(eventPacket.cancelBubble=el[eventHandler].call(el,eventPacket));el.trigger(eventName,eventPacket);el=el.parent;if(eventPacket.cancelBubble){break}}if(!eventPacket.cancelBubble){this.trigger(eventName,eventPacket);this.painter&&this.painter.eachOtherLayer(function(layer){if(typeof(layer[eventHandler])==='function'){layer[eventHandler].call(layer,eventPacket)}if(layer.trigger){layer.trigger(eventName,eventPacket)}})}},findHover:function(x,y,exclude){var list=this.storage.getDisplayList();var out={x:x,y:y};for(var i=list.length-1;i>=0;i--){var hoverCheckResult;if(list[i]!==exclude&&!list[i].ignore&&(hoverCheckResult=isHover(list[i],x,y))){!out.topTarget&&(out.topTarget=list[i]);if(hoverCheckResult!==SILENT){out.target=list[i];break}}}return out},processGesture:function(event,stage){if(!this._gestureMgr){this._gestureMgr=new GestureMgr()}var gestureMgr=this._gestureMgr;stage==='start'&&gestureMgr.clear();var gestureInfo=gestureMgr.recognize(event,this.findHover(event.zrX,event.zrY,null).target,this.proxy.dom);stage==='end'&&gestureMgr.clear();if(gestureInfo){var type=gestureInfo.type;event.gestureEvent=type;this.dispatchToElement({target:gestureInfo.target},type,gestureInfo.event)}}};each$1(['click','mousedown','mouseup','mousewheel','dblclick','contextmenu'],function(name){Handler.prototype[name]=function(event){var x=event.zrX;var y=event.zrY;var isOutside=isOutsideBoundary(this,x,y);var hovered;var hoveredTarget;if(name!=='mouseup'||!isOutside){hovered=this.findHover(x,y);hoveredTarget=hovered.target}if(name==='mousedown'){this._downEl=hoveredTarget;this._downPoint=[event.zrX,event.zrY];this._upEl=hoveredTarget}else if(name==='mouseup'){this._upEl=hoveredTarget}else if(name==='click'){if(this._downEl!==this._upEl||!this._downPoint||dist(this._downPoint,[event.zrX,event.zrY])>4){return}this._downPoint=null}this.dispatchToElement(hovered,name,event)}});function isHover(displayable,x,y){if(displayable[displayable.rectHover?'rectContain':'contain'](x,y)){var el=displayable;var isSilent;while(el){if(el.clipPath&&!el.clipPath.contain(x,y)){return false}if(el.silent){isSilent=true}el=el.parent}return isSilent?SILENT:true}return false}function isOutsideBoundary(handlerInstance,x,y){var painter=handlerInstance.painter;return x<0||x>painter.getWidth()||y<0||y>painter.getHeight()}mixin(Handler,Eventful);mixin(Handler,Draggable);var ArrayCtor$1=typeof Float32Array==='undefined'?Array:Float32Array;function create$1(){var out=new ArrayCtor$1(6);identity(out);return out}function identity(out){out[0]=1;out[1]=0;out[2]=0;out[3]=1;out[4]=0;out[5]=0;return out}function copy$1(out,m){out[0]=m[0];out[1]=m[1];out[2]=m[2];out[3]=m[3];out[4]=m[4];out[5]=m[5];return out}function mul$1(out,m1,m2){var out0=m1[0]*m2[0]+m1[2]*m2[1];var out1=m1[1]*m2[0]+m1[3]*m2[1];var out2=m1[0]*m2[2]+m1[2]*m2[3];var out3=m1[1]*m2[2]+m1[3]*m2[3];var out4=m1[0]*m2[4]+m1[2]*m2[5]+m1[4];var out5=m1[1]*m2[4]+m1[3]*m2[5]+m1[5];out[0]=out0;out[1]=out1;out[2]=out2;out[3]=out3;out[4]=out4;out[5]=out5;return out}function translate(out,a,v){out[0]=a[0];out[1]=a[1];out[2]=a[2];out[3]=a[3];out[4]=a[4]+v[0];out[5]=a[5]+v[1];return out}function rotate(out,a,rad){var aa=a[0];var ac=a[2];var atx=a[4];var ab=a[1];var ad=a[3];var aty=a[5];var st=Math.sin(rad);var ct=Math.cos(rad);out[0]=aa*ct+ab*st;out[1]=-aa*st+ab*ct;out[2]=ac*ct+ad*st;out[3]=-ac*st+ct*ad;out[4]=ct*atx+st*aty;out[5]=ct*aty-st*atx;return out}function scale$1(out,a,v){var vx=v[0];var vy=v[1];out[0]=a[0]*vx;out[1]=a[1]*vy;out[2]=a[2]*vx;out[3]=a[3]*vy;out[4]=a[4]*vx;out[5]=a[5]*vy;return out}function invert(out,a){var aa=a[0];var ac=a[2];var atx=a[4];var ab=a[1];var ad=a[3];var aty=a[5];var det=aa*ad-ab*ac;if(!det){return null}det=1.0/det;out[0]=ad*det;out[1]=-ab*det;out[2]=-ac*det;out[3]=aa*det;out[4]=(ac*aty-ad*atx)*det;out[5]=(ab*atx-aa*aty)*det;return out}function clone$2(a){var b=create$1();copy$1(b,a);return b}var matrix=(Object.freeze||Object)({create:create$1,identity:identity,copy:copy$1,mul:mul$1,translate:translate,rotate:rotate,scale:scale$1,invert:invert,clone:clone$2});var mIdentity=identity;var EPSILON=5e-5;function isNotAroundZero(val){return val>EPSILON||val<-EPSILON}var Transformable=function(opts){opts=opts||{};if(!opts.position){this.position=[0,0]}if(opts.rotation==null){this.rotation=0}if(!opts.scale){this.scale=[1,1]}this.origin=this.origin||null};var transformableProto=Transformable.prototype;transformableProto.transform=null;transformableProto.needLocalTransform=function(){return isNotAroundZero(this.rotation)||isNotAroundZero(this.position[0])||isNotAroundZero(this.position[1])||isNotAroundZero(this.scale[0]-1)||isNotAroundZero(this.scale[1]-1)};var scaleTmp=[];transformableProto.updateTransform=function(){var parent=this.parent;var parentHasTransform=parent&&parent.transform;var needLocalTransform=this.needLocalTransform();var m=this.transform;if(!(needLocalTransform||parentHasTransform)){m&&mIdentity(m);return}m=m||create$1();if(needLocalTransform){this.getLocalTransform(m)}else{mIdentity(m)}if(parentHasTransform){if(needLocalTransform){mul$1(m,parent.transform,m)}else{copy$1(m,parent.transform)}}this.transform=m;var globalScaleRatio=this.globalScaleRatio;if(globalScaleRatio!=null&&globalScaleRatio!==1){this.getGlobalScale(scaleTmp);var relX=scaleTmp[0]<0?-1:1;var relY=scaleTmp[1]<0?-1:1;var sx=((scaleTmp[0]-relX)*globalScaleRatio+relX)/scaleTmp[0]||0;var sy=((scaleTmp[1]-relY)*globalScaleRatio+relY)/scaleTmp[1]||0;m[0]*=sx;m[1]*=sx;m[2]*=sy;m[3]*=sy}this.invTransform=this.invTransform||create$1();invert(this.invTransform,m)};transformableProto.getLocalTransform=function(m){return Transformable.getLocalTransform(this,m)};transformableProto.setTransform=function(ctx){var m=this.transform;var dpr=ctx.dpr||1;if(m){ctx.setTransform(dpr*m[0],dpr*m[1],dpr*m[2],dpr*m[3],dpr*m[4],dpr*m[5])}else{ctx.setTransform(dpr,0,0,dpr,0,0)}};transformableProto.restoreTransform=function(ctx){var dpr=ctx.dpr||1;ctx.setTransform(dpr,0,0,dpr,0,0)};var tmpTransform=[];var originTransform=create$1();transformableProto.setLocalTransform=function(m){if(!m){return}var sx=m[0]*m[0]+m[1]*m[1];var sy=m[2]*m[2]+m[3]*m[3];var position=this.position;var scale$$1=this.scale;if(isNotAroundZero(sx-1)){sx=Math.sqrt(sx)}if(isNotAroundZero(sy-1)){sy=Math.sqrt(sy)}if(m[0]<0){sx=-sx}if(m[3]<0){sy=-sy}position[0]=m[4];position[1]=m[5];scale$$1[0]=sx;scale$$1[1]=sy;this.rotation=Math.atan2(-m[1]/sy,m[0]/sx)};transformableProto.decomposeTransform=function(){if(!this.transform){return}var parent=this.parent;var m=this.transform;if(parent&&parent.transform){mul$1(tmpTransform,parent.invTransform,m);m=tmpTransform}var origin=this.origin;if(origin&&(origin[0]||origin[1])){originTransform[4]=origin[0];originTransform[5]=origin[1];mul$1(tmpTransform,m,originTransform);tmpTransform[4]-=origin[0];tmpTransform[5]-=origin[1];m=tmpTransform}this.setLocalTransform(m)};transformableProto.getGlobalScale=function(out){var m=this.transform;out=out||[];if(!m){out[0]=1;out[1]=1;return out}out[0]=Math.sqrt(m[0]*m[0]+m[1]*m[1]);out[1]=Math.sqrt(m[2]*m[2]+m[3]*m[3]);if(m[0]<0){out[0]=-out[0]}if(m[3]<0){out[1]=-out[1]}return out};transformableProto.transformCoordToLocal=function(x,y){var v2=[x,y];var invTransform=this.invTransform;if(invTransform){applyTransform(v2,v2,invTransform)}return v2};transformableProto.transformCoordToGlobal=function(x,y){var v2=[x,y];var transform=this.transform;if(transform){applyTransform(v2,v2,transform)}return v2};Transformable.getLocalTransform=function(target,m){m=m||[];mIdentity(m);var origin=target.origin;var scale$$1=target.scale||[1,1];var rotation=target.rotation||0;var position=target.position||[0,0];if(origin){m[4]-=origin[0];m[5]-=origin[1]}scale$1(m,m,scale$$1);if(rotation){rotate(m,m,rotation)}if(origin){m[4]+=origin[0];m[5]+=origin[1]}m[4]+=position[0];m[5]+=position[1];return m};var easing={linear:function(k){return k},quadraticIn:function(k){return k*k},quadraticOut:function(k){return k*(2-k)},quadraticInOut:function(k){if((k*=2)<1){return 0.5*k*k}return-0.5*(--k*(k-2)-1)},cubicIn:function(k){return k*k*k},cubicOut:function(k){return--k*k*k+1},cubicInOut:function(k){if((k*=2)<1){return 0.5*k*k*k}return 0.5*((k-=2)*k*k+2)},quarticIn:function(k){return k*k*k*k},quarticOut:function(k){return 1-(--k*k*k*k)},quarticInOut:function(k){if((k*=2)<1){return 0.5*k*k*k*k}return-0.5*((k-=2)*k*k*k-2)},quinticIn:function(k){return k*k*k*k*k},quinticOut:function(k){return--k*k*k*k*k+1},quinticInOut:function(k){if((k*=2)<1){return 0.5*k*k*k*k*k}return 0.5*((k-=2)*k*k*k*k+2)},sinusoidalIn:function(k){return 1-Math.cos(k*Math.PI/2)},sinusoidalOut:function(k){return Math.sin(k*Math.PI/2)},sinusoidalInOut:function(k){return 0.5*(1-Math.cos(Math.PI*k))},exponentialIn:function(k){return k===0?0:Math.pow(1024,k-1)},exponentialOut:function(k){return k===1?1:1-Math.pow(2,-10*k)},exponentialInOut:function(k){if(k===0){return 0}if(k===1){return 1}if((k*=2)<1){return 0.5*Math.pow(1024,k-1)}return 0.5*(-Math.pow(2,-10*(k-1))+2)},circularIn:function(k){return 1-Math.sqrt(1-k*k)},circularOut:function(k){return Math.sqrt(1-(--k*k))},circularInOut:function(k){if((k*=2)<1){return-0.5*(Math.sqrt(1-k*k)-1)}return 0.5*(Math.sqrt(1-(k-=2)*k)+1)},elasticIn:function(k){var s;var a=0.1;var p=0.4;if(k===0){return 0}if(k===1){return 1}if(!a||a<1){a=1;s=p/4}else{s=p*Math.asin(1/a)/(2*Math.PI)}return-(a*Math.pow(2,10*(k-=1))*Math.sin((k-s)*(2*Math.PI)/p))},elasticOut:function(k){var s;var a=0.1;var p=0.4;if(k===0){return 0}if(k===1){return 1}if(!a||a<1){a=1;s=p/4}else{s=p*Math.asin(1/a)/(2*Math.PI)}return(a*Math.pow(2,-10*k)*Math.sin((k-s)*(2*Math.PI)/p)+1)},elasticInOut:function(k){var s;var a=0.1;var p=0.4;if(k===0){return 0}if(k===1){return 1}if(!a||a<1){a=1;s=p/4}else{s=p*Math.asin(1/a)/(2*Math.PI)}if((k*=2)<1){return-0.5*(a*Math.pow(2,10*(k-=1))*Math.sin((k-s)*(2*Math.PI)/p))}return a*Math.pow(2,-10*(k-=1))*Math.sin((k-s)*(2*Math.PI)/p)*0.5+1},backIn:function(k){var s=1.70158;return k*k*((s+1)*k-s)},backOut:function(k){var s=1.70158;return--k*k*((s+1)*k+s)+1},backInOut:function(k){var s=1.70158*1.525;if((k*=2)<1){return 0.5*(k*k*((s+1)*k-s))}return 0.5*((k-=2)*k*((s+1)*k+s)+2)},bounceIn:function(k){return 1-easing.bounceOut(1-k)},bounceOut:function(k){if(k<(1/2.75)){return 7.5625*k*k}else if(k<(2/2.75)){return 7.5625*(k-=(1.5/2.75))*k+0.75}else if(k<(2.5/2.75)){return 7.5625*(k-=(2.25/2.75))*k+0.9375}else{return 7.5625*(k-=(2.625/2.75))*k+0.984375}},bounceInOut:function(k){if(k<0.5){return easing.bounceIn(k*2)*0.5}return easing.bounceOut(k*2-1)*0.5+0.5}};function Clip(options){this._target=options.target;this._life=options.life||1000;this._delay=options.delay||0;this._initialized=false;this.loop=options.loop==null?false:options.loop;this.gap=options.gap||0;this.easing=options.easing||'Linear';this.onframe=options.onframe;this.ondestroy=options.ondestroy;this.onrestart=options.onrestart;this._pausedTime=0;this._paused=false}Clip.prototype={constructor:Clip,step:function(globalTime,deltaTime){if(!this._initialized){this._startTime=globalTime+this._delay;this._initialized=true}if(this._paused){this._pausedTime+=deltaTime;return}var percent=(globalTime-this._startTime-this._pausedTime)/this._life;if(percent<0){return}percent=Math.min(percent,1);var easing$$1=this.easing;var easingFunc=typeof easing$$1==='string'?easing[easing$$1]:easing$$1;var schedule=typeof easingFunc==='function'?easingFunc(percent):percent;this.fire('frame',schedule);if(percent===1){if(this.loop){this.restart(globalTime);return'restart'}this._needsRemove=true;return'destroy'}return null},restart:function(globalTime){var remainder=(globalTime-this._startTime-this._pausedTime)%this._life;this._startTime=globalTime-remainder+this.gap;this._pausedTime=0;this._needsRemove=false},fire:function(eventType,arg){eventType='on'+eventType;if(this[eventType]){this[eventType](this._target,arg)}},pause:function(){this._paused=true},resume:function(){this._paused=false}};var LinkedList=function(){this.head=null;this.tail=null;this._len=0};var linkedListProto=LinkedList.prototype;linkedListProto.insert=function(val){var entry=new Entry(val);this.insertEntry(entry);return entry};linkedListProto.insertEntry=function(entry){if(!this.head){this.head=this.tail=entry}else{this.tail.next=entry;entry.prev=this.tail;entry.next=null;this.tail=entry}this._len++};linkedListProto.remove=function(entry){var prev=entry.prev;var next=entry.next;if(prev){prev.next=next}else{this.head=next}if(next){next.prev=prev}else{this.tail=prev}entry.next=entry.prev=null;this._len--};linkedListProto.len=function(){return this._len};linkedListProto.clear=function(){this.head=this.tail=null;this._len=0};var Entry=function(val){this.value=val;this.next;this.prev};var LRU=function(maxSize){this._list=new LinkedList();this._map={};this._maxSize=maxSize||10;this._lastRemovedEntry=null};var LRUProto=LRU.prototype;LRUProto.put=function(key,value){var list=this._list;var map=this._map;var removed=null;if(map[key]==null){var len=list.len();var entry=this._lastRemovedEntry;if(len>=this._maxSize&&len>0){var leastUsedEntry=list.head;list.remove(leastUsedEntry);delete map[leastUsedEntry.key];removed=leastUsedEntry.value;this._lastRemovedEntry=leastUsedEntry}if(entry){entry.value=value}else{entry=new Entry(value)}entry.key=key;list.insertEntry(entry);map[key]=entry}return removed};LRUProto.get=function(key){var entry=this._map[key];var list=this._list;if(entry!=null){if(entry!==list.tail){list.remove(entry);list.insertEntry(entry)}return entry.value}};LRUProto.clear=function(){this._list.clear();this._map={}};var kCSSColorTable={'transparent':[0,0,0,0],'aliceblue':[240,248,255,1],'antiquewhite':[250,235,215,1],'aqua':[0,255,255,1],'aquamarine':[127,255,212,1],'azure':[240,255,255,1],'beige':[245,245,220,1],'bisque':[255,228,196,1],'black':[0,0,0,1],'blanchedalmond':[255,235,205,1],'blue':[0,0,255,1],'blueviolet':[138,43,226,1],'brown':[165,42,42,1],'burlywood':[222,184,135,1],'cadetblue':[95,158,160,1],'chartreuse':[127,255,0,1],'chocolate':[210,105,30,1],'coral':[255,127,80,1],'cornflowerblue':[100,149,237,1],'cornsilk':[255,248,220,1],'crimson':[220,20,60,1],'cyan':[0,255,255,1],'darkblue':[0,0,139,1],'darkcyan':[0,139,139,1],'darkgoldenrod':[184,134,11,1],'darkgray':[169,169,169,1],'darkgreen':[0,100,0,1],'darkgrey':[169,169,169,1],'darkkhaki':[189,183,107,1],'darkmagenta':[139,0,139,1],'darkolivegreen':[85,107,47,1],'darkorange':[255,140,0,1],'darkorchid':[153,50,204,1],'darkred':[139,0,0,1],'darksalmon':[233,150,122,1],'darkseagreen':[143,188,143,1],'darkslateblue':[72,61,139,1],'darkslategray':[47,79,79,1],'darkslategrey':[47,79,79,1],'darkturquoise':[0,206,209,1],'darkviolet':[148,0,211,1],'deeppink':[255,20,147,1],'deepskyblue':[0,191,255,1],'dimgray':[105,105,105,1],'dimgrey':[105,105,105,1],'dodgerblue':[30,144,255,1],'firebrick':[178,34,34,1],'floralwhite':[255,250,240,1],'forestgreen':[34,139,34,1],'fuchsia':[255,0,255,1],'gainsboro':[220,220,220,1],'ghostwhite':[248,248,255,1],'gold':[255,215,0,1],'goldenrod':[218,165,32,1],'gray':[128,128,128,1],'green':[0,128,0,1],'greenyellow':[173,255,47,1],'grey':[128,128,128,1],'honeydew':[240,255,240,1],'hotpink':[255,105,180,1],'indianred':[205,92,92,1],'indigo':[75,0,130,1],'ivory':[255,255,240,1],'khaki':[240,230,140,1],'lavender':[230,230,250,1],'lavenderblush':[255,240,245,1],'lawngreen':[124,252,0,1],'lemonchiffon':[255,250,205,1],'lightblue':[173,216,230,1],'lightcoral':[240,128,128,1],'lightcyan':[224,255,255,1],'lightgoldenrodyellow':[250,250,210,1],'lightgray':[211,211,211,1],'lightgreen':[144,238,144,1],'lightgrey':[211,211,211,1],'lightpink':[255,182,193,1],'lightsalmon':[255,160,122,1],'lightseagreen':[32,178,170,1],'lightskyblue':[135,206,250,1],'lightslategray':[119,136,153,1],'lightslategrey':[119,136,153,1],'lightsteelblue':[176,196,222,1],'lightyellow':[255,255,224,1],'lime':[0,255,0,1],'limegreen':[50,205,50,1],'linen':[250,240,230,1],'magenta':[255,0,255,1],'maroon':[128,0,0,1],'mediumaquamarine':[102,205,170,1],'mediumblue':[0,0,205,1],'mediumorchid':[186,85,211,1],'mediumpurple':[147,112,219,1],'mediumseagreen':[60,179,113,1],'mediumslateblue':[123,104,238,1],'mediumspringgreen':[0,250,154,1],'mediumturquoise':[72,209,204,1],'mediumvioletred':[199,21,133,1],'midnightblue':[25,25,112,1],'mintcream':[245,255,250,1],'mistyrose':[255,228,225,1],'moccasin':[255,228,181,1],'navajowhite':[255,222,173,1],'navy':[0,0,128,1],'oldlace':[253,245,230,1],'olive':[128,128,0,1],'olivedrab':[107,142,35,1],'orange':[255,165,0,1],'orangered':[255,69,0,1],'orchid':[218,112,214,1],'palegoldenrod':[238,232,170,1],'palegreen':[152,251,152,1],'paleturquoise':[175,238,238,1],'palevioletred':[219,112,147,1],'papayawhip':[255,239,213,1],'peachpuff':[255,218,185,1],'peru':[205,133,63,1],'pink':[255,192,203,1],'plum':[221,160,221,1],'powderblue':[176,224,230,1],'purple':[128,0,128,1],'red':[255,0,0,1],'rosybrown':[188,143,143,1],'royalblue':[65,105,225,1],'saddlebrown':[139,69,19,1],'salmon':[250,128,114,1],'sandybrown':[244,164,96,1],'seagreen':[46,139,87,1],'seashell':[255,245,238,1],'sienna':[160,82,45,1],'silver':[192,192,192,1],'skyblue':[135,206,235,1],'slateblue':[106,90,205,1],'slategray':[112,128,144,1],'slategrey':[112,128,144,1],'snow':[255,250,250,1],'springgreen':[0,255,127,1],'steelblue':[70,130,180,1],'tan':[210,180,140,1],'teal':[0,128,128,1],'thistle':[216,191,216,1],'tomato':[255,99,71,1],'turquoise':[64,224,208,1],'violet':[238,130,238,1],'wheat':[245,222,179,1],'white':[255,255,255,1],'whitesmoke':[245,245,245,1],'yellow':[255,255,0,1],'yellowgreen':[154,205,50,1]};function clampCssByte(i){i=Math.round(i);return i<0?0:i>255?255:i}function clampCssAngle(i){i=Math.round(i);return i<0?0:i>360?360:i}function clampCssFloat(f){return f<0?0:f>1?1:f}function parseCssInt(str){if(str.length&&str.charAt(str.length-1)==='%'){return clampCssByte(parseFloat(str)/100*255)}return clampCssByte(parseInt(str,10))}function parseCssFloat(str){if(str.length&&str.charAt(str.length-1)==='%'){return clampCssFloat(parseFloat(str)/100)}return clampCssFloat(parseFloat(str))}function cssHueToRgb(m1,m2,h){if(h<0){h+=1}else if(h>1){h-=1}if(h*6<1){return m1+(m2-m1)*h*6}if(h*2<1){return m2}if(h*3<2){return m1+(m2-m1)*(2/3-h)*6}return m1}function lerpNumber(a,b,p){return a+(b-a)*p}function setRgba(out,r,g,b,a){out[0]=r;out[1]=g;out[2]=b;out[3]=a;return out}function copyRgba(out,a){out[0]=a[0];out[1]=a[1];out[2]=a[2];out[3]=a[3];return out}var colorCache=new LRU(20);var lastRemovedArr=null;function putToCache(colorStr,rgbaArr){if(lastRemovedArr){copyRgba(lastRemovedArr,rgbaArr)}lastRemovedArr=colorCache.put(colorStr,lastRemovedArr||(rgbaArr.slice()))}function parse(colorStr,rgbaArr){if(!colorStr){return}rgbaArr=rgbaArr||[];var cached=colorCache.get(colorStr);if(cached){return copyRgba(rgbaArr,cached)}colorStr=colorStr+'';var str=colorStr.replace(/ /g,'').toLowerCase();if(str in kCSSColorTable){copyRgba(rgbaArr,kCSSColorTable[str]);putToCache(colorStr,rgbaArr);return rgbaArr}if(str.charAt(0)==='#'){if(str.length===4){var iv=parseInt(str.substr(1),16);if(!(iv>=0&&iv<=0xfff)){setRgba(rgbaArr,0,0,0,1);return}setRgba(rgbaArr,((iv&0xf00)>>4)|((iv&0xf00)>>8),(iv&0xf0)|((iv&0xf0)>>4),(iv&0xf)|((iv&0xf)<<4),1);putToCache(colorStr,rgbaArr);return rgbaArr}else if(str.length===7){var iv=parseInt(str.substr(1),16);if(!(iv>=0&&iv<=0xffffff)){setRgba(rgbaArr,0,0,0,1);return}setRgba(rgbaArr,(iv&0xff0000)>>16,(iv&0xff00)>>8,iv&0xff,1);putToCache(colorStr,rgbaArr);return rgbaArr}return}var op=str.indexOf('(');var ep=str.indexOf(')');if(op!==-1&&ep+1===str.length){var fname=str.substr(0,op);var params=str.substr(op+1,ep-(op+1)).split(',');var alpha=1;switch(fname){case'rgba':if(params.length!==4){setRgba(rgbaArr,0,0,0,1);return}alpha=parseCssFloat(params.pop());case'rgb':if(params.length!==3){setRgba(rgbaArr,0,0,0,1);return}setRgba(rgbaArr,parseCssInt(params[0]),parseCssInt(params[1]),parseCssInt(params[2]),alpha);putToCache(colorStr,rgbaArr);return rgbaArr;case'hsla':if(params.length!==4){setRgba(rgbaArr,0,0,0,1);return}params[3]=parseCssFloat(params[3]);hsla2rgba(params,rgbaArr);putToCache(colorStr,rgbaArr);return rgbaArr;case'hsl':if(params.length!==3){setRgba(rgbaArr,0,0,0,1);return}hsla2rgba(params,rgbaArr);putToCache(colorStr,rgbaArr);return rgbaArr;default:return}}setRgba(rgbaArr,0,0,0,1);return}function hsla2rgba(hsla,rgba){var h=(((parseFloat(hsla[0])%360)+360)%360)/360;var s=parseCssFloat(hsla[1]);var l=parseCssFloat(hsla[2]);var m2=l<=0.5?l*(s+1):l+s-l*s;var m1=l*2-m2;rgba=rgba||[];setRgba(rgba,clampCssByte(cssHueToRgb(m1,m2,h+1/3)*255),clampCssByte(cssHueToRgb(m1,m2,h)*255),clampCssByte(cssHueToRgb(m1,m2,h-1/3)*255),1);if(hsla.length===4){rgba[3]=hsla[3]}return rgba}function rgba2hsla(rgba){if(!rgba){return}var R=rgba[0]/255;var G=rgba[1]/255;var B=rgba[2]/255;var vMin=Math.min(R,G,B);var vMax=Math.max(R,G,B);var delta=vMax-vMin;var L=(vMax+vMin)/2;var H;var S;if(delta===0){H=0;S=0}else{if(L<0.5){S=delta/(vMax+vMin)}else{S=delta/(2-vMax-vMin)}var deltaR=(((vMax-R)/6)+(delta/2))/delta;var deltaG=(((vMax-G)/6)+(delta/2))/delta;var deltaB=(((vMax-B)/6)+(delta/2))/delta;if(R===vMax){H=deltaB-deltaG}else if(G===vMax){H=(1/3)+deltaR-deltaB}else if(B===vMax){H=(2/3)+deltaG-deltaR}if(H<0){H+=1}if(H>1){H-=1}}var hsla=[H*360,S,L];if(rgba[3]!=null){hsla.push(rgba[3])}return hsla}function lift(color,level){var colorArr=parse(color);if(colorArr){for(var i=0;i<3;i++){if(level<0){colorArr[i]=colorArr[i]*(1-level)|0}else{colorArr[i]=((255-colorArr[i])*level+colorArr[i])|0}if(colorArr[i]>255){colorArr[i]=255}else if(color[i]<0){colorArr[i]=0}}return stringify(colorArr,colorArr.length===4?'rgba':'rgb')}}function toHex(color){var colorArr=parse(color);if(colorArr){return((1<<24)+(colorArr[0]<<16)+(colorArr[1]<<8)+(+colorArr[2])).toString(16).slice(1)}}function fastLerp(normalizedValue,colors,out){if(!(colors&&colors.length)||!(normalizedValue>=0&&normalizedValue<=1)){return}out=out||[];var value=normalizedValue*(colors.length-1);var leftIndex=Math.floor(value);var rightIndex=Math.ceil(value);var leftColor=colors[leftIndex];var rightColor=colors[rightIndex];var dv=value-leftIndex;out[0]=clampCssByte(lerpNumber(leftColor[0],rightColor[0],dv));out[1]=clampCssByte(lerpNumber(leftColor[1],rightColor[1],dv));out[2]=clampCssByte(lerpNumber(leftColor[2],rightColor[2],dv));out[3]=clampCssFloat(lerpNumber(leftColor[3],rightColor[3],dv));return out}var fastMapToColor=fastLerp;function lerp$1(normalizedValue,colors,fullOutput){if(!(colors&&colors.length)||!(normalizedValue>=0&&normalizedValue<=1)){return}var value=normalizedValue*(colors.length-1);var leftIndex=Math.floor(value);var rightIndex=Math.ceil(value);var leftColor=parse(colors[leftIndex]);var rightColor=parse(colors[rightIndex]);var dv=value-leftIndex;var color=stringify([clampCssByte(lerpNumber(leftColor[0],rightColor[0],dv)),clampCssByte(lerpNumber(leftColor[1],rightColor[1],dv)),clampCssByte(lerpNumber(leftColor[2],rightColor[2],dv)),clampCssFloat(lerpNumber(leftColor[3],rightColor[3],dv))],'rgba');return fullOutput?{color:color,leftIndex:leftIndex,rightIndex:rightIndex,value:value}:color}var mapToColor=lerp$1;function modifyHSL(color,h,s,l){color=parse(color);if(color){color=rgba2hsla(color);h!=null&&(color[0]=clampCssAngle(h));s!=null&&(color[1]=parseCssFloat(s));l!=null&&(color[2]=parseCssFloat(l));return stringify(hsla2rgba(color),'rgba')}}function modifyAlpha(color,alpha){color=parse(color);if(color&&alpha!=null){color[3]=clampCssFloat(alpha);return stringify(color,'rgba')}}function stringify(arrColor,type){if(!arrColor||!arrColor.length){return}var colorStr=arrColor[0]+','+arrColor[1]+','+arrColor[2];if(type==='rgba'||type==='hsva'||type==='hsla'){colorStr+=','+arrColor[3]}return type+'('+colorStr+')'}var color=(Object.freeze||Object)({parse:parse,lift:lift,toHex:toHex,fastLerp:fastLerp,fastMapToColor:fastMapToColor,lerp:lerp$1,mapToColor:mapToColor,modifyHSL:modifyHSL,modifyAlpha:modifyAlpha,stringify:stringify});var arraySlice=Array.prototype.slice;function defaultGetter(target,key){return target[key]}function defaultSetter(target,key,value){target[key]=value}function interpolateNumber(p0,p1,percent){return(p1-p0)*percent+p0}function interpolateString(p0,p1,percent){return percent>0.5?p1:p0}function interpolateArray(p0,p1,percent,out,arrDim){var len=p0.length;if(arrDim===1){for(var i=0;iarr1Len;if(isPreviousLarger){arr0.length=arr1Len}else{for(var i=arr0Len;i=0;frame--){if(kfPercents[frame]<=percent){break}}frame=Math.min(frame,trackLen-2)}else{for(frame=lastFrame;framepercent){break}}frame=Math.min(frame-1,trackLen-2)}lastFrame=frame;lastFramePercent=percent;var range=(kfPercents[frame+1]-kfPercents[frame]);if(range===0){return}else{w=(percent-kfPercents[frame])/range}if(useSpline){p1=kfValues[frame];p0=kfValues[frame===0?frame:frame-1];p2=kfValues[frame>trackLen-2?trackLen-1:frame+1];p3=kfValues[frame>trackLen-3?trackLen-1:frame+2];if(isValueArray){catmullRomInterpolateArray(p0,p1,p2,p3,w,w*w,w*w*w,getter(target,propName),arrDim)}else{var value;if(isValueColor){value=catmullRomInterpolateArray(p0,p1,p2,p3,w,w*w,w*w*w,rgba,1);value=rgba2String(rgba)}else if(isValueString){return interpolateString(p1,p2,w)}else{value=catmullRomInterpolate(p0,p1,p2,p3,w,w*w,w*w*w)}setter(target,propName,value)}}else{if(isValueArray){interpolateArray(kfValues[frame],kfValues[frame+1],w,getter(target,propName),arrDim)}else{var value;if(isValueColor){interpolateArray(kfValues[frame],kfValues[frame+1],w,rgba,1);value=rgba2String(rgba)}else if(isValueString){return interpolateString(kfValues[frame],kfValues[frame+1],w)}else{value=interpolateNumber(kfValues[frame],kfValues[frame+1],w)}setter(target,propName,value)}}};var clip=new Clip({target:animator._target,life:trackMaxTime,loop:animator._loop,delay:animator._delay,onframe:onframe,ondestroy:oneTrackDone});if(easing&&easing!=='spline'){clip.easing=easing}return clip}var Animator=function(target,loop,getter,setter){this._tracks={};this._target=target;this._loop=loop||false;this._getter=getter||defaultGetter;this._setter=setter||defaultSetter;this._clipCount=0;this._delay=0;this._doneList=[];this._onframeList=[];this._clipList=[]};Animator.prototype={when:function(time,props){var tracks=this._tracks;for(var propName in props){if(!props.hasOwnProperty(propName)){continue}if(!tracks[propName]){tracks[propName]=[];var value=this._getter(this._target,propName);if(value==null){continue}if(time!==0){tracks[propName].push({time:0,value:cloneValue(value)})}}tracks[propName].push({time:time,value:props[propName]})}return this},during:function(callback){this._onframeList.push(callback);return this},pause:function(){for(var i=0;i0){animatable.animate(path,false).when(time==null?500:time,objShallow).delay(delay||0)}}function setAttrByPath(el,path,name,value){if(!path){el.attr(name,value)}else{var props={};props[path]={};props[path][name]=value;el.attr(props)}}var Element=function(opts){Transformable.call(this,opts);Eventful.call(this,opts);Animatable.call(this,opts);this.id=opts.id||guid()};Element.prototype={type:'element',name:'',__zr:null,ignore:false,clipPath:null,isGroup:false,drift:function(dx,dy){switch(this.draggable){case'horizontal':dy=0;break;case'vertical':dx=0;break}var m=this.transform;if(!m){m=this.transform=[1,0,0,1,0,0]}m[4]+=dx;m[5]+=dy;this.decomposeTransform();this.dirty(false)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(cb,context){},attrKV:function(key,value){if(key==='position'||key==='scale'||key==='origin'){if(value){var target=this[key];if(!target){target=this[key]=[]}target[0]=value[0];target[1]=value[1]}}else{this[key]=value}},hide:function(){this.ignore=true;this.__zr&&this.__zr.refresh()},show:function(){this.ignore=false;this.__zr&&this.__zr.refresh()},attr:function(key,value){if(typeof key==='string'){this.attrKV(key,value)}else if(isObject$1(key)){for(var name in key){if(key.hasOwnProperty(name)){this.attrKV(name,key[name])}}}this.dirty(false);return this},setClipPath:function(clipPath){var zr=this.__zr;if(zr){clipPath.addSelfToZr(zr)}if(this.clipPath&&this.clipPath!==clipPath){this.removeClipPath()}this.clipPath=clipPath;clipPath.__zr=zr;clipPath.__clipTarget=this;this.dirty(false)},removeClipPath:function(){var clipPath=this.clipPath;if(clipPath){if(clipPath.__zr){clipPath.removeSelfFromZr(clipPath.__zr)}clipPath.__zr=null;clipPath.__clipTarget=null;this.clipPath=null;this.dirty(false)}},addSelfToZr:function(zr){this.__zr=zr;var animators=this.animators;if(animators){for(var i=0;i=rect.x&&x<=(rect.x+rect.width)&&y>=rect.y&&y<=(rect.y+rect.height)},clone:function(){return new BoundingRect(this.x,this.y,this.width,this.height)},copy:function(other){this.x=other.x;this.y=other.y;this.width=other.width;this.height=other.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}};BoundingRect.create=function(rect){return new BoundingRect(rect.x,rect.y,rect.width,rect.height)};var Group=function(opts){opts=opts||{};Element.call(this,opts);for(var key in opts){if(opts.hasOwnProperty(key)){this[key]=opts[key]}}this._children=[];this.__storage=null;this.__dirty=true};Group.prototype={constructor:Group,isGroup:true,type:'group',silent:false,children:function(){return this._children.slice()},childAt:function(idx){return this._children[idx]},childOfName:function(name){var children=this._children;for(var i=0;i=0){children.splice(idx,0,child);this._doAdd(child)}}return this},_doAdd:function(child){if(child.parent){child.parent.remove(child)}child.parent=this;var storage=this.__storage;var zr=this.__zr;if(storage&&storage!==child.__storage){storage.addToStorage(child);if(child instanceof Group){child.addChildrenToStorage(storage)}}zr&&zr.refresh()},remove:function(child){var zr=this.__zr;var storage=this.__storage;var children=this._children;var idx=indexOf(children,child);if(idx<0){return this}children.splice(idx,1);child.parent=null;if(storage){storage.delFromStorage(child);if(child instanceof Group){child.delChildrenFromStorage(storage)}}zr&&zr.refresh();return this},removeAll:function(){var children=this._children;var storage=this.__storage;var child;var i;for(i=0;i=DEFAULT_MIN_MERGE){r|=n&1;n>>=1}return n+r}function makeAscendingRun(array,lo,hi,compare){var runHi=lo+1;if(runHi===hi){return 1}if(compare(array[runHi++],array[lo])<0){while(runHi=0){runHi++}}return runHi-lo}function reverseRun(array,lo,hi){hi--;while(lo>>1;if(compare(pivot,array[mid])<0){right=mid}else{left=mid+1}}var n=start-left;switch(n){case 3:array[left+3]=array[left+2];case 2:array[left+2]=array[left+1];case 1:array[left+1]=array[left];break;default:while(n>0){array[left+n]=array[left+n-1];n--}}array[left]=pivot}}function gallopLeft(value,array,start,length,hint,compare){var lastOffset=0;var maxOffset=0;var offset=1;if(compare(value,array[start+hint])>0){maxOffset=length-hint;while(offset0){lastOffset=offset;offset=(offset<<1)+1;if(offset<=0){offset=maxOffset}}if(offset>maxOffset){offset=maxOffset}lastOffset+=hint;offset+=hint}else{maxOffset=hint+1;while(offsetmaxOffset){offset=maxOffset}var tmp=lastOffset;lastOffset=hint-offset;offset=hint-tmp}lastOffset++;while(lastOffset>>1);if(compare(value,array[start+m])>0){lastOffset=m+1}else{offset=m}}return offset}function gallopRight(value,array,start,length,hint,compare){var lastOffset=0;var maxOffset=0;var offset=1;if(compare(value,array[start+hint])<0){maxOffset=hint+1;while(offsetmaxOffset){offset=maxOffset}var tmp=lastOffset;lastOffset=hint-offset;offset=hint-tmp}else{maxOffset=length-hint;while(offset=0){lastOffset=offset;offset=(offset<<1)+1;if(offset<=0){offset=maxOffset}}if(offset>maxOffset){offset=maxOffset}lastOffset+=hint;offset+=hint}lastOffset++;while(lastOffset>>1);if(compare(value,array[start+m])<0){offset=m}else{lastOffset=m+1}}return offset}function TimSort(array,compare){var minGallop=DEFAULT_MIN_GALLOPING;var runStart;var runLength;var stackSize=0;var tmp=[];runStart=[];runLength=[];function pushRun(_runStart,_runLength){runStart[stackSize]=_runStart;runLength[stackSize]=_runLength;stackSize+=1}function mergeRuns(){while(stackSize>1){var n=stackSize-2;if((n>=1&&runLength[n-1]<=runLength[n]+runLength[n+1])||(n>=2&&runLength[n-2]<=runLength[n]+runLength[n-1])){if(runLength[n-1]runLength[n+1]){break}mergeAt(n)}}function forceMergeRuns(){while(stackSize>1){var n=stackSize-2;if(n>0&&runLength[n-1]=DEFAULT_MIN_GALLOPING||count2>=DEFAULT_MIN_GALLOPING);if(exit){break}if(_minGallop<0){_minGallop=0}_minGallop+=2}minGallop=_minGallop;minGallop<1&&(minGallop=1);if(length1===1){for(i=0;i=0;i--){array[customDest+i]=array[customCursor+i]}array[dest]=tmp[cursor2];return}var _minGallop=minGallop;while(true){var count1=0;var count2=0;var exit=false;do{if(compare(tmp[cursor2],array[cursor1])<0){array[dest--]=array[cursor1--];count1++;count2=0;if(--length1===0){exit=true;break}}else{array[dest--]=tmp[cursor2--];count2++;count1=0;if(--length2===1){exit=true;break}}}while((count1|count2)<_minGallop);if(exit){break}do{count1=length1-gallopRight(tmp[cursor2],array,start1,length1,length1-1,compare);if(count1!==0){dest-=count1;cursor1-=count1;length1-=count1;customDest=dest+1;customCursor=cursor1+1;for(i=count1-1;i>=0;i--){array[customDest+i]=array[customCursor+i]}if(length1===0){exit=true;break}}array[dest--]=tmp[cursor2--];if(--length2===1){exit=true;break}count2=length2-gallopLeft(array[cursor1],tmp,0,length2,length2-1,compare);if(count2!==0){dest-=count2;cursor2-=count2;length2-=count2;customDest=dest+1;customCursor=cursor2+1;for(i=0;i=DEFAULT_MIN_GALLOPING||count2>=DEFAULT_MIN_GALLOPING);if(exit){break}if(_minGallop<0){_minGallop=0}_minGallop+=2}minGallop=_minGallop;if(minGallop<1){minGallop=1}if(length2===1){dest-=length1;cursor1-=length1;customDest=dest+1;customCursor=cursor1+1;for(i=length1-1;i>=0;i--){array[customDest+i]=array[customCursor+i]}array[dest]=tmp[cursor2]}else if(length2===0){throw new Error();}else{customCursor=dest-(length2-1);for(i=0;iminRun){force=minRun}binaryInsertionSort(array,lo,lo+force,lo+runLength,compare);runLength=force}ts.pushRun(lo,runLength);ts.mergeRuns();remaining-=runLength;lo+=runLength}while(remaining!==0);ts.forceMergeRuns()}function shapeCompareFunc(a,b){if(a.zlevel===b.zlevel){if(a.z===b.z){return a.z2-b.z2}return a.z-b.z}return a.zlevel-b.zlevel}var Storage=function(){this._roots=[];this._displayList=[];this._displayListLen=0};Storage.prototype={constructor:Storage,traverse:function(cb,context){for(var i=0;i=0){this.delFromStorage(el);this._roots.splice(idx,1);if(el instanceof Group){el.delChildrenFromStorage(this)}}},addToStorage:function(el){if(el){el.__storage=this;el.dirty(false)}return this},delFromStorage:function(el){if(el){el.__storage=null}return this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:shapeCompareFunc};var SHADOW_PROPS={'shadowBlur':1,'shadowOffsetX':1,'shadowOffsetY':1,'textShadowBlur':1,'textShadowOffsetX':1,'textShadowOffsetY':1,'textBoxShadowBlur':1,'textBoxShadowOffsetX':1,'textBoxShadowOffsetY':1};var fixShadow=function(ctx,propName,value){if(SHADOW_PROPS.hasOwnProperty(propName)){return value*=ctx.dpr}return value};var ContextCachedBy={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2};var WILL_BE_RESTORED=9;var STYLE_COMMON_PROPS=[['shadowBlur',0],['shadowOffsetX',0],['shadowOffsetY',0],['shadowColor','#000'],['lineCap','butt'],['lineJoin','miter'],['miterLimit',10]];var Style=function(opts){this.extendFrom(opts,false)};function createLinearGradient(ctx,obj,rect){var x=obj.x==null?0:obj.x;var x2=obj.x2==null?1:obj.x2;var y=obj.y==null?0:obj.y;var y2=obj.y2==null?0:obj.y2;if(!obj.global){x=x*rect.width+rect.x;x2=x2*rect.width+rect.x;y=y*rect.height+rect.y;y2=y2*rect.height+rect.y}x=isNaN(x)?0:x;x2=isNaN(x2)?1:x2;y=isNaN(y)?0:y;y2=isNaN(y2)?0:y2;var canvasGradient=ctx.createLinearGradient(x,y,x2,y2);return canvasGradient}function createRadialGradient(ctx,obj,rect){var width=rect.width;var height=rect.height;var min=Math.min(width,height);var x=obj.x==null?0.5:obj.x;var y=obj.y==null?0.5:obj.y;var r=obj.r==null?0.5:obj.r;if(!obj.global){x=x*width+rect.x;y=y*height+rect.y;r=r*min}var canvasGradient=ctx.createRadialGradient(x,y,0,x,y,r);return canvasGradient}Style.prototype={constructor:Style,fill:'#000',stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:false,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:'#000',textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:'inside',textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:'transparent',textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:'transparent',textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:false,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(ctx,el,prevEl){var style=this;var prevStyle=prevEl&&prevEl.style;var notCheckCache=!prevStyle||ctx.__attrCachedBy!==ContextCachedBy.STYLE_BIND;ctx.__attrCachedBy=ContextCachedBy.STYLE_BIND;for(var i=0;i0},extendFrom:function(otherStyle,overwrite){if(otherStyle){for(var name in otherStyle){if(otherStyle.hasOwnProperty(name)&&(overwrite===true||(overwrite===false?!this.hasOwnProperty(name):otherStyle[name]!=null))){this[name]=otherStyle[name]}}}},set:function(obj,value){if(typeof obj==='string'){this[obj]=value}else{this.extendFrom(obj,true)}},clone:function(){var newStyle=new this.constructor();newStyle.extendFrom(this,true);return newStyle},getGradient:function(ctx,obj,rect){var method=obj.type==='radial'?createRadialGradient:createLinearGradient;var canvasGradient=method(ctx,obj,rect);var colorStops=obj.colorStops;for(var i=0;iTEXT_CACHE_MAX){textWidthCacheCounter=0;textWidthCache={}}textWidthCacheCounter++;textWidthCache[key]=width;return width}function getBoundingRect(text,font,textAlign,textVerticalAlign,textPadding,textLineHeight,rich,truncate){return rich?getRichTextRect(text,font,textAlign,textVerticalAlign,textPadding,textLineHeight,rich,truncate):getPlainTextRect(text,font,textAlign,textVerticalAlign,textPadding,textLineHeight,truncate)}function getPlainTextRect(text,font,textAlign,textVerticalAlign,textPadding,textLineHeight,truncate){var contentBlock=parsePlainText(text,font,textPadding,textLineHeight,truncate);var outerWidth=getWidth(text,font);if(textPadding){outerWidth+=textPadding[1]+textPadding[3]}var outerHeight=contentBlock.outerHeight;var x=adjustTextX(0,outerWidth,textAlign);var y=adjustTextY(0,outerHeight,textVerticalAlign);var rect=new BoundingRect(x,y,outerWidth,outerHeight);rect.lineHeight=contentBlock.lineHeight;return rect}function getRichTextRect(text,font,textAlign,textVerticalAlign,textPadding,textLineHeight,rich,truncate){var contentBlock=parseRichText(text,{rich:rich,truncate:truncate,font:font,textAlign:textAlign,textPadding:textPadding,textLineHeight:textLineHeight});var outerWidth=contentBlock.outerWidth;var outerHeight=contentBlock.outerHeight;var x=adjustTextX(0,outerWidth,textAlign);var y=adjustTextY(0,outerHeight,textVerticalAlign);return new BoundingRect(x,y,outerWidth,outerHeight)}function adjustTextX(x,width,textAlign){if(textAlign==='right'){x-=width}else if(textAlign==='center'){x-=width/2}return x}function adjustTextY(y,height,textVerticalAlign){if(textVerticalAlign==='middle'){y-=height/2}else if(textVerticalAlign==='bottom'){y-=height}return y}function calculateTextPosition(out,style,rect){var textPosition=style.textPosition;var distance=style.textDistance;var x=rect.x;var y=rect.y;distance=distance||0;var height=rect.height;var width=rect.width;var halfHeight=height/2;var textAlign='left';var textVerticalAlign='top';switch(textPosition){case'left':x-=distance;y+=halfHeight;textAlign='right';textVerticalAlign='middle';break;case'right':x+=distance+width;y+=halfHeight;textVerticalAlign='middle';break;case'top':x+=width/2;y-=distance;textAlign='center';textVerticalAlign='bottom';break;case'bottom':x+=width/2;y+=height+distance;textAlign='center';break;case'inside':x+=width/2;y+=halfHeight;textAlign='center';textVerticalAlign='middle';break;case'insideLeft':x+=distance;y+=halfHeight;textVerticalAlign='middle';break;case'insideRight':x+=width-distance;y+=halfHeight;textAlign='right';textVerticalAlign='middle';break;case'insideTop':x+=width/2;y+=distance;textAlign='center';break;case'insideBottom':x+=width/2;y+=height-distance;textAlign='center';textVerticalAlign='bottom';break;case'insideTopLeft':x+=distance;y+=distance;break;case'insideTopRight':x+=width-distance;y+=distance;textAlign='right';break;case'insideBottomLeft':x+=distance;y+=height-distance;textVerticalAlign='bottom';break;case'insideBottomRight':x+=width-distance;y+=height-distance;textAlign='right';textVerticalAlign='bottom';break}out=out||{};out.x=x;out.y=y;out.textAlign=textAlign;out.textVerticalAlign=textVerticalAlign;return out}function truncateText(text,containerWidth,font,ellipsis,options){if(!containerWidth){return''}var textLines=(text+'').split('\n');options=prepareTruncateOptions(containerWidth,font,ellipsis,options);for(var i=0,len=textLines.length;i=ascCharWidth;i++){contentWidth-=ascCharWidth}var ellipsisWidth=getWidth(ellipsis,font);if(ellipsisWidth>contentWidth){ellipsis='';ellipsisWidth=0}contentWidth=containerWidth-ellipsisWidth;options.ellipsis=ellipsis;options.ellipsisWidth=ellipsisWidth;options.contentWidth=contentWidth;options.containerWidth=containerWidth;return options}function truncateSingleLine(textLine,options){var containerWidth=options.containerWidth;var font=options.font;var contentWidth=options.contentWidth;if(!containerWidth){return''}var lineWidth=getWidth(textLine,font);if(lineWidth<=containerWidth){return textLine}for(var j=0;;j++){if(lineWidth<=contentWidth||j>=options.maxIterations){textLine+=options.ellipsis;break}var subLength=j===0?estimateLength(textLine,contentWidth,options.ascCharWidth,options.cnCharWidth):lineWidth>0?Math.floor(textLine.length*contentWidth/lineWidth):0;textLine=textLine.substr(0,subLength);lineWidth=getWidth(textLine,font)}if(textLine===''){textLine=options.placeholder}return textLine}function estimateLength(text,contentWidth,ascCharWidth,cnCharWidth){var width=0;var i=0;for(var len=text.length;itruncOuterHeight){text='';lines=[]}else if(truncOuterWidth!=null){var options=prepareTruncateOptions(truncOuterWidth-(padding?padding[1]+padding[3]:0),font,truncate.ellipsis,{minChar:truncate.minChar,placeholder:truncate.placeholder});for(var i=0,len=lines.length;ilastIndex){pushTokens(contentBlock,text.substring(lastIndex,matchedIndex))}pushTokens(contentBlock,result[2],result[1]);lastIndex=STYLE_REG.lastIndex}if(lastIndextruncateHeight){return{lines:[],width:0,height:0}}token.textWidth=getWidth(token.text,font);var tokenWidth=tokenStyle.textWidth;var tokenWidthNotSpecified=tokenWidth==null||tokenWidth==='auto';if(typeof tokenWidth==='string'&&tokenWidth.charAt(tokenWidth.length-1)==='%'){token.percentWidth=tokenWidth;pendingList.push(token);tokenWidth=0}else{if(tokenWidthNotSpecified){tokenWidth=token.textWidth;var textBackgroundColor=tokenStyle.textBackgroundColor;var bgImg=textBackgroundColor&&textBackgroundColor.image;if(bgImg){bgImg=findExistImage(bgImg);if(isImageReady(bgImg)){tokenWidth=Math.max(tokenWidth,bgImg.width*tokenHeight/bgImg.height)}}}var paddingW=textPadding?textPadding[1]+textPadding[3]:0;tokenWidth+=paddingW;var remianTruncWidth=truncateWidth!=null?truncateWidth-lineWidth:null;if(remianTruncWidth!=null&&remianTruncWidthwidth){total=r1+r2;r1*=width/total;r2*=width/total}if(r3+r4>width){total=r3+r4;r3*=width/total;r4*=width/total}if(r2+r3>height){total=r2+r3;r2*=height/total;r3*=height/total}if(r1+r4>height){total=r1+r4;r1*=height/total;r4*=height/total}ctx.moveTo(x+r1,y);ctx.lineTo(x+width-r2,y);r2!==0&&ctx.arc(x+width-r2,y+r2,r2,-Math.PI/2,0);ctx.lineTo(x+width,y+height-r3);r3!==0&&ctx.arc(x+width-r3,y+height-r3,r3,0,Math.PI/2);ctx.lineTo(x+r4,y+height);r4!==0&&ctx.arc(x+r4,y+height-r4,r4,Math.PI/2,Math.PI);ctx.lineTo(x,y+r1);r1!==0&&ctx.arc(x+r1,y+r1,r1,Math.PI,Math.PI*1.5)}var DEFAULT_FONT=DEFAULT_FONT$1;var VALID_TEXT_ALIGN={left:1,right:1,center:1};var VALID_TEXT_VERTICAL_ALIGN={top:1,bottom:1,middle:1};var SHADOW_STYLE_COMMON_PROPS=[['textShadowBlur','shadowBlur',0],['textShadowOffsetX','shadowOffsetX',0],['textShadowOffsetY','shadowOffsetY',0],['textShadowColor','shadowColor','transparent']];var _tmpTextPositionResult={};var _tmpBoxPositionResult={};function normalizeTextStyle(style){normalizeStyle(style);each$1(style.rich,normalizeStyle);return style}function normalizeStyle(style){if(style){style.font=makeFont(style);var textAlign=style.textAlign;textAlign==='middle'&&(textAlign='center');style.textAlign=(textAlign==null||VALID_TEXT_ALIGN[textAlign])?textAlign:'left';var textVerticalAlign=style.textVerticalAlign||style.textBaseline;textVerticalAlign==='center'&&(textVerticalAlign='middle');style.textVerticalAlign=(textVerticalAlign==null||VALID_TEXT_VERTICAL_ALIGN[textVerticalAlign])?textVerticalAlign:'top';var textPadding=style.textPadding;if(textPadding){style.textPadding=normalizeCssArray(style.textPadding)}}}function renderText(hostEl,ctx,text,style,rect,prevEl){style.rich?renderRichText(hostEl,ctx,text,style,rect,prevEl):renderPlainText(hostEl,ctx,text,style,rect,prevEl)}function renderPlainText(hostEl,ctx,text,style,rect,prevEl){'use strict';var needDrawBg=needDrawBackground(style);var prevStyle;var checkCache=false;var cachedByMe=ctx.__attrCachedBy===ContextCachedBy.PLAIN_TEXT;if(prevEl!==WILL_BE_RESTORED){if(prevEl){prevStyle=prevEl.style;checkCache=!needDrawBg&&cachedByMe&&prevStyle}ctx.__attrCachedBy=needDrawBg?ContextCachedBy.NONE:ContextCachedBy.PLAIN_TEXT}else if(cachedByMe){ctx.__attrCachedBy=ContextCachedBy.NONE}var styleFont=style.font||DEFAULT_FONT;if(!checkCache||styleFont!==(prevStyle.font||DEFAULT_FONT)){ctx.font=styleFont}var computedFont=hostEl.__computedFont;if(hostEl.__styleFont!==styleFont){hostEl.__styleFont=styleFont;computedFont=hostEl.__computedFont=ctx.font}var textPadding=style.textPadding;var textLineHeight=style.textLineHeight;var contentBlock=hostEl.__textCotentBlock;if(!contentBlock||hostEl.__dirtyText){contentBlock=hostEl.__textCotentBlock=parsePlainText(text,computedFont,textPadding,textLineHeight,style.truncate)}var outerHeight=contentBlock.outerHeight;var textLines=contentBlock.lines;var lineHeight=contentBlock.lineHeight;var boxPos=getBoxPosition(_tmpBoxPositionResult,hostEl,style,rect);var baseX=boxPos.baseX;var baseY=boxPos.baseY;var textAlign=boxPos.textAlign||'left';var textVerticalAlign=boxPos.textVerticalAlign;applyTextRotation(ctx,style,rect,baseX,baseY);var boxY=adjustTextY(baseY,outerHeight,textVerticalAlign);var textX=baseX;var textY=boxY;if(needDrawBg||textPadding){var textWidth=getWidth(text,computedFont);var outerWidth=textWidth;textPadding&&(outerWidth+=textPadding[1]+textPadding[3]);var boxX=adjustTextX(baseX,outerWidth,textAlign);needDrawBg&&drawBackground(hostEl,ctx,style,boxX,boxY,outerWidth,outerHeight);if(textPadding){textX=getTextXForPadding(baseX,textAlign,textPadding);textY+=textPadding[0]}}ctx.textAlign=textAlign;ctx.textBaseline='middle';ctx.globalAlpha=style.opacity||1;for(var i=0;i=0&&(token=tokens[rightIndex],token.textAlign==='right')){placeToken(hostEl,ctx,token,style,lineHeight,lineTop,lineXRight,'right');usedWidth-=token.width;lineXRight-=token.width;rightIndex--}lineXLeft+=(contentWidth-(lineXLeft-xLeft)-(xRight-lineXRight)-usedWidth)/2;while(leftIndex<=rightIndex){token=tokens[leftIndex];placeToken(hostEl,ctx,token,style,lineHeight,lineTop,lineXLeft+token.width/2,'center');lineXLeft+=token.width;leftIndex++}lineTop+=lineHeight}}function applyTextRotation(ctx,style,rect,x,y){if(rect&&style.textRotation){var origin=style.textOrigin;if(origin==='center'){x=rect.width/2+rect.x;y=rect.height/2+rect.y}else if(origin){x=origin[0]+rect.x;y=origin[1]+rect.y}ctx.translate(x,y);ctx.rotate(-style.textRotation);ctx.translate(-x,-y)}}function placeToken(hostEl,ctx,token,style,lineHeight,lineTop,x,textAlign){var tokenStyle=style.rich[token.styleName]||{};tokenStyle.text=token.text;var textVerticalAlign=token.textVerticalAlign;var y=lineTop+lineHeight/2;if(textVerticalAlign==='top'){y=lineTop+token.height/2}else if(textVerticalAlign==='bottom'){y=lineTop+lineHeight-token.height/2}!token.isLineHolder&&needDrawBackground(tokenStyle)&&drawBackground(hostEl,ctx,tokenStyle,textAlign==='right'?x-token.width:textAlign==='center'?x-token.width/2:x,y-token.height/2,token.width,token.height);var textPadding=token.textPadding;if(textPadding){x=getTextXForPadding(x,textAlign,textPadding);y-=token.height/2-textPadding[2]-token.textHeight/2}setCtx(ctx,'shadowBlur',retrieve3(tokenStyle.textShadowBlur,style.textShadowBlur,0));setCtx(ctx,'shadowColor',tokenStyle.textShadowColor||style.textShadowColor||'transparent');setCtx(ctx,'shadowOffsetX',retrieve3(tokenStyle.textShadowOffsetX,style.textShadowOffsetX,0));setCtx(ctx,'shadowOffsetY',retrieve3(tokenStyle.textShadowOffsetY,style.textShadowOffsetY,0));setCtx(ctx,'textAlign',textAlign);setCtx(ctx,'textBaseline','middle');setCtx(ctx,'font',token.font||DEFAULT_FONT);var textStroke=getStroke(tokenStyle.textStroke||style.textStroke,textStrokeWidth);var textFill=getFill(tokenStyle.textFill||style.textFill);var textStrokeWidth=retrieve2(tokenStyle.textStrokeWidth,style.textStrokeWidth);if(textStroke){setCtx(ctx,'lineWidth',textStrokeWidth);setCtx(ctx,'strokeStyle',textStroke);ctx.strokeText(token.text,x,y)}if(textFill){setCtx(ctx,'fillStyle',textFill);ctx.fillText(token.text,x,y)}}function needDrawBackground(style){return!!(style.textBackgroundColor||(style.textBorderWidth&&style.textBorderColor))}function drawBackground(hostEl,ctx,style,x,y,width,height){var textBackgroundColor=style.textBackgroundColor;var textBorderWidth=style.textBorderWidth;var textBorderColor=style.textBorderColor;var isPlainBg=isString(textBackgroundColor);setCtx(ctx,'shadowBlur',style.textBoxShadowBlur||0);setCtx(ctx,'shadowColor',style.textBoxShadowColor||'transparent');setCtx(ctx,'shadowOffsetX',style.textBoxShadowOffsetX||0);setCtx(ctx,'shadowOffsetY',style.textBoxShadowOffsetY||0);if(isPlainBg||(textBorderWidth&&textBorderColor)){ctx.beginPath();var textBorderRadius=style.textBorderRadius;if(!textBorderRadius){ctx.rect(x,y,width,height)}else{buildPath(ctx,{x:x,y:y,width:width,height:height,r:textBorderRadius})}ctx.closePath()}if(isPlainBg){setCtx(ctx,'fillStyle',textBackgroundColor);if(style.fillOpacity!=null){var originalGlobalAlpha=ctx.globalAlpha;ctx.globalAlpha=style.fillOpacity*style.opacity;ctx.fill();ctx.globalAlpha=originalGlobalAlpha}else{ctx.fill()}}else if(isObject$1(textBackgroundColor)){var image=textBackgroundColor.image;image=createOrUpdateImage(image,null,hostEl,onBgImageLoaded,textBackgroundColor);if(image&&isImageReady(image)){ctx.drawImage(image,x,y,width,height)}}if(textBorderWidth&&textBorderColor){setCtx(ctx,'lineWidth',textBorderWidth);setCtx(ctx,'strokeStyle',textBorderColor);if(style.strokeOpacity!=null){var originalGlobalAlpha=ctx.globalAlpha;ctx.globalAlpha=style.strokeOpacity*style.opacity;ctx.stroke();ctx.globalAlpha=originalGlobalAlpha}else{ctx.stroke()}}}function onBgImageLoaded(image,textBackgroundColor){textBackgroundColor.image=image}function getBoxPosition(out,hostEl,style,rect){var baseX=style.x||0;var baseY=style.y||0;var textAlign=style.textAlign;var textVerticalAlign=style.textVerticalAlign;if(rect){var textPosition=style.textPosition;if(textPosition instanceof Array){baseX=rect.x+parsePercent(textPosition[0],rect.width);baseY=rect.y+parsePercent(textPosition[1],rect.height)}else{var res=(hostEl&&hostEl.calculateTextPosition)?hostEl.calculateTextPosition(_tmpTextPositionResult,style,rect):calculateTextPosition(_tmpTextPositionResult,style,rect);baseX=res.x;baseY=res.y;textAlign=textAlign||res.textAlign;textVerticalAlign=textVerticalAlign||res.textVerticalAlign}var textOffset=style.textOffset;if(textOffset){baseX+=textOffset[0];baseY+=textOffset[1]}}out=out||{};out.baseX=baseX;out.baseY=baseY;out.textAlign=textAlign;out.textVerticalAlign=textVerticalAlign;return out}function setCtx(ctx,prop,value){ctx[prop]=fixShadow(ctx,prop,value);return ctx[prop]}function getStroke(stroke,lineWidth){return(stroke==null||lineWidth<=0||stroke==='transparent'||stroke==='none')?null:(stroke.image||stroke.colorStops)?'#000':stroke}function getFill(fill){return(fill==null||fill==='none')?null:(fill.image||fill.colorStops)?'#000':fill}function parsePercent(value,maxValue){if(typeof value==='string'){if(value.lastIndexOf('%')>=0){return parseFloat(value)/100*maxValue}return parseFloat(value)}return value}function getTextXForPadding(x,textAlign,textPadding){return textAlign==='right'?(x-textPadding[1]):textAlign==='center'?(x+textPadding[3]/2-textPadding[1]/2):(x+textPadding[3])}function needDrawText(text,style){return text!=null&&(text||style.textBackgroundColor||(style.textBorderWidth&&style.textBorderColor)||style.textPadding)}var tmpRect$1=new BoundingRect();var RectText=function(){};RectText.prototype={constructor:RectText,drawRectText:function(ctx,rect){var style=this.style;rect=style.textRect||rect;this.__dirty&&normalizeTextStyle(style,true);var text=style.text;text!=null&&(text+='');if(!needDrawText(text,style)){return}ctx.save();var transform=this.transform;if(!style.transformText){if(transform){tmpRect$1.copy(rect);tmpRect$1.applyTransform(transform);rect=tmpRect$1}}else{this.setTransform(ctx)}renderText(this,ctx,text,style,rect,WILL_BE_RESTORED);ctx.restore()}};function Displayable(opts){opts=opts||{};Element.call(this,opts);for(var name in opts){if(opts.hasOwnProperty(name)&&name!=='style'){this[name]=opts[name]}}this.style=new Style(opts.style,this);this._rect=null;this.__clipPaths=null}Displayable.prototype={constructor:Displayable,type:'displayable',__dirty:true,invisible:false,z:0,z2:0,zlevel:0,draggable:false,dragging:false,silent:false,culling:false,cursor:'pointer',rectHover:false,progressive:false,incremental:false,globalScaleRatio:1,beforeBrush:function(ctx){},afterBrush:function(ctx){},brush:function(ctx,prevEl){},getBoundingRect:function(){},contain:function(x,y){return this.rectContain(x,y)},traverse:function(cb,context){cb.call(context,this)},rectContain:function(x,y){var coord=this.transformCoordToLocal(x,y);var rect=this.getBoundingRect();return rect.contain(coord[0],coord[1])},dirty:function(){this.__dirty=this.__dirtyText=true;this._rect=null;this.__zr&&this.__zr.refresh()},animateStyle:function(loop){return this.animate('style',loop)},attrKV:function(key,value){if(key!=='style'){Element.prototype.attrKV.call(this,key,value)}else{this.style.set(value)}},setStyle:function(key,value){this.style.set(key,value);this.dirty(false);return this},useStyle:function(obj){this.style=new Style(obj,this);this.dirty(false);return this},calculateTextPosition:null};inherits(Displayable,Element);mixin(Displayable,RectText);function ZImage(opts){Displayable.call(this,opts)}ZImage.prototype={constructor:ZImage,type:'image',brush:function(ctx,prevEl){var style=this.style;var src=style.image;style.bind(ctx,this,prevEl);var image=this._image=createOrUpdateImage(src,this._image,this,this.onload);if(!image||!isImageReady(image)){return}var x=style.x||0;var y=style.y||0;var width=style.width;var height=style.height;var aspect=image.width/image.height;if(width==null&&height!=null){width=height*aspect}else if(height==null&&width!=null){height=width/aspect}else if(width==null&&height==null){width=image.width;height=image.height}this.setTransform(ctx);if(style.sWidth&&style.sHeight){var sx=style.sx||0;var sy=style.sy||0;ctx.drawImage(image,sx,sy,style.sWidth,style.sHeight,x,y,width,height)}else if(style.sx&&style.sy){var sx=style.sx;var sy=style.sy;var sWidth=width-sx;var sHeight=height-sy;ctx.drawImage(image,sx,sy,sWidth,sHeight,x,y,width,height)}else{ctx.drawImage(image,x,y,width,height)}if(style.text!=null){this.restoreTransform(ctx);this.drawRectText(ctx,this.getBoundingRect())}},getBoundingRect:function(){var style=this.style;if(!this._rect){this._rect=new BoundingRect(style.x||0,style.y||0,style.width||0,style.height||0)}return this._rect}};inherits(ZImage,Displayable);var HOVER_LAYER_ZLEVEL=1e5;var CANVAS_ZLEVEL=314159;var EL_AFTER_INCREMENTAL_INC=0.01;var INCREMENTAL_INC=0.001;function parseInt10(val){return parseInt(val,10)}function isLayerValid(layer){if(!layer){return false}if(layer.__builtin__){return true}if(typeof(layer.resize)!=='function'||typeof(layer.refresh)!=='function'){return false}return true}var tmpRect=new BoundingRect(0,0,0,0);var viewRect=new BoundingRect(0,0,0,0);function isDisplayableCulled(el,width,height){tmpRect.copy(el.getBoundingRect());if(el.transform){tmpRect.applyTransform(el.transform)}viewRect.width=width;viewRect.height=height;return!tmpRect.intersect(viewRect)}function isClipPathChanged(clipPaths,prevClipPaths){if(clipPaths===prevClipPaths){return false}if(!clipPaths||!prevClipPaths||(clipPaths.length!==prevClipPaths.length)){return true}for(var i=0;i=0){hoverElements.splice(idx,1)}el.__hoverMir=null},clearHover:function(el){var hoverElements=this._hoverElements;for(var i=0;i15){break}}}layer.__drawIndex=i;if(layer.__drawIndex0&&zlevel>zlevelList[0]){for(i=0;izlevel){break}}prevLayer=layersMap[zlevelList[i]]}zlevelList.splice(i+1,0,zlevel);layersMap[zlevel]=layer;if(!layer.virtual){if(prevLayer){var prevDom=prevLayer.dom;if(prevDom.nextSibling){domRoot.insertBefore(layer.dom,prevDom.nextSibling)}else{domRoot.appendChild(layer.dom)}}else{if(domRoot.firstChild){domRoot.insertBefore(layer.dom,domRoot.firstChild)}else{domRoot.appendChild(layer.dom)}}}},eachLayer:function(cb,context){var zlevelList=this._zlevelList;var z;var i;for(i=0;i0?EL_AFTER_INCREMENTAL_INC:0),this._needsManuallyCompositing)}if(!layer.__builtin__){logError$1('ZLevel '+zlevel+' has been used by unkown layer '+layer.id)}if(layer!==prevLayer){layer.__used=true;if(layer.__startIndex!==i){layer.__dirty=true}layer.__startIndex=i;if(!layer.incremental){layer.__drawIndex=i}else{layer.__drawIndex=-1}updatePrevLayer(i);prevLayer=layer}if(el.__dirty){layer.__dirty=true;if(layer.incremental&&layer.__drawIndex<0){layer.__drawIndex=i}}}updatePrevLayer(i);this.eachBuiltinLayer(function(layer,z){if(!layer.__used&&layer.getElementCount()>0){layer.__dirty=true;layer.__startIndex=layer.__endIndex=layer.__drawIndex=0}if(layer.__dirty&&layer.__drawIndex<0){layer.__drawIndex=layer.__startIndex}})},clear:function(){this.eachBuiltinLayer(this._clearLayer);return this},_clearLayer:function(layer){layer.clear()},setBackgroundColor:function(backgroundColor){this._backgroundColor=backgroundColor},configLayer:function(zlevel,config){if(config){var layerConfig=this._layerConfig;if(!layerConfig[zlevel]){layerConfig[zlevel]=config}else{merge(layerConfig[zlevel],config,true)}for(var i=0;i=0){this._clips.splice(idx,1)}},removeAnimator:function(animator){var clips=animator.getClips();for(var i=0;i=result.length){result.push({option:cptOption})}});return result}function makeIdAndName(mapResult){var idMap=createHashMap();each$2(mapResult,function(item,index){var existCpt=item.exist;existCpt&&idMap.set(existCpt.id,item)});each$2(mapResult,function(item,index){var opt=item.option;assert$1(!opt||opt.id==null||!idMap.get(opt.id)||idMap.get(opt.id)===item,'id duplicates: '+(opt&&opt.id));opt&&opt.id!=null&&idMap.set(opt.id,item);!item.keyInfo&&(item.keyInfo={})});each$2(mapResult,function(item,index){var existCpt=item.exist;var opt=item.option;var keyInfo=item.keyInfo;if(!isObject$2(opt)){return}keyInfo.name=opt.name!=null?opt.name+'':existCpt?existCpt.name:DUMMY_COMPONENT_NAME_PREFIX+index;if(existCpt){keyInfo.id=existCpt.id}else if(opt.id!=null){keyInfo.id=opt.id+''}else{var idNum=0;do{keyInfo.id='\0'+keyInfo.name+'\0'+idNum++}while(idMap.get(keyInfo.id))}idMap.set(keyInfo.id,item)})}function isNameSpecified(componentModel){var name=componentModel.name;return!!(name&&name.indexOf(DUMMY_COMPONENT_NAME_PREFIX))}function isIdInner(cptOption){return isObject$2(cptOption)&&cptOption.id&&(cptOption.id+'').indexOf('\0_ec_\0')===0}function compressBatches(batchA,batchB){var mapA={};var mapB={};makeMap(batchA||[],mapA);makeMap(batchB||[],mapB,mapA);return[mapToArray(mapA),mapToArray(mapB)];function makeMap(sourceBatch,map$$1,otherMap){for(var i=0,len=sourceBatch.length;i=0)||(includes&&indexOf(includes,propName)<0)){continue}var val=model.getShallow(propName);if(val!=null){style[properties[i][0]]=val}}return style}};var getLineStyle=makeStyleMapper([['lineWidth','width'],['stroke','color'],['opacity'],['shadowBlur'],['shadowOffsetX'],['shadowOffsetY'],['shadowColor']]);var lineStyleMixin={getLineStyle:function(excludes){var style=getLineStyle(this,excludes);style.lineDash=this.getLineDash(style.lineWidth);return style},getLineDash:function(lineWidth){if(lineWidth==null){lineWidth=1}var lineType=this.get('type');var dotSize=Math.max(lineWidth,2);var dashSize=lineWidth*4;return(lineType==='solid'||lineType==null)?false:lineType==='dashed'?[dashSize,dashSize]:[dotSize,dotSize]}};var getAreaStyle=makeStyleMapper([['fill','color'],['shadowBlur'],['shadowOffsetX'],['shadowOffsetY'],['opacity'],['shadowColor']]);var areaStyleMixin={getAreaStyle:function(excludes,includes){return getAreaStyle(this,excludes,includes)}};var mathPow=Math.pow;var mathSqrt$2=Math.sqrt;var EPSILON$1=1e-8;var EPSILON_NUMERIC=1e-4;var THREE_SQRT=mathSqrt$2(3);var ONE_THIRD=1/3;var _v0=create();var _v1=create();var _v2=create();function isAroundZero(val){return val>-EPSILON$1&&valEPSILON$1||val<-EPSILON$1}function cubicAt(p0,p1,p2,p3,t){var onet=1-t;return onet*onet*(onet*p0+3*t*p1)+t*t*(t*p3+3*onet*p2)}function cubicDerivativeAt(p0,p1,p2,p3,t){var onet=1-t;return 3*(((p1-p0)*onet+2*(p2-p1)*t)*onet+(p3-p2)*t*t)}function cubicRootAt(p0,p1,p2,p3,val,roots){var a=p3+3*(p1-p2)-p0;var b=3*(p2-p1*2+p0);var c=3*(p1-p0);var d=p0-val;var A=b*b-3*a*c;var B=b*c-9*a*d;var C=c*c-3*b*d;var n=0;if(isAroundZero(A)&&isAroundZero(B)){if(isAroundZero(b)){roots[0]=0}else{var t1=-c/b;if(t1>=0&&t1<=1){roots[n++]=t1}}}else{var disc=B*B-4*A*C;if(isAroundZero(disc)){var K=B/A;var t1=-b/a+K;var t2=-K/2;if(t1>=0&&t1<=1){roots[n++]=t1}if(t2>=0&&t2<=1){roots[n++]=t2}}else if(disc>0){var discSqrt=mathSqrt$2(disc);var Y1=A*b+1.5*a*(-B+discSqrt);var Y2=A*b+1.5*a*(-B-discSqrt);if(Y1<0){Y1=-mathPow(-Y1,ONE_THIRD)}else{Y1=mathPow(Y1,ONE_THIRD)}if(Y2<0){Y2=-mathPow(-Y2,ONE_THIRD)}else{Y2=mathPow(Y2,ONE_THIRD)}var t1=(-b-(Y1+Y2))/(3*a);if(t1>=0&&t1<=1){roots[n++]=t1}}else{var T=(2*A*b-3*a*B)/(2*mathSqrt$2(A*A*A));var theta=Math.acos(T)/3;var ASqrt=mathSqrt$2(A);var tmp=Math.cos(theta);var t1=(-b-2*ASqrt*tmp)/(3*a);var t2=(-b+ASqrt*(tmp+THREE_SQRT*Math.sin(theta)))/(3*a);var t3=(-b+ASqrt*(tmp-THREE_SQRT*Math.sin(theta)))/(3*a);if(t1>=0&&t1<=1){roots[n++]=t1}if(t2>=0&&t2<=1){roots[n++]=t2}if(t3>=0&&t3<=1){roots[n++]=t3}}}return n}function cubicExtrema(p0,p1,p2,p3,extrema){var b=6*p2-12*p1+6*p0;var a=9*p1+3*p3-3*p0-9*p2;var c=3*p1-3*p0;var n=0;if(isAroundZero(a)){if(isNotAroundZero$1(b)){var t1=-c/b;if(t1>=0&&t1<=1){extrema[n++]=t1}}}else{var disc=b*b-4*a*c;if(isAroundZero(disc)){extrema[0]=-b/(2*a)}else if(disc>0){var discSqrt=mathSqrt$2(disc);var t1=(-b+discSqrt)/(2*a);var t2=(-b-discSqrt)/(2*a);if(t1>=0&&t1<=1){extrema[n++]=t1}if(t2>=0&&t2<=1){extrema[n++]=t2}}}return n}function cubicSubdivide(p0,p1,p2,p3,t,out){var p01=(p1-p0)*t+p0;var p12=(p2-p1)*t+p1;var p23=(p3-p2)*t+p2;var p012=(p12-p01)*t+p01;var p123=(p23-p12)*t+p12;var p0123=(p123-p012)*t+p012;out[0]=p0;out[1]=p01;out[2]=p012;out[3]=p0123;out[4]=p0123;out[5]=p123;out[6]=p23;out[7]=p3}function cubicProjectPoint(x0,y0,x1,y1,x2,y2,x3,y3,x,y,out){var t;var interval=0.005;var d=Infinity;var prev;var next;var d1;var d2;_v0[0]=x;_v0[1]=y;for(var _t=0;_t<1;_t+=0.05){_v1[0]=cubicAt(x0,x1,x2,x3,_t);_v1[1]=cubicAt(y0,y1,y2,y3,_t);d1=distSquare(_v0,_v1);if(d1=0&&d1=0&&t1<=1){roots[n++]=t1}}}else{var disc=b*b-4*a*c;if(isAroundZero(disc)){var t1=-b/(2*a);if(t1>=0&&t1<=1){roots[n++]=t1}}else if(disc>0){var discSqrt=mathSqrt$2(disc);var t1=(-b+discSqrt)/(2*a);var t2=(-b-discSqrt)/(2*a);if(t1>=0&&t1<=1){roots[n++]=t1}if(t2>=0&&t2<=1){roots[n++]=t2}}}return n}function quadraticExtremum(p0,p1,p2){var divider=p0+p2-2*p1;if(divider===0){return 0.5}else{return(p0-p1)/divider}}function quadraticSubdivide(p0,p1,p2,t,out){var p01=(p1-p0)*t+p0;var p12=(p2-p1)*t+p1;var p012=(p12-p01)*t+p01;out[0]=p0;out[1]=p01;out[2]=p012;out[3]=p012;out[4]=p12;out[5]=p2}function quadraticProjectPoint(x0,y0,x1,y1,x2,y2,x,y,out){var t;var interval=0.005;var d=Infinity;_v0[0]=x;_v0[1]=y;for(var _t=0;_t<1;_t+=0.05){_v1[0]=quadraticAt(x0,x1,x2,_t);_v1[1]=quadraticAt(y0,y1,y2,_t);var d1=distSquare(_v0,_v1);if(d1=0&&d11e-4){min$$1[0]=x-rx;min$$1[1]=y-ry;max$$1[0]=x+rx;max$$1[1]=y+ry;return}start[0]=mathCos$2(startAngle)*rx+x;start[1]=mathSin$2(startAngle)*ry+y;end[0]=mathCos$2(endAngle)*rx+x;end[1]=mathSin$2(endAngle)*ry+y;vec2Min(min$$1,start,end);vec2Max(max$$1,start,end);startAngle=startAngle%(PI2);if(startAngle<0){startAngle=startAngle+PI2}endAngle=endAngle%(PI2);if(endAngle<0){endAngle=endAngle+PI2}if(startAngle>endAngle&&!anticlockwise){endAngle+=PI2}else if(startAnglestartAngle){extremity[0]=mathCos$2(angle)*rx+x;extremity[1]=mathSin$2(angle)*ry+y;vec2Min(min$$1,extremity,min$$1);vec2Max(max$$1,extremity,max$$1)}}}var CMD={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7};var min$1=[];var max$1=[];var min2=[];var max2=[];var mathMin$2=Math.min;var mathMax$2=Math.max;var mathCos$1=Math.cos;var mathSin$1=Math.sin;var mathSqrt$1=Math.sqrt;var mathAbs=Math.abs;var hasTypedArray=typeof Float32Array!=='undefined';var PathProxy=function(notSaveData){this._saveData=!(notSaveData||false);if(this._saveData){this.data=[]}this._ctx=null};PathProxy.prototype={constructor:PathProxy,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(sx,sy,segmentIgnoreThreshold){segmentIgnoreThreshold=segmentIgnoreThreshold||0;this._ux=mathAbs(segmentIgnoreThreshold/devicePixelRatio/sx)||0;this._uy=mathAbs(segmentIgnoreThreshold/devicePixelRatio/sy)||0},getContext:function(){return this._ctx},beginPath:function(ctx){this._ctx=ctx;ctx&&ctx.beginPath();ctx&&(this.dpr=ctx.dpr);if(this._saveData){this._len=0}if(this._lineDash){this._lineDash=null;this._dashOffset=0}return this},moveTo:function(x,y){this.addData(CMD.M,x,y);this._ctx&&this._ctx.moveTo(x,y);this._x0=x;this._y0=y;this._xi=x;this._yi=y;return this},lineTo:function(x,y){var exceedUnit=mathAbs(x-this._xi)>this._ux||mathAbs(y-this._yi)>this._uy||this._len<5;this.addData(CMD.L,x,y);if(this._ctx&&exceedUnit){this._needsDash()?this._dashedLineTo(x,y):this._ctx.lineTo(x,y)}if(exceedUnit){this._xi=x;this._yi=y}return this},bezierCurveTo:function(x1,y1,x2,y2,x3,y3){this.addData(CMD.C,x1,y1,x2,y2,x3,y3);if(this._ctx){this._needsDash()?this._dashedBezierTo(x1,y1,x2,y2,x3,y3):this._ctx.bezierCurveTo(x1,y1,x2,y2,x3,y3)}this._xi=x3;this._yi=y3;return this},quadraticCurveTo:function(x1,y1,x2,y2){this.addData(CMD.Q,x1,y1,x2,y2);if(this._ctx){this._needsDash()?this._dashedQuadraticTo(x1,y1,x2,y2):this._ctx.quadraticCurveTo(x1,y1,x2,y2)}this._xi=x2;this._yi=y2;return this},arc:function(cx,cy,r,startAngle,endAngle,anticlockwise){this.addData(CMD.A,cx,cy,r,r,startAngle,endAngle-startAngle,0,anticlockwise?0:1);this._ctx&&this._ctx.arc(cx,cy,r,startAngle,endAngle,anticlockwise);this._xi=mathCos$1(endAngle)*r+cx;this._yi=mathSin$1(endAngle)*r+cy;return this},arcTo:function(x1,y1,x2,y2,radius){if(this._ctx){this._ctx.arcTo(x1,y1,x2,y2,radius)}return this},rect:function(x,y,w,h){this._ctx&&this._ctx.rect(x,y,w,h);this.addData(CMD.R,x,y,w,h);return this},closePath:function(){this.addData(CMD.Z);var ctx=this._ctx;var x0=this._x0;var y0=this._y0;if(ctx){this._needsDash()&&this._dashedLineTo(x0,y0);ctx.closePath()}this._xi=x0;this._yi=y0;return this},fill:function(ctx){ctx&&ctx.fill();this.toStatic()},stroke:function(ctx){ctx&&ctx.stroke();this.toStatic()},setLineDash:function(lineDash){if(lineDash instanceof Array){this._lineDash=lineDash;this._dashIdx=0;var lineDashSum=0;for(var i=0;idata.length){this._expandData();data=this.data}for(var i=0;i0&&x<=x1)||(dx<0&&x>=x1)||(dx===0&&((dy>0&&y<=y1)||(dy<0&&y>=y1)))){idx=this._dashIdx;dash=lineDash[idx];x+=dx*dash;y+=dy*dash;this._dashIdx=(idx+1)%nDash;if((dx>0&&xx0)||(dy>0&&yy0)){continue}ctx[idx%2?'moveTo':'lineTo'](dx>=0?mathMin$2(x,x1):mathMax$2(x,x1),dy>=0?mathMin$2(y,y1):mathMax$2(y,y1))}dx=x-x1;dy=y-y1;this._dashOffset=-mathSqrt$1(dx*dx+dy*dy)},_dashedBezierTo:function(x1,y1,x2,y2,x3,y3){var dashSum=this._dashSum;var offset=this._dashOffset;var lineDash=this._lineDash;var ctx=this._ctx;var x0=this._xi;var y0=this._yi;var t;var dx;var dy;var cubicAt$$1=cubicAt;var bezierLen=0;var idx=this._dashIdx;var nDash=lineDash.length;var x;var y;var tmpLen=0;if(offset<0){offset=dashSum+offset}offset%=dashSum;for(t=0;t<1;t+=0.1){dx=cubicAt$$1(x0,x1,x2,x3,t+0.1)-cubicAt$$1(x0,x1,x2,x3,t);dy=cubicAt$$1(y0,y1,y2,y3,t+0.1)-cubicAt$$1(y0,y1,y2,y3,t);bezierLen+=mathSqrt$1(dx*dx+dy*dy)}for(;idxoffset){break}}t=(tmpLen-offset)/bezierLen;while(t<=1){x=cubicAt$$1(x0,x1,x2,x3,t);y=cubicAt$$1(y0,y1,y2,y3,t);idx%2?ctx.moveTo(x,y):ctx.lineTo(x,y);t+=lineDash[idx]/bezierLen;idx=(idx+1)%nDash}(idx%2!==0)&&ctx.lineTo(x3,y3);dx=x3-x;dy=y3-y;this._dashOffset=-mathSqrt$1(dx*dx+dy*dy)},_dashedQuadraticTo:function(x1,y1,x2,y2){var x3=x2;var y3=y2;x2=(x2+2*x1)/3;y2=(y2+2*y1)/3;x1=(this._xi+2*x1)/3;y1=(this._yi+2*y1)/3;this._dashedBezierTo(x1,y1,x2,y2,x3,y3)},toStatic:function(){var data=this.data;if(data instanceof Array){data.length=this._len;if(hasTypedArray){this.data=new Float32Array(data)}}},getBoundingRect:function(){min$1[0]=min$1[1]=min2[0]=min2[1]=Number.MAX_VALUE;max$1[0]=max$1[1]=max2[0]=max2[1]=-Number.MAX_VALUE;var data=this.data;var xi=0;var yi=0;var x0=0;var y0=0;for(var i=0;iux||mathAbs(y-yi)>uy||i===len$$1-1){ctx.lineTo(x,y);xi=x;yi=y}break;case CMD.C:ctx.bezierCurveTo(d[i++],d[i++],d[i++],d[i++],d[i++],d[i++]);xi=d[i-2];yi=d[i-1];break;case CMD.Q:ctx.quadraticCurveTo(d[i++],d[i++],d[i++],d[i++]);xi=d[i-2];yi=d[i-1];break;case CMD.A:var cx=d[i++];var cy=d[i++];var rx=d[i++];var ry=d[i++];var theta=d[i++];var dTheta=d[i++];var psi=d[i++];var fs=d[i++];var r=(rx>ry)?rx:ry;var scaleX=(rx>ry)?1:rx/ry;var scaleY=(rx>ry)?ry/rx:1;var isEllipse=Math.abs(rx-ry)>1e-3;var endAngle=theta+dTheta;if(isEllipse){ctx.translate(cx,cy);ctx.rotate(psi);ctx.scale(scaleX,scaleY);ctx.arc(0,0,r,theta,endAngle,1-fs);ctx.scale(1/scaleX,1/scaleY);ctx.rotate(-psi);ctx.translate(-cx,-cy)}else{ctx.arc(cx,cy,r,theta,endAngle,1-fs)}if(i===1){x0=mathCos$1(theta)*rx+cx;y0=mathSin$1(theta)*ry+cy}xi=mathCos$1(endAngle)*rx+cx;yi=mathSin$1(endAngle)*ry+cy;break;case CMD.R:x0=xi=d[i];y0=yi=d[i+1];ctx.rect(d[i++],d[i++],d[i++],d[i++]);break;case CMD.Z:ctx.closePath();xi=x0;yi=y0}}}};PathProxy.CMD=CMD;function containStroke$1(x0,y0,x1,y1,lineWidth,x,y){if(lineWidth===0){return false}var _l=lineWidth;var _a=0;var _b=x0;if((y>y0+_l&&y>y1+_l)||(yx0+_l&&x>x1+_l)||(xy0+_l&&y>y1+_l&&y>y2+_l&&y>y3+_l)||(yx0+_l&&x>x1+_l&&x>x2+_l&&x>x3+_l)||(xy0+_l&&y>y1+_l&&y>y2+_l)||(yx0+_l&&x>x1+_l&&x>x2+_l)||(xr)||(d+_lendAngle){endAngle+=PI2$2}var angle=Math.atan2(y,x);if(angle<0){angle+=PI2$2}return(angle>=startAngle&&angle<=endAngle)||(angle+PI2$2>=startAngle&&angle+PI2$2<=endAngle)}function windingLine(x0,y0,x1,y1,x,y){if((y>y0&&y>y1)||(yx?dir:0}var CMD$1=PathProxy.CMD;var PI2$1=Math.PI*2;var EPSILON$2=1e-4;function isAroundEqual(a,b){return Math.abs(a-b)y0&&y>y1&&y>y2&&y>y3)||(y1){swapExtrema()}y0_=cubicAt(y0,y1,y2,y3,extrema[0]);if(nExtrema>1){y1_=cubicAt(y0,y1,y2,y3,extrema[1])}}if(nExtrema===2){if(ty0&&y>y1&&y>y2)||(y=0&&t<=1){var w=0;var y_=quadraticAt(y0,y1,y2,t);for(var i=0;ir||y<-r){return 0}var tmp=Math.sqrt(r*r-y*y);roots[0]=-tmp;roots[1]=tmp;var diff=Math.abs(startAngle-endAngle);if(diff<1e-4){return 0}if(diff%PI2$1<1e-4){startAngle=0;endAngle=PI2$1;var dir=anticlockwise?1:-1;if(x>=roots[0]+cx&&x<=roots[1]+cx){return dir}else{return 0}}if(anticlockwise){var tmp=startAngle;startAngle=normalizeRadian(endAngle);endAngle=normalizeRadian(tmp)}else{startAngle=normalizeRadian(startAngle);endAngle=normalizeRadian(endAngle)}if(startAngle>endAngle){endAngle+=PI2$1}var w=0;for(var i=0;i<2;i++){var x_=roots[i];if(x_+cx>x){var angle=Math.atan2(y,x_);var dir=anticlockwise?1:-1;if(angle<0){angle=PI2$1+angle}if((angle>=startAngle&&angle<=endAngle)||(angle+PI2$1>=startAngle&&angle+PI2$1<=endAngle)){if(angle>Math.PI/2&&angle1){if(!isStroke){w+=windingLine(xi,yi,x0,y0,x,y)}}if(i===1){xi=data[i];yi=data[i+1];x0=xi;y0=yi}switch(cmd){case CMD$1.M:x0=data[i++];y0=data[i++];xi=x0;yi=y0;break;case CMD$1.L:if(isStroke){if(containStroke$1(xi,yi,data[i],data[i+1],lineWidth,x,y)){return true}}else{w+=windingLine(xi,yi,data[i],data[i+1],x,y)||0}xi=data[i++];yi=data[i++];break;case CMD$1.C:if(isStroke){if(containStroke$2(xi,yi,data[i++],data[i++],data[i++],data[i++],data[i],data[i+1],lineWidth,x,y)){return true}}else{w+=windingCubic(xi,yi,data[i++],data[i++],data[i++],data[i++],data[i],data[i+1],x,y)||0}xi=data[i++];yi=data[i++];break;case CMD$1.Q:if(isStroke){if(containStroke$3(xi,yi,data[i++],data[i++],data[i],data[i+1],lineWidth,x,y)){return true}}else{w+=windingQuadratic(xi,yi,data[i++],data[i++],data[i],data[i+1],x,y)||0}xi=data[i++];yi=data[i++];break;case CMD$1.A:var cx=data[i++];var cy=data[i++];var rx=data[i++];var ry=data[i++];var theta=data[i++];var dTheta=data[i++];i+=1;var anticlockwise=1-data[i++];var x1=Math.cos(theta)*rx+cx;var y1=Math.sin(theta)*ry+cy;if(i>1){w+=windingLine(xi,yi,x1,y1,x,y)}else{x0=x1;y0=y1}var _x=(x-cx)*ry/rx+cx;if(isStroke){if(containStroke$4(cx,cy,ry,theta,theta+dTheta,anticlockwise,lineWidth,_x,y)){return true}}else{w+=windingArc(cx,cy,ry,theta,theta+dTheta,anticlockwise,_x,y)}xi=Math.cos(theta+dTheta)*rx+cx;yi=Math.sin(theta+dTheta)*ry+cy;break;case CMD$1.R:x0=xi=data[i++];y0=yi=data[i++];var width=data[i++];var height=data[i++];var x1=x0+width;var y1=y0+height;if(isStroke){if(containStroke$1(x0,y0,x1,y0,lineWidth,x,y)||containStroke$1(x1,y0,x1,y1,lineWidth,x,y)||containStroke$1(x1,y1,x0,y1,lineWidth,x,y)||containStroke$1(x0,y1,x0,y0,lineWidth,x,y)){return true}}else{w+=windingLine(x1,y0,x1,y1,x,y);w+=windingLine(x0,y1,x0,y0,x,y)}break;case CMD$1.Z:if(isStroke){if(containStroke$1(xi,yi,x0,y0,lineWidth,x,y)){return true}}else{w+=windingLine(xi,yi,x0,y0,x,y)}xi=x0;yi=y0;break}}if(!isStroke&&!isAroundEqual(yi,y0)){w+=windingLine(xi,yi,x0,y0,x,y)||0}return w!==0}function contain(pathData,x,y){return containPath(pathData,0,false,x,y)}function containStroke(pathData,lineWidth,x,y){return containPath(pathData,lineWidth,true,x,y)}var getCanvasPattern=Pattern.prototype.getCanvasPattern;var abs=Math.abs;var pathProxyForDraw=new PathProxy(true);function Path(opts){Displayable.call(this,opts);this.path=null}Path.prototype={constructor:Path,type:'path',__dirtyPath:true,strokeContainThreshold:5,segmentIgnoreThreshold:0,subPixelOptimize:false,brush:function(ctx,prevEl){var style=this.style;var path=this.path||pathProxyForDraw;var hasStroke=style.hasStroke();var hasFill=style.hasFill();var fill=style.fill;var stroke=style.stroke;var hasFillGradient=hasFill&&!!(fill.colorStops);var hasStrokeGradient=hasStroke&&!!(stroke.colorStops);var hasFillPattern=hasFill&&!!(fill.image);var hasStrokePattern=hasStroke&&!!(stroke.image);style.bind(ctx,this,prevEl);this.setTransform(ctx);if(this.__dirty){var rect;if(hasFillGradient){rect=rect||this.getBoundingRect();this._fillGradient=style.getGradient(ctx,fill,rect)}if(hasStrokeGradient){rect=rect||this.getBoundingRect();this._strokeGradient=style.getGradient(ctx,stroke,rect)}}if(hasFillGradient){ctx.fillStyle=this._fillGradient}else if(hasFillPattern){ctx.fillStyle=getCanvasPattern.call(fill,ctx)}if(hasStrokeGradient){ctx.strokeStyle=this._strokeGradient}else if(hasStrokePattern){ctx.strokeStyle=getCanvasPattern.call(stroke,ctx)}var lineDash=style.lineDash;var lineDashOffset=style.lineDashOffset;var ctxLineDash=!!ctx.setLineDash;var scale=this.getGlobalScale();path.setScale(scale[0],scale[1],this.segmentIgnoreThreshold);if(this.__dirtyPath||(lineDash&&!ctxLineDash&&hasStroke)){path.beginPath(ctx);if(lineDash&&!ctxLineDash){path.setLineDash(lineDash);path.setLineDashOffset(lineDashOffset)}this.buildPath(path,this.shape,false);if(this.path){this.__dirtyPath=false}}else{ctx.beginPath();this.path.rebuildPath(ctx)}if(hasFill){if(style.fillOpacity!=null){var originalGlobalAlpha=ctx.globalAlpha;ctx.globalAlpha=style.fillOpacity*style.opacity;path.fill(ctx);ctx.globalAlpha=originalGlobalAlpha}else{path.fill(ctx)}}if(lineDash&&ctxLineDash){ctx.setLineDash(lineDash);ctx.lineDashOffset=lineDashOffset}if(hasStroke){if(style.strokeOpacity!=null){var originalGlobalAlpha=ctx.globalAlpha;ctx.globalAlpha=style.strokeOpacity*style.opacity;path.stroke(ctx);ctx.globalAlpha=originalGlobalAlpha}else{path.stroke(ctx)}}if(lineDash&&ctxLineDash){ctx.setLineDash([])}if(style.text!=null){this.restoreTransform(ctx);this.drawRectText(ctx,this.getBoundingRect())}},buildPath:function(ctx,shapeCfg,inBundle){},createPathProxy:function(){this.path=new PathProxy()},getBoundingRect:function(){var rect=this._rect;var style=this.style;var needsUpdateRect=!rect;if(needsUpdateRect){var path=this.path;if(!path){path=this.path=new PathProxy()}if(this.__dirtyPath){path.beginPath();this.buildPath(path,this.shape,false)}rect=path.getBoundingRect()}this._rect=rect;if(style.hasStroke()){var rectWithStroke=this._rectWithStroke||(this._rectWithStroke=rect.clone());if(this.__dirty||needsUpdateRect){rectWithStroke.copy(rect);var w=style.lineWidth;var lineScale=style.strokeNoScale?this.getLineScale():1;if(!style.hasFill()){w=Math.max(w,this.strokeContainThreshold||4)}if(lineScale>1e-10){rectWithStroke.width+=w/lineScale;rectWithStroke.height+=w/lineScale;rectWithStroke.x-=w/lineScale/2;rectWithStroke.y-=w/lineScale/2}}return rectWithStroke}return rect},contain:function(x,y){var localPos=this.transformCoordToLocal(x,y);var rect=this.getBoundingRect();var style=this.style;x=localPos[0];y=localPos[1];if(rect.contain(x,y)){var pathData=this.path.data;if(style.hasStroke()){var lineWidth=style.lineWidth;var lineScale=style.strokeNoScale?this.getLineScale():1;if(lineScale>1e-10){if(!style.hasFill()){lineWidth=Math.max(lineWidth,this.strokeContainThreshold)}if(containStroke(pathData,lineWidth/lineScale,x,y)){return true}}}if(style.hasFill()){return contain(pathData,x,y)}}return false},dirty:function(dirtyPath){if(dirtyPath==null){dirtyPath=true}if(dirtyPath){this.__dirtyPath=dirtyPath;this._rect=null}this.__dirty=this.__dirtyText=true;this.__zr&&this.__zr.refresh();if(this.__clipTarget){this.__clipTarget.dirty()}},animateShape:function(loop){return this.animate('shape',loop)},attrKV:function(key,value){if(key==='shape'){this.setShape(value);this.__dirtyPath=true;this._rect=null}else{Displayable.prototype.attrKV.call(this,key,value)}},setShape:function(key,value){var shape=this.shape;if(shape){if(isObject$1(key)){for(var name in key){if(key.hasOwnProperty(name)){shape[name]=key[name]}}}else{shape[key]=value}this.dirty(true)}return this},getLineScale:function(){var m=this.transform;return m&&abs(m[0]-1)>1e-10&&abs(m[3]-1)>1e-10?Math.sqrt(abs(m[0]*m[3]-m[2]*m[1])):1}};Path.extend=function(defaults$$1){var Sub=function(opts){Path.call(this,opts);if(defaults$$1.style){this.style.extendFrom(defaults$$1.style,false)}var defaultShape=defaults$$1.shape;if(defaultShape){this.shape=this.shape||{};var thisShape=this.shape;for(var name in defaultShape){if(!thisShape.hasOwnProperty(name)&&defaultShape.hasOwnProperty(name)){thisShape[name]=defaultShape[name]}}}defaults$$1.init&&defaults$$1.init.call(this,opts)};inherits(Sub,Path);for(var name in defaults$$1){if(name!=='style'&&name!=='shape'){Sub.prototype[name]=defaults$$1[name]}}return Sub};inherits(Path,Displayable);var CMD$2=PathProxy.CMD;var points=[[],[],[]];var mathSqrt$3=Math.sqrt;var mathAtan2=Math.atan2;var transformPath=function(path,m){var data=path.data;var cmd;var nPoint;var i;var j;var k;var p;var M=CMD$2.M;var C=CMD$2.C;var L=CMD$2.L;var R=CMD$2.R;var A=CMD$2.A;var Q=CMD$2.Q;for(i=0,j=0;i1){rx*=mathSqrt(lambda);ry*=mathSqrt(lambda)}var f=(fa===fs?-1:1)*mathSqrt((((rx*rx)*(ry*ry))-((rx*rx)*(yp*yp))-((ry*ry)*(xp*xp)))/((rx*rx)*(yp*yp)+(ry*ry)*(xp*xp)))||0;var cxp=f*rx*yp/ry;var cyp=f*-ry*xp/rx;var cx=(x1+x2)/2.0+mathCos(psi)*cxp-mathSin(psi)*cyp;var cy=(y1+y2)/2.0+mathSin(psi)*cxp+mathCos(psi)*cyp;var theta=vAngle([1,0],[(xp-cxp)/rx,(yp-cyp)/ry]);var u=[(xp-cxp)/rx,(yp-cyp)/ry];var v=[(-1*xp-cxp)/rx,(-1*yp-cyp)/ry];var dTheta=vAngle(u,v);if(vRatio(u,v)<=-1){dTheta=PI}if(vRatio(u,v)>=1){dTheta=0}if(fs===0&&dTheta>0){dTheta=dTheta-2*PI}if(fs===1&&dTheta<0){dTheta=dTheta+2*PI}path.addData(cmd,cx,cy,rx,ry,theta,dTheta,psi,fs)}var commandReg=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig;var numberReg=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function createPathProxyFromString(data){if(!data){return new PathProxy()}var cpx=0;var cpy=0;var subpathX=cpx;var subpathY=cpy;var prevCmd;var path=new PathProxy();var CMD=PathProxy.CMD;var cmdList=data.match(commandReg);for(var l=0;l=11)?function(){var clipPaths=this.__clipPaths;var style=this.style;var modified;if(clipPaths){for(var i=0;ilen$$1-2?len$$1-1:idx+1];p3=points[idx>len$$1-3?len$$1-1:idx+2]}else{p0=points[(idx-1+len$$1)%len$$1];p2=points[(idx+1)%len$$1];p3=points[(idx+2)%len$$1]}var w2=w*w;var w3=w*w2;ret.push([interpolate(p0[0],p1[0],p2[0],p3[0],w,w2,w3),interpolate(p0[1],p1[1],p2[1],p3[1],w,w2,w3)])}return ret};var smoothBezier=function(points,smooth,isLoop,constraint){var cps=[];var v=[];var v1=[];var v2=[];var prevPoint;var nextPoint;var min$$1;var max$$1;if(constraint){min$$1=[Infinity,Infinity];max$$1=[-Infinity,-Infinity];for(var i=0,len$$1=points.length;i=2){if(smooth&&smooth!=='spline'){var controlPoints=smoothBezier(points,smooth,closePath,shape.smoothConstraint);ctx.moveTo(points[0][0],points[0][1]);var len=points.length;for(var i=0;i<(closePath?len:len-1);i++){var cp1=controlPoints[i*2];var cp2=controlPoints[i*2+1];var p=points[(i+1)%len];ctx.bezierCurveTo(cp1[0],cp1[1],cp2[0],cp2[1],p[0],p[1])}}else{if(smooth==='spline'){points=smoothSpline(points,closePath)}ctx.moveTo(points[0][0],points[0][1]);for(var i=1,l=points.length;i=0));var useAutoColorCache=!useInsideStyleCache&&autoColor!=null;if(useInsideStyleCache||useAutoColorCache){insideRollback={textFill:textStyle.textFill,textStroke:textStyle.textStroke,textStrokeWidth:textStyle.textStrokeWidth}}if(useInsideStyleCache){textStyle.textFill='#fff';if(textStyle.textStroke==null){textStyle.textStroke=autoColor;textStyle.textStrokeWidth==null&&(textStyle.textStrokeWidth=2)}}if(useAutoColorCache){textStyle.textFill=autoColor}}textStyle.insideRollback=insideRollback}function rollbackDefaultTextStyle(style){var insideRollback=style.insideRollback;if(insideRollback){style.textFill=insideRollback.textFill;style.textStroke=insideRollback.textStroke;style.textStrokeWidth=insideRollback.textStrokeWidth;style.insideRollback=null}}function getFont(opt,ecModel){var gTextStyleModel=ecModel&&ecModel.getModel('textStyle');return trim([opt.fontStyle||gTextStyleModel&&gTextStyleModel.getShallow('fontStyle')||'',opt.fontWeight||gTextStyleModel&&gTextStyleModel.getShallow('fontWeight')||'',(opt.fontSize||gTextStyleModel&&gTextStyleModel.getShallow('fontSize')||12)+'px',opt.fontFamily||gTextStyleModel&&gTextStyleModel.getShallow('fontFamily')||'sans-serif'].join(' '))}function animateOrSetProps(isUpdate,el,props,animatableModel,dataIndex,cb){if(typeof dataIndex==='function'){cb=dataIndex;dataIndex=null}var animationEnabled=animatableModel&&animatableModel.isAnimationEnabled();if(animationEnabled){var postfix=isUpdate?'Update':'';var duration=animatableModel.getShallow('animationDuration'+postfix);var animationEasing=animatableModel.getShallow('animationEasing'+postfix);var animationDelay=animatableModel.getShallow('animationDelay'+postfix);if(typeof animationDelay==='function'){animationDelay=animationDelay(dataIndex,animatableModel.getAnimationDelayParams?animatableModel.getAnimationDelayParams(el,dataIndex):null)}if(typeof duration==='function'){duration=duration(dataIndex)}duration>0?el.animateTo(props,duration,animationDelay||0,animationEasing,cb,!!cb):(el.stopAnimation(),el.attr(props),cb&&cb())}else{el.stopAnimation();el.attr(props);cb&&cb()}}function updateProps(el,props,animatableModel,dataIndex,cb){animateOrSetProps(true,el,props,animatableModel,dataIndex,cb)}function initProps(el,props,animatableModel,dataIndex,cb){animateOrSetProps(false,el,props,animatableModel,dataIndex,cb)}function getTransform(target,ancestor){var mat=identity([]);while(target&&target!==ancestor){mul$1(mat,target.getLocalTransform(),mat);target=target.parent}return mat}function applyTransform$1(target,transform,invert$$1){if(transform&&!isArrayLike(transform)){transform=Transformable.getLocalTransform(transform)}if(invert$$1){transform=invert([],transform)}return applyTransform([],target,transform)}function transformDirection(direction,transform,invert$$1){var hBase=(transform[4]===0||transform[5]===0||transform[0]===0)?1:Math.abs(2*transform[4]/transform[0]);var vBase=(transform[4]===0||transform[5]===0||transform[2]===0)?1:Math.abs(2*transform[4]/transform[2]);var vertex=[direction==='left'?-hBase:direction==='right'?hBase:0,direction==='top'?-vBase:direction==='bottom'?vBase:0];vertex=applyTransform$1(vertex,transform,invert$$1);return Math.abs(vertex[0])>Math.abs(vertex[1])?(vertex[0]>0?'right':'left'):(vertex[1]>0?'bottom':'top')}function groupTransition(g1,g2,animatableModel,cb){if(!g1||!g2){return}function getElMap(g){var elMap={};g.traverse(function(el){if(!el.isGroup&&el.anid){elMap[el.anid]=el}});return elMap}function getAnimatableProps(el){var obj={position:clone$1(el.position),rotation:el.rotation};if(el.shape){obj.shape=extend({},el.shape)}return obj}var elMap1=getElMap(g1);g2.traverse(function(el){if(!el.isGroup&&el.anid){var oldEl=elMap1[el.anid];if(oldEl){var newProp=getAnimatableProps(el);el.attr(getAnimatableProps(oldEl));updateProps(el,newProp,animatableModel,el.dataIndex)}}})}function clipPointsByRect(points,rect){return map(points,function(point){var x=point[0];x=mathMax$1(x,rect.x);x=mathMin$1(x,rect.x+rect.width);var y=point[1];y=mathMax$1(y,rect.y);y=mathMin$1(y,rect.y+rect.height);return[x,y]})}function clipRectByRect(targetRect,rect){var x=mathMax$1(targetRect.x,rect.x);var x2=mathMin$1(targetRect.x+targetRect.width,rect.x+rect.width);var y=mathMax$1(targetRect.y,rect.y);var y2=mathMin$1(targetRect.y+targetRect.height,rect.y+rect.height);if(x2>=x&&y2>=y){return{x:x,y:y,width:x2-x,height:y2-y}}}function createIcon(iconStr,opt,rect){opt=extend({rectHover:true},opt);var style=opt.style={strokeNoScale:true};rect=rect||{x:-1,y:-1,width:2,height:2};if(iconStr){return iconStr.indexOf('image://')===0?(style.image=iconStr.slice(8),defaults(style,rect),new ZImage(opt)):(makePath(iconStr.replace('path://',''),opt,rect,'center'))}}function linePolygonIntersect(a1x,a1y,a2x,a2y,points){for(var i=0,p2=points[points.length-1];i1){return false}var p=crossProduct2d(b1a1x,b1a1y,nx,ny)/nmCrossProduct;if(p<0||p>1){return false}return true}function crossProduct2d(x1,y1,x2,y2){return x1*y2-x2*y1}function nearZero(val){return val<=(1e-6)&&val>=-(1e-6)}registerShape('circle',Circle);registerShape('sector',Sector);registerShape('ring',Ring);registerShape('polygon',Polygon);registerShape('polyline',Polyline);registerShape('rect',Rect);registerShape('line',Line);registerShape('bezierCurve',BezierCurve);registerShape('arc',Arc);var graphic=(Object.freeze||Object)({Z2_EMPHASIS_LIFT:Z2_EMPHASIS_LIFT,CACHED_LABEL_STYLE_PROPERTIES:CACHED_LABEL_STYLE_PROPERTIES,extendShape:extendShape,extendPath:extendPath,registerShape:registerShape,getShapeClass:getShapeClass,makePath:makePath,makeImage:makeImage,mergePath:mergePath,resizePath:resizePath,subPixelOptimizeLine:subPixelOptimizeLine,subPixelOptimizeRect:subPixelOptimizeRect,subPixelOptimize:subPixelOptimize,setElementHoverStyle:setElementHoverStyle,setHoverStyle:setHoverStyle,setAsHighDownDispatcher:setAsHighDownDispatcher,isHighDownDispatcher:isHighDownDispatcher,getHighlightDigit:getHighlightDigit,setLabelStyle:setLabelStyle,modifyLabelStyle:modifyLabelStyle,setTextStyle:setTextStyle,setText:setText,getFont:getFont,updateProps:updateProps,initProps:initProps,getTransform:getTransform,applyTransform:applyTransform$1,transformDirection:transformDirection,groupTransition:groupTransition,clipPointsByRect:clipPointsByRect,clipRectByRect:clipRectByRect,createIcon:createIcon,linePolygonIntersect:linePolygonIntersect,lineLineIntersect:lineLineIntersect,Group:Group,Image:ZImage,Text:Text,Circle:Circle,Sector:Sector,Ring:Ring,Polygon:Polygon,Polyline:Polyline,Rect:Rect,Line:Line,BezierCurve:BezierCurve,Arc:Arc,IncrementalDisplayable:IncrementalDisplayble,CompoundPath:CompoundPath,LinearGradient:LinearGradient,RadialGradient:RadialGradient,BoundingRect:BoundingRect});var PATH_COLOR=['textStyle','color'];var textStyleMixin={getTextColor:function(isEmphasis){var ecModel=this.ecModel;return this.getShallow('color')||((!isEmphasis&&ecModel)?ecModel.get(PATH_COLOR):null)},getFont:function(){return getFont({fontStyle:this.getShallow('fontStyle'),fontWeight:this.getShallow('fontWeight'),fontSize:this.getShallow('fontSize'),fontFamily:this.getShallow('fontFamily')},this.ecModel)},getTextRect:function(text){return getBoundingRect(text,this.getFont(),this.getShallow('align'),this.getShallow('verticalAlign')||this.getShallow('baseline'),this.getShallow('padding'),this.getShallow('lineHeight'),this.getShallow('rich'),this.getShallow('truncateText'))}};var getItemStyle=makeStyleMapper([['fill','color'],['stroke','borderColor'],['lineWidth','borderWidth'],['opacity'],['shadowBlur'],['shadowOffsetX'],['shadowOffsetY'],['shadowColor'],['textPosition'],['textAlign']]);var itemStyleMixin={getItemStyle:function(excludes,includes){var style=getItemStyle(this,excludes,includes);var lineDash=this.getBorderLineDash();lineDash&&(style.lineDash=lineDash);return style},getBorderLineDash:function(){var lineType=this.get('borderType');return(lineType==='solid'||lineType==null)?null:(lineType==='dashed'?[5,5]:[1,1])}};var mixin$1=mixin;var inner=makeInner();function Model(option,parentModel,ecModel){this.parentModel=parentModel;this.ecModel=ecModel;this.option=option}Model.prototype={constructor:Model,init:null,mergeOption:function(option){merge(this.option,option,true)},get:function(path,ignoreParent){if(path==null){return this.option}return doGet(this.option,this.parsePath(path),!ignoreParent&&getParent(this,path))},getShallow:function(key,ignoreParent){var option=this.option;var val=option==null?option:option[key];var parentModel=!ignoreParent&&getParent(this,key);if(val==null&&parentModel){val=parentModel.getShallow(key)}return val},getModel:function(path,parentModel){var obj=path==null?this.option:doGet(this.option,path=this.parsePath(path));var thisParentModel;parentModel=parentModel||((thisParentModel=getParent(this,path))&&thisParentModel.getModel(path));return new Model(obj,parentModel,this.ecModel)},isEmpty:function(){return this.option==null},restoreData:function(){},clone:function(){var Ctor=this.constructor;return new Ctor(clone(this.option))},setReadOnly:function(properties){},parsePath:function(path){if(typeof path==='string'){path=path.split('.')}return path},customizeGetParent:function(getParentMethod){inner(this).getParent=getParentMethod},isAnimationEnabled:function(){if(!env$1.node){if(this.option.animation!=null){return!!this.option.animation}else if(this.parentModel){return this.parentModel.isAnimationEnabled()}}}};function doGet(obj,pathArr,parentModel){for(var i=0;i=0&&availableDeps.push(dep)});return availableDeps}}var RADIAN_EPSILON=1e-4;function _trim(str){return str.replace(/^\s+|\s+$/g,'')}function linearMap(val,domain,range,clamp){var subDomain=domain[1]-domain[0];var subRange=range[1]-range[0];if(subDomain===0){return subRange===0?range[0]:(range[0]+range[1])/2}if(clamp){if(subDomain>0){if(val<=domain[0]){return range[0]}else if(val>=domain[1]){return range[1]}}else{if(val>=domain[0]){return range[0]}else if(val<=domain[1]){return range[1]}}}else{if(val===domain[0]){return range[0]}if(val===domain[1]){return range[1]}}return(val-domain[0])/subDomain*subRange+range[0]}function parsePercent$1(percent,all){switch(percent){case'center':case'middle':percent='50%';break;case'left':case'top':percent='0%';break;case'right':case'bottom':percent='100%';break}if(typeof percent==='string'){if(_trim(percent).match(/%$/)){return parseFloat(percent)/100*all}return parseFloat(percent)}return percent==null?NaN:+percent}function round$1(x,precision,returnStr){if(precision==null){precision=10}precision=Math.min(Math.max(0,precision),20);x=(+x).toFixed(precision);return returnStr?x:+x}function asc(arr){arr.sort(function(a,b){return a-b});return arr}function getPrecision(val){val=+val;if(isNaN(val)){return 0}var e=1;var count=0;while(Math.round(val*e)/e!==val){e*=10;count++}return count}function getPrecisionSafe(val){var str=val.toString();var eIndex=str.indexOf('e');if(eIndex>0){var precision=+str.slice(eIndex+1);return precision<0?-precision:0}else{var dotIndex=str.indexOf('.');return dotIndex<0?0:str.length-1-dotIndex}}function getPixelPrecision(dataExtent,pixelExtent){var log=Math.log;var LN10=Math.LN10;var dataQuantity=Math.floor(log(dataExtent[1]-dataExtent[0])/LN10);var sizeQuantity=Math.round(log(Math.abs(pixelExtent[1]-pixelExtent[0]))/LN10);var precision=Math.min(Math.max(-dataQuantity+sizeQuantity,0),20);return!isFinite(precision)?20:precision}function getPercentWithPrecision(valueList,idx,precision){if(!valueList[idx]){return 0}var sum=reduce(valueList,function(acc,val){return acc+(isNaN(val)?0:val)},0);if(sum===0){return 0}var digits=Math.pow(10,precision);var votesPerQuota=map(valueList,function(val){return(isNaN(val)?0:val)/sum*digits*100});var targetSeats=digits*100;var seats=map(votesPerQuota,function(votes){return Math.floor(votes)});var currentSum=reduce(seats,function(acc,val){return acc+val},0);var remainder=map(votesPerQuota,function(votes,idx){return votes-seats[idx]});while(currentSummax){max=remainder[i];maxId=i}}++seats[maxId];remainder[maxId]=0;++currentSum}return seats[idx]/digits}var MAX_SAFE_INTEGER=9007199254740991;function remRadian(radian){var pi2=Math.PI*2;return(radian%pi2+pi2)%pi2}function isRadianAroundZero(val){return val>-RADIAN_EPSILON&&val=10){exp++}return exp}function nice(val,round){var exponent=quantityExponent(val);var exp10=Math.pow(10,exponent);var f=val/exp10;var nf;if(round){if(f<1.5){nf=1}else if(f<2.5){nf=2}else if(f<4){nf=3}else if(f<7){nf=5}else{nf=10}}else{if(f<1){nf=1}else if(f<2){nf=2}else if(f<3){nf=3}else if(f<5){nf=5}else{nf=10}}val=nf*exp10;return exponent>=-20?+val.toFixed(exponent<0?-exponent:0):val}function quantile(ascArr,p){var H=(ascArr.length-1)*p+1;var h=Math.floor(H);var v=+ascArr[h-1];var e=H-h;return e?v+e*(ascArr[h]-v):v}function reformIntervals(list){list.sort(function(a,b){return littleThan(a,b,0)?-1:1});var curr=-Infinity;var currClose=1;for(var i=0;i=0}var number=(Object.freeze||Object)({linearMap:linearMap,parsePercent:parsePercent$1,round:round$1,asc:asc,getPrecision:getPrecision,getPrecisionSafe:getPrecisionSafe,getPixelPrecision:getPixelPrecision,getPercentWithPrecision:getPercentWithPrecision,MAX_SAFE_INTEGER:MAX_SAFE_INTEGER,remRadian:remRadian,isRadianAroundZero:isRadianAroundZero,parseDate:parseDate,quantity:quantity,quantityExponent:quantityExponent,nice:nice,quantile:quantile,reformIntervals:reformIntervals,isNumeric:isNumeric});function addCommas(x){if(isNaN(x)){return'-'}x=(x+'').split('.');return x[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,'$1,')+(x.length>1?('.'+x[1]):'')}function toCamelCase(str,upperCaseFirst){str=(str||'').toLowerCase().replace(/-(.)/g,function(match,group1){return group1.toUpperCase()});if(upperCaseFirst&&str){str=str.charAt(0).toUpperCase()+str.slice(1)}return str}var normalizeCssArray$1=normalizeCssArray;var replaceReg=/([&<>"'])/g;var replaceMap={'&':'&','<':'<','>':'>','"':'"','\'':'''};function encodeHTML(source){return source==null?'':(source+'').replace(replaceReg,function(str,c){return replaceMap[c]})}var TPL_VAR_ALIAS=['a','b','c','d','e','f','g'];var wrapVar=function(varName,seriesIdx){return'{'+varName+(seriesIdx==null?'':seriesIdx)+'}'};function formatTpl(tpl,paramsList,encode){if(!isArray(paramsList)){paramsList=[paramsList]}var seriesLen=paramsList.length;if(!seriesLen){return''}var $vars=paramsList[0].$vars||[];for(var i=0;i<$vars.length;i++){var alias=TPL_VAR_ALIAS[i];tpl=tpl.replace(wrapVar(alias),wrapVar(alias,0))}for(var seriesIdx=0;seriesIdx':''}else{return{renderMode:renderMode,content:'{marker'+markerId+'|} ',style:{color:color}}}}function pad(str,len){str+='';return'0000'.substr(0,len-str.length)+str}function formatTime(tpl,value,isUTC){if(tpl==='week'||tpl==='month'||tpl==='quarter'||tpl==='half-year'||tpl==='year'){tpl='MM-dd\nyyyy'}var date=parseDate(value);var utc=isUTC?'UTC':'';var y=date['get'+utc+'FullYear']();var M=date['get'+utc+'Month']()+1;var d=date['get'+utc+'Date']();var h=date['get'+utc+'Hours']();var m=date['get'+utc+'Minutes']();var s=date['get'+utc+'Seconds']();var S=date['get'+utc+'Milliseconds']();tpl=tpl.replace('MM',pad(M,2)).replace('M',M).replace('yyyy',y).replace('yy',y%100).replace('dd',pad(d,2)).replace('d',d).replace('hh',pad(h,2)).replace('h',h).replace('mm',pad(m,2)).replace('m',m).replace('ss',pad(s,2)).replace('s',s).replace('SSS',pad(S,3));return tpl}function capitalFirst(str){return str?str.charAt(0).toUpperCase()+str.substr(1):str}var truncateText$1=truncateText;function getTextBoundingRect(opt){return getBoundingRect(opt.text,opt.font,opt.textAlign,opt.textVerticalAlign,opt.textPadding,opt.textLineHeight,opt.rich,opt.truncate)}function getTextRect(text,font,textAlign,textVerticalAlign,textPadding,rich,truncate,textLineHeight){return getBoundingRect(text,font,textAlign,textVerticalAlign,textPadding,textLineHeight,rich,truncate)}function windowOpen(link,target){if(target==='_blank'||target==='blank'){var blank=window.open();blank.opener=null;blank.location=link}else{window.open(link,target)}}var format=(Object.freeze||Object)({addCommas:addCommas,toCamelCase:toCamelCase,normalizeCssArray:normalizeCssArray$1,encodeHTML:encodeHTML,formatTpl:formatTpl,formatTplSimple:formatTplSimple,getTooltipMarker:getTooltipMarker,formatTime:formatTime,capitalFirst:capitalFirst,truncateText:truncateText$1,getTextBoundingRect:getTextBoundingRect,getTextRect:getTextRect,windowOpen:windowOpen});var each$3=each$1;var LOCATION_PARAMS=['left','right','top','bottom','width','height'];var HV_NAMES=[['width','left','right'],['height','top','bottom']];function boxLayout(orient,group,gap,maxWidth,maxHeight){var x=0;var y=0;if(maxWidth==null){maxWidth=Infinity}if(maxHeight==null){maxHeight=Infinity}var currentLineMaxSize=0;group.eachChild(function(child,idx){var position=child.position;var rect=child.getBoundingRect();var nextChild=group.childAt(idx+1);var nextChildRect=nextChild&&nextChild.getBoundingRect();var nextX;var nextY;if(orient==='horizontal'){var moveX=rect.width+(nextChildRect?(-nextChildRect.x+rect.x):0);nextX=x+moveX;if(nextX>maxWidth||child.newline){x=0;nextX=moveX;y+=currentLineMaxSize+gap;currentLineMaxSize=rect.height}else{currentLineMaxSize=Math.max(currentLineMaxSize,rect.height)}}else{var moveY=rect.height+(nextChildRect?(-nextChildRect.y+rect.y):0);nextY=y+moveY;if(nextY>maxHeight||child.newline){x+=currentLineMaxSize+gap;y=0;nextY=moveY;currentLineMaxSize=rect.width}else{currentLineMaxSize=Math.max(currentLineMaxSize,rect.width)}}if(child.newline){return}position[0]=x;position[1]=y;orient==='horizontal'?(x=nextX+gap):(y=nextY+gap)})}var box=boxLayout;var vbox=curry(boxLayout,'vertical');var hbox=curry(boxLayout,'horizontal');function getAvailableSize(positionInfo,containerRect,margin){var containerWidth=containerRect.width;var containerHeight=containerRect.height;var x=parsePercent$1(positionInfo.x,containerWidth);var y=parsePercent$1(positionInfo.y,containerHeight);var x2=parsePercent$1(positionInfo.x2,containerWidth);var y2=parsePercent$1(positionInfo.y2,containerHeight);(isNaN(x)||isNaN(parseFloat(positionInfo.x)))&&(x=0);(isNaN(x2)||isNaN(parseFloat(positionInfo.x2)))&&(x2=containerWidth);(isNaN(y)||isNaN(parseFloat(positionInfo.y)))&&(y=0);(isNaN(y2)||isNaN(parseFloat(positionInfo.y2)))&&(y2=containerHeight);margin=normalizeCssArray$1(margin||0);return{width:Math.max(x2-x-margin[1]-margin[3],0),height:Math.max(y2-y-margin[0]-margin[2],0)}}function getLayoutRect(positionInfo,containerRect,margin){margin=normalizeCssArray$1(margin||0);var containerWidth=containerRect.width;var containerHeight=containerRect.height;var left=parsePercent$1(positionInfo.left,containerWidth);var top=parsePercent$1(positionInfo.top,containerHeight);var right=parsePercent$1(positionInfo.right,containerWidth);var bottom=parsePercent$1(positionInfo.bottom,containerHeight);var width=parsePercent$1(positionInfo.width,containerWidth);var height=parsePercent$1(positionInfo.height,containerHeight);var verticalMargin=margin[2]+margin[0];var horizontalMargin=margin[1]+margin[3];var aspect=positionInfo.aspect;if(isNaN(width)){width=containerWidth-right-horizontalMargin-left}if(isNaN(height)){height=containerHeight-bottom-verticalMargin-top}if(aspect!=null){if(isNaN(width)&&isNaN(height)){if(aspect>containerWidth/containerHeight){width=containerWidth*0.8}else{height=containerHeight*0.8}}if(isNaN(width)){width=aspect*height}if(isNaN(height)){height=width/aspect}}if(isNaN(left)){left=containerWidth-right-width-horizontalMargin}if(isNaN(top)){top=containerHeight-bottom-height-verticalMargin}switch(positionInfo.left||positionInfo.right){case'center':left=containerWidth/2-width/2-margin[3];break;case'right':left=containerWidth-width-horizontalMargin;break}switch(positionInfo.top||positionInfo.bottom){case'middle':case'center':top=containerHeight/2-height/2-margin[0];break;case'bottom':top=containerHeight-height-verticalMargin;break}left=left||0;top=top||0;if(isNaN(width)){width=containerWidth-horizontalMargin-left-(right||0)}if(isNaN(height)){height=containerHeight-verticalMargin-top-(bottom||0)}var rect=new BoundingRect(left+margin[3],top+margin[0],width,height);rect.margin=margin;return rect}function positionElement(el,positionInfo,containerRect,margin,opt){var h=!opt||!opt.hv||opt.hv[0];var v=!opt||!opt.hv||opt.hv[1];var boundingMode=opt&&opt.boundingMode||'all';if(!h&&!v){return}var rect;if(boundingMode==='raw'){rect=el.type==='group'?new BoundingRect(0,0,+positionInfo.width||0,+positionInfo.height||0):el.getBoundingRect()}else{rect=el.getBoundingRect();if(el.needLocalTransform()){var transform=el.getLocalTransform();rect=rect.clone();rect.applyTransform(transform)}}positionInfo=getLayoutRect(defaults({width:rect.width,height:rect.height},positionInfo),containerRect,margin);var elPos=el.position;var dx=h?positionInfo.x-rect.x:0;var dy=v?positionInfo.y-rect.y:0;el.attr('position',boundingMode==='raw'?[dx,dy]:[elPos[0]+dx,elPos[1]+dy])}function sizeCalculable(option,hvIdx){return option[HV_NAMES[hvIdx][0]]!=null||(option[HV_NAMES[hvIdx][1]]!=null&&option[HV_NAMES[hvIdx][2]]!=null)}function mergeLayoutParam(targetOption,newOption,opt){!isObject$1(opt)&&(opt={});var ignoreSize=opt.ignoreSize;!isArray(ignoreSize)&&(ignoreSize=[ignoreSize,ignoreSize]);var hResult=merge$$1(HV_NAMES[0],0);var vResult=merge$$1(HV_NAMES[1],1);copy(HV_NAMES[0],targetOption,hResult);copy(HV_NAMES[1],targetOption,vResult);function merge$$1(names,hvIdx){var newParams={};var newValueCount=0;var merged={};var mergedValueCount=0;var enoughParamNumber=2;each$3(names,function(name){merged[name]=targetOption[name]});each$3(names,function(name){hasProp(newOption,name)&&(newParams[name]=merged[name]=newOption[name]);hasValue(newParams,name)&&newValueCount++;hasValue(merged,name)&&mergedValueCount++});if(ignoreSize[hvIdx]){if(hasValue(newOption,names[1])){merged[names[2]]=null}else if(hasValue(newOption,names[2])){merged[names[1]]=null}return merged}if(mergedValueCount===enoughParamNumber||!newValueCount){return merged}else if(newValueCount>=enoughParamNumber){return newParams}else{for(var i=0;i=0;i--){defaultOption=merge(defaultOption,optList[i],true)}fields.defaultOption=defaultOption}return fields.defaultOption},getReferringComponents:function(mainType){return this.ecModel.queryComponents({mainType:mainType,index:this.get(mainType+'Index',true),id:this.get(mainType+'Id',true)})}});enableClassManagement(ComponentModel,{registerWhenExtend:true});enableSubTypeDefaulter(ComponentModel);enableTopologicalTravel(ComponentModel,getDependencies);function getDependencies(componentType){var deps=[];each$1(ComponentModel.getClassesByMainType(componentType),function(Clazz){deps=deps.concat(Clazz.prototype.dependencies||[])});deps=map(deps,function(type){return parseClassType$1(type).main});if(componentType!=='dataset'&&indexOf(deps,'dataset')<=0){deps.unshift('dataset')}return deps}mixin(ComponentModel,boxLayoutMixin);var platform='';if(typeof navigator!=='undefined'){platform=navigator.platform||''}var globalDefault={color:['#c23531','#2f4554','#61a0a8','#d48265','#91c7ae','#749f83','#ca8622','#bda29a','#6e7074','#546570','#c4ccd3'],gradientColor:['#f6efa6','#d88273','#bf444c'],textStyle:{fontFamily:platform.match(/^Win/)?'Microsoft YaHei':'sans-serif',fontSize:12,fontStyle:'normal',fontWeight:'normal'},blendMode:null,animation:'auto',animationDuration:1000,animationDurationUpdate:300,animationEasing:'exponentialOut',animationEasingUpdate:'cubicOut',animationThreshold:2000,progressiveThreshold:3000,progressive:400,hoverLayerThreshold:3000,useUTC:false};var inner$2=makeInner();function getNearestColorPalette(colors,requestColorNum){var paletteNum=colors.length;for(var i=0;irequestColorNum){return colors[i]}}return colors[paletteNum-1]}var colorPaletteMixin={clearColorPalette:function(){inner$2(this).colorIdx=0;inner$2(this).colorNameMap={}},getColorFromPalette:function(name,scope,requestColorNum){scope=scope||this;var scopeFields=inner$2(scope);var colorIdx=scopeFields.colorIdx||0;var colorNameMap=scopeFields.colorNameMap=scopeFields.colorNameMap||{};if(colorNameMap.hasOwnProperty(name)){return colorNameMap[name]}var defaultColorPalette=normalizeToArray(this.get('color',true));var layeredColorPalette=this.get('colorLayer',true);var colorPalette=((requestColorNum==null||!layeredColorPalette)?defaultColorPalette:getNearestColorPalette(layeredColorPalette,requestColorNum));colorPalette=colorPalette||defaultColorPalette;if(!colorPalette||!colorPalette.length){return}var color=colorPalette[colorIdx];if(name){colorNameMap[name]=color}scopeFields.colorIdx=(colorIdx+1)%colorPalette.length;return color}};var SOURCE_FORMAT_ORIGINAL='original';var SOURCE_FORMAT_ARRAY_ROWS='arrayRows';var SOURCE_FORMAT_OBJECT_ROWS='objectRows';var SOURCE_FORMAT_KEYED_COLUMNS='keyedColumns';var SOURCE_FORMAT_UNKNOWN='unknown';var SOURCE_FORMAT_TYPED_ARRAY='typedArray';var SERIES_LAYOUT_BY_COLUMN='column';var SERIES_LAYOUT_BY_ROW='row';function Source(fields){this.fromDataset=fields.fromDataset;this.data=fields.data||(fields.sourceFormat===SOURCE_FORMAT_KEYED_COLUMNS?{}:[]);this.sourceFormat=fields.sourceFormat||SOURCE_FORMAT_UNKNOWN;this.seriesLayoutBy=fields.seriesLayoutBy||SERIES_LAYOUT_BY_COLUMN;this.dimensionsDefine=fields.dimensionsDefine;this.encodeDefine=fields.encodeDefine&&createHashMap(fields.encodeDefine);this.startIndex=fields.startIndex||0;this.dimensionsDetectCount=fields.dimensionsDetectCount}Source.seriesDataToSource=function(data){return new Source({data:data,sourceFormat:isTypedArray(data)?SOURCE_FORMAT_TYPED_ARRAY:SOURCE_FORMAT_ORIGINAL,fromDataset:false})};enableClassCheck(Source);var BE_ORDINAL={Must:1,Might:2,Not:3};var inner$3=makeInner();function detectSourceFormat(datasetModel){var data=datasetModel.option.source;var sourceFormat=SOURCE_FORMAT_UNKNOWN;if(isTypedArray(data)){sourceFormat=SOURCE_FORMAT_TYPED_ARRAY}else if(isArray(data)){if(data.length===0){sourceFormat=SOURCE_FORMAT_ARRAY_ROWS}for(var i=0,len=data.length;i=0;i--){if(isIdInner(opts[i])){opts.splice(i,1)}}option[mainType]=opts}});delete option[OPTION_INNER_KEY];return option},getTheme:function(){return this._theme},getComponent:function(mainType,idx){var list=this._componentsMap.get(mainType);if(list){return list[idx||0]}},queryComponents:function(condition){var mainType=condition.mainType;if(!mainType){return[]}var index=condition.index;var id=condition.id;var name=condition.name;var cpts=this._componentsMap.get(mainType);if(!cpts||!cpts.length){return[]}var result;if(index!=null){if(!isArray(index)){index=[index]}result=filter(map(index,function(idx){return cpts[idx]}),function(val){return!!val})}else if(id!=null){var isIdArray=isArray(id);result=filter(cpts,function(cpt){return(isIdArray&&indexOf(id,cpt.id)>=0)||(!isIdArray&&cpt.id===id)})}else if(name!=null){var isNameArray=isArray(name);result=filter(cpts,function(cpt){return(isNameArray&&indexOf(name,cpt.name)>=0)||(!isNameArray&&cpt.name===name)})}else{result=cpts.slice()}return filterBySubType(result,condition)},findComponents:function(condition){var query=condition.query;var mainType=condition.mainType;var queryCond=getQueryCond(query);var result=queryCond?this.queryComponents(queryCond):this._componentsMap.get(mainType);return doFilter(filterBySubType(result,condition));function getQueryCond(q){var indexAttr=mainType+'Index';var idAttr=mainType+'Id';var nameAttr=mainType+'Name';return q&&(q[indexAttr]!=null||q[idAttr]!=null||q[nameAttr]!=null)?{mainType:mainType,index:q[indexAttr],id:q[idAttr],name:q[nameAttr]}:null}function doFilter(res){return condition.filter?filter(res,condition.filter):res}},eachComponent:function(mainType,cb,context){var componentsMap=this._componentsMap;if(typeof mainType==='function'){context=cb;cb=mainType;componentsMap.each(function(components,componentType){each$1(components,function(component,index){cb.call(context,componentType,component,index)})})}else if(isString(mainType)){each$1(componentsMap.get(mainType),cb,context)}else if(isObject$1(mainType)){var queryResult=this.findComponents(mainType);each$1(queryResult,cb,context)}},getSeriesByName:function(name){var series=this._componentsMap.get('series');return filter(series,function(oneSeries){return oneSeries.name===name})},getSeriesByIndex:function(seriesIndex){return this._componentsMap.get('series')[seriesIndex]},getSeriesByType:function(subType){var series=this._componentsMap.get('series');return filter(series,function(oneSeries){return oneSeries.subType===subType})},getSeries:function(){return this._componentsMap.get('series').slice()},getSeriesCount:function(){return this._componentsMap.get('series').length},eachSeries:function(cb,context){assertSeriesInitialized(this);each$1(this._seriesIndices,function(rawSeriesIndex){var series=this._componentsMap.get('series')[rawSeriesIndex];cb.call(context,series,rawSeriesIndex)},this)},eachRawSeries:function(cb,context){each$1(this._componentsMap.get('series'),cb,context)},eachSeriesByType:function(subType,cb,context){assertSeriesInitialized(this);each$1(this._seriesIndices,function(rawSeriesIndex){var series=this._componentsMap.get('series')[rawSeriesIndex];if(series.subType===subType){cb.call(context,series,rawSeriesIndex)}},this)},eachRawSeriesByType:function(subType,cb,context){return each$1(this.getSeriesByType(subType),cb,context)},isSeriesFiltered:function(seriesModel){assertSeriesInitialized(this);return this._seriesIndicesMap.get(seriesModel.componentIndex)==null},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(cb,context){assertSeriesInitialized(this);var filteredSeries=filter(this._componentsMap.get('series'),cb,context);createSeriesIndices(this,filteredSeries)},restoreData:function(payload){var componentsMap=this._componentsMap;createSeriesIndices(this,componentsMap.get('series'));var componentTypes=[];componentsMap.each(function(components,componentType){componentTypes.push(componentType)});ComponentModel.topologicalTravel(componentTypes,ComponentModel.getAllClassMainTypes(),function(componentType,dependencies){each$1(componentsMap.get(componentType),function(component){(componentType!=='series'||!isNotTargetSeries(component,payload))&&component.restoreData()})})}});function isNotTargetSeries(seriesModel,payload){if(payload){var index=payload.seiresIndex;var id=payload.seriesId;var name=payload.seriesName;return(index!=null&&seriesModel.componentIndex!==index)||(id!=null&&seriesModel.id!==id)||(name!=null&&seriesModel.name!==name)}}function mergeTheme(option,theme){var notMergeColorLayer=option.color&&!option.colorLayer;each$1(theme,function(themeItem,name){if(name==='colorLayer'&¬MergeColorLayer){return}if(!ComponentModel.hasClass(name)){if(typeof themeItem==='object'){option[name]=!option[name]?clone(themeItem):merge(option[name],themeItem,false)}else{if(option[name]==null){option[name]=themeItem}}}})}function initBase(baseOption){baseOption=baseOption;this.option={};this.option[OPTION_INNER_KEY]=1;this._componentsMap=createHashMap({series:[]});this._seriesIndices;this._seriesIndicesMap;mergeTheme(baseOption,this._theme.option);merge(baseOption,globalDefault,false);this.mergeOption(baseOption)}function getComponentsByTypes(componentsMap,types){if(!isArray(types)){types=types?[types]:[]}var ret={};each$1(types,function(type){ret[type]=(componentsMap.get(type)||[]).slice()});return ret}function determineSubType(mainType,newCptOption,existComponent){var subType=newCptOption.type?newCptOption.type:existComponent?existComponent.subType:ComponentModel.determineSubType(mainType,newCptOption);return subType}function createSeriesIndices(ecModel,seriesModels){ecModel._seriesIndicesMap=createHashMap(ecModel._seriesIndices=map(seriesModels,function(series){return series.componentIndex})||[])}function filterBySubType(components,condition){return condition.hasOwnProperty('subType')?filter(components,function(cpt){return cpt.subType===condition.subType}):components}function assertSeriesInitialized(ecModel){if(__DEV__){if(!ecModel._seriesIndices){throw new Error('Option should contains series.');}}}mixin(GlobalModel,colorPaletteMixin);var echartsAPIList=['getDom','getZr','getWidth','getHeight','getDevicePixelRatio','dispatchAction','isDisposed','on','off','getDataURL','getConnectedDataURL','getModel','getOption','getViewOfComponentModel','getViewOfSeriesModel'];function ExtensionAPI(chartInstance){each$1(echartsAPIList,function(name){this[name]=bind(chartInstance[name],chartInstance)},this)}var coordinateSystemCreators={};function CoordinateSystemManager(){this._coordinateSystems=[]}CoordinateSystemManager.prototype={constructor:CoordinateSystemManager,create:function(ecModel,api){var coordinateSystems=[];each$1(coordinateSystemCreators,function(creater,type){var list=creater.create(ecModel,api);coordinateSystems=coordinateSystems.concat(list||[])});this._coordinateSystems=coordinateSystems},update:function(ecModel,api){each$1(this._coordinateSystems,function(coordSys){coordSys.update&&coordSys.update(ecModel,api)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}};CoordinateSystemManager.register=function(type,coordinateSystemCreator){coordinateSystemCreators[type]=coordinateSystemCreator};CoordinateSystemManager.get=function(type){return coordinateSystemCreators[type]};var each$4=each$1;var clone$3=clone;var map$1=map;var merge$1=merge;var QUERY_REG=/^(min|max)?(.+)$/;function OptionManager(api){this._api=api;this._timelineOptions=[];this._mediaList=[];this._mediaDefault;this._currentMediaIndices=[];this._optionBackup;this._newBaseOption}OptionManager.prototype={constructor:OptionManager,setOption:function(rawOption,optionPreprocessorFuncs){if(rawOption){each$1(normalizeToArray(rawOption.series),function(series){series&&series.data&&isTypedArray(series.data)&&setAsPrimitive(series.data)})}rawOption=clone$3(rawOption);var oldOptionBackup=this._optionBackup;var newParsedOption=parseRawOption.call(this,rawOption,optionPreprocessorFuncs,!oldOptionBackup);this._newBaseOption=newParsedOption.baseOption;if(oldOptionBackup){mergeOption(oldOptionBackup.baseOption,newParsedOption.baseOption);if(newParsedOption.timelineOptions.length){oldOptionBackup.timelineOptions=newParsedOption.timelineOptions}if(newParsedOption.mediaList.length){oldOptionBackup.mediaList=newParsedOption.mediaList}if(newParsedOption.mediaDefault){oldOptionBackup.mediaDefault=newParsedOption.mediaDefault}}else{this._optionBackup=newParsedOption}},mountOption:function(isRecreate){var optionBackup=this._optionBackup;this._timelineOptions=map$1(optionBackup.timelineOptions,clone$3);this._mediaList=map$1(optionBackup.mediaList,clone$3);this._mediaDefault=clone$3(optionBackup.mediaDefault);this._currentMediaIndices=[];return clone$3(isRecreate?optionBackup.baseOption:this._newBaseOption)},getTimelineOption:function(ecModel){var option;var timelineOptions=this._timelineOptions;if(timelineOptions.length){var timelineModel=ecModel.getComponent('timeline');if(timelineModel){option=clone$3(timelineOptions[timelineModel.getCurrentIndex()],true)}}return option},getMediaOption:function(ecModel){var ecWidth=this._api.getWidth();var ecHeight=this._api.getHeight();var mediaList=this._mediaList;var mediaDefault=this._mediaDefault;var indices=[];var result=[];if(!mediaList.length&&!mediaDefault){return result}for(var i=0,len=mediaList.length;i=expect}else if(operator==='max'){return real<=expect}else{return real===expect}}function indicesEquals(indices1,indices2){return indices1.join(',')===indices2.join(',')}function mergeOption(oldOption,newOption){newOption=newOption||{};each$4(newOption,function(newCptOpt,mainType){if(newCptOpt==null){return}var oldCptOpt=oldOption[mainType];if(!ComponentModel.hasClass(mainType)){oldOption[mainType]=merge$1(oldCptOpt,newCptOpt,true)}else{newCptOpt=normalizeToArray(newCptOpt);oldCptOpt=normalizeToArray(oldCptOpt);var mapResult=mappingToExists(oldCptOpt,newCptOpt);oldOption[mainType]=map$1(mapResult,function(item){return(item.option&&item.exist)?merge$1(item.exist,item.option,true):(item.exist||item.option)})}})}var each$5=each$1;var isObject$3=isObject$1;var POSSIBLE_STYLES=['areaStyle','lineStyle','nodeStyle','linkStyle','chordStyle','label','labelLine'];function compatEC2ItemStyle(opt){var itemStyleOpt=opt&&opt.itemStyle;if(!itemStyleOpt){return}for(var i=0,len=POSSIBLE_STYLES.length;i=0;j--){var stackInfo=stackInfoList[j];if(!isStackedByIndex){stackedDataRawIndex=stackInfo.data.rawIndexOf(stackInfo.stackedByDimension,byValue)}if(stackedDataRawIndex>=0){var val=stackInfo.data.getByRawIndex(stackInfo.stackResultDimension,stackedDataRawIndex);if((sum>=0&&val>0)||(sum<=0&&val<0)){sum+=val;stackedOver=val;break}}}resultVal[0]=sum;resultVal[1]=stackedOver;return resultVal});targetData.hostModel.setData(newData);targetStackInfo.data=newData})}function DefaultDataProvider(source,dimSize){if(!Source.isInstance(source)){source=Source.seriesDataToSource(source)}this._source=source;var data=this._data=source.data;var sourceFormat=source.sourceFormat;if(sourceFormat===SOURCE_FORMAT_TYPED_ARRAY){if(__DEV__){if(dimSize==null){throw new Error('Typed array data must specify dimension size');}}this._offset=0;this._dimSize=dimSize;this._data=data}var methods=providerMethods[sourceFormat===SOURCE_FORMAT_ARRAY_ROWS?sourceFormat+'_'+source.seriesLayoutBy:sourceFormat];if(__DEV__){assert$1(methods,'Invalide sourceFormat: '+sourceFormat)}extend(this,methods)}var providerProto=DefaultDataProvider.prototype;providerProto.pure=false;providerProto.persistent=true;providerProto.getSource=function(){return this._source};var providerMethods={'arrayRows_column':{pure:true,count:function(){return Math.max(0,this._data.length-this._source.startIndex)},getItem:function(idx){return this._data[idx+this._source.startIndex]},appendData:appendDataSimply},'arrayRows_row':{pure:true,count:function(){var row=this._data[0];return row?Math.max(0,row.length-this._source.startIndex):0},getItem:function(idx){idx+=this._source.startIndex;var item=[];var data=this._data;for(var i=0;i=1)&&(val=1);return val}var forceFirstProgress;if(this._dirty||planResult==='reset'){this._dirty=false;forceFirstProgress=reset(this,skip)}this._modBy=modBy;this._modDataCount=modDataCount;var step=performArgs&&performArgs.step;if(upTask){if(__DEV__){assert$1(upTask._outputDueEnd!=null)}this._dueEnd=upTask._outputDueEnd}else{if(__DEV__){assert$1(!this._progress||this._count)}this._dueEnd=this._count?this._count(this.context):Infinity}if(this._progress){var start=this._dueIndex;var end=Math.min(step!=null?this._dueIndex+step:Infinity,this._dueEnd);if(!skip&&(forceFirstProgress||start=this._outputDueEnd)}this._outputDueEnd=outputDueEnd}else{this._dueIndex=this._outputDueEnd=this._settedOutputEnd!=null?this._settedOutputEnd:this._dueEnd}return this.unfinished()};var iterator=(function(){var end;var current;var modBy;var modDataCount;var winCount;var it={reset:function(s,e,sStep,sCount){current=s;end=e;modBy=sStep;modDataCount=sCount;winCount=Math.ceil(modDataCount/modBy);it.next=(modBy>1&&modDataCount>0)?modNext:sequentialNext}};return it;function sequentialNext(){return current=end?null:dataIndex':'\n';var isRichText=renderMode==='richText';var markers={};var markerId=0;function formatArrayValue(value){var vertially=reduce(value,function(vertially,val,idx){var dimItem=data.getDimensionInfo(idx);return vertially|=dimItem&&dimItem.tooltip!==false&&dimItem.displayName!=null},0);var result=[];tooltipDims.length?each$1(tooltipDims,function(dim){setEachItem(retrieveRawValue(data,dataIndex,dim),dim)}):each$1(value,setEachItem);function setEachItem(val,dim){var dimInfo=data.getDimensionInfo(dim);if(!dimInfo||dimInfo.otherDims.tooltip===false){return}var dimType=dimInfo.type;var markName='sub'+series.seriesIndex+'at'+markerId;var dimHead=getTooltipMarker({color:color,type:'subItem',renderMode:renderMode,markerId:markName});var dimHeadStr=typeof dimHead==='string'?dimHead:dimHead.content;var valStr=(vertially?dimHeadStr+encodeHTML(dimInfo.displayName||'-')+': ':'')+encodeHTML(dimType==='ordinal'?val+'':dimType==='time'?(multipleSeries?'':formatTime('yyyy/MM/dd hh:mm:ss',val)):addCommas(val));valStr&&result.push(valStr);if(isRichText){markers[markName]=color;++markerId}}var newLine=vertially?(isRichText?'\n':'
'):'';var content=newLine+result.join(newLine||', ');return{renderMode:renderMode,content:content,style:markers}}function formatSingleValue(val){return{renderMode:renderMode,content:encodeHTML(addCommas(val)),style:markers}}var data=this.getData();var tooltipDims=data.mapDimension('defaultedTooltip',true);var tooltipDimLen=tooltipDims.length;var value=this.getRawValue(dataIndex);var isValueArr=isArray(value);var color=data.getItemVisual(dataIndex,'color');if(isObject$1(color)&&color.colorStops){color=(color.colorStops[0]||{}).color}color=color||'transparent';var formattedValue=(tooltipDimLen>1||(isValueArr&&!tooltipDimLen))?formatArrayValue(value):tooltipDimLen?formatSingleValue(retrieveRawValue(data,dataIndex,tooltipDims[0])):formatSingleValue(isValueArr?value[0]:value);var content=formattedValue.content;var markName=series.seriesIndex+'at'+markerId;var colorEl=getTooltipMarker({color:color,type:'item',renderMode:renderMode,markerId:markName});markers[markName]=color;++markerId;var name=data.getName(dataIndex);var seriesName=this.name;if(!isNameSpecified(this)){seriesName=''}seriesName=seriesName?encodeHTML(seriesName)+(!multipleSeries?newLine:': '):'';var colorStr=typeof colorEl==='string'?colorEl:colorEl.content;var html=!multipleSeries?seriesName+colorStr+(name?encodeHTML(name)+': '+content:content):colorStr+seriesName+content;return{html:html,markers:markers}},isAnimationEnabled:function(){if(env$1.node){return false}var animationEnabled=this.getShallow('animation');if(animationEnabled){if(this.getData().count()>this.getShallow('animationThreshold')){animationEnabled=false}}return animationEnabled},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(name,scope,requestColorNum){var ecModel=this.ecModel;var color=colorPaletteMixin.getColorFromPalette.call(this,name,scope,requestColorNum);if(!color){color=ecModel.getColorFromPalette(name,scope,requestColorNum)}return color},coordDimToDataDim:function(coordDim){return this.getRawData().mapDimension(coordDim,true)},getProgressive:function(){return this.get('progressive')},getProgressiveThreshold:function(){return this.get('progressiveThreshold')},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});mixin(SeriesModel,dataFormatMixin);mixin(SeriesModel,colorPaletteMixin);function autoSeriesName(seriesModel){var name=seriesModel.name;if(!isNameSpecified(seriesModel)){seriesModel.name=getSeriesAutoName(seriesModel)||name}}function getSeriesAutoName(seriesModel){var data=seriesModel.getRawData();var dataDims=data.mapDimension('seriesName',true);var nameArr=[];each$1(dataDims,function(dataDim){var dimInfo=data.getDimensionInfo(dataDim);dimInfo.displayName&&nameArr.push(dimInfo.displayName)});return nameArr.join(' ')}function dataTaskCount(context){return context.model.getRawData().count()}function dataTaskReset(context){var seriesModel=context.model;seriesModel.setData(seriesModel.getRawData().cloneShallow());return dataTaskProgress}function dataTaskProgress(param,context){if(context.outputData&¶m.end>context.outputData.count()){context.model.getRawData().cloneShallow(context.outputData)}}function wrapData(data,seriesModel){each$1(data.CHANGABLE_METHODS,function(methodName){data.wrapMethod(methodName,curry(onDataSelfChange,seriesModel))})}function onDataSelfChange(seriesModel){var task=getCurrentTask(seriesModel);if(task){task.setOutputEnd(this.count())}}function getCurrentTask(seriesModel){var scheduler=(seriesModel.ecModel||{}).scheduler;var pipeline=scheduler&&scheduler.getPipeline(seriesModel.uid);if(pipeline){var task=pipeline.currentTask;if(task){var agentStubMap=task.agentStubMap;if(agentStubMap){task=agentStubMap.get(seriesModel.uid)}}return task}}var Component$1=function(){this.group=new Group();this.uid=getUID('viewComponent')};Component$1.prototype={constructor:Component$1,init:function(ecModel,api){},render:function(componentModel,ecModel,api,payload){},dispose:function(){},filterForExposedEvent:null};var componentProto=Component$1.prototype;componentProto.updateView=componentProto.updateLayout=componentProto.updateVisual=function(seriesModel,ecModel,api,payload){};enableClassExtend(Component$1);enableClassManagement(Component$1,{registerWhenExtend:true});var createRenderPlanner=function(){var inner=makeInner();return function(seriesModel){var fields=inner(seriesModel);var pipelineContext=seriesModel.pipelineContext;var originalLarge=fields.large;var originalProgressive=fields.progressiveRender;var large=fields.large=pipelineContext&&pipelineContext.large;var progressive=fields.progressiveRender=pipelineContext&&pipelineContext.progressiveRender;return!!((originalLarge^large)||(originalProgressive^progressive))&&'reset'}};var inner$5=makeInner();var renderPlanner=createRenderPlanner();function Chart(){this.group=new Group();this.uid=getUID('viewChart');this.renderTask=createTask({plan:renderTaskPlan,reset:renderTaskReset});this.renderTask.context={view:this}}Chart.prototype={type:'chart',init:function(ecModel,api){},render:function(seriesModel,ecModel,api,payload){},highlight:function(seriesModel,ecModel,api,payload){toggleHighlight(seriesModel.getData(),payload,'emphasis')},downplay:function(seriesModel,ecModel,api,payload){toggleHighlight(seriesModel.getData(),payload,'normal')},remove:function(ecModel,api){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var chartProto=Chart.prototype;chartProto.updateView=chartProto.updateLayout=chartProto.updateVisual=function(seriesModel,ecModel,api,payload){this.render(seriesModel,ecModel,api,payload)};function elSetState(el,state,highlightDigit){if(el){el.trigger(state,highlightDigit);if(el.isGroup&&!isHighDownDispatcher(el)){for(var i=0,len=el.childCount();i=0){exec()}else{timer=setTimeout(exec,-diff)}}lastCall=currCall};cb.clear=function(){if(timer){clearTimeout(timer);timer=null}};cb.debounceNextCall=function(debounceDelay){debounceNextCall=debounceDelay};return cb}function createOrUpdate(obj,fnAttr,rate,throttleType){var fn=obj[fnAttr];if(!fn){return}var originFn=fn[ORIGIN_METHOD]||fn;var lastThrottleType=fn[THROTTLE_TYPE];var lastRate=fn[RATE];if(lastRate!==rate||lastThrottleType!==throttleType){if(rate==null||!throttleType){return(obj[fnAttr]=originFn)}fn=obj[fnAttr]=throttle(originFn,rate,throttleType==='debounce');fn[ORIGIN_METHOD]=originFn;fn[THROTTLE_TYPE]=throttleType;fn[RATE]=rate}return fn}function clear(obj,fnAttr){var fn=obj[fnAttr];if(fn&&fn[ORIGIN_METHOD]){obj[fnAttr]=fn[ORIGIN_METHOD]}}var seriesColor={createOnAllSeries:true,performRawSeries:true,reset:function(seriesModel,ecModel){var data=seriesModel.getData();var colorAccessPath=(seriesModel.visualColorAccessPath||'itemStyle.color').split('.');var color=seriesModel.get(colorAccessPath);var colorCallback=(isFunction$1(color)&&!(color instanceof Gradient))?color:null;if(!color||colorCallback){color=seriesModel.getColorFromPalette(seriesModel.name,null,ecModel.getSeriesCount())}data.setVisual('color',color);var borderColorAccessPath=(seriesModel.visualBorderColorAccessPath||'itemStyle.borderColor').split('.');var borderColor=seriesModel.get(borderColorAccessPath);data.setVisual('borderColor',borderColor);if(!ecModel.isSeriesFiltered(seriesModel)){if(colorCallback){data.each(function(idx){data.setItemVisual(idx,'color',colorCallback(seriesModel.getDataParams(idx)))})}var dataEach=function(data,idx){var itemModel=data.getItemModel(idx);var color=itemModel.get(colorAccessPath,true);var borderColor=itemModel.get(borderColorAccessPath,true);if(color!=null){data.setItemVisual(idx,'color',color)}if(borderColor!=null){data.setItemVisual(idx,'borderColor',borderColor)}};return{dataEach:data.hasItemOption?dataEach:null}}}};var lang={legend:{selector:{all:'全选',inverse:'反选'}},toolbox:{brush:{title:{rect:'矩形选择',polygon:'圈选',lineX:'横向选择',lineY:'纵向选择',keep:'保持选择',clear:'清除选择'}},dataView:{title:'数据视图',lang:['数据视图','关闭','刷新']},dataZoom:{title:{zoom:'区域缩放',back:'区域缩放还原'}},magicType:{title:{line:'切换为折线图',bar:'切换为柱状图',stack:'切换为堆叠',tiled:'切换为平铺'}},restore:{title:'还原'},saveAsImage:{title:'保存为图片',lang:['右键另存为图片']}},series:{typeNames:{pie:'饼图',bar:'柱状图',line:'折线图',scatter:'散点图',effectScatter:'涟漪散点图',radar:'雷达图',tree:'树图',treemap:'矩形树图',boxplot:'箱型图',candlestick:'K线图',k:'K线图',heatmap:'热力图',map:'地图',parallel:'平行坐标图',lines:'线图',graph:'关系图',sankey:'桑基图',funnel:'漏斗图',gauge:'仪表盘图',pictorialBar:'象形柱图',themeRiver:'主题河流图',sunburst:'旭日图'}},aria:{general:{withTitle:'这是一个关于“{title}”的图表。',withoutTitle:'这是一个图表,'},series:{single:{prefix:'',withName:'图表类型是{seriesType},表示{seriesName}。',withoutName:'图表类型是{seriesType}。'},multiple:{prefix:'它由{seriesCount}个图表系列组成。',withName:'第{seriesId}个系列是一个表示{seriesName}的{seriesType},',withoutName:'第{seriesId}个系列是一个{seriesType},',separator:{middle:';',end:'。'}}},data:{allData:'其数据是——',partialData:'其中,前{displayCnt}项是——',withName:'{name}的数据是{value}',withoutName:'{value}',separator:{middle:',',end:''}}}};var aria=function(dom,ecModel){var ariaModel=ecModel.getModel('aria');if(!ariaModel.get('show')){return}else if(ariaModel.get('description')){dom.setAttribute('aria-label',ariaModel.get('description'));return}var seriesCnt=0;ecModel.eachSeries(function(seriesModel,idx){++seriesCnt},this);var maxDataCnt=ariaModel.get('data.maxCount')||10;var maxSeriesCnt=ariaModel.get('series.maxCount')||10;var displaySeriesCnt=Math.min(seriesCnt,maxSeriesCnt);var ariaLabel;if(seriesCnt<1){return}else{var title=getTitle();if(title){ariaLabel=replace(getConfig('general.withTitle'),{title:title})}else{ariaLabel=getConfig('general.withoutTitle')}var seriesLabels=[];var prefix=seriesCnt>1?'series.multiple.prefix':'series.single.prefix';ariaLabel+=replace(getConfig(prefix),{seriesCount:seriesCnt});ecModel.eachSeries(function(seriesModel,idx){if(idx1?'multiple':'single')+'.';seriesLabel=getConfig(seriesName?seriesTpl+'withName':seriesTpl+'withoutName');seriesLabel=replace(seriesLabel,{seriesId:seriesModel.seriesIndex,seriesName:seriesModel.get('name'),seriesType:getSeriesTypeName(seriesModel.subType)});var data=seriesModel.getData();window.data=data;if(data.count()>maxDataCnt){seriesLabel+=replace(getConfig('data.partialData'),{displayCnt:maxDataCnt})}else{seriesLabel+=getConfig('data.allData')}var dataLabels=[];for(var i=0;ipipeline.blockIndex;var step=incremental?pipeline.step:null;var modDataCount=pCtx&&pCtx.modDataCount;var modBy=modDataCount!=null?Math.ceil(modDataCount/step):null;return{step:step,modBy:modBy,modDataCount:modDataCount}};proto.getPipeline=function(pipelineId){return this._pipelineMap.get(pipelineId)};proto.updateStreamModes=function(seriesModel,view){var pipeline=this._pipelineMap.get(seriesModel.uid);var data=seriesModel.getData();var dataLen=data.count();var progressiveRender=pipeline.progressiveEnabled&&view.incrementalPrepareRender&&dataLen>=pipeline.threshold;var large=seriesModel.get('large')&&dataLen>=seriesModel.get('largeThreshold');var modDataCount=seriesModel.get('progressiveChunkMode')==='mod'?dataLen:null;seriesModel.pipelineContext=pipeline.context={progressiveRender:progressiveRender,modDataCount:modDataCount,large:large}};proto.restorePipelines=function(ecModel){var scheduler=this;var pipelineMap=scheduler._pipelineMap=createHashMap();ecModel.eachSeries(function(seriesModel){var progressive=seriesModel.getProgressive();var pipelineId=seriesModel.uid;pipelineMap.set(pipelineId,{id:pipelineId,head:null,tail:null,threshold:seriesModel.getProgressiveThreshold(),progressiveEnabled:progressive&&!(seriesModel.preventIncremental&&seriesModel.preventIncremental()),blockIndex:-1,step:Math.round(progressive||700),count:0});pipe(scheduler,seriesModel,seriesModel.dataTask)})};proto.prepareStageTasks=function(){var stageTaskMap=this._stageTaskMap;var ecModel=this.ecInstance.getModel();var api=this.api;each$1(this._allHandlers,function(handler){var record=stageTaskMap.get(handler.uid)||stageTaskMap.set(handler.uid,[]);handler.reset&&createSeriesStageTask(this,handler,record,ecModel,api);handler.overallReset&&createOverallStageTask(this,handler,record,ecModel,api)},this)};proto.prepareView=function(view,model,ecModel,api){var renderTask=view.renderTask;var context=renderTask.context;context.model=model;context.ecModel=ecModel;context.api=api;renderTask.__block=!view.incrementalPrepareRender;pipe(this,model,renderTask)};proto.performDataProcessorTasks=function(ecModel,payload){performStageTasks(this,this._dataProcessorHandlers,ecModel,payload,{block:true})};proto.performVisualTasks=function(ecModel,payload,opt){performStageTasks(this,this._visualHandlers,ecModel,payload,opt)};function performStageTasks(scheduler,stageHandlers,ecModel,payload,opt){opt=opt||{};var unfinished;each$1(stageHandlers,function(stageHandler,idx){if(opt.visualType&&opt.visualType!==stageHandler.visualType){return}var stageHandlerRecord=scheduler._stageTaskMap.get(stageHandler.uid);var seriesTaskMap=stageHandlerRecord.seriesTaskMap;var overallTask=stageHandlerRecord.overallTask;if(overallTask){var overallNeedDirty;var agentStubMap=overallTask.agentStubMap;agentStubMap.each(function(stub){if(needSetDirty(opt,stub)){stub.dirty();overallNeedDirty=true}});overallNeedDirty&&overallTask.dirty();updatePayload(overallTask,payload);var performArgs=scheduler.getPerformArgs(overallTask,opt.block);agentStubMap.each(function(stub){stub.perform(performArgs)});unfinished|=overallTask.perform(performArgs)}else if(seriesTaskMap){seriesTaskMap.each(function(task,pipelineId){if(needSetDirty(opt,task)){task.dirty()}var performArgs=scheduler.getPerformArgs(task,opt.block);performArgs.skip=!stageHandler.performRawSeries&&ecModel.isSeriesFiltered(task.context.model);updatePayload(task,payload);unfinished|=task.perform(performArgs)})}});function needSetDirty(opt,task){return opt.setDirty&&(!opt.dirtyMap||opt.dirtyMap.get(task.__pipeline.id))}scheduler.unfinished|=unfinished}proto.performSeriesTasks=function(ecModel){var unfinished;ecModel.eachSeries(function(seriesModel){unfinished|=seriesModel.dataTask.perform()});this.unfinished|=unfinished};proto.plan=function(){this._pipelineMap.each(function(pipeline){var task=pipeline.tail;do{if(task.__block){pipeline.blockIndex=task.__idxInPipeline;break}task=task.getUpstream()}while(task)})};var updatePayload=proto.updatePayload=function(task,payload){payload!=='remain'&&(task.context.payload=payload)};function createSeriesStageTask(scheduler,stageHandler,stageHandlerRecord,ecModel,api){var seriesTaskMap=stageHandlerRecord.seriesTaskMap||(stageHandlerRecord.seriesTaskMap=createHashMap());var seriesType=stageHandler.seriesType;var getTargetSeries=stageHandler.getTargetSeries;if(stageHandler.createOnAllSeries){ecModel.eachRawSeries(create)}else if(seriesType){ecModel.eachRawSeriesByType(seriesType,create)}else if(getTargetSeries){getTargetSeries(ecModel,api).each(create)}function create(seriesModel){var pipelineId=seriesModel.uid;var task=seriesTaskMap.get(pipelineId)||seriesTaskMap.set(pipelineId,createTask({plan:seriesTaskPlan,reset:seriesTaskReset,count:seriesTaskCount}));task.context={model:seriesModel,ecModel:ecModel,api:api,useClearVisual:stageHandler.isVisual&&!stageHandler.isLayout,plan:stageHandler.plan,reset:stageHandler.reset,scheduler:scheduler};pipe(scheduler,seriesModel,task)}var pipelineMap=scheduler._pipelineMap;seriesTaskMap.each(function(task,pipelineId){if(!pipelineMap.get(pipelineId)){task.dispose();seriesTaskMap.removeKey(pipelineId)}})}function createOverallStageTask(scheduler,stageHandler,stageHandlerRecord,ecModel,api){var overallTask=stageHandlerRecord.overallTask=stageHandlerRecord.overallTask||createTask({reset:overallTaskReset});overallTask.context={ecModel:ecModel,api:api,overallReset:stageHandler.overallReset,scheduler:scheduler};var agentStubMap=overallTask.agentStubMap=overallTask.agentStubMap||createHashMap();var seriesType=stageHandler.seriesType;var getTargetSeries=stageHandler.getTargetSeries;var overallProgress=true;var modifyOutputEnd=stageHandler.modifyOutputEnd;if(seriesType){ecModel.eachRawSeriesByType(seriesType,createStub)}else if(getTargetSeries){getTargetSeries(ecModel,api).each(createStub)}else{overallProgress=false;each$1(ecModel.getSeries(),createStub)}function createStub(seriesModel){var pipelineId=seriesModel.uid;var stub=agentStubMap.get(pipelineId);if(!stub){stub=agentStubMap.set(pipelineId,createTask({reset:stubReset,onDirty:stubOnDirty}));overallTask.dirty()}stub.context={model:seriesModel,overallProgress:overallProgress,modifyOutputEnd:modifyOutputEnd};stub.agent=overallTask;stub.__block=overallProgress;pipe(scheduler,seriesModel,stub)}var pipelineMap=scheduler._pipelineMap;agentStubMap.each(function(stub,pipelineId){if(!pipelineMap.get(pipelineId)){stub.dispose();overallTask.dirty();agentStubMap.removeKey(pipelineId)}})}function overallTaskReset(context){context.overallReset(context.ecModel,context.api,context.payload)}function stubReset(context,upstreamContext){return context.overallProgress&&stubProgress}function stubProgress(){this.agent.dirty();this.getDownstream().dirty()}function stubOnDirty(){this.agent&&this.agent.dirty()}function seriesTaskPlan(context){return context.plan&&context.plan(context.model,context.ecModel,context.api,context.payload)}function seriesTaskReset(context){if(context.useClearVisual){context.data.clearAllVisual()}var resetDefines=context.resetDefines=normalizeToArray(context.reset(context.model,context.ecModel,context.api,context.payload));return resetDefines.length>1?map(resetDefines,function(v,idx){return makeSeriesTaskProgress(idx)}):singleSeriesTaskProgress}var singleSeriesTaskProgress=makeSeriesTaskProgress(0);function makeSeriesTaskProgress(resetDefineIdx){return function(params,context){var data=context.data;var resetDefine=context.resetDefines[resetDefineIdx];if(resetDefine&&resetDefine.dataEach){for(var i=params.start;i=4){viewBoxRect={x:parseFloat(viewBoxArr[0]||0),y:parseFloat(viewBoxArr[1]||0),width:parseFloat(viewBoxArr[2]),height:parseFloat(viewBoxArr[3])}}}if(viewBoxRect&&width!=null&&height!=null){viewBoxTransform=makeViewBoxTransform(viewBoxRect,width,height);if(!opt.ignoreViewBox){var elRoot=root;root=new Group();root.add(elRoot);elRoot.scale=viewBoxTransform.scale.slice();elRoot.position=viewBoxTransform.position.slice()}}if(!opt.ignoreRootClip&&width!=null&&height!=null){root.setClipPath(new Rect({shape:{x:0,y:0,width:width,height:height}}))}return{root:root,width:width,height:height,viewBoxRect:viewBoxRect,viewBoxTransform:viewBoxTransform}};SVGParser.prototype._parseNode=function(xmlNode,parentGroup){var nodeName=xmlNode.nodeName.toLowerCase();if(nodeName==='defs'){this._isDefine=true}else if(nodeName==='text'){this._isText=true}var el;if(this._isDefine){var parser=defineParsers[nodeName];if(parser){var def=parser.call(this,xmlNode);var id=xmlNode.getAttribute('id');if(id){this._defs[id]=def}}}else{var parser=nodeParsers[nodeName];if(parser){el=parser.call(this,xmlNode,parentGroup);parentGroup.add(el)}}var child=xmlNode.firstChild;while(child){if(child.nodeType===1){this._parseNode(child,el)}if(child.nodeType===3&&this._isText){this._parseText(child,el)}child=child.nextSibling}if(nodeName==='defs'){this._isDefine=false}else if(nodeName==='text'){this._isText=false}};SVGParser.prototype._parseText=function(xmlNode,parentGroup){if(xmlNode.nodeType===1){var dx=xmlNode.getAttribute('dx')||0;var dy=xmlNode.getAttribute('dy')||0;this._textX+=parseFloat(dx);this._textY+=parseFloat(dy)}var text=new Text({style:{text:xmlNode.textContent,transformText:true},position:[this._textX||0,this._textY||0]});inheritStyle(parentGroup,text);parseAttributes(xmlNode,text,this._defs);var fontSize=text.style.fontSize;if(fontSize&&fontSize<9){text.style.fontSize=9;text.scale=text.scale||[1,1];text.scale[0]*=fontSize/9;text.scale[1]*=fontSize/9}var rect=text.getBoundingRect();this._textX+=rect.width;parentGroup.add(text);return text};var nodeParsers={'g':function(xmlNode,parentGroup){var g=new Group();inheritStyle(parentGroup,g);parseAttributes(xmlNode,g,this._defs);return g},'rect':function(xmlNode,parentGroup){var rect=new Rect();inheritStyle(parentGroup,rect);parseAttributes(xmlNode,rect,this._defs);rect.setShape({x:parseFloat(xmlNode.getAttribute('x')||0),y:parseFloat(xmlNode.getAttribute('y')||0),width:parseFloat(xmlNode.getAttribute('width')||0),height:parseFloat(xmlNode.getAttribute('height')||0)});return rect},'circle':function(xmlNode,parentGroup){var circle=new Circle();inheritStyle(parentGroup,circle);parseAttributes(xmlNode,circle,this._defs);circle.setShape({cx:parseFloat(xmlNode.getAttribute('cx')||0),cy:parseFloat(xmlNode.getAttribute('cy')||0),r:parseFloat(xmlNode.getAttribute('r')||0)});return circle},'line':function(xmlNode,parentGroup){var line=new Line();inheritStyle(parentGroup,line);parseAttributes(xmlNode,line,this._defs);line.setShape({x1:parseFloat(xmlNode.getAttribute('x1')||0),y1:parseFloat(xmlNode.getAttribute('y1')||0),x2:parseFloat(xmlNode.getAttribute('x2')||0),y2:parseFloat(xmlNode.getAttribute('y2')||0)});return line},'ellipse':function(xmlNode,parentGroup){var ellipse=new Ellipse();inheritStyle(parentGroup,ellipse);parseAttributes(xmlNode,ellipse,this._defs);ellipse.setShape({cx:parseFloat(xmlNode.getAttribute('cx')||0),cy:parseFloat(xmlNode.getAttribute('cy')||0),rx:parseFloat(xmlNode.getAttribute('rx')||0),ry:parseFloat(xmlNode.getAttribute('ry')||0)});return ellipse},'polygon':function(xmlNode,parentGroup){var points=xmlNode.getAttribute('points');if(points){points=parsePoints(points)}var polygon=new Polygon({shape:{points:points||[]}});inheritStyle(parentGroup,polygon);parseAttributes(xmlNode,polygon,this._defs);return polygon},'polyline':function(xmlNode,parentGroup){var path=new Path();inheritStyle(parentGroup,path);parseAttributes(xmlNode,path,this._defs);var points=xmlNode.getAttribute('points');if(points){points=parsePoints(points)}var polyline=new Polyline({shape:{points:points||[]}});return polyline},'image':function(xmlNode,parentGroup){var img=new ZImage();inheritStyle(parentGroup,img);parseAttributes(xmlNode,img,this._defs);img.setStyle({image:xmlNode.getAttribute('xlink:href'),x:xmlNode.getAttribute('x'),y:xmlNode.getAttribute('y'),width:xmlNode.getAttribute('width'),height:xmlNode.getAttribute('height')});return img},'text':function(xmlNode,parentGroup){var x=xmlNode.getAttribute('x')||0;var y=xmlNode.getAttribute('y')||0;var dx=xmlNode.getAttribute('dx')||0;var dy=xmlNode.getAttribute('dy')||0;this._textX=parseFloat(x)+parseFloat(dx);this._textY=parseFloat(y)+parseFloat(dy);var g=new Group();inheritStyle(parentGroup,g);parseAttributes(xmlNode,g,this._defs);return g},'tspan':function(xmlNode,parentGroup){var x=xmlNode.getAttribute('x');var y=xmlNode.getAttribute('y');if(x!=null){this._textX=parseFloat(x)}if(y!=null){this._textY=parseFloat(y)}var dx=xmlNode.getAttribute('dx')||0;var dy=xmlNode.getAttribute('dy')||0;var g=new Group();inheritStyle(parentGroup,g);parseAttributes(xmlNode,g,this._defs);this._textX+=dx;this._textY+=dy;return g},'path':function(xmlNode,parentGroup){var d=xmlNode.getAttribute('d')||'';var path=createFromString(d);inheritStyle(parentGroup,path);parseAttributes(xmlNode,path,this._defs);return path}};var defineParsers={'lineargradient':function(xmlNode){var x1=parseInt(xmlNode.getAttribute('x1')||0,10);var y1=parseInt(xmlNode.getAttribute('y1')||0,10);var x2=parseInt(xmlNode.getAttribute('x2')||10,10);var y2=parseInt(xmlNode.getAttribute('y2')||0,10);var gradient=new LinearGradient(x1,y1,x2,y2);_parseGradientColorStops(xmlNode,gradient);return gradient},'radialgradient':function(xmlNode){}};function _parseGradientColorStops(xmlNode,gradient){var stop=xmlNode.firstChild;while(stop){if(stop.nodeType===1){var offset=stop.getAttribute('offset');if(offset.indexOf('%')>0){offset=parseInt(offset,10)/100}else if(offset){offset=parseFloat(offset)}else{offset=0}var stopColor=stop.getAttribute('stop-color')||'#000000';gradient.addColorStop(offset,stopColor)}stop=stop.nextSibling}}function inheritStyle(parent,child){if(parent&&parent.__inheritedStyle){if(!child.__inheritedStyle){child.__inheritedStyle={}}defaults(child.__inheritedStyle,parent.__inheritedStyle)}}function parsePoints(pointsString){var list=trim(pointsString).split(DILIMITER_REG);var points=[];for(var i=0;i0;i-=2){var value=transformOps[i];var type=transformOps[i-1];m=m||create$1();switch(type){case'translate':value=trim(value).split(DILIMITER_REG);translate(m,m,[parseFloat(value[0]),parseFloat(value[1]||0)]);break;case'scale':value=trim(value).split(DILIMITER_REG);scale$1(m,m,[parseFloat(value[0]),parseFloat(value[1]||value[0])]);break;case'rotate':value=trim(value).split(DILIMITER_REG);rotate(m,m,parseFloat(value[0]));break;case'skew':value=trim(value).split(DILIMITER_REG);console.warn('Skew transform is not supported yet');break;case'matrix':var value=trim(value).split(DILIMITER_REG);m[0]=parseFloat(value[0]);m[1]=parseFloat(value[1]);m[2]=parseFloat(value[2]);m[3]=parseFloat(value[3]);m[4]=parseFloat(value[4]);m[5]=parseFloat(value[5]);break}}node.setLocalTransform(m)}}var styleRegex=/([^\s:;]+)\s*:\s*([^:;]+)/g;function parseStyleAttribute(xmlNode){var style=xmlNode.getAttribute('style');var result={};if(!style){return result}var styleList={};styleRegex.lastIndex=0;var styleRegResult;while((styleRegResult=styleRegex.exec(style))!=null){styleList[styleRegResult[1]]=styleRegResult[2]}for(var svgAttrName in attributesMap){if(attributesMap.hasOwnProperty(svgAttrName)&&styleList[svgAttrName]!=null){result[attributesMap[svgAttrName]]=styleList[svgAttrName]}}return result}function makeViewBoxTransform(viewBoxRect,width,height){var scaleX=width/viewBoxRect.width;var scaleY=height/viewBoxRect.height;var scale=Math.min(scaleX,scaleY);var viewBoxScale=[scale,scale];var viewBoxPosition=[-(viewBoxRect.x+viewBoxRect.width/2)*scale+width/2,-(viewBoxRect.y+viewBoxRect.height/2)*scale+height/2];return{scale:viewBoxScale,position:viewBoxPosition}}function parseSVG(xml,opt){var parser=new SVGParser();return parser.parse(xml,opt)}var storage=createHashMap();var mapDataStorage={registerMap:function(mapName,rawGeoJson,rawSpecialAreas){var records;if(isArray(rawGeoJson)){records=rawGeoJson}else if(rawGeoJson.svg){records=[{type:'svg',source:rawGeoJson.svg,specialAreas:rawGeoJson.specialAreas}]}else{if(rawGeoJson.geoJson&&!rawGeoJson.features){rawSpecialAreas=rawGeoJson.specialAreas;rawGeoJson=rawGeoJson.geoJson}records=[{type:'geoJSON',source:rawGeoJson,specialAreas:rawSpecialAreas}]}each$1(records,function(record){var type=record.type;type==='geoJson'&&(type=record.type='geoJSON');var parse=parsers[type];if(__DEV__){assert$1(parse,'Illegal map type: '+type)}parse(record)});return storage.set(mapName,records)},retrieveMap:function(mapName){return storage.get(mapName)}};var parsers={geoJSON:function(record){var source=record.source;record.geoJSON=!isString(source)?source:(typeof JSON!=='undefined'&&JSON.parse)?JSON.parse(source):(new Function('return ('+source+');'))()},svg:function(record){record.svgXML=parseXML(record.source)}};var assert=assert$1;var each=each$1;var isFunction=isFunction$1;var isObject=isObject$1;var parseClassType=ComponentModel.parseClassType;var version='4.8.0';var dependencies={zrender:'4.3.1'};var TEST_FRAME_REMAIN_TIME=1;var PRIORITY_PROCESSOR_FILTER=1000;var PRIORITY_PROCESSOR_SERIES_FILTER=800;var PRIORITY_PROCESSOR_DATASTACK=900;var PRIORITY_PROCESSOR_STATISTIC=5000;var PRIORITY_VISUAL_LAYOUT=1000;var PRIORITY_VISUAL_PROGRESSIVE_LAYOUT=1100;var PRIORITY_VISUAL_GLOBAL=2000;var PRIORITY_VISUAL_CHART=3000;var PRIORITY_VISUAL_POST_CHART_LAYOUT=3500;var PRIORITY_VISUAL_COMPONENT=4000;var PRIORITY_VISUAL_BRUSH=5000;var PRIORITY={PROCESSOR:{FILTER:PRIORITY_PROCESSOR_FILTER,SERIES_FILTER:PRIORITY_PROCESSOR_SERIES_FILTER,STATISTIC:PRIORITY_PROCESSOR_STATISTIC},VISUAL:{LAYOUT:PRIORITY_VISUAL_LAYOUT,PROGRESSIVE_LAYOUT:PRIORITY_VISUAL_PROGRESSIVE_LAYOUT,GLOBAL:PRIORITY_VISUAL_GLOBAL,CHART:PRIORITY_VISUAL_CHART,POST_CHART_LAYOUT:PRIORITY_VISUAL_POST_CHART_LAYOUT,COMPONENT:PRIORITY_VISUAL_COMPONENT,BRUSH:PRIORITY_VISUAL_BRUSH}};var IN_MAIN_PROCESS='__flagInMainProcess';var OPTION_UPDATED='__optionUpdated';var ACTION_REG=/^[a-zA-Z0-9_]+$/;function createRegisterEventWithLowercaseName(method,ignoreDisposed){return function(eventName,handler,context){if(!ignoreDisposed&&this._disposed){disposedWarning(this.id);return}eventName=eventName&&eventName.toLowerCase();Eventful.prototype[method].call(this,eventName,handler,context)}}function MessageCenter(){Eventful.call(this)}MessageCenter.prototype.on=createRegisterEventWithLowercaseName('on',true);MessageCenter.prototype.off=createRegisterEventWithLowercaseName('off',true);MessageCenter.prototype.one=createRegisterEventWithLowercaseName('one',true);mixin(MessageCenter,Eventful);function ECharts(dom,theme$$1,opts){opts=opts||{};if(typeof theme$$1==='string'){theme$$1=themeStorage[theme$$1]}this.id;this.group;this._dom=dom;var defaultRenderer='canvas';if(__DEV__){defaultRenderer=(typeof window==='undefined'?global:window).__ECHARTS__DEFAULT__RENDERER__||defaultRenderer}var zr=this._zr=init$1(dom,{renderer:opts.renderer||defaultRenderer,devicePixelRatio:opts.devicePixelRatio,width:opts.width,height:opts.height});this._throttledZrFlush=throttle(bind(zr.flush,zr),17);var theme$$1=clone(theme$$1);theme$$1&&backwardCompat(theme$$1,true);this._theme=theme$$1;this._chartsViews=[];this._chartsMap={};this._componentsViews=[];this._componentsMap={};this._coordSysMgr=new CoordinateSystemManager();var api=this._api=createExtensionAPI(this);function prioritySortFunc(a,b){return a.__prio-b.__prio}sort(visualFuncs,prioritySortFunc);sort(dataProcessorFuncs,prioritySortFunc);this._scheduler=new Scheduler(this,api,dataProcessorFuncs,visualFuncs);Eventful.call(this,this._ecEventProcessor=new EventProcessor());this._messageCenter=new MessageCenter();this._initEvents();this.resize=bind(this.resize,this);this._pendingActions=[];zr.animation.on('frame',this._onframe,this);bindRenderedEvent(zr,this);setAsPrimitive(this)}var echartsProto=ECharts.prototype;echartsProto._onframe=function(){if(this._disposed){return}var scheduler=this._scheduler;if(this[OPTION_UPDATED]){var silent=this[OPTION_UPDATED].silent;this[IN_MAIN_PROCESS]=true;prepare(this);updateMethods.update.call(this);this[IN_MAIN_PROCESS]=false;this[OPTION_UPDATED]=false;flushPendingActions.call(this,silent);triggerUpdatedEvent.call(this,silent)}else if(scheduler.unfinished){var remainTime=TEST_FRAME_REMAIN_TIME;var ecModel=this._model;var api=this._api;scheduler.unfinished=false;do{var startTime=+new Date();scheduler.performSeriesTasks(ecModel);scheduler.performDataProcessorTasks(ecModel);updateStreamModes(this,ecModel);scheduler.performVisualTasks(ecModel);renderSeries(this,this._model,api,'remain');remainTime-=(+new Date()-startTime)}while(remainTime>0&&scheduler.unfinished);if(!scheduler.unfinished){this._zr.flush()}}};echartsProto.getDom=function(){return this._dom};echartsProto.getZr=function(){return this._zr};echartsProto.setOption=function(option,notMerge,lazyUpdate){if(__DEV__){assert(!this[IN_MAIN_PROCESS],'`setOption` should not be called during main process.')}if(this._disposed){disposedWarning(this.id);return}var silent;if(isObject(notMerge)){lazyUpdate=notMerge.lazyUpdate;silent=notMerge.silent;notMerge=notMerge.notMerge}this[IN_MAIN_PROCESS]=true;if(!this._model||notMerge){var optionManager=new OptionManager(this._api);var theme$$1=this._theme;var ecModel=this._model=new GlobalModel();ecModel.scheduler=this._scheduler;ecModel.init(null,null,theme$$1,optionManager)}this._model.setOption(option,optionPreprocessorFuncs);if(lazyUpdate){this[OPTION_UPDATED]={silent:silent};this[IN_MAIN_PROCESS]=false}else{prepare(this);updateMethods.update.call(this);this._zr.flush();this[OPTION_UPDATED]=false;this[IN_MAIN_PROCESS]=false;flushPendingActions.call(this,silent);triggerUpdatedEvent.call(this,silent)}};echartsProto.setTheme=function(){console.error('ECharts#setTheme() is DEPRECATED in ECharts 3.0')};echartsProto.getModel=function(){return this._model};echartsProto.getOption=function(){return this._model&&this._model.getOption()};echartsProto.getWidth=function(){return this._zr.getWidth()};echartsProto.getHeight=function(){return this._zr.getHeight()};echartsProto.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1};echartsProto.getRenderedCanvas=function(opts){if(!env$1.canvasSupported){return}opts=opts||{};opts.pixelRatio=opts.pixelRatio||1;opts.backgroundColor=opts.backgroundColor||this._model.get('backgroundColor');var zr=this._zr;return zr.painter.getRenderedCanvas(opts)};echartsProto.getSvgDataURL=function(){if(!env$1.svgSupported){return}var zr=this._zr;var list=zr.storage.getDisplayList();each$1(list,function(el){el.stopAnimation(true)});return zr.painter.toDataURL()};echartsProto.getDataURL=function(opts){if(this._disposed){disposedWarning(this.id);return}opts=opts||{};var excludeComponents=opts.excludeComponents;var ecModel=this._model;var excludesComponentViews=[];var self=this;each(excludeComponents,function(componentType){ecModel.eachComponent({mainType:componentType},function(component){var view=self._componentsMap[component.__viewId];if(!view.group.ignore){excludesComponentViews.push(view);view.group.ignore=true}})});var url=this._zr.painter.getType()==='svg'?this.getSvgDataURL():this.getRenderedCanvas(opts).toDataURL('image/'+(opts&&opts.type||'png'));each(excludesComponentViews,function(view){view.group.ignore=false});return url};echartsProto.getConnectedDataURL=function(opts){if(this._disposed){disposedWarning(this.id);return}if(!env$1.canvasSupported){return}var isSvg=opts.type==='svg';var groupId=this.group;var mathMin=Math.min;var mathMax=Math.max;var MAX_NUMBER=Infinity;if(connectedGroups[groupId]){var left=MAX_NUMBER;var top=MAX_NUMBER;var right=-MAX_NUMBER;var bottom=-MAX_NUMBER;var canvasList=[];var dpr=(opts&&opts.pixelRatio)||1;each$1(instances,function(chart,id){if(chart.group===groupId){var canvas=isSvg?chart.getZr().painter.getSvgDom().innerHTML:chart.getRenderedCanvas(clone(opts));var boundingRect=chart.getDom().getBoundingClientRect();left=mathMin(boundingRect.left,left);top=mathMin(boundingRect.top,top);right=mathMax(boundingRect.right,right);bottom=mathMax(boundingRect.bottom,bottom);canvasList.push({dom:canvas,left:boundingRect.left,top:boundingRect.top})}});left*=dpr;top*=dpr;right*=dpr;bottom*=dpr;var width=right-left;var height=bottom-top;var targetCanvas=createCanvas();var zr=init$1(targetCanvas,{renderer:isSvg?'svg':'canvas'});zr.resize({width:width,height:height});if(isSvg){var content='';each(canvasList,function(item){var x=item.left-left;var y=item.top-top;content+=''+item.dom+''});zr.painter.getSvgRoot().innerHTML=content;if(opts.connectedBackgroundColor){zr.painter.setBackgroundColor(opts.connectedBackgroundColor)}zr.refreshImmediately();return zr.painter.toDataURL()}else{if(opts.connectedBackgroundColor){zr.add(new Rect({shape:{x:0,y:0,width:width,height:height},style:{fill:opts.connectedBackgroundColor}}))}each(canvasList,function(item){var img=new ZImage({style:{x:item.left*dpr-left,y:item.top*dpr-top,image:item.dom}});zr.add(img)});zr.refreshImmediately();return targetCanvas.toDataURL('image/'+(opts&&opts.type||'png'))}}else{return this.getDataURL(opts)}};echartsProto.convertToPixel=curry(doConvertPixel,'convertToPixel');echartsProto.convertFromPixel=curry(doConvertPixel,'convertFromPixel');function doConvertPixel(methodName,finder,value){if(this._disposed){disposedWarning(this.id);return}var ecModel=this._model;var coordSysList=this._coordSysMgr.getCoordinateSystems();var result;finder=parseFinder(ecModel,finder);for(var i=0;i=0&&each$1(models,function(model){var coordSys=model.coordinateSystem;if(coordSys&&coordSys.containPoint){result|=!!coordSys.containPoint(value)}else if(key==='seriesModels'){var view=this._chartsMap[model.__viewId];if(view&&view.containPoint){result|=view.containPoint(value,model)}else{if(__DEV__){console.warn(key+': '+(view?'The found component do not support containPoint.':'No view mapping to the found component.'))}}}else{if(__DEV__){console.warn(key+': containPoint is not supported')}}},this)},this);return!!result};echartsProto.getVisual=function(finder,visualType){var ecModel=this._model;finder=parseFinder(ecModel,finder,{defaultMainType:'series'});var seriesModel=finder.seriesModel;if(__DEV__){if(!seriesModel){console.warn('There is no specified seires model')}}var data=seriesModel.getData();var dataIndexInside=finder.hasOwnProperty('dataIndexInside')?finder.dataIndexInside:finder.hasOwnProperty('dataIndex')?data.indexOfRawIndex(finder.dataIndex):null;return dataIndexInside!=null?data.getItemVisual(dataIndexInside,visualType):data.getVisual(visualType)};echartsProto.getViewOfComponentModel=function(componentModel){return this._componentsMap[componentModel.__viewId]};echartsProto.getViewOfSeriesModel=function(seriesModel){return this._chartsMap[seriesModel.__viewId]};var updateMethods={prepareAndUpdate:function(payload){prepare(this);updateMethods.update.call(this,payload)},update:function(payload){var ecModel=this._model;var api=this._api;var zr=this._zr;var coordSysMgr=this._coordSysMgr;var scheduler=this._scheduler;if(!ecModel){return}scheduler.restoreData(ecModel,payload);scheduler.performSeriesTasks(ecModel);coordSysMgr.create(ecModel,api);scheduler.performDataProcessorTasks(ecModel,payload);updateStreamModes(this,ecModel);coordSysMgr.update(ecModel,api);clearColorPalette(ecModel);scheduler.performVisualTasks(ecModel,payload);render(this,ecModel,api,payload);var backgroundColor=ecModel.get('backgroundColor')||'transparent';if(!env$1.canvasSupported){var colorArr=parse(backgroundColor);backgroundColor=stringify(colorArr,'rgb');if(colorArr[3]===0){backgroundColor='transparent'}}else{zr.setBackgroundColor(backgroundColor)}performPostUpdateFuncs(ecModel,api)},updateTransform:function(payload){var ecModel=this._model;var ecIns=this;var api=this._api;if(!ecModel){return}var componentDirtyList=[];ecModel.eachComponent(function(componentType,componentModel){var componentView=ecIns.getViewOfComponentModel(componentModel);if(componentView&&componentView.__alive){if(componentView.updateTransform){var result=componentView.updateTransform(componentModel,ecModel,api,payload);result&&result.update&&componentDirtyList.push(componentView)}else{componentDirtyList.push(componentView)}}});var seriesDirtyMap=createHashMap();ecModel.eachSeries(function(seriesModel){var chartView=ecIns._chartsMap[seriesModel.__viewId];if(chartView.updateTransform){var result=chartView.updateTransform(seriesModel,ecModel,api,payload);result&&result.update&&seriesDirtyMap.set(seriesModel.uid,1)}else{seriesDirtyMap.set(seriesModel.uid,1)}});clearColorPalette(ecModel);this._scheduler.performVisualTasks(ecModel,payload,{setDirty:true,dirtyMap:seriesDirtyMap});renderSeries(ecIns,ecModel,api,payload,seriesDirtyMap);performPostUpdateFuncs(ecModel,this._api)},updateView:function(payload){var ecModel=this._model;if(!ecModel){return}Chart.markUpdateMethod(payload,'updateView');clearColorPalette(ecModel);this._scheduler.performVisualTasks(ecModel,payload,{setDirty:true});render(this,this._model,this._api,payload);performPostUpdateFuncs(ecModel,this._api)},updateVisual:function(payload){updateMethods.update.call(this,payload)},updateLayout:function(payload){updateMethods.update.call(this,payload)}};function prepare(ecIns){var ecModel=ecIns._model;var scheduler=ecIns._scheduler;scheduler.restorePipelines(ecModel);scheduler.prepareStageTasks();prepareView(ecIns,'component',ecModel,scheduler);prepareView(ecIns,'chart',ecModel,scheduler);scheduler.plan()}function updateDirectly(ecIns,method,payload,mainType,subType){var ecModel=ecIns._model;if(!mainType){each(ecIns._componentsViews.concat(ecIns._chartsViews),callView);return}var query={};query[mainType+'Id']=payload[mainType+'Id'];query[mainType+'Index']=payload[mainType+'Index'];query[mainType+'Name']=payload[mainType+'Name'];var condition={mainType:mainType,query:query};subType&&(condition.subType=subType);var excludeSeriesId=payload.excludeSeriesId;if(excludeSeriesId!=null){excludeSeriesId=createHashMap(normalizeToArray(excludeSeriesId))}ecModel&&ecModel.eachComponent(condition,function(model){if(!excludeSeriesId||excludeSeriesId.get(model.id)==null){callView(ecIns[mainType==='series'?'_chartsMap':'_componentsMap'][model.__viewId])}},ecIns);function callView(view){view&&view.__alive&&view[method]&&view[method](view.__model,ecModel,ecIns._api,payload)}}echartsProto.resize=function(opts){if(__DEV__){assert(!this[IN_MAIN_PROCESS],'`resize` should not be called during main process.')}if(this._disposed){disposedWarning(this.id);return}this._zr.resize(opts);var ecModel=this._model;this._loadingFX&&this._loadingFX.resize();if(!ecModel){return}var optionChanged=ecModel.resetOption('media');var silent=opts&&opts.silent;this[IN_MAIN_PROCESS]=true;optionChanged&&prepare(this);updateMethods.update.call(this);this[IN_MAIN_PROCESS]=false;flushPendingActions.call(this,silent);triggerUpdatedEvent.call(this,silent)};function updateStreamModes(ecIns,ecModel){var chartsMap=ecIns._chartsMap;var scheduler=ecIns._scheduler;ecModel.eachSeries(function(seriesModel){scheduler.updateStreamModes(seriesModel,chartsMap[seriesModel.__viewId])})}echartsProto.showLoading=function(name,cfg){if(this._disposed){disposedWarning(this.id);return}if(isObject(name)){cfg=name;name=''}name=name||'default';this.hideLoading();if(!loadingEffects[name]){if(__DEV__){console.warn('Loading effects '+name+' not exists.')}return}var el=loadingEffects[name](this._api,cfg);var zr=this._zr;this._loadingFX=el;zr.add(el)};echartsProto.hideLoading=function(){if(this._disposed){disposedWarning(this.id);return}this._loadingFX&&this._zr.remove(this._loadingFX);this._loadingFX=null};echartsProto.makeActionFromEvent=function(eventObj){var payload=extend({},eventObj);payload.type=eventActionMap[eventObj.type];return payload};echartsProto.dispatchAction=function(payload,opt){if(this._disposed){disposedWarning(this.id);return}if(!isObject(opt)){opt={silent:!!opt}}if(!actions[payload.type]){return}if(!this._model){return}if(this[IN_MAIN_PROCESS]){this._pendingActions.push(payload);return}doDispatchAction.call(this,payload,opt.silent);if(opt.flush){this._zr.flush(true)}else if(opt.flush!==false&&env$1.browser.weChat){this._throttledZrFlush()}flushPendingActions.call(this,opt.silent);triggerUpdatedEvent.call(this,opt.silent)};function doDispatchAction(payload,silent){var payloadType=payload.type;var escapeConnect=payload.escapeConnect;var actionWrap=actions[payloadType];var actionInfo=actionWrap.actionInfo;var cptType=(actionInfo.update||'update').split(':');var updateMethod=cptType.pop();cptType=cptType[0]!=null&&parseClassType(cptType[0]);this[IN_MAIN_PROCESS]=true;var payloads=[payload];var batched=false;if(payload.batch){batched=true;payloads=map(payload.batch,function(item){item=defaults(extend({},item),payload);item.batch=null;return item})}var eventObjBatch=[];var eventObj;var isHighDown=payloadType==='highlight'||payloadType==='downplay';each(payloads,function(batchItem){eventObj=actionWrap.action(batchItem,this._model,this._api);eventObj=eventObj||extend({},batchItem);eventObj.type=actionInfo.event||eventObj.type;eventObjBatch.push(eventObj);if(isHighDown){updateDirectly(this,updateMethod,batchItem,'series')}else if(cptType){updateDirectly(this,updateMethod,batchItem,cptType.main,cptType.sub)}},this);if(updateMethod!=='none'&&!isHighDown&&!cptType){if(this[OPTION_UPDATED]){prepare(this);updateMethods.update.call(this,payload);this[OPTION_UPDATED]=false}else{updateMethods[updateMethod].call(this,payload)}}if(batched){eventObj={type:actionInfo.event||payloadType,escapeConnect:escapeConnect,batch:eventObjBatch}}else{eventObj=eventObjBatch[0]}this[IN_MAIN_PROCESS]=false;!silent&&this._messageCenter.trigger(eventObj.type,eventObj)}function flushPendingActions(silent){var pendingActions=this._pendingActions;while(pendingActions.length){var payload=pendingActions.shift();doDispatchAction.call(this,payload,silent)}}function triggerUpdatedEvent(silent){!silent&&this.trigger('updated')}function bindRenderedEvent(zr,ecIns){zr.on('rendered',function(){ecIns.trigger('rendered');if(zr.animation.isFinished()&&!ecIns[OPTION_UPDATED]&&!ecIns._scheduler.unfinished&&!ecIns._pendingActions.length){ecIns.trigger('finished')}})}echartsProto.appendData=function(params){if(this._disposed){disposedWarning(this.id);return}var seriesIndex=params.seriesIndex;var ecModel=this.getModel();var seriesModel=ecModel.getSeriesByIndex(seriesIndex);if(__DEV__){assert(params.data&&seriesModel)}seriesModel.appendData(params);this._scheduler.unfinished=true};echartsProto.on=createRegisterEventWithLowercaseName('on',false);echartsProto.off=createRegisterEventWithLowercaseName('off',false);echartsProto.one=createRegisterEventWithLowercaseName('one',false);function prepareView(ecIns,type,ecModel,scheduler){var isComponent=type==='component';var viewList=isComponent?ecIns._componentsViews:ecIns._chartsViews;var viewMap=isComponent?ecIns._componentsMap:ecIns._chartsMap;var zr=ecIns._zr;var api=ecIns._api;for(var i=0;iecModel.get('hoverLayerThreshold')&&!env$1.node){ecModel.eachSeries(function(seriesModel){if(seriesModel.preventUsingHoverLayer){return}var chartView=ecIns._chartsMap[seriesModel.__viewId];if(chartView.__alive){chartView.group.traverse(function(el){el.useHoverLayer=true})}})}}function updateBlend(seriesModel,chartView){var blendMode=seriesModel.get('blendMode')||null;if(__DEV__){if(!env$1.canvasSupported&&blendMode&&blendMode!=='source-over'){console.warn('Only canvas support blendMode')}}chartView.group.traverse(function(el){if(!el.isGroup){if(el.style.blend!==blendMode){el.setStyle('blend',blendMode)}}if(el.eachPendingDisplayable){el.eachPendingDisplayable(function(displayable){displayable.setStyle('blend',blendMode)})}})}function updateZ(model,view){var z=model.get('z');var zlevel=model.get('zlevel');view.group.traverse(function(el){if(el.type!=='group'){z!=null&&(el.z=z);zlevel!=null&&(el.zlevel=zlevel)}})}function createExtensionAPI(ecInstance){var coordSysMgr=ecInstance._coordSysMgr;return extend(new ExtensionAPI(ecInstance),{getCoordinateSystems:bind(coordSysMgr.getCoordinateSystems,coordSysMgr),getComponentByElement:function(el){while(el){var modelInfo=el.__ecComponentInfo;if(modelInfo!=null){return ecInstance._model.getComponent(modelInfo.mainType,modelInfo.index)}el=el.parent}}})}function EventProcessor(){this.eventInfo}EventProcessor.prototype={constructor:EventProcessor,normalizeQuery:function(query){var cptQuery={};var dataQuery={};var otherQuery={};if(isString(query)){var condCptType=parseClassType(query);cptQuery.mainType=condCptType.main||null;cptQuery.subType=condCptType.sub||null}else{var suffixes=['Index','Name','Id'];var dataKeys={name:1,dataIndex:1,dataType:1};each$1(query,function(val,key){var reserved=false;for(var i=0;i0&&suffixPos===key.length-propSuffix.length){var mainType=key.slice(0,suffixPos);if(mainType!=='data'){cptQuery.mainType=mainType;cptQuery[propSuffix.toLowerCase()]=val;reserved=true}}}if(dataKeys.hasOwnProperty(key)){dataQuery[key]=val;reserved=true}if(!reserved){otherQuery[key]=val}})}return{cptQuery:cptQuery,dataQuery:dataQuery,otherQuery:otherQuery}},filter:function(eventType,query,args){var eventInfo=this.eventInfo;if(!eventInfo){return true}var targetEl=eventInfo.targetEl;var packedEvent=eventInfo.packedEvent;var model=eventInfo.model;var view=eventInfo.view;if(!model||!view){return true}var cptQuery=query.cptQuery;var dataQuery=query.dataQuery;return check(cptQuery,model,'mainType')&&check(cptQuery,model,'subType')&&check(cptQuery,model,'index','componentIndex')&&check(cptQuery,model,'name')&&check(cptQuery,model,'id')&&check(dataQuery,packedEvent,'name')&&check(dataQuery,packedEvent,'dataIndex')&&check(dataQuery,packedEvent,'dataType')&&(!view.filterForExposedEvent||view.filterForExposedEvent(eventType,query.otherQuery,targetEl,packedEvent));function check(query,host,prop,propOnHost){return query[prop]==null||host[propOnHost||prop]===query[prop]}},afterTrigger:function(){this.eventInfo=null}};var actions={};var eventActionMap={};var dataProcessorFuncs=[];var optionPreprocessorFuncs=[];var postUpdateFuncs=[];var visualFuncs=[];var themeStorage={};var loadingEffects={};var instances={};var connectedGroups={};var idBase=new Date()-0;var groupIdBase=new Date()-0;var DOM_ATTRIBUTE_KEY='_echarts_instance_';function enableConnect(chart){var STATUS_PENDING=0;var STATUS_UPDATING=1;var STATUS_UPDATED=2;var STATUS_KEY='__connectUpdateStatus';function updateConnectedChartsStatus(charts,status){for(var i=0;i65535?CtorUint32Array:CtorUint16Array}function cloneChunk(originalChunk){var Ctor=originalChunk.constructor;return Ctor===Array?originalChunk.slice():new Ctor(originalChunk)}var TRANSFERABLE_PROPERTIES=['hasItemOption','_nameList','_idList','_invertedIndicesMap','_rawData','_chunkSize','_chunkCount','_dimValueGetter','_count','_rawCount','_nameDimIdx','_idDimIdx'];var CLONE_PROPERTIES=['_extent','_approximateExtent','_rawExtent'];function transferProperties(target,source){each$1(TRANSFERABLE_PROPERTIES.concat(source.__wrappedMethods||[]),function(propName){if(source.hasOwnProperty(propName)){target[propName]=source[propName]}});target.__wrappedMethods=source.__wrappedMethods;each$1(CLONE_PROPERTIES,function(propName){target[propName]=clone(source[propName])});target._calculationInfo=extend(source._calculationInfo)}var List=function(dimensions,hostModel){dimensions=dimensions||['x','y'];var dimensionInfos={};var dimensionNames=[];var invertedIndicesMap={};for(var i=0;idimRawExtent[1]&&(dimRawExtent[1]=val)}if(names){this._nameList[idx]=names[sourceIdx]}}this._rawCount=this._count=end;this._extent={};prepareInvertedIndex(this)};listProto._initDataFromProvider=function(start,end){if(start>=end){return}var chunkSize=this._chunkSize;var rawData=this._rawData;var storage=this._storage;var dimensions=this.dimensions;var dimLen=dimensions.length;var dimensionInfoMap=this._dimensionInfos;var nameList=this._nameList;var idList=this._idList;var rawExtent=this._rawExtent;var nameRepeatCount=this._nameRepeatCount={};var nameDimIdx;var originalChunkCount=this._chunkCount;for(var i=0;idimRawExtent[1]&&(dimRawExtent[1]=val)}if(!rawData.pure){var name=nameList[idx];if(dataItem&&name==null){if(dataItem.name!=null){nameList[idx]=name=dataItem.name}else if(nameDimIdx!=null){var nameDim=dimensions[nameDimIdx];var nameDimChunk=storage[nameDim][chunkIndex];if(nameDimChunk){name=nameDimChunk[chunkOffset];var ordinalMeta=dimensionInfoMap[nameDim].ordinalMeta;if(ordinalMeta&&ordinalMeta.categories.length){name=ordinalMeta.categories[name]}}}}var id=dataItem==null?null:dataItem.id;if(id==null&&name!=null){nameRepeatCount[name]=nameRepeatCount[name]||0;id=name;if(nameRepeatCount[name]>0){id+='__ec__'+nameRepeatCount[name]}nameRepeatCount[name]++}id!=null&&(idList[idx]=id)}}if(!rawData.persistent&&rawData.clean){rawData.clean()}this._rawCount=this._count=end;this._extent={};prepareInvertedIndex(this)};function prepareChunks(storage,dimInfo,chunkSize,chunkCount,end){var DataCtor=dataCtors[dimInfo.type];var lastChunkIndex=chunkCount-1;var dim=dimInfo.name;var resizeChunkArray=storage[dim][lastChunkIndex];if(resizeChunkArray&&resizeChunkArray.length=0&&idx=0&&rawIdxmax&&(max=value)}dimExtent=[min,max];this._extent[dim]=dimExtent;return dimExtent};listProto.getApproximateExtent=function(dim){dim=this.getDimension(dim);return this._approximateExtent[dim]||this.getDataExtent(dim)};listProto.setApproximateExtent=function(extent,dim){dim=this.getDimension(dim);this._approximateExtent[dim]=extent.slice()};listProto.getCalculationInfo=function(key){return this._calculationInfo[key]};listProto.setCalculationInfo=function(key,value){isObject$4(key)?extend(this._calculationInfo,key):(this._calculationInfo[key]=value)};listProto.getSum=function(dim){var dimData=this._storage[dim];var sum=0;if(dimData){for(var i=0,len=this.count();i=this._rawCount||rawIndex<0){return-1}if(!this._indices){return rawIndex}var indices=this._indices;var rawDataIndex=indices[rawIndex];if(rawDataIndex!=null&&rawDataIndexrawIndex){right=mid-1}else{return mid}}return-1};listProto.indicesOfNearest=function(dim,value,maxDistance){var storage=this._storage;var dimData=storage[dim];var nearestIndices=[];if(!dimData){return nearestIndices}if(maxDistance==null){maxDistance=Infinity}var minDist=Infinity;var minDiff=-1;var nearestIndicesLen=0;for(var i=0,len=this.count();i=0&&minDiff<0)){minDist=dist;minDiff=diff;nearestIndicesLen=0}if(diff===minDiff){nearestIndices[nearestIndicesLen++]=i}}}nearestIndices.length=nearestIndicesLen;return nearestIndices};listProto.getRawIndex=getRawIndexWithoutIndices;function getRawIndexWithoutIndices(idx){return idx}function getRawIndexWithIndices(idx){if(idx=0){return this._indices[idx]}return-1}listProto.getRawDataItem=function(idx){if(!this._rawData.persistent){var val=[];for(var i=0;i=min&&val<=max)||isNaN(val)){newIndices[offset++]=idx}idx++}}quickFinished=true}else if(dimSize===2){var dimStorage=this._storage[dim0];var dimStorage2=this._storage[dimensions[1]];var min2=range[dimensions[1]][0];var max2=range[dimensions[1]][1];for(var k=0;k=min&&val<=max)||isNaN(val))&&((val2>=min2&&val2<=max2)||isNaN(val2))){newIndices[offset++]=idx}idx++}}quickFinished=true}}if(!quickFinished){if(dimSize===1){for(var i=0;i=min&&val<=max)||isNaN(val)){newIndices[offset++]=rawIndex}}}else{for(var i=0;irange[dimk][1]){keep=false}}if(keep){newIndices[offset++]=this.getRawIndex(i)}}}}if(offset=0){storage[dim]=cloneDimStore(originalStorage[dim]);list._rawExtent[dim]=getInitialExtent();list._extent[dim]=null}else{storage[dim]=originalStorage[dim]}}}return list}function cloneDimStore(originalDimStore){var newDimStore=new Array(originalDimStore.length);for(var j=0;jrawExtentOnDim[1]){rawExtentOnDim[1]=val}}}}return list};listProto.downSample=function(dimension,rate,sampleValue,sampleIndex){var list=cloneListForMapAndSample(this,[dimension]);var targetStorage=list._storage;var frameValues=[];var frameSize=Math.floor(1/rate);var dimStore=targetStorage[dimension];var len=this.count();var chunkSize=this._chunkSize;var rawExtentOnDim=list._rawExtent[dimension];var newIndices=new(getIndicesCtor(this))(len);var offset=0;for(var i=0;ilen-i){frameSize=len-i;frameValues.length=frameSize}for(var k=0;krawExtentOnDim[1]){rawExtentOnDim[1]=value}newIndices[offset++]=sampleFrameIdx}list._count=offset;list._indices=newIndices;list.getRawIndex=getRawIndexWithIndices;return list};listProto.getItemModel=function(idx){var hostModel=this.hostModel;return new Model(this.getRawDataItem(idx),hostModel,hostModel&&hostModel.ecModel)};listProto.diff=function(otherList){var thisList=this;return new DataDiffer(otherList?otherList.getIndices():[],this.getIndices(),function(idx){return getId(otherList,idx)},function(idx){return getId(thisList,idx)})};listProto.getVisual=function(key){var visual=this._visual;return visual&&visual[key]};listProto.setVisual=function(key,val){if(isObject$4(key)){for(var name in key){if(key.hasOwnProperty(name)){this.setVisual(name,key[name])}}return}this._visual=this._visual||{};this._visual[key]=val};listProto.setLayout=function(key,val){if(isObject$4(key)){for(var name in key){if(key.hasOwnProperty(name)){this.setLayout(name,key[name])}}return}this._layout[key]=val};listProto.getLayout=function(key){return this._layout[key]};listProto.getItemLayout=function(idx){return this._itemLayouts[idx]};listProto.setItemLayout=function(idx,layout,merge$$1){this._itemLayouts[idx]=merge$$1?extend(this._itemLayouts[idx]||{},layout):layout};listProto.clearItemLayouts=function(){this._itemLayouts.length=0};listProto.getItemVisual=function(idx,key,ignoreParent){var itemVisual=this._itemVisuals[idx];var val=itemVisual&&itemVisual[key];if(val==null&&!ignoreParent){return this.getVisual(key)}return val};listProto.setItemVisual=function(idx,key,value){var itemVisual=this._itemVisuals[idx]||{};var hasItemVisual=this.hasItemVisual;this._itemVisuals[idx]=itemVisual;if(isObject$4(key)){for(var name in key){if(key.hasOwnProperty(name)){itemVisual[name]=key[name];hasItemVisual[name]=true}}return}itemVisual[key]=value;hasItemVisual[key]=true};listProto.clearAllVisual=function(){this._visual={};this._itemVisuals=[];this.hasItemVisual={}};var setItemDataAndSeriesIndex=function(child){child.seriesIndex=this.seriesIndex;child.dataIndex=this.dataIndex;child.dataType=this.dataType};listProto.setItemGraphicEl=function(idx,el){var hostModel=this.hostModel;if(el){el.dataIndex=idx;el.dataType=this.dataType;el.seriesIndex=hostModel&&hostModel.seriesIndex;if(el.type==='group'){el.traverse(setItemDataAndSeriesIndex,el)}}this._graphicEls[idx]=el};listProto.getItemGraphicEl=function(idx){return this._graphicEls[idx]};listProto.eachItemGraphicEl=function(cb,context){each$1(this._graphicEls,function(el,idx){if(el){cb&&cb.call(context,el,idx)}})};listProto.cloneShallow=function(list){if(!list){var dimensionInfoList=map(this.dimensions,this.getDimensionInfo,this);list=new List(dimensionInfoList,this.hostModel)}list._storage=this._storage;transferProperties(list,this);if(this._indices){var Ctor=this._indices.constructor;list._indices=new Ctor(this._indices)}else{list._indices=null}list.getRawIndex=list._indices?getRawIndexWithIndices:getRawIndexWithoutIndices;return list};listProto.wrapMethod=function(methodName,injectFunction){var originalMethod=this[methodName];if(typeof originalMethod!=='function'){return}this.__wrappedMethods=this.__wrappedMethods||[];this.__wrappedMethods.push(methodName);this[methodName]=function(){var res=originalMethod.apply(this,arguments);return injectFunction.apply(this,[res].concat(slice(arguments)))}};listProto.TRANSFERABLE_METHODS=['cloneShallow','downSample','map'];listProto.CHANGABLE_METHODS=['filterSelf','selectRange'];function completeDimensions(sysDims,source,opt){if(!Source.isInstance(source)){source=Source.seriesDataToSource(source)}opt=opt||{};sysDims=(sysDims||[]).slice();var dimsDef=(opt.dimsDef||[]).slice();var dataDimNameMap=createHashMap();var coordDimNameMap=createHashMap();var result=[];var dimCount=getDimCount(source,sysDims,dimsDef,opt.dimCount);for(var i=0;i=extent[0]&&val<=extent[1]};Scale.prototype.normalize=function(val){var extent=this._extent;if(extent[1]===extent[0]){return 0.5}return(val-extent[0])/(extent[1]-extent[0])};Scale.prototype.scale=function(val){var extent=this._extent;return val*(extent[1]-extent[0])+extent[0]};Scale.prototype.unionExtent=function(other){var extent=this._extent;other[0]extent[1]&&(extent[1]=other[1])};Scale.prototype.unionExtentFromData=function(data,dim){this.unionExtent(data.getApproximateExtent(dim))};Scale.prototype.getExtent=function(){return this._extent.slice()};Scale.prototype.setExtent=function(start,end){var thisExtent=this._extent;if(!isNaN(start)){thisExtent[0]=start}if(!isNaN(end)){thisExtent[1]=end}};Scale.prototype.isBlank=function(){return this._isBlank},Scale.prototype.setBlank=function(isBlank){this._isBlank=isBlank};Scale.prototype.getLabel=null;enableClassExtend(Scale);enableClassManagement(Scale,{registerWhenExtend:true});function OrdinalMeta(opt){this.categories=opt.categories||[];this._needCollect=opt.needCollect;this._deduplication=opt.deduplication;this._map}OrdinalMeta.createByAxisModel=function(axisModel){var option=axisModel.option;var data=option.data;var categories=data&&map(data,getName);return new OrdinalMeta({categories:categories,needCollect:!categories,deduplication:option.dedplication!==false})};var proto$1=OrdinalMeta.prototype;proto$1.getOrdinal=function(category){return getOrCreateMap(this).get(category)};proto$1.parseAndCollect=function(category){var index;var needCollect=this._needCollect;if(typeof category!=='string'&&!needCollect){return category}if(needCollect&&!this._deduplication){index=this.categories.length;this.categories[index]=category;return index}var map$$1=getOrCreateMap(this);index=map$$1.get(category);if(index==null){if(needCollect){index=this.categories.length;this.categories[index]=category;map$$1.set(category,index)}else{index=NaN}}return index};function getOrCreateMap(ordinalMeta){return ordinalMeta._map||(ordinalMeta._map=createHashMap(ordinalMeta.categories))}function getName(obj){if(isObject$1(obj)&&obj.value!=null){return obj.value}else{return obj+''}}var scaleProto=Scale.prototype;var OrdinalScale=Scale.extend({type:'ordinal',init:function(ordinalMeta,extent){if(!ordinalMeta||isArray(ordinalMeta)){ordinalMeta=new OrdinalMeta({categories:ordinalMeta})}this._ordinalMeta=ordinalMeta;this._extent=extent||[0,ordinalMeta.categories.length-1]},parse:function(val){return typeof val==='string'?this._ordinalMeta.getOrdinal(val):Math.round(val)},contain:function(rank){rank=this.parse(rank);return scaleProto.contain.call(this,rank)&&this._ordinalMeta.categories[rank]!=null},normalize:function(val){return scaleProto.normalize.call(this,this.parse(val))},scale:function(val){return Math.round(scaleProto.scale.call(this,val))},getTicks:function(){var ticks=[];var extent=this._extent;var rank=extent[0];while(rank<=extent[1]){ticks.push(rank);rank++}return ticks},getLabel:function(n){if(!this.isBlank()){return this._ordinalMeta.categories[n]}},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(data,dim){this.unionExtent(data.getApproximateExtent(dim))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:noop,niceExtent:noop});OrdinalScale.create=function(){return new OrdinalScale()};var roundNumber$1=round$1;function intervalScaleNiceTicks(extent,splitNumber,minInterval,maxInterval){var result={};var span=extent[1]-extent[0];var interval=result.interval=nice(span/splitNumber,true);if(minInterval!=null&&intervalmaxInterval){interval=result.interval=maxInterval}var precision=result.intervalPrecision=getIntervalPrecision(interval);var niceTickExtent=result.niceTickExtent=[roundNumber$1(Math.ceil(extent[0]/interval)*interval,precision),roundNumber$1(Math.floor(extent[1]/interval)*interval,precision)];fixExtent(niceTickExtent,extent);return result}function getIntervalPrecision(interval){return getPrecisionSafe(interval)+2}function clamp(niceTickExtent,idx,extent){niceTickExtent[idx]=Math.max(Math.min(niceTickExtent[idx],extent[1]),extent[0])}function fixExtent(niceTickExtent,extent){!isFinite(niceTickExtent[0])&&(niceTickExtent[0]=extent[0]);!isFinite(niceTickExtent[1])&&(niceTickExtent[1]=extent[1]);clamp(niceTickExtent,0,extent);clamp(niceTickExtent,1,extent);if(niceTickExtent[0]>niceTickExtent[1]){niceTickExtent[0]=niceTickExtent[1]}}var roundNumber=round$1;var IntervalScale=Scale.extend({type:'interval',_interval:0,_intervalPrecision:2,setExtent:function(start,end){var thisExtent=this._extent;if(!isNaN(start)){thisExtent[0]=parseFloat(start)}if(!isNaN(end)){thisExtent[1]=parseFloat(end)}},unionExtent:function(other){var extent=this._extent;other[0]extent[1]&&(extent[1]=other[1]);IntervalScale.prototype.setExtent.call(this,extent[0],extent[1])},getInterval:function(){return this._interval},setInterval:function(interval){this._interval=interval;this._niceExtent=this._extent.slice();this._intervalPrecision=getIntervalPrecision(interval)},getTicks:function(expandToNicedExtent){var interval=this._interval;var extent=this._extent;var niceTickExtent=this._niceExtent;var intervalPrecision=this._intervalPrecision;var ticks=[];if(!interval){return ticks}var safeLimit=10000;if(extent[0]safeLimit){return[]}}var lastNiceTick=ticks.length?ticks[ticks.length-1]:niceTickExtent[1];if(extent[1]>lastNiceTick){if(expandToNicedExtent){ticks.push(roundNumber(lastNiceTick+interval,intervalPrecision))}else{ticks.push(extent[1])}}return ticks},getMinorTicks:function(splitNumber){var ticks=this.getTicks(true);var minorTicks=[];var extent=this.getExtent();for(var i=1;iextent[0]&&minorTick0){min=min===null?delta:Math.min(min,delta)}}axisMinGaps[key]=min}}}return axisMinGaps}function makeColumnLayout(barSeries){var axisMinGaps=getValueAxesMinGaps(barSeries);var seriesInfoList=[];each$1(barSeries,function(seriesModel){var cartesian=seriesModel.coordinateSystem;var baseAxis=cartesian.getBaseAxis();var axisExtent=baseAxis.getExtent();var bandWidth;if(baseAxis.type==='category'){bandWidth=baseAxis.getBandWidth()}else if(baseAxis.type==='value'||baseAxis.type==='time'){var key=baseAxis.dim+'_'+baseAxis.index;var minGap=axisMinGaps[key];var extentSpan=Math.abs(axisExtent[1]-axisExtent[0]);var scale=baseAxis.scale.getExtent();var scaleSpan=Math.abs(scale[1]-scale[0]);bandWidth=minGap?extentSpan/scaleSpan*minGap:extentSpan}else{var data=seriesModel.getData();bandWidth=Math.abs(axisExtent[1]-axisExtent[0])/data.count()}var barWidth=parsePercent$1(seriesModel.get('barWidth'),bandWidth);var barMaxWidth=parsePercent$1(seriesModel.get('barMaxWidth'),bandWidth);var barMinWidth=parsePercent$1(seriesModel.get('barMinWidth')||1,bandWidth);var barGap=seriesModel.get('barGap');var barCategoryGap=seriesModel.get('barCategoryGap');seriesInfoList.push({bandWidth:bandWidth,barWidth:barWidth,barMaxWidth:barMaxWidth,barMinWidth:barMinWidth,barGap:barGap,barCategoryGap:barCategoryGap,axisKey:getAxisKey(baseAxis),stackId:getSeriesStackId(seriesModel)})});return doCalBarWidthAndOffset(seriesInfoList)}function doCalBarWidthAndOffset(seriesInfoList){var columnsMap={};each$1(seriesInfoList,function(seriesInfo,idx){var axisKey=seriesInfo.axisKey;var bandWidth=seriesInfo.bandWidth;var columnsOnAxis=columnsMap[axisKey]||{bandWidth:bandWidth,remainedWidth:bandWidth,autoWidthCount:0,categoryGap:'20%',gap:'30%',stacks:{}};var stacks=columnsOnAxis.stacks;columnsMap[axisKey]=columnsOnAxis;var stackId=seriesInfo.stackId;if(!stacks[stackId]){columnsOnAxis.autoWidthCount++}stacks[stackId]=stacks[stackId]||{width:0,maxWidth:0};var barWidth=seriesInfo.barWidth;if(barWidth&&!stacks[stackId].width){stacks[stackId].width=barWidth;barWidth=Math.min(columnsOnAxis.remainedWidth,barWidth);columnsOnAxis.remainedWidth-=barWidth}var barMaxWidth=seriesInfo.barMaxWidth;barMaxWidth&&(stacks[stackId].maxWidth=barMaxWidth);var barMinWidth=seriesInfo.barMinWidth;barMinWidth&&(stacks[stackId].minWidth=barMinWidth);var barGap=seriesInfo.barGap;(barGap!=null)&&(columnsOnAxis.gap=barGap);var barCategoryGap=seriesInfo.barCategoryGap;(barCategoryGap!=null)&&(columnsOnAxis.categoryGap=barCategoryGap)});var result={};each$1(columnsMap,function(columnsOnAxis,coordSysName){result[coordSysName]={};var stacks=columnsOnAxis.stacks;var bandWidth=columnsOnAxis.bandWidth;var categoryGap=parsePercent$1(columnsOnAxis.categoryGap,bandWidth);var barGapPercent=parsePercent$1(columnsOnAxis.gap,1);var remainedWidth=columnsOnAxis.remainedWidth;var autoWidthCount=columnsOnAxis.autoWidthCount;var autoWidth=(remainedWidth-categoryGap)/(autoWidthCount+(autoWidthCount-1)*barGapPercent);autoWidth=Math.max(autoWidth,0);each$1(stacks,function(column){var maxWidth=column.maxWidth;var minWidth=column.minWidth;if(!column.width){var finalWidth=autoWidth;if(maxWidth&&maxWidthfinalWidth){finalWidth=minWidth}if(finalWidth!==autoWidth){column.width=finalWidth;remainedWidth-=finalWidth+barGapPercent*finalWidth;autoWidthCount--}}else{var finalWidth=column.width;if(maxWidth){finalWidth=Math.min(finalWidth,maxWidth)}if(minWidth){finalWidth=Math.max(finalWidth,minWidth)}column.width=finalWidth;remainedWidth-=finalWidth+barGapPercent*finalWidth;autoWidthCount--}});autoWidth=(remainedWidth-categoryGap)/(autoWidthCount+(autoWidthCount-1)*barGapPercent);autoWidth=Math.max(autoWidth,0);var widthSum=0;var lastColumn;each$1(stacks,function(column,idx){if(!column.width){column.width=autoWidth}lastColumn=column;widthSum+=column.width*(1+barGapPercent)});if(lastColumn){widthSum-=lastColumn.width*barGapPercent}var offset=-widthSum/2;each$1(stacks,function(column,stackId){result[coordSysName][stackId]=result[coordSysName][stackId]||{bandWidth:bandWidth,offset:offset,width:column.width};offset+=column.width*(1+barGapPercent)})});return result}function retrieveColumnLayout(barWidthAndOffset,axis,seriesModel){if(barWidthAndOffset&&axis){var result=barWidthAndOffset[getAxisKey(axis)];if(result!=null&&seriesModel!=null){result=result[getSeriesStackId(seriesModel)]}return result}}function layout(seriesType,ecModel){var seriesModels=prepareLayoutBarSeries(seriesType,ecModel);var barWidthAndOffset=makeColumnLayout(seriesModels);var lastStackCoords={};each$1(seriesModels,function(seriesModel){var data=seriesModel.getData();var cartesian=seriesModel.coordinateSystem;var baseAxis=cartesian.getBaseAxis();var stackId=getSeriesStackId(seriesModel);var columnLayoutInfo=barWidthAndOffset[getAxisKey(baseAxis)][stackId];var columnOffset=columnLayoutInfo.offset;var columnWidth=columnLayoutInfo.width;var valueAxis=cartesian.getOtherAxis(baseAxis);var barMinHeight=seriesModel.get('barMinHeight')||0;lastStackCoords[stackId]=lastStackCoords[stackId]||[];data.setLayout({bandWidth:columnLayoutInfo.bandWidth,offset:columnOffset,size:columnWidth});var valueDim=data.mapDimension(valueAxis.dim);var baseDim=data.mapDimension(baseAxis.dim);var stacked=isDimensionStacked(data,valueDim);var isValueAxisH=valueAxis.isHorizontal();var valueAxisStart=getValueAxisStart(baseAxis,valueAxis,stacked);for(var idx=0,len=data.count();idx=0?'p':'n';var baseCoord=valueAxisStart;if(stacked){if(!lastStackCoords[stackId][baseValue]){lastStackCoords[stackId][baseValue]={p:valueAxisStart,n:valueAxisStart}}baseCoord=lastStackCoords[stackId][baseValue][sign]}var x;var y;var width;var height;if(isValueAxisH){var coord=cartesian.dataToPoint([value,baseValue]);x=baseCoord;y=coord[1]+columnOffset;width=coord[0]-valueAxisStart;height=columnWidth;if(Math.abs(width)LARGE_BAR_MIN_WIDTH)){barWidth=LARGE_BAR_MIN_WIDTH}return{progress:progress};function progress(params,data){var count=params.count;var largePoints=new LargeArr(count*2);var largeBackgroundPoints=new LargeArr(count*2);var largeDataIndices=new LargeArr(count);var dataIndex;var coord=[];var valuePair=[];var pointsOffset=0;var idxOffset=0;while((dataIndex=params.next())!=null){valuePair[valueDimIdx]=data.get(valueDim,dataIndex);valuePair[1-valueDimIdx]=data.get(baseDim,dataIndex);coord=cartesian.dataToPoint(valuePair,null,coord);largeBackgroundPoints[pointsOffset]=valueAxisHorizontal?coordLayout.x+coordLayout.width:coord[0];largePoints[pointsOffset++]=coord[0];largeBackgroundPoints[pointsOffset]=valueAxisHorizontal?coord[1]:coordLayout.y+coordLayout.height;largePoints[pointsOffset++]=coord[1];largeDataIndices[idxOffset++]=dataIndex}data.setLayout({largePoints:largePoints,largeDataIndices:largeDataIndices,largeBackgroundPoints:largeBackgroundPoints,barWidth:barWidth,valueAxisStart:getValueAxisStart(baseAxis,valueAxis,false),backgroundStart:valueAxisHorizontal?coordLayout.x:coordLayout.y,valueAxisHorizontal:valueAxisHorizontal})}}};function isOnCartesian(seriesModel){return seriesModel.coordinateSystem&&seriesModel.coordinateSystem.type==='cartesian2d'}function isInLargeMode(seriesModel){return seriesModel.pipelineContext&&seriesModel.pipelineContext.large}function getValueAxisStart(baseAxis,valueAxis,stacked){return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type==='log'?1:0))}var intervalScaleProto=IntervalScale.prototype;var mathCeil=Math.ceil;var mathFloor=Math.floor;var ONE_SECOND=1000;var ONE_MINUTE=ONE_SECOND*60;var ONE_HOUR=ONE_MINUTE*60;var ONE_DAY=ONE_HOUR*24;var bisect=function(a,x,lo,hi){while(lo>>1;if(a[mid][1]maxInterval){approxInterval=maxInterval}var scaleLevelsLen=scaleLevels.length;var idx=bisect(scaleLevels,approxInterval,0,scaleLevelsLen);var level=scaleLevels[Math.min(idx,scaleLevelsLen-1)];var interval=level[1];if(level[0]==='year'){var yearSpan=span/interval;var yearStep=nice(yearSpan/approxTickNum,true);interval*=yearStep}var timezoneOffset=this.getSetting('useUTC')?0:(new Date(+extent[0]||+extent[1])).getTimezoneOffset()*60*1000;var niceExtent=[Math.round(mathCeil((extent[0]-timezoneOffset)/interval)*interval+timezoneOffset),Math.round(mathFloor((extent[1]-timezoneOffset)/interval)*interval+timezoneOffset)];fixExtent(niceExtent,extent);this._stepLvl=level;this._interval=interval;this._niceExtent=niceExtent},parse:function(val){return+parseDate(val)}});each$1(['contain','normalize'],function(methodName){TimeScale.prototype[methodName]=function(val){return intervalScaleProto[methodName].call(this,this.parse(val))}});var scaleLevels=[['hh:mm:ss',ONE_SECOND],['hh:mm:ss',ONE_SECOND*5],['hh:mm:ss',ONE_SECOND*10],['hh:mm:ss',ONE_SECOND*15],['hh:mm:ss',ONE_SECOND*30],['hh:mm\nMM-dd',ONE_MINUTE],['hh:mm\nMM-dd',ONE_MINUTE*5],['hh:mm\nMM-dd',ONE_MINUTE*10],['hh:mm\nMM-dd',ONE_MINUTE*15],['hh:mm\nMM-dd',ONE_MINUTE*30],['hh:mm\nMM-dd',ONE_HOUR],['hh:mm\nMM-dd',ONE_HOUR*2],['hh:mm\nMM-dd',ONE_HOUR*6],['hh:mm\nMM-dd',ONE_HOUR*12],['MM-dd\nyyyy',ONE_DAY],['MM-dd\nyyyy',ONE_DAY*2],['MM-dd\nyyyy',ONE_DAY*3],['MM-dd\nyyyy',ONE_DAY*4],['MM-dd\nyyyy',ONE_DAY*5],['MM-dd\nyyyy',ONE_DAY*6],['week',ONE_DAY*7],['MM-dd\nyyyy',ONE_DAY*10],['week',ONE_DAY*14],['week',ONE_DAY*21],['month',ONE_DAY*31],['week',ONE_DAY*42],['month',ONE_DAY*62],['week',ONE_DAY*70],['quarter',ONE_DAY*95],['month',ONE_DAY*31*4],['month',ONE_DAY*31*5],['half-year',ONE_DAY*380/2],['month',ONE_DAY*31*8],['month',ONE_DAY*31*10],['year',ONE_DAY*380]];TimeScale.create=function(model){return new TimeScale({useUTC:model.ecModel.get('useUTC')})};var scaleProto$1=Scale.prototype;var intervalScaleProto$1=IntervalScale.prototype;var getPrecisionSafe$1=getPrecisionSafe;var roundingErrorFix=round$1;var mathFloor$1=Math.floor;var mathCeil$1=Math.ceil;var mathPow$1=Math.pow;var mathLog=Math.log;var LogScale=Scale.extend({type:'log',base:10,$constructor:function(){Scale.apply(this,arguments);this._originalScale=new IntervalScale()},getTicks:function(expandToNicedExtent){var originalScale=this._originalScale;var extent=this._extent;var originalExtent=originalScale.getExtent();return map(intervalScaleProto$1.getTicks.call(this,expandToNicedExtent),function(val){var powVal=round$1(mathPow$1(this.base,val));powVal=(val===extent[0]&&originalScale.__fixMin)?fixRoundingError(powVal,originalExtent[0]):powVal;powVal=(val===extent[1]&&originalScale.__fixMax)?fixRoundingError(powVal,originalExtent[1]):powVal;return powVal},this)},getMinorTicks:intervalScaleProto$1.getMinorTicks,getLabel:intervalScaleProto$1.getLabel,scale:function(val){val=scaleProto$1.scale.call(this,val);return mathPow$1(this.base,val)},setExtent:function(start,end){var base=this.base;start=mathLog(start)/mathLog(base);end=mathLog(end)/mathLog(base);intervalScaleProto$1.setExtent.call(this,start,end)},getExtent:function(){var base=this.base;var extent=scaleProto$1.getExtent.call(this);extent[0]=mathPow$1(base,extent[0]);extent[1]=mathPow$1(base,extent[1]);var originalScale=this._originalScale;var originalExtent=originalScale.getExtent();originalScale.__fixMin&&(extent[0]=fixRoundingError(extent[0],originalExtent[0]));originalScale.__fixMax&&(extent[1]=fixRoundingError(extent[1],originalExtent[1]));return extent},unionExtent:function(extent){this._originalScale.unionExtent(extent);var base=this.base;extent[0]=mathLog(extent[0])/mathLog(base);extent[1]=mathLog(extent[1])/mathLog(base);scaleProto$1.unionExtent.call(this,extent)},unionExtentFromData:function(data,dim){this.unionExtent(data.getApproximateExtent(dim))},niceTicks:function(approxTickNum){approxTickNum=approxTickNum||10;var extent=this._extent;var span=extent[1]-extent[0];if(span===Infinity||span<=0){return}var interval=quantity(span);var err=approxTickNum/span*interval;if(err<=0.5){interval*=10}while(!isNaN(interval)&&Math.abs(interval)<1&&Math.abs(interval)>0){interval*=10}var niceExtent=[round$1(mathCeil$1(extent[0]/interval)*interval),round$1(mathFloor$1(extent[1]/interval)*interval)];this._interval=interval;this._niceExtent=niceExtent},niceExtent:function(opt){intervalScaleProto$1.niceExtent.call(this,opt);var originalScale=this._originalScale;originalScale.__fixMin=opt.fixMin;originalScale.__fixMax=opt.fixMax}});each$1(['contain','normalize'],function(methodName){LogScale.prototype[methodName]=function(val){val=mathLog(val)/mathLog(this.base);return scaleProto$1[methodName].call(this,val)}});LogScale.create=function(){return new LogScale()};function fixRoundingError(val,originalVal){return roundingErrorFix(val,getPrecisionSafe$1(originalVal))}function getScaleExtent(scale,model){var scaleType=scale.type;var min=model.getMin();var max=model.getMax();var originalExtent=scale.getExtent();var axisDataLen;var boundaryGap;var span;if(scaleType==='ordinal'){axisDataLen=model.getCategories().length}else{boundaryGap=model.get('boundaryGap');if(!isArray(boundaryGap)){boundaryGap=[boundaryGap||0,boundaryGap||0]}if(typeof boundaryGap[0]==='boolean'){if(__DEV__){console.warn('Boolean type for boundaryGap is only allowed for ordinal axis. Please use string in percentage instead, e.g., "20%". Currently, boundaryGap is set to be 0.')}boundaryGap=[0,0]}boundaryGap[0]=parsePercent$1(boundaryGap[0],1);boundaryGap[1]=parsePercent$1(boundaryGap[1],1);span=(originalExtent[1]-originalExtent[0])||Math.abs(originalExtent[0])}if(min==='dataMin'){min=originalExtent[0]}else if(typeof min==='function'){min=min({min:originalExtent[0],max:originalExtent[1]})}if(max==='dataMax'){max=originalExtent[1]}else if(typeof max==='function'){max=max({min:originalExtent[0],max:originalExtent[1]})}var fixMin=min!=null;var fixMax=max!=null;if(min==null){min=scaleType==='ordinal'?(axisDataLen?0:NaN):originalExtent[0]-boundaryGap[0]*span}if(max==null){max=scaleType==='ordinal'?(axisDataLen?axisDataLen-1:NaN):originalExtent[1]+boundaryGap[1]*span}(min==null||!isFinite(min))&&(min=NaN);(max==null||!isFinite(max))&&(max=NaN);scale.setBlank(eqNaN(min)||eqNaN(max)||(scaleType==='ordinal'&&!scale.getOrdinalMeta().categories.length));if(model.getNeedCrossZero()){if(min>0&&max>0&&!fixMin){min=0}if(min<0&&max<0&&!fixMax){max=0}}var ecModel=model.ecModel;if(ecModel&&(scaleType==='time')){var barSeriesModels=prepareLayoutBarSeries('bar',ecModel);var isBaseAxisAndHasBarSeries;each$1(barSeriesModels,function(seriesModel){isBaseAxisAndHasBarSeries|=seriesModel.getBaseAxis()===model.axis});if(isBaseAxisAndHasBarSeries){var barWidthAndOffset=makeColumnLayout(barSeriesModels);var adjustedScale=adjustScaleForOverflow(min,max,model,barWidthAndOffset);min=adjustedScale.min;max=adjustedScale.max}}return{extent:[min,max],fixMin:fixMin,fixMax:fixMax}}function adjustScaleForOverflow(min,max,model,barWidthAndOffset){var axisExtent=model.axis.getExtent();var axisLength=axisExtent[1]-axisExtent[0];var barsOnCurrentAxis=retrieveColumnLayout(barWidthAndOffset,model.axis);if(barsOnCurrentAxis===undefined){return{min:min,max:max}}var minOverflow=Infinity;each$1(barsOnCurrentAxis,function(item){minOverflow=Math.min(item.offset,minOverflow)});var maxOverflow=-Infinity;each$1(barsOnCurrentAxis,function(item){maxOverflow=Math.max(item.offset+item.width,maxOverflow)});minOverflow=Math.abs(minOverflow);maxOverflow=Math.abs(maxOverflow);var totalOverFlow=minOverflow+maxOverflow;var oldRange=max-min;var oldRangePercentOfNew=(1-(minOverflow+maxOverflow)/axisLength);var overflowBuffer=((oldRange/oldRangePercentOfNew)-oldRange);max+=overflowBuffer*(maxOverflow/totalOverFlow);min-=overflowBuffer*(minOverflow/totalOverFlow);return{min:min,max:max}}function niceScaleExtent(scale,model){var extentInfo=getScaleExtent(scale,model);var extent=extentInfo.extent;var splitNumber=model.get('splitNumber');if(scale.type==='log'){scale.base=model.get('logBase')}var scaleType=scale.type;scale.setExtent(extent[0],extent[1]);scale.niceExtent({splitNumber:splitNumber,fixMin:extentInfo.fixMin,fixMax:extentInfo.fixMax,minInterval:(scaleType==='interval'||scaleType==='time')?model.get('minInterval'):null,maxInterval:(scaleType==='interval'||scaleType==='time')?model.get('maxInterval'):null});var interval=model.get('interval');if(interval!=null){scale.setInterval&&scale.setInterval(interval)}}function createScaleByModel(model,axisType){axisType=axisType||model.get('type');if(axisType){switch(axisType){case'category':return new OrdinalScale(model.getOrdinalMeta?model.getOrdinalMeta():model.getCategories(),[Infinity,-Infinity]);case'value':return new IntervalScale();default:return(Scale.getClass(axisType)||IntervalScale).create(model)}}}function ifAxisCrossZero(axis){var dataExtent=axis.scale.getExtent();var min=dataExtent[0];var max=dataExtent[1];return!((min>0&&max>0)||(min<0&&max<0))}function makeLabelFormatter(axis){var labelFormatter=axis.getLabelModel().get('formatter');var categoryTickStart=axis.type==='category'?axis.scale.getExtent()[0]:null;if(typeof labelFormatter==='string'){labelFormatter=(function(tpl){return function(val){val=axis.scale.getLabel(val);return tpl.replace('{value}',val!=null?val:'')}})(labelFormatter);return labelFormatter}else if(typeof labelFormatter==='function'){return function(tickValue,idx){if(categoryTickStart!=null){idx=tickValue-categoryTickStart}return labelFormatter(getAxisRawValue(axis,tickValue),idx)}}else{return function(tick){return axis.scale.getLabel(tick)}}}function getAxisRawValue(axis,value){return axis.type==='category'?axis.scale.getLabel(value):value}function estimateLabelUnionRect(axis){var axisModel=axis.model;var scale=axis.scale;if(!axisModel.get('axisLabel.show')||scale.isBlank()){return}var isCategory=axis.type==='category';var realNumberScaleTicks;var tickCount;var categoryScaleExtent=scale.getExtent();if(isCategory){tickCount=scale.count()}else{realNumberScaleTicks=scale.getTicks();tickCount=realNumberScaleTicks.length}var axisLabelModel=axis.getLabelModel();var labelFormatter=makeLabelFormatter(axis);var rect;var step=1;if(tickCount>40){step=Math.ceil(tickCount/40)}for(var i=0;i>1)^(-(x&1));y=(y>>1)^(-(y&1));x+=prevX;y+=prevY;prevX=x;prevY=y;result.push([x/encodeScale,y/encodeScale])}return result}var parseGeoJson$1=function(geoJson,nameProperty){decode(geoJson);return map(filter(geoJson.features,function(featureObj){return featureObj.geometry&&featureObj.properties&&featureObj.geometry.coordinates.length>0}),function(featureObj){var properties=featureObj.properties;var geo=featureObj.geometry;var coordinates=geo.coordinates;var geometries=[];if(geo.type==='Polygon'){geometries.push({type:'polygon',exterior:coordinates[0],interiors:coordinates.slice(1)})}if(geo.type==='MultiPolygon'){each$1(coordinates,function(item){if(item[0]){geometries.push({type:'polygon',exterior:item[0],interiors:item.slice(1)})}})}var region=new Region(properties[nameProperty||'name'],geometries,properties.cp);region.properties=properties;return region})};var inner$6=makeInner();function createAxisLabels(axis){return axis.type==='category'?makeCategoryLabels(axis):makeRealNumberLabels(axis)}function createAxisTicks(axis,tickModel){return axis.type==='category'?makeCategoryTicks(axis,tickModel):{ticks:axis.scale.getTicks()}}function makeCategoryLabels(axis){var labelModel=axis.getLabelModel();var result=makeCategoryLabelsActually(axis,labelModel);return(!labelModel.get('show')||axis.scale.isBlank())?{labels:[],labelCategoryInterval:result.labelCategoryInterval}:result}function makeCategoryLabelsActually(axis,labelModel){var labelsCache=getListCache(axis,'labels');var optionLabelInterval=getOptionCategoryInterval(labelModel);var result=listCacheGet(labelsCache,optionLabelInterval);if(result){return result}var labels;var numericLabelInterval;if(isFunction$1(optionLabelInterval)){labels=makeLabelsByCustomizedCategoryInterval(axis,optionLabelInterval)}else{numericLabelInterval=optionLabelInterval==='auto'?makeAutoCategoryInterval(axis):optionLabelInterval;labels=makeLabelsByNumericCategoryInterval(axis,numericLabelInterval)}return listCacheSet(labelsCache,optionLabelInterval,{labels:labels,labelCategoryInterval:numericLabelInterval})}function makeCategoryTicks(axis,tickModel){var ticksCache=getListCache(axis,'ticks');var optionTickInterval=getOptionCategoryInterval(tickModel);var result=listCacheGet(ticksCache,optionTickInterval);if(result){return result}var ticks;var tickCategoryInterval;if(!tickModel.get('show')||axis.scale.isBlank()){ticks=[]}if(isFunction$1(optionTickInterval)){ticks=makeLabelsByCustomizedCategoryInterval(axis,optionTickInterval,true)}else if(optionTickInterval==='auto'){var labelsResult=makeCategoryLabelsActually(axis,axis.getLabelModel());tickCategoryInterval=labelsResult.labelCategoryInterval;ticks=map(labelsResult.labels,function(labelItem){return labelItem.tickValue})}else{tickCategoryInterval=optionTickInterval;ticks=makeLabelsByNumericCategoryInterval(axis,tickCategoryInterval,true)}return listCacheSet(ticksCache,optionTickInterval,{ticks:ticks,tickCategoryInterval:tickCategoryInterval})}function makeRealNumberLabels(axis){var ticks=axis.scale.getTicks();var labelFormatter=makeLabelFormatter(axis);return{labels:map(ticks,function(tickValue,idx){return{formattedLabel:labelFormatter(tickValue,idx),rawLabel:axis.scale.getLabel(tickValue),tickValue:tickValue}})}}function getListCache(axis,prop){return inner$6(axis)[prop]||(inner$6(axis)[prop]=[])}function listCacheGet(cache,key){for(var i=0;i40){step=Math.max(1,Math.floor(tickCount/40))}var tickValue=ordinalExtent[0];var unitSpan=axis.dataToCoord(tickValue+1)-axis.dataToCoord(tickValue);var unitW=Math.abs(unitSpan*Math.cos(rotation));var unitH=Math.abs(unitSpan*Math.sin(rotation));var maxW=0;var maxH=0;for(;tickValue<=ordinalExtent[1];tickValue+=step){var width=0;var height=0;var rect=getBoundingRect(labelFormatter(tickValue),params.font,'center','top');width=rect.width*1.3;height=rect.height*1.3;maxW=Math.max(maxW,width,7);maxH=Math.max(maxH,height,7)}var dw=maxW/unitW;var dh=maxH/unitH;isNaN(dw)&&(dw=Infinity);isNaN(dh)&&(dh=Infinity);var interval=Math.max(0,Math.floor(Math.min(dw,dh)));var cache=inner$6(axis.model);var axisExtent=axis.getExtent();var lastAutoInterval=cache.lastAutoInterval;var lastTickCount=cache.lastTickCount;if(lastAutoInterval!=null&&lastTickCount!=null&&Math.abs(lastAutoInterval-interval)<=1&&Math.abs(lastTickCount-tickCount)<=1&&lastAutoInterval>interval&&cache.axisExtend0===axisExtent[0]&&cache.axisExtend1===axisExtent[1]){interval=lastAutoInterval}else{cache.lastTickCount=tickCount;cache.lastAutoInterval=interval;cache.axisExtend0=axisExtent[0];cache.axisExtend1=axisExtent[1]}return interval}function fetchAutoCategoryIntervalCalculationParams(axis){var labelModel=axis.getLabelModel();return{axisRotate:axis.getRotate?axis.getRotate():(axis.isHorizontal&&!axis.isHorizontal())?90:0,labelRotate:labelModel.get('rotate')||0,font:labelModel.getFont()}}function makeLabelsByNumericCategoryInterval(axis,categoryInterval,onlyTick){var labelFormatter=makeLabelFormatter(axis);var ordinalScale=axis.scale;var ordinalExtent=ordinalScale.getExtent();var labelModel=axis.getLabelModel();var result=[];var step=Math.max((categoryInterval||0)+1,1);var startTick=ordinalExtent[0];var tickCount=ordinalScale.count();if(startTick!==0&&step>1&&tickCount/step>2){startTick=Math.round(Math.ceil(startTick/step)*step)}var showAllLabel=shouldShowAllLabels(axis);var includeMinLabel=labelModel.get('showMinLabel')||showAllLabel;var includeMaxLabel=labelModel.get('showMaxLabel')||showAllLabel;if(includeMinLabel&&startTick!==ordinalExtent[0]){addItem(ordinalExtent[0])}var tickValue=startTick;for(;tickValue<=ordinalExtent[1];tickValue+=step){addItem(tickValue)}if(includeMaxLabel&&tickValue-step!==ordinalExtent[1]){addItem(ordinalExtent[1])}function addItem(tVal){result.push(onlyTick?tVal:{formattedLabel:labelFormatter(tVal),rawLabel:ordinalScale.getLabel(tVal),tickValue:tVal})}return result}function makeLabelsByCustomizedCategoryInterval(axis,categoryInterval,onlyTick){var ordinalScale=axis.scale;var labelFormatter=makeLabelFormatter(axis);var result=[];each$1(ordinalScale.getTicks(),function(tickValue){var rawLabel=ordinalScale.getLabel(tickValue);if(categoryInterval(tickValue,rawLabel)){result.push(onlyTick?tickValue:{formattedLabel:labelFormatter(tickValue),rawLabel:rawLabel,tickValue:tickValue})}});return result}var NORMALIZED_EXTENT=[0,1];var Axis=function(dim,scale,extent){this.dim=dim;this.scale=scale;this._extent=extent||[0,0];this.inverse=false;this.onBand=false};Axis.prototype={constructor:Axis,contain:function(coord){var extent=this._extent;var min=Math.min(extent[0],extent[1]);var max=Math.max(extent[0],extent[1]);return coord>=min&&coord<=max},containData:function(data){return this.scale.contain(data)},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(dataExtent){return getPixelPrecision(dataExtent||this.scale.getExtent(),this._extent)},setExtent:function(start,end){var extent=this._extent;extent[0]=start;extent[1]=end},dataToCoord:function(data,clamp){var extent=this._extent;var scale=this.scale;data=scale.normalize(data);if(this.onBand&&scale.type==='ordinal'){extent=extent.slice();fixExtentWithBands(extent,scale.count())}return linearMap(data,NORMALIZED_EXTENT,extent,clamp)},coordToData:function(coord,clamp){var extent=this._extent;var scale=this.scale;if(this.onBand&&scale.type==='ordinal'){extent=extent.slice();fixExtentWithBands(extent,scale.count())}var t=linearMap(coord,extent,NORMALIZED_EXTENT,clamp);return this.scale.scale(t)},pointToData:function(point,clamp){},getTicksCoords:function(opt){opt=opt||{};var tickModel=opt.tickModel||this.getTickModel();var result=createAxisTicks(this,tickModel);var ticks=result.ticks;var ticksCoords=map(ticks,function(tickValue){return{coord:this.dataToCoord(tickValue),tickValue:tickValue}},this);var alignWithLabel=tickModel.get('alignWithLabel');fixOnBandTicksCoords(this,ticksCoords,alignWithLabel,opt.clamp);return ticksCoords},getMinorTicksCoords:function(){if(this.scale.type==='ordinal'){return[]}var minorTickModel=this.model.getModel('minorTick');var splitNumber=minorTickModel.get('splitNumber');if(!(splitNumber>0&&splitNumber<100)){splitNumber=5}var minorTicks=this.scale.getMinorTicks(splitNumber);var minorTicksCoords=map(minorTicks,function(minorTicksGroup){return map(minorTicksGroup,function(minorTick){return{coord:this.dataToCoord(minorTick),tickValue:minorTick}},this)},this);return minorTicksCoords},getViewLabels:function(){return createAxisLabels(this).labels},getLabelModel:function(){return this.model.getModel('axisLabel')},getTickModel:function(){return this.model.getModel('axisTick')},getBandWidth:function(){var axisExtent=this._extent;var dataExtent=this.scale.getExtent();var len=dataExtent[1]-dataExtent[0]+(this.onBand?1:0);len===0&&(len=1);var size=Math.abs(axisExtent[1]-axisExtent[0]);return Math.abs(size)/len},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return calculateCategoryInterval(this)}};function fixExtentWithBands(extent,nTick){var size=extent[1]-extent[0];var len=nTick;var margin=size/len/2;extent[0]+=margin;extent[1]-=margin}function fixOnBandTicksCoords(axis,ticksCoords,alignWithLabel,clamp){var ticksLen=ticksCoords.length;if(!axis.onBand||alignWithLabel||!ticksLen){return}var axisExtent=axis.getExtent();var last;var diffSize;if(ticksLen===1){ticksCoords[0].coord=axisExtent[0];last=ticksCoords[1]={coord:axisExtent[0]}}else{var crossLen=ticksCoords[ticksLen-1].tickValue-ticksCoords[0].tickValue;var shift=(ticksCoords[ticksLen-1].coord-ticksCoords[0].coord)/crossLen;each$1(ticksCoords,function(ticksItem){ticksItem.coord-=shift/2});var dataExtent=axis.scale.getExtent();diffSize=1+dataExtent[1]-ticksCoords[ticksLen-1].tickValue;last={coord:ticksCoords[ticksLen-1].coord+shift*diffSize};ticksCoords.push(last)}var inverse=axisExtent[0]>axisExtent[1];if(littleThan(ticksCoords[0].coord,axisExtent[0])){clamp?(ticksCoords[0].coord=axisExtent[0]):ticksCoords.shift()}if(clamp&&littleThan(axisExtent[0],ticksCoords[0].coord)){ticksCoords.unshift({coord:axisExtent[0]})}if(littleThan(axisExtent[1],last.coord)){clamp?(last.coord=axisExtent[1]):ticksCoords.pop()}if(clamp&&littleThan(last.coord,axisExtent[1])){ticksCoords.push({coord:axisExtent[1]})}function littleThan(a,b){a=round$1(a);b=round$1(b);return inverse?a>b:a0){valueStart=extent[0]}else if(extent[1]<0){valueStart=extent[1]}}return valueStart}function getStackedOnPoint(dataCoordInfo,coordSys,data,idx){var value=NaN;if(dataCoordInfo.stacked){value=data.get(data.getCalculationInfo('stackedOverDimension'),idx)}if(isNaN(value)){value=dataCoordInfo.valueStart}var baseDataOffset=dataCoordInfo.baseDataOffset;var stackedData=[];stackedData[baseDataOffset]=data.get(dataCoordInfo.baseDim,idx);stackedData[1-baseDataOffset]=value;return coordSys.dataToPoint(stackedData)}function diffData(oldData,newData){var diffResult=[];newData.diff(oldData).add(function(idx){diffResult.push({cmd:'+',idx:idx})}).update(function(newIdx,oldIdx){diffResult.push({cmd:'=',idx:oldIdx,idx1:newIdx})}).remove(function(idx){diffResult.push({cmd:'-',idx:idx})}).execute();return diffResult}var lineAnimationDiff=function(oldData,newData,oldStackedOnPoints,newStackedOnPoints,oldCoordSys,newCoordSys,oldValueOrigin,newValueOrigin){var diff=diffData(oldData,newData);var currPoints=[];var nextPoints=[];var currStackedPoints=[];var nextStackedPoints=[];var status=[];var sortedIndices=[];var rawIndices=[];var newDataOldCoordInfo=prepareDataCoordInfo(oldCoordSys,newData,oldValueOrigin);var oldDataNewCoordInfo=prepareDataCoordInfo(newCoordSys,oldData,newValueOrigin);for(var i=0;i=allLen||idx<0){break}if(isPointNull(p)){if(connectNulls){idx+=dir;continue}break}if(idx===start){ctx[dir>0?'moveTo':'lineTo'](p[0],p[1])}else{if(smooth>0){var prevP=points[prevIdx];var dim=smoothMonotone==='y'?1:0;var ctrlLen=(p[dim]-prevP[dim])*smooth;v2Copy(cp0,prevP);cp0[dim]=prevP[dim]+ctrlLen;v2Copy(cp1,p);cp1[dim]=p[dim]-ctrlLen;ctx.bezierCurveTo(cp0[0],cp0[1],cp1[0],cp1[1],p[0],p[1])}else{ctx.lineTo(p[0],p[1])}}prevIdx=idx;idx+=dir}return k}function drawNonMono(ctx,points,start,segLen,allLen,dir,smoothMin,smoothMax,smooth,smoothMonotone,connectNulls){var prevIdx=0;var idx=start;for(var k=0;k=allLen||idx<0){break}if(isPointNull(p)){if(connectNulls){idx+=dir;continue}break}if(idx===start){ctx[dir>0?'moveTo':'lineTo'](p[0],p[1]);v2Copy(cp0,p)}else{if(smooth>0){var nextIdx=idx+dir;var nextP=points[nextIdx];if(connectNulls){while(nextP&&isPointNull(points[nextIdx])){nextIdx+=dir;nextP=points[nextIdx]}}var ratioNextSeg=0.5;var prevP=points[prevIdx];var nextP=points[nextIdx];if(!nextP||isPointNull(nextP)){v2Copy(cp1,p)}else{if(isPointNull(nextP)&&!connectNulls){nextP=p}sub(v,nextP,prevP);var lenPrevSeg;var lenNextSeg;if(smoothMonotone==='x'||smoothMonotone==='y'){var dim=smoothMonotone==='x'?0:1;lenPrevSeg=Math.abs(p[dim]-prevP[dim]);lenNextSeg=Math.abs(p[dim]-nextP[dim])}else{lenPrevSeg=dist(p,prevP);lenNextSeg=dist(p,nextP)}ratioNextSeg=lenNextSeg/(lenNextSeg+lenPrevSeg);scaleAndAdd$1(cp1,p,v,-smooth*(1-ratioNextSeg))}vec2Min(cp0,cp0,smoothMax);vec2Max(cp0,cp0,smoothMin);vec2Min(cp1,cp1,smoothMax);vec2Max(cp1,cp1,smoothMin);ctx.bezierCurveTo(cp0[0],cp0[1],cp1[0],cp1[1],p[0],p[1]);scaleAndAdd$1(cp0,p,v,smooth*ratioNextSeg)}else{ctx.lineTo(p[0],p[1])}}prevIdx=idx;idx+=dir}return k}function getBoundingBox(points,smoothConstraint){var ptMin=[Infinity,Infinity];var ptMax=[-Infinity,-Infinity];if(smoothConstraint){for(var i=0;iptMax[0]){ptMax[0]=pt[0]}if(pt[1]>ptMax[1]){ptMax[1]=pt[1]}}}return{min:smoothConstraint?ptMin:ptMax,max:smoothConstraint?ptMax:ptMin}}var Polyline$1=Path.extend({type:'ec-polyline',shape:{points:[],smooth:0,smoothConstraint:true,smoothMonotone:null,connectNulls:false},style:{fill:null,stroke:'#000'},brush:fixClipWithShadow(Path.prototype.brush),buildPath:function(ctx,shape){var points=shape.points;var i=0;var len$$1=points.length;var result=getBoundingBox(points,shape.smoothConstraint);if(shape.connectNulls){for(;len$$1>0;len$$1--){if(!isPointNull(points[len$$1-1])){break}}for(;i0;len$$1--){if(!isPointNull(points[len$$1-1])){break}}for(;i=0;i--){var dimIndex=visualMetaList[i].dimension;var dimName=data.dimensions[dimIndex];var dimInfo=data.getDimensionInfo(dimName);coordDim=dimInfo&&dimInfo.coordDim;if(coordDim==='x'||coordDim==='y'){visualMeta=visualMetaList[i];break}}if(!visualMeta){if(__DEV__){console.warn('Visual map on line style only support x or y dimension.')}return}var axis=coordSys.getAxis(coordDim);var colorStops=map(visualMeta.stops,function(stop){return{coord:axis.toGlobalCoord(axis.dataToCoord(stop.value)),color:stop.color}});var stopLen=colorStops.length;var outerColors=visualMeta.outerColors.slice();if(stopLen&&colorStops[0].coord>colorStops[stopLen-1].coord){colorStops.reverse();outerColors.reverse()}var tinyExtent=10;var minCoord=colorStops[0].coord-tinyExtent;var maxCoord=colorStops[stopLen-1].coord+tinyExtent;var coordSpan=maxCoord-minCoord;if(coordSpan<1e-3){return'transparent'}each$1(colorStops,function(stop){stop.offset=(stop.coord-minCoord)/coordSpan});colorStops.push({offset:stopLen?colorStops[stopLen-1].offset:0.5,color:outerColors[1]||'transparent'});colorStops.unshift({offset:stopLen?colorStops[0].offset:0.5,color:outerColors[0]||'transparent'});var gradient=new LinearGradient(0,0,0,0,colorStops,true);gradient[coordDim]=minCoord;gradient[coordDim+'2']=maxCoord;return gradient}function getIsIgnoreFunc(seriesModel,data,coordSys){var showAllSymbol=seriesModel.get('showAllSymbol');var isAuto=showAllSymbol==='auto';if(showAllSymbol&&!isAuto){return}var categoryAxis=coordSys.getAxesByScale('ordinal')[0];if(!categoryAxis){return}if(isAuto&&canShowAllSymbolForCategory(categoryAxis,data)){return}var categoryDataDim=data.mapDimension(categoryAxis.dim);var labelMap={};each$1(categoryAxis.getViewLabels(),function(labelItem){labelMap[labelItem.tickValue]=1});return function(dataIndex){return!labelMap.hasOwnProperty(data.get(categoryDataDim,dataIndex))}}function canShowAllSymbolForCategory(categoryAxis,data){var axisExtent=categoryAxis.getExtent();var availSize=Math.abs(axisExtent[1]-axisExtent[0])/categoryAxis.scale.count();isNaN(availSize)&&(availSize=0);var dataLen=data.count();var step=Math.max(1,Math.round(dataLen/5));for(var dataIndex=0;dataIndexavailSize){return false}}return true}function createLineClipPath(coordSys,hasAnimation,seriesModel){if(coordSys.type==='cartesian2d'){var isHorizontal=coordSys.getBaseAxis().isHorizontal();var clipPath=createGridClipPath(coordSys,hasAnimation,seriesModel);if(!seriesModel.get('clip',true)){var rectShape=clipPath.shape;var expandSize=Math.max(rectShape.width,rectShape.height);if(isHorizontal){rectShape.y-=expandSize;rectShape.height+=expandSize*2}else{rectShape.x-=expandSize;rectShape.width+=expandSize*2}}return clipPath}else{return createPolarClipPath(coordSys,hasAnimation,seriesModel)}}Chart.extend({type:'line',init:function(){var lineGroup=new Group();var symbolDraw=new SymbolDraw();this.group.add(symbolDraw.group);this._symbolDraw=symbolDraw;this._lineGroup=lineGroup},render:function(seriesModel,ecModel,api){var coordSys=seriesModel.coordinateSystem;var group=this.group;var data=seriesModel.getData();var lineStyleModel=seriesModel.getModel('lineStyle');var areaStyleModel=seriesModel.getModel('areaStyle');var points=data.mapArray(data.getItemLayout);var isCoordSysPolar=coordSys.type==='polar';var prevCoordSys=this._coordSys;var symbolDraw=this._symbolDraw;var polyline=this._polyline;var polygon=this._polygon;var lineGroup=this._lineGroup;var hasAnimation=seriesModel.get('animation');var isAreaChart=!areaStyleModel.isEmpty();var valueOrigin=areaStyleModel.get('origin');var dataCoordInfo=prepareDataCoordInfo(coordSys,data,valueOrigin);var stackedOnPoints=getStackedOnPoints(coordSys,data,dataCoordInfo);var showSymbol=seriesModel.get('showSymbol');var isIgnoreFunc=showSymbol&&!isCoordSysPolar&&getIsIgnoreFunc(seriesModel,data,coordSys);var oldData=this._data;oldData&&oldData.eachItemGraphicEl(function(el,idx){if(el.__temp){group.remove(el);oldData.setItemGraphicEl(idx,null)}});if(!showSymbol){symbolDraw.remove()}group.add(lineGroup);var step=!isCoordSysPolar&&seriesModel.get('step');var clipShapeForSymbol;if(coordSys&&coordSys.getArea&&seriesModel.get('clip',true)){clipShapeForSymbol=coordSys.getArea();if(clipShapeForSymbol.width!=null){clipShapeForSymbol.x-=0.1;clipShapeForSymbol.y-=0.1;clipShapeForSymbol.width+=0.2;clipShapeForSymbol.height+=0.2}else if(clipShapeForSymbol.r0){clipShapeForSymbol.r0-=0.5;clipShapeForSymbol.r1+=0.5}}this._clipShapeForSymbol=clipShapeForSymbol;if(!(polyline&&prevCoordSys.type===coordSys.type&&step===this._step)){showSymbol&&symbolDraw.updateData(data,{isIgnore:isIgnoreFunc,clipShape:clipShapeForSymbol});if(step){points=turnPointsIntoStep(points,coordSys,step);stackedOnPoints=turnPointsIntoStep(stackedOnPoints,coordSys,step)}polyline=this._newPolyline(points,coordSys,hasAnimation);if(isAreaChart){polygon=this._newPolygon(points,stackedOnPoints,coordSys,hasAnimation)}lineGroup.setClipPath(createLineClipPath(coordSys,true,seriesModel))}else{if(isAreaChart&&!polygon){polygon=this._newPolygon(points,stackedOnPoints,coordSys,hasAnimation)}else if(polygon&&!isAreaChart){lineGroup.remove(polygon);polygon=this._polygon=null}lineGroup.setClipPath(createLineClipPath(coordSys,false,seriesModel));showSymbol&&symbolDraw.updateData(data,{isIgnore:isIgnoreFunc,clipShape:clipShapeForSymbol});data.eachItemGraphicEl(function(el){el.stopAnimation(true)});if(!isPointsSame(this._stackedOnPoints,stackedOnPoints)||!isPointsSame(this._points,points)){if(hasAnimation){this._updateAnimation(data,stackedOnPoints,coordSys,api,step,valueOrigin)}else{if(step){points=turnPointsIntoStep(points,coordSys,step);stackedOnPoints=turnPointsIntoStep(stackedOnPoints,coordSys,step)}polyline.setShape({points:points});polygon&&polygon.setShape({points:points,stackedOnPoints:stackedOnPoints})}}}var visualColor=getVisualGradient(data,coordSys)||data.getVisual('color');polyline.useStyle(defaults(lineStyleModel.getLineStyle(),{fill:'none',stroke:visualColor,lineJoin:'bevel'}));var smooth=seriesModel.get('smooth');smooth=getSmooth(seriesModel.get('smooth'));polyline.setShape({smooth:smooth,smoothMonotone:seriesModel.get('smoothMonotone'),connectNulls:seriesModel.get('connectNulls')});if(polygon){var stackedOnSeries=data.getCalculationInfo('stackedOnSeries');var stackedOnSmooth=0;polygon.useStyle(defaults(areaStyleModel.getAreaStyle(),{fill:visualColor,opacity:0.7,lineJoin:'bevel'}));if(stackedOnSeries){stackedOnSmooth=getSmooth(stackedOnSeries.get('smooth'))}polygon.setShape({smooth:smooth,stackedOnSmooth:stackedOnSmooth,smoothMonotone:seriesModel.get('smoothMonotone'),connectNulls:seriesModel.get('connectNulls')})}this._data=data;this._coordSys=coordSys;this._stackedOnPoints=stackedOnPoints;this._points=points;this._step=step;this._valueOrigin=valueOrigin},dispose:function(){},highlight:function(seriesModel,ecModel,api,payload){var data=seriesModel.getData();var dataIndex=queryDataIndex(data,payload);if(!(dataIndex instanceof Array)&&dataIndex!=null&&dataIndex>=0){var symbol=data.getItemGraphicEl(dataIndex);if(!symbol){var pt=data.getItemLayout(dataIndex);if(!pt){return}if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(pt[0],pt[1])){return}symbol=new SymbolClz$1(data,dataIndex);symbol.position=pt;symbol.setZ(seriesModel.get('zlevel'),seriesModel.get('z'));symbol.ignore=isNaN(pt[0])||isNaN(pt[1]);symbol.__temp=true;data.setItemGraphicEl(dataIndex,symbol);symbol.stopSymbolAnimation(true);this.group.add(symbol)}symbol.highlight()}else{Chart.prototype.highlight.call(this,seriesModel,ecModel,api,payload)}},downplay:function(seriesModel,ecModel,api,payload){var data=seriesModel.getData();var dataIndex=queryDataIndex(data,payload);if(dataIndex!=null&&dataIndex>=0){var symbol=data.getItemGraphicEl(dataIndex);if(symbol){if(symbol.__temp){data.setItemGraphicEl(dataIndex,null);this.group.remove(symbol)}else{symbol.downplay()}}}else{Chart.prototype.downplay.call(this,seriesModel,ecModel,api,payload)}},_newPolyline:function(points){var polyline=this._polyline;if(polyline){this._lineGroup.remove(polyline)}polyline=new Polyline$1({shape:{points:points},silent:true,z2:10});this._lineGroup.add(polyline);this._polyline=polyline;return polyline},_newPolygon:function(points,stackedOnPoints){var polygon=this._polygon;if(polygon){this._lineGroup.remove(polygon)}polygon=new Polygon$1({shape:{points:points,stackedOnPoints:stackedOnPoints},silent:true});this._lineGroup.add(polygon);this._polygon=polygon;return polygon},_updateAnimation:function(data,stackedOnPoints,coordSys,api,step,valueOrigin){var polyline=this._polyline;var polygon=this._polygon;var seriesModel=data.hostModel;var diff=lineAnimationDiff(this._data,data,this._stackedOnPoints,stackedOnPoints,this._coordSys,coordSys,this._valueOrigin,valueOrigin);var current=diff.current;var stackedOnCurrent=diff.stackedOnCurrent;var next=diff.next;var stackedOnNext=diff.stackedOnNext;if(step){current=turnPointsIntoStep(diff.current,coordSys,step);stackedOnCurrent=turnPointsIntoStep(diff.stackedOnCurrent,coordSys,step);next=turnPointsIntoStep(diff.next,coordSys,step);stackedOnNext=turnPointsIntoStep(diff.stackedOnNext,coordSys,step)}if(getBoundingDiff(current,next)>3000||(polygon&&getBoundingDiff(stackedOnCurrent,stackedOnNext)>3000)){polyline.setShape({points:next});if(polygon){polygon.setShape({points:next,stackedOnPoints:stackedOnNext})}return}polyline.shape.__points=diff.current;polyline.shape.points=current;updateProps(polyline,{shape:{points:next}},seriesModel);if(polygon){polygon.setShape({points:current,stackedOnPoints:stackedOnCurrent});updateProps(polygon,{shape:{points:next,stackedOnPoints:stackedOnNext}},seriesModel)}var updatedDataInfo=[];var diffStatus=diff.status;for(var i=0;imax&&(max=frame[i])}return isFinite(max)?max:NaN},min:function(frame){var min=Infinity;for(var i=0;i1){var sampler;if(typeof sampling==='string'){sampler=samplers[sampling]}else if(typeof sampling==='function'){sampler=sampling}if(sampler){seriesModel.setData(data.downSample(data.mapDimension(valueAxis.dim),1/rate,sampler,indexSampler))}}}}}};function dimAxisMapper(dim){return this._axes[dim]}var Cartesian=function(name){this._axes={};this._dimList=[];this.name=name||''};Cartesian.prototype={constructor:Cartesian,type:'cartesian',getAxis:function(dim){return this._axes[dim]},getAxes:function(){return map(this._dimList,dimAxisMapper,this)},getAxesByScale:function(scaleType){scaleType=scaleType.toLowerCase();return filter(this.getAxes(),function(axis){return axis.scale.type===scaleType})},addAxis:function(axis){var dim=axis.dim;this._axes[dim]=axis;this._dimList.push(dim)},dataToCoord:function(val){return this._dataCoordConvert(val,'dataToCoord')},coordToData:function(val){return this._dataCoordConvert(val,'coordToData')},_dataCoordConvert:function(input,method){var dimList=this._dimList;var output=input instanceof Array?[]:{};for(var i=0;iret[1]&&ret.reverse();return ret},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(point,clamp){return this.coordToData(this.toLocalCoord(point[this.dim==='x'?0:1]),clamp)},toLocalCoord:null,toGlobalCoord:null};inherits(Axis2D,Axis);var defaultOption={show:true,zlevel:0,z:0,inverse:false,name:'',nameLocation:'end',nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:'...',placeholder:'.'},nameTextStyle:{},nameGap:15,silent:false,triggerEvent:false,tooltip:{show:false},axisPointer:{},axisLine:{show:true,onZero:true,onZeroAxisIndex:null,lineStyle:{color:'#333',width:1,type:'solid'},symbol:['none','none'],symbolSize:[10,15]},axisTick:{show:true,inside:false,length:5,lineStyle:{width:1}},axisLabel:{show:true,inside:false,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:true,lineStyle:{color:['#ccc'],width:1,type:'solid'}},splitArea:{show:false,areaStyle:{color:['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']}}};var axisDefault={};axisDefault.categoryAxis=merge({boundaryGap:true,deduplication:null,splitLine:{show:false},axisTick:{alignWithLabel:false,interval:'auto'},axisLabel:{interval:'auto'}},defaultOption);axisDefault.valueAxis=merge({boundaryGap:[0,0],splitNumber:5,minorTick:{show:false,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:false,lineStyle:{color:'#eee',width:1}}},defaultOption);axisDefault.timeAxis=defaults({scale:true,min:'dataMin',max:'dataMax'},axisDefault.valueAxis);axisDefault.logAxis=defaults({scale:true,logBase:10},axisDefault.valueAxis);var AXIS_TYPES=['value','category','time','log'];var axisModelCreator=function(axisName,BaseAxisModelClass,axisTypeDefaulter,extraDefaultOption){each$1(AXIS_TYPES,function(axisType){BaseAxisModelClass.extend({type:axisName+'Axis.'+axisType,mergeDefaultAndTheme:function(option,ecModel){var layoutMode=this.layoutMode;var inputPositionParams=layoutMode?getLayoutParams(option):{};var themeModel=ecModel.getTheme();merge(option,themeModel.get(axisType+'Axis'));merge(option,this.getDefaultOption());option.type=axisTypeDefaulter(axisName,option);if(layoutMode){mergeLayoutParam(option,inputPositionParams,layoutMode)}},optionUpdated:function(){var thisOption=this.option;if(thisOption.type==='category'){this.__ordinalMeta=OrdinalMeta.createByAxisModel(this)}},getCategories:function(rawData){var option=this.option;if(option.type==='category'){if(rawData){return option.data}return this.__ordinalMeta.categories}},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:mergeAll([{},axisDefault[axisType+'Axis'],extraDefaultOption],true)})});ComponentModel.registerSubTypeDefaulter(axisName+'Axis',curry(axisTypeDefaulter,axisName))};var AxisModel=ComponentModel.extend({type:'cartesian2dAxis',axis:null,init:function(){AxisModel.superApply(this,'init',arguments);this.resetRange()},mergeOption:function(){AxisModel.superApply(this,'mergeOption',arguments);this.resetRange()},restoreData:function(){AxisModel.superApply(this,'restoreData',arguments);this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:'grid',index:this.option.gridIndex,id:this.option.gridId})[0]}});function getAxisType(axisDim,option){return option.type||(option.data?'category':'value')}merge(AxisModel.prototype,axisModelCommonMixin);var extraOption={offset:0};axisModelCreator('x',AxisModel,getAxisType,extraOption);axisModelCreator('y',AxisModel,getAxisType,extraOption);ComponentModel.extend({type:'grid',dependencies:['xAxis','yAxis'],layoutMode:'box',coordinateSystem:null,defaultOption:{show:false,zlevel:0,z:0,left:'10%',top:60,right:'10%',bottom:60,containLabel:false,backgroundColor:'rgba(0,0,0,0)',borderWidth:1,borderColor:'#ccc'}});function isAxisUsedInTheGrid(axisModel,gridModel,ecModel){return axisModel.getCoordSysModel()===gridModel}function Grid(gridModel,ecModel,api){this._coordsMap={};this._coordsList=[];this._axesMap={};this._axesList=[];this._initCartesian(gridModel,ecModel,api);this.model=gridModel}var gridProto=Grid.prototype;gridProto.type='grid';gridProto.axisPointerEnabled=true;gridProto.getRect=function(){return this._rect};gridProto.update=function(ecModel,api){var axesMap=this._axesMap;this._updateScale(ecModel,this.model);each$1(axesMap.x,function(xAxis){niceScaleExtent(xAxis.scale,xAxis.model)});each$1(axesMap.y,function(yAxis){niceScaleExtent(yAxis.scale,yAxis.model)});var onZeroRecords={};each$1(axesMap.x,function(xAxis){fixAxisOnZero(axesMap,'y',xAxis,onZeroRecords)});each$1(axesMap.y,function(yAxis){fixAxisOnZero(axesMap,'x',yAxis,onZeroRecords)});this.resize(this.model,api)};function fixAxisOnZero(axesMap,otherAxisDim,axis,onZeroRecords){axis.getAxesOnZeroOf=function(){return otherAxisOnZeroOf?[otherAxisOnZeroOf]:[]};var otherAxes=axesMap[otherAxisDim];var otherAxisOnZeroOf;var axisModel=axis.model;var onZero=axisModel.get('axisLine.onZero');var onZeroAxisIndex=axisModel.get('axisLine.onZeroAxisIndex');if(!onZero){return}if(onZeroAxisIndex!=null){if(canOnZeroToAxis(otherAxes[onZeroAxisIndex])){otherAxisOnZeroOf=otherAxes[onZeroAxisIndex]}}else{for(var idx in otherAxes){if(otherAxes.hasOwnProperty(idx)&&canOnZeroToAxis(otherAxes[idx])&&!onZeroRecords[getOnZeroRecordKey(otherAxes[idx])]){otherAxisOnZeroOf=otherAxes[idx];break}}}if(otherAxisOnZeroOf){onZeroRecords[getOnZeroRecordKey(otherAxisOnZeroOf)]=true}function getOnZeroRecordKey(axis){return axis.dim+'_'+axis.index}}function canOnZeroToAxis(axis){return axis&&axis.type!=='category'&&axis.type!=='time'&&ifAxisCrossZero(axis)}gridProto.resize=function(gridModel,api,ignoreContainLabel){var gridRect=getLayoutRect(gridModel.getBoxLayoutParams(),{width:api.getWidth(),height:api.getHeight()});this._rect=gridRect;var axesList=this._axesList;adjustAxes();if(!ignoreContainLabel&&gridModel.get('containLabel')){each$1(axesList,function(axis){if(!axis.model.get('axisLabel.inside')){var labelUnionRect=estimateLabelUnionRect(axis);if(labelUnionRect){var dim=axis.isHorizontal()?'height':'width';var margin=axis.model.get('axisLabel.margin');gridRect[dim]-=labelUnionRect[dim]+margin;if(axis.position==='top'){gridRect.y+=labelUnionRect.height+margin}else if(axis.position==='left'){gridRect.x+=labelUnionRect.width+margin}}}});adjustAxes()}function adjustAxes(){each$1(axesList,function(axis){var isHorizontal=axis.isHorizontal();var extent=isHorizontal?[0,gridRect.width]:[0,gridRect.height];var idx=axis.inverse?1:0;axis.setExtent(extent[idx],extent[1-idx]);updateAxisTransform(axis,isHorizontal?gridRect.x:gridRect.y)})}};gridProto.getAxis=function(axisType,axisIndex){var axesMapOnDim=this._axesMap[axisType];if(axesMapOnDim!=null){if(axisIndex==null){for(var name in axesMapOnDim){if(axesMapOnDim.hasOwnProperty(name)){return axesMapOnDim[name]}}}return axesMapOnDim[axisIndex]}};gridProto.getAxes=function(){return this._axesList.slice()};gridProto.getCartesian=function(xAxisIndex,yAxisIndex){if(xAxisIndex!=null&&yAxisIndex!=null){var key='x'+xAxisIndex+'y'+yAxisIndex;return this._coordsMap[key]}if(isObject$1(xAxisIndex)){yAxisIndex=xAxisIndex.yAxisIndex;xAxisIndex=xAxisIndex.xAxisIndex}for(var i=0,coordList=this._coordsList;iextent[1]?-1:1;var pos=[nameLocation==='start'?extent[0]-gapSignal*gap:nameLocation==='end'?extent[1]+gapSignal*gap:(extent[0]+extent[1])/2,isNameLocationCenter(nameLocation)?opt.labelOffset+nameDirection*gap:0];var labelLayout;var nameRotation=axisModel.get('nameRotate');if(nameRotation!=null){nameRotation=nameRotation*PI$2/180}var axisNameAvailableWidth;if(isNameLocationCenter(nameLocation)){labelLayout=innerTextLayout(opt.rotation,nameRotation!=null?nameRotation:opt.rotation,nameDirection)}else{labelLayout=endTextLayout(opt,nameLocation,nameRotation||0,extent);axisNameAvailableWidth=opt.axisNameAvailableWidth;if(axisNameAvailableWidth!=null){axisNameAvailableWidth=Math.abs(axisNameAvailableWidth/Math.sin(labelLayout.rotation));!isFinite(axisNameAvailableWidth)&&(axisNameAvailableWidth=null)}}var textFont=textStyleModel.getFont();var truncateOpt=axisModel.get('nameTruncate',true)||{};var ellipsis=truncateOpt.ellipsis;var maxWidth=retrieve(opt.nameTruncateMaxWidth,truncateOpt.maxWidth,axisNameAvailableWidth);var truncatedText=(ellipsis!=null&&maxWidth!=null)?truncateText$1(name,maxWidth,textFont,ellipsis,{minChar:2,placeholder:truncateOpt.placeholder}):name;var tooltipOpt=axisModel.get('tooltip',true);var mainType=axisModel.mainType;var formatterParams={componentType:mainType,name:name,$vars:['name']};formatterParams[mainType+'Index']=axisModel.componentIndex;var textEl=new Text({anid:'name',__fullText:name,__truncatedText:truncatedText,position:pos,rotation:labelLayout.rotation,silent:isLabelSilent(axisModel),z2:1,tooltip:(tooltipOpt&&tooltipOpt.show)?extend({content:name,formatter:function(){return name},formatterParams:formatterParams},tooltipOpt):null});setTextStyle(textEl.style,textStyleModel,{text:truncatedText,textFont:textFont,textFill:textStyleModel.getTextColor()||axisModel.get('axisLine.lineStyle.color'),textAlign:textStyleModel.get('align')||labelLayout.textAlign,textVerticalAlign:textStyleModel.get('verticalAlign')||labelLayout.textVerticalAlign});if(axisModel.get('triggerEvent')){textEl.eventData=makeAxisEventDataBase(axisModel);textEl.eventData.targetType='axisName';textEl.eventData.name=name}this._dumbGroup.add(textEl);textEl.updateTransform();this.group.add(textEl);textEl.decomposeTransform()}};var makeAxisEventDataBase=AxisBuilder.makeAxisEventDataBase=function(axisModel){var eventData={componentType:axisModel.mainType,componentIndex:axisModel.componentIndex};eventData[axisModel.mainType+'Index']=axisModel.componentIndex;return eventData};var innerTextLayout=AxisBuilder.innerTextLayout=function(axisRotation,textRotation,direction){var rotationDiff=remRadian(textRotation-axisRotation);var textAlign;var textVerticalAlign;if(isRadianAroundZero(rotationDiff)){textVerticalAlign=direction>0?'top':'bottom';textAlign='center'}else if(isRadianAroundZero(rotationDiff-PI$2)){textVerticalAlign=direction>0?'bottom':'top';textAlign='center'}else{textVerticalAlign='middle';if(rotationDiff>0&&rotationDiff0?'right':'left'}else{textAlign=direction>0?'left':'right'}}return{rotation:rotationDiff,textAlign:textAlign,textVerticalAlign:textVerticalAlign}};function endTextLayout(opt,textPosition,textRotate,extent){var rotationDiff=remRadian(textRotate-opt.rotation);var textAlign;var textVerticalAlign;var inverse=extent[0]>extent[1];var onLeft=(textPosition==='start'&&!inverse)||(textPosition!=='start'&&inverse);if(isRadianAroundZero(rotationDiff-PI$2/2)){textVerticalAlign=onLeft?'bottom':'top';textAlign='center'}else if(isRadianAroundZero(rotationDiff-PI$2*1.5)){textVerticalAlign=onLeft?'top':'bottom';textAlign='center'}else{textVerticalAlign='middle';if(rotationDiffPI$2/2){textAlign=onLeft?'left':'right'}else{textAlign=onLeft?'right':'left'}}return{rotation:rotationDiff,textAlign:textAlign,textVerticalAlign:textVerticalAlign}}var isLabelSilent=AxisBuilder.isLabelSilent=function(axisModel){var tooltipOpt=axisModel.get('tooltip');return axisModel.get('silent')||!(axisModel.get('triggerEvent')||(tooltipOpt&&tooltipOpt.show))};function fixMinMaxLabelShow(axisModel,labelEls,tickEls){if(shouldShowAllLabels(axisModel.axis)){return}var showMinLabel=axisModel.get('axisLabel.showMinLabel');var showMaxLabel=axisModel.get('axisLabel.showMaxLabel');labelEls=labelEls||[];tickEls=tickEls||[];var firstLabel=labelEls[0];var nextLabel=labelEls[1];var lastLabel=labelEls[labelEls.length-1];var prevLabel=labelEls[labelEls.length-2];var firstTick=tickEls[0];var nextTick=tickEls[1];var lastTick=tickEls[tickEls.length-1];var prevTick=tickEls[tickEls.length-2];if(showMinLabel===false){ignoreEl(firstLabel);ignoreEl(firstTick)}else if(isTwoLabelOverlapped(firstLabel,nextLabel)){if(showMinLabel){ignoreEl(nextLabel);ignoreEl(nextTick)}else{ignoreEl(firstLabel);ignoreEl(firstTick)}}if(showMaxLabel===false){ignoreEl(lastLabel);ignoreEl(lastTick)}else if(isTwoLabelOverlapped(prevLabel,lastLabel)){if(showMaxLabel){ignoreEl(prevLabel);ignoreEl(prevTick)}else{ignoreEl(lastLabel);ignoreEl(lastTick)}}}function ignoreEl(el){el&&(el.ignore=true)}function isTwoLabelOverlapped(current,next,labelLayout){var firstRect=current&¤t.getBoundingRect().clone();var nextRect=next&&next.getBoundingRect().clone();if(!firstRect||!nextRect){return}var mRotationBack=identity([]);rotate(mRotationBack,mRotationBack,-current.rotation);firstRect.applyTransform(mul$1([],mRotationBack,current.getLocalTransform()));nextRect.applyTransform(mul$1([],mRotationBack,next.getLocalTransform()));return firstRect.intersect(nextRect)}function isNameLocationCenter(nameLocation){return nameLocation==='middle'||nameLocation==='center'}function createTicks(ticksCoords,tickTransform,tickEndCoord,tickLineStyle,aniid){var tickEls=[];var pt1=[];var pt2=[];for(var i=0;i=0)||linkPropValue===axisPropValue}function fixValue(axisModel){var axisInfo=getAxisInfo(axisModel);if(!axisInfo){return}var axisPointerModel=axisInfo.axisPointerModel;var scale=axisInfo.axis.scale;var option=axisPointerModel.option;var status=axisPointerModel.get('status');var value=axisPointerModel.get('value');if(value!=null){value=scale.parse(value)}var useHandle=isHandleTrigger(axisPointerModel);if(status==null){option.status=useHandle?'show':'hide'}var extent=scale.getExtent().slice();extent[0]>extent[1]&&extent.reverse();if(value==null||value>extent[1]){value=extent[1]}if(valueprogressiveThreshold){progressiveThreshold=largeThreshold}return progressiveThreshold},defaultOption:{clip:true,roundCap:false,showBackground:false,backgroundStyle:{color:'rgba(180, 180, 180, 0.2)',borderColor:null,borderWidth:0,borderType:'solid',borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1}}});function setLabel(normalStyle,hoverStyle,itemModel,color,seriesModel,dataIndex,labelPositionOutside){var labelModel=itemModel.getModel('label');var hoverLabelModel=itemModel.getModel('emphasis.label');setLabelStyle(normalStyle,hoverStyle,labelModel,hoverLabelModel,{labelFetcher:seriesModel,labelDataIndex:dataIndex,defaultText:getDefaultLabel(seriesModel.getData(),dataIndex),isRectText:true,autoColor:color});fixPosition(normalStyle);fixPosition(hoverStyle)}function fixPosition(style,labelPositionOutside){if(style.textPosition==='outside'){style.textPosition=labelPositionOutside}}var getBarItemStyle=makeStyleMapper([['fill','color'],['stroke','borderColor'],['lineWidth','borderWidth'],['stroke','barBorderColor'],['lineWidth','barBorderWidth'],['opacity'],['shadowBlur'],['shadowOffsetX'],['shadowOffsetY'],['shadowColor']]);var barItemStyle={getBarItemStyle:function(excludes){var style=getBarItemStyle(this,excludes);if(this.getBorderLineDash){var lineDash=this.getBorderLineDash();lineDash&&(style.lineDash=lineDash)}return style}};var Sausage=extendShape({type:'sausage',shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:Math.PI*2,clockwise:true},buildPath:function(ctx,shape){var x=shape.cx;var y=shape.cy;var r0=Math.max(shape.r0||0,0);var r=Math.max(shape.r,0);var dr=(r-r0)*0.5;var rCenter=r0+dr;var startAngle=shape.startAngle;var endAngle=shape.endAngle;var clockwise=shape.clockwise;var unitStartX=Math.cos(startAngle);var unitStartY=Math.sin(startAngle);var unitEndX=Math.cos(endAngle);var unitEndY=Math.sin(endAngle);var lessThanCircle=clockwise?endAngle-startAngle0?1:-1;var signY=layout.height>0?1:-1;return{x:layout.x+signX*fixedLineWidth/2,y:layout.y+signY*fixedLineWidth/2,width:layout.width-signX*fixedLineWidth,height:layout.height-signY*fixedLineWidth}},polar:function(data,dataIndex,itemModel){var layout=data.getItemLayout(dataIndex);return{cx:layout.cx,cy:layout.cy,r0:layout.r0,r:layout.r,startAngle:layout.startAngle,endAngle:layout.endAngle}}};function isZeroOnPolar(layout){return layout.startAngle!=null&&layout.endAngle!=null&&layout.startAngle===layout.endAngle}function updateStyle(el,data,dataIndex,itemModel,layout,seriesModel,isHorizontal,isPolar){var color=data.getItemVisual(dataIndex,'color');var opacity=data.getItemVisual(dataIndex,'opacity');var stroke=data.getVisual('borderColor');var itemStyleModel=itemModel.getModel('itemStyle');var hoverStyle=itemModel.getModel('emphasis.itemStyle').getBarItemStyle();if(!isPolar){el.setShape('r',itemStyleModel.get('barBorderRadius')||0)}el.useStyle(defaults({stroke:isZeroOnPolar(layout)?'none':stroke,fill:isZeroOnPolar(layout)?'none':color,opacity:opacity},itemStyleModel.getBarItemStyle()));var cursorStyle=itemModel.getShallow('cursor');cursorStyle&&el.attr('cursor',cursorStyle);var labelPositionOutside=isHorizontal?(layout.height>0?'bottom':'top'):(layout.width>0?'left':'right');if(!isPolar){setLabel(el.style,hoverStyle,itemModel,color,seriesModel,dataIndex,labelPositionOutside)}if(isZeroOnPolar(layout)){hoverStyle.fill=hoverStyle.stroke='none'}setHoverStyle(el,hoverStyle)}function getLineWidth(itemModel,rawLayout){var lineWidth=itemModel.get(BAR_BORDER_WIDTH_QUERY)||0;var width=isNaN(rawLayout.width)?Number.MAX_VALUE:Math.abs(rawLayout.width);var height=isNaN(rawLayout.height)?Number.MAX_VALUE:Math.abs(rawLayout.height);return Math.min(lineWidth,width,height)}var LargePath=Path.extend({type:'largeBar',shape:{points:[]},buildPath:function(ctx,shape){var points=shape.points;var startPoint=this.__startPoint;var baseDimIdx=this.__baseDimIdx;for(var i=0;i=0?dataIndex:null},30,false);function largePathFindDataIndex(largePath,x,y){var baseDimIdx=largePath.__baseDimIdx;var valueDimIdx=1-baseDimIdx;var points=largePath.shape.points;var largeDataIndices=largePath.__largeDataIndices;var barWidthHalf=Math.abs(largePath.__barWidth/2);var startValueVal=largePath.__startPoint[valueDimIdx];_eventPos[0]=x;_eventPos[1]=y;var pointerBaseVal=_eventPos[baseDimIdx];var pointerValueVal=_eventPos[1-baseDimIdx];var baseLowerBound=pointerBaseVal-barWidthHalf;var baseUpperBound=pointerBaseVal+barWidthHalf;for(var i=0,len=points.length/2;i=baseLowerBound&&barBaseVal<=baseUpperBound&&(startValueVal<=barValueVal?(pointerValueVal>=startValueVal&&pointerValueVal<=barValueVal):(pointerValueVal>=barValueVal&&pointerValueVal<=startValueVal))){return largeDataIndices[i]}}return-1}function setLargeStyle(el,seriesModel,data){var borderColor=data.getVisual('borderColor')||data.getVisual('color');var itemStyle=seriesModel.getModel('itemStyle').getItemStyle(['color','borderColor']);el.useStyle(itemStyle);el.style.fill=null;el.style.stroke=borderColor;el.style.lineWidth=data.getLayout('barWidth')}function setLargeBackgroundStyle(el,backgroundModel,data){var borderColor=backgroundModel.get('borderColor')||backgroundModel.get('color');var itemStyle=backgroundModel.getItemStyle(['color','borderColor']);el.useStyle(itemStyle);el.style.fill=null;el.style.stroke=borderColor;el.style.lineWidth=data.getLayout('barWidth')}function createBackgroundShape(isHorizontalOrRadial,layout,coord){var coordLayout;var isPolar=coord.type==='polar';if(isPolar){coordLayout=coord.getArea()}else{coordLayout=coord.grid.getRect()}if(isPolar){return{cx:coordLayout.cx,cy:coordLayout.cy,r0:isHorizontalOrRadial?coordLayout.r0:layout.r0,r:isHorizontalOrRadial?coordLayout.r:layout.r,startAngle:isHorizontalOrRadial?layout.startAngle:0,endAngle:isHorizontalOrRadial?layout.endAngle:Math.PI*2}}else{return{x:isHorizontalOrRadial?layout.x:coordLayout.x,y:isHorizontalOrRadial?coordLayout.y:layout.y,width:isHorizontalOrRadial?layout.width:coordLayout.width,height:isHorizontalOrRadial?coordLayout.height:layout.height}}}function createBackgroundEl(coord,isHorizontalOrRadial,layout){var ElementClz=coord.type==='polar'?Sector:Rect;return new ElementClz({shape:createBackgroundShape(isHorizontalOrRadial,layout,coord),silent:true,z2:0})}registerLayout(PRIORITY.VISUAL.LAYOUT,curry(layout,'bar'));registerLayout(PRIORITY.VISUAL.PROGRESSIVE_LAYOUT,largeLayout);registerVisual({seriesType:'bar',reset:function(seriesModel){seriesModel.getData().setVisual('legendSymbol','roundRect')}});var createListSimply=function(seriesModel,opt,nameList){opt=isArray(opt)&&{coordDimensions:opt}||extend({},opt);var source=seriesModel.getSource();var dimensionsInfo=createDimensions(source,opt);var list=new List(dimensionsInfo,seriesModel);list.initData(source,nameList);return list};var selectableMixin={updateSelectedMap:function(targetList){this._targetList=isArray(targetList)?targetList.slice():[];this._selectTargetMap=reduce(targetList||[],function(targetMap,target){targetMap.set(target.name,target);return targetMap},createHashMap())},select:function(name,id){var target=id!=null?this._targetList[id]:this._selectTargetMap.get(name);var selectedMode=this.get('selectedMode');if(selectedMode==='single'){this._selectTargetMap.each(function(target){target.selected=false})}target&&(target.selected=true)},unSelect:function(name,id){var target=id!=null?this._targetList[id]:this._selectTargetMap.get(name);target&&(target.selected=false)},toggleSelected:function(name,id){var target=id!=null?this._targetList[id]:this._selectTargetMap.get(name);if(target!=null){this[target.selected?'unSelect':'select'](name,id);return target.selected}},isSelected:function(name,id){var target=id!=null?this._targetList[id]:this._selectTargetMap.get(name);return target&&target.selected}};function LegendVisualProvider(getDataWithEncodedVisual,getRawData){this.getAllNames=function(){var rawData=getRawData();return rawData.mapArray(rawData.getName)};this.containName=function(name){var rawData=getRawData();return rawData.indexOfName(name)>=0};this.indexOfName=function(name){var dataWithEncodedVisual=getDataWithEncodedVisual();return dataWithEncodedVisual.indexOfName(name)};this.getItemVisual=function(dataIndex,key){var dataWithEncodedVisual=getDataWithEncodedVisual();return dataWithEncodedVisual.getItemVisual(dataIndex,key)}}var PieSeries=extendSeriesModel({type:'series.pie',init:function(option){PieSeries.superApply(this,'init',arguments);this.legendVisualProvider=new LegendVisualProvider(bind(this.getData,this),bind(this.getRawData,this));this.updateSelectedMap(this._createSelectableList());this._defaultLabelLine(option)},mergeOption:function(newOption){PieSeries.superCall(this,'mergeOption',newOption);this.updateSelectedMap(this._createSelectableList())},getInitialData:function(option,ecModel){return createListSimply(this,{coordDimensions:['value'],encodeDefaulter:curry(makeSeriesEncodeForNameBased,this)})},_createSelectableList:function(){var data=this.getRawData();var valueDim=data.mapDimension('value');var targetList=[];for(var i=0,len=data.count();i0&&(isFirstRender?animationType!=='scale':animationTypeUpdate!=='transition')){var shape=data.getItemLayout(0);for(var s=1;isNaN(shape.startAngle)&&s=itemLayout.r0}}});var createDataSelectAction=function(seriesType,actionInfos){each$1(actionInfos,function(actionInfo){actionInfo.update='updateView';registerAction(actionInfo,function(payload,ecModel){var selected={};ecModel.eachComponent({mainType:'series',subType:seriesType,query:payload},function(seriesModel){if(seriesModel[actionInfo.method]){seriesModel[actionInfo.method](payload.name,payload.dataIndex)}var data=seriesModel.getData();data.each(function(idx){var name=data.getName(idx);selected[name]=seriesModel.isSelected(name)||false})});return{name:payload.name,selected:selected,seriesId:payload.seriesId}})})};var dataColor=function(seriesType){return{getTargetSeries:function(ecModel){var paletteScope={};var seiresModelMap=createHashMap();ecModel.eachSeriesByType(seriesType,function(seriesModel){seriesModel.__paletteScope=paletteScope;seiresModelMap.set(seriesModel.uid,seriesModel)});return seiresModelMap},reset:function(seriesModel,ecModel){var dataAll=seriesModel.getRawData();var idxMap={};var data=seriesModel.getData();data.each(function(idx){var rawIdx=data.getRawIndex(idx);idxMap[rawIdx]=idx});dataAll.each(function(rawIdx){var filteredIdx=idxMap[rawIdx];var singleDataColor=filteredIdx!=null&&data.getItemVisual(filteredIdx,'color',true);var singleDataBorderColor=filteredIdx!=null&&data.getItemVisual(filteredIdx,'borderColor',true);var itemModel;if(!singleDataColor||!singleDataBorderColor){itemModel=dataAll.getItemModel(rawIdx)}if(!singleDataColor){var color=itemModel.get('itemStyle.color')||seriesModel.getColorFromPalette(dataAll.getName(rawIdx)||(rawIdx+''),seriesModel.__paletteScope,dataAll.count());if(filteredIdx!=null){data.setItemVisual(filteredIdx,'color',color)}}if(!singleDataBorderColor){var borderColor=itemModel.get('itemStyle.borderColor');if(filteredIdx!=null){data.setItemVisual(filteredIdx,'borderColor',borderColor)}}})}}};var RADIAN$1=Math.PI/180;function adjustSingleSide(list,cx,cy,r,dir,viewWidth,viewHeight,viewLeft,viewTop,farthestX){list.sort(function(a,b){return a.y-b.y});function shiftDown(start,end,delta,dir){for(var j=start;jviewTop+viewHeight){break}list[j].y+=delta;if(j>start&&j+1list[j].y+list[j].height){shiftUp(j,delta/2);return}}shiftUp(end-1,delta/2)}function shiftUp(end,delta){for(var j=end;j>=0;j--){if(list[j].y-delta0&&list[j].y>list[j-1].y+list[j-1].height){break}}}function changeX(list,isDownList,cx,cy,r,dir){var lastDeltaX=dir>0?isDownList?Number.MAX_VALUE:0:isDownList?Number.MAX_VALUE:0;for(var i=0,l=list.length;i=lastDeltaX){deltaX=lastDeltaX-10}if(!isDownList&&deltaX<=lastDeltaX){deltaX=lastDeltaX+10}list[i].x=cx+deltaX*dir;lastDeltaX=deltaX}}var lastY=0;var delta;var len=list.length;var upList=[];var downList=[];for(var i=0;i=cy){downList.push(list[i])}else{upList.push(list[i])}}changeX(upList,false,cx,cy,r,dir);changeX(downList,true,cx,cy,r,dir)}function avoidOverlap(labelLayoutList,cx,cy,r,viewWidth,viewHeight,viewLeft,viewTop){var leftList=[];var rightList=[];var leftmostX=Number.MAX_VALUE;var rightmostX=-Number.MAX_VALUE;for(var i=0;i0?'right':'left'):(dx>0?'left':'right'))}var labelRotate;var rotate=labelModel.get('rotate');if(typeof rotate==='number'){labelRotate=rotate*(Math.PI/180)}else{labelRotate=rotate?(dx<0?-midAngle+Math.PI:-midAngle):0}hasLabelRotate=!!labelRotate;layout.label={x:textX,y:textY,position:labelPosition,height:textRect.height,len:labelLineLen,len2:labelLineLen2,linePoints:linePoints,textAlign:textAlign,verticalAlign:'middle',rotation:labelRotate,inside:isLabelInside,labelDistance:labelDistance,labelAlignTo:labelAlignTo,labelMargin:labelMargin,bleedMargin:bleedMargin,textRect:textRect,text:text,font:font};if(!isLabelInside){labelLayoutList.push(layout.label)}});if(!hasLabelRotate&&seriesModel.get('avoidLabelOverlap')){avoidOverlap(labelLayoutList,cx,cy,r,viewWidth,viewHeight,viewLeft,viewTop)}};var PI2$4=Math.PI*2;var RADIAN=Math.PI/180;function getViewRect(seriesModel,api){return getLayoutRect(seriesModel.getBoxLayoutParams(),{width:api.getWidth(),height:api.getHeight()})}var pieLayout=function(seriesType,ecModel,api,payload){ecModel.eachSeriesByType(seriesType,function(seriesModel){var data=seriesModel.getData();var valueDim=data.mapDimension('value');var viewRect=getViewRect(seriesModel,api);var center=seriesModel.get('center');var radius=seriesModel.get('radius');if(!isArray(radius)){radius=[0,radius]}if(!isArray(center)){center=[center,center]}var width=parsePercent$1(viewRect.width,api.getWidth());var height=parsePercent$1(viewRect.height,api.getHeight());var size=Math.min(width,height);var cx=parsePercent$1(center[0],width)+viewRect.x;var cy=parsePercent$1(center[1],height)+viewRect.y;var r0=parsePercent$1(radius[0],size/2);var r=parsePercent$1(radius[1],size/2);var startAngle=-seriesModel.get('startAngle')*RADIAN;var minAngle=seriesModel.get('minAngle')*RADIAN;var validDataCount=0;data.each(valueDim,function(value){!isNaN(value)&&validDataCount++});var sum=data.getSum(valueDim);var unitRadian=Math.PI/(sum||validDataCount)*2;var clockwise=seriesModel.get('clockwise');var roseType=seriesModel.get('roseType');var stillShowZeroSum=seriesModel.get('stillShowZeroSum');var extent=data.getDataExtent(valueDim);extent[0]=0;var restAngle=PI2$4;var valueSumLargerThanMinAngle=0;var currentAngle=startAngle;var dir=clockwise?1:-1;data.each(valueDim,function(value,idx){var angle;if(isNaN(value)){data.setItemLayout(idx,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:clockwise,cx:cx,cy:cy,r0:r0,r:roseType?NaN:r,viewRect:viewRect});return}if(roseType!=='area'){angle=(sum===0&&stillShowZeroSum)?unitRadian:(value*unitRadian)}else{angle=PI2$4/validDataCount}if(angle=0;idx--){var i=idx*2;var x0=points[i]-w/2;var y0=points[i+1]-h/2;if(x>=x0&&y>=y0&&x<=x0+w&&y<=y0+h){return idx}}return-1}});function LargeSymbolDraw(){this.group=new Group()}var largeSymbolProto=LargeSymbolDraw.prototype;largeSymbolProto.isPersistent=function(){return!this._incremental};largeSymbolProto.updateData=function(data,opt){this.group.removeAll();var symbolEl=new LargeSymbolPath({rectHover:true,cursor:'default'});symbolEl.setShape({points:data.getLayout('symbolPoints')});this._setCommon(symbolEl,data,false,opt);this.group.add(symbolEl);this._incremental=null};largeSymbolProto.updateLayout=function(data){if(this._incremental){return}var points=data.getLayout('symbolPoints');this.group.eachChild(function(child){if(child.startIndex!=null){var len=(child.endIndex-child.startIndex)*2;var byteOffset=child.startIndex*4*2;points=new Float32Array(points.buffer,byteOffset,len)}child.setShape('points',points)})};largeSymbolProto.incrementalPrepareUpdate=function(data){this.group.removeAll();this._clearIncremental();if(data.count()>2e6){if(!this._incremental){this._incremental=new IncrementalDisplayble({silent:true})}this.group.add(this._incremental)}else{this._incremental=null}};largeSymbolProto.incrementalUpdate=function(taskParams,data,opt){var symbolEl;if(this._incremental){symbolEl=new LargeSymbolPath();this._incremental.addDisplayable(symbolEl,true)}else{symbolEl=new LargeSymbolPath({rectHover:true,cursor:'default',startIndex:taskParams.start,endIndex:taskParams.end});symbolEl.incremental=true;this.group.add(symbolEl)}symbolEl.setShape({points:data.getLayout('symbolPoints')});this._setCommon(symbolEl,data,!!this._incremental,opt)};largeSymbolProto._setCommon=function(symbolEl,data,isIncremental,opt){var hostModel=data.hostModel;opt=opt||{};var size=data.getVisual('symbolSize');symbolEl.setShape('size',(size instanceof Array)?size:[size,size]);symbolEl.softClipShape=opt.clipShape||null;symbolEl.symbolProxy=createSymbol(data.getVisual('symbol'),0,0,0,0);symbolEl.setColor=symbolEl.symbolProxy.setColor;var extrudeShadow=symbolEl.shape.size[0]=0){symbolEl.dataIndex=dataIndex+(symbolEl.startIndex||0)}})}};largeSymbolProto.remove=function(){this._clearIncremental();this._incremental=null;this.group.removeAll()};largeSymbolProto._clearIncremental=function(){var incremental=this._incremental;if(incremental){incremental.clearDisplaybles()}};extendChartView({type:'scatter',render:function(seriesModel,ecModel,api){var data=seriesModel.getData();var symbolDraw=this._updateSymbolDraw(data,seriesModel);symbolDraw.updateData(data,{clipShape:this._getClipShape(seriesModel)});this._finished=true},incrementalPrepareRender:function(seriesModel,ecModel,api){var data=seriesModel.getData();var symbolDraw=this._updateSymbolDraw(data,seriesModel);symbolDraw.incrementalPrepareUpdate(data);this._finished=false},incrementalRender:function(taskParams,seriesModel,ecModel){this._symbolDraw.incrementalUpdate(taskParams,seriesModel.getData(),{clipShape:this._getClipShape(seriesModel)});this._finished=taskParams.end===seriesModel.getData().count()},updateTransform:function(seriesModel,ecModel,api){var data=seriesModel.getData();this.group.dirty();if(!this._finished||data.count()>1e4||!this._symbolDraw.isPersistent()){return{update:true}}else{var res=pointsLayout().reset(seriesModel);if(res.progress){res.progress({start:0,end:data.count()},data)}this._symbolDraw.updateLayout(data)}},_getClipShape:function(seriesModel){var coordSys=seriesModel.coordinateSystem;var clipArea=coordSys&&coordSys.getArea&&coordSys.getArea();return seriesModel.get('clip',true)?clipArea:null},_updateSymbolDraw:function(data,seriesModel){var symbolDraw=this._symbolDraw;var pipelineContext=seriesModel.pipelineContext;var isLargeDraw=pipelineContext.large;if(!symbolDraw||isLargeDraw!==this._isLargeDraw){symbolDraw&&symbolDraw.remove();symbolDraw=this._symbolDraw=isLargeDraw?new LargeSymbolDraw():new SymbolDraw();this._isLargeDraw=isLargeDraw;this.group.removeAll()}this.group.add(symbolDraw.group);return symbolDraw},remove:function(ecModel,api){this._symbolDraw&&this._symbolDraw.remove(true);this._symbolDraw=null},dispose:function(){}});registerVisual(visualSymbol('scatter','circle'));registerLayout(pointsLayout('scatter'));function IndicatorAxis(dim,scale,radiusExtent){Axis.call(this,dim,scale,radiusExtent);this.type='value';this.angle=0;this.name='';this.model}inherits(IndicatorAxis,Axis);function Radar(radarModel,ecModel,api){this._model=radarModel;this.dimensions=[];this._indicatorAxes=map(radarModel.getIndicatorModels(),function(indicatorModel,idx){var dim='indicator_'+idx;var indicatorAxis=new IndicatorAxis(dim,(indicatorModel.get('axisType')==='log')?new LogScale():new IntervalScale());indicatorAxis.name=indicatorModel.get('name');indicatorAxis.model=indicatorModel;indicatorModel.axis=indicatorAxis;this.dimensions.push(dim);return indicatorAxis},this);this.resize(radarModel,api);this.cx;this.cy;this.r;this.r0;this.startAngle}Radar.prototype.getIndicatorAxes=function(){return this._indicatorAxes};Radar.prototype.dataToPoint=function(value,indicatorIndex){var indicatorAxis=this._indicatorAxes[indicatorIndex];return this.coordToPoint(indicatorAxis.dataToCoord(value),indicatorIndex)};Radar.prototype.coordToPoint=function(coord,indicatorIndex){var indicatorAxis=this._indicatorAxes[indicatorIndex];var angle=indicatorAxis.angle;var x=this.cx+coord*Math.cos(angle);var y=this.cy-coord*Math.sin(angle);return[x,y]};Radar.prototype.pointToData=function(pt){var dx=pt[0]-this.cx;var dy=pt[1]-this.cy;var radius=Math.sqrt(dx*dx+dy*dy);dx/=radius;dy/=radius;var radian=Math.atan2(-dy,dx);var minRadianDiff=Infinity;var closestAxis;var closestAxisIdx=-1;for(var i=0;irawExtent[0]&&isFinite(min)&&isFinite(rawExtent[0]))}else{var nicedSplitNumber=scale.getTicks().length-1;if(nicedSplitNumber>splitNumber){interval=increaseInterval(interval)}var max=Math.ceil(rawExtent[1]/interval)*interval;var min=round$1(max-interval*splitNumber);scale.setExtent(min,max);scale.setInterval(interval)}})};Radar.dimensions=[];Radar.create=function(ecModel,api){var radarList=[];ecModel.eachComponent('radar',function(radarModel){var radar=new Radar(radarModel,ecModel,api);radarList.push(radar);radarModel.coordinateSystem=radar});ecModel.eachSeriesByType('radar',function(radarSeries){if(radarSeries.get('coordinateSystem')==='radar'){radarSeries.coordinateSystem=radarList[radarSeries.get('radarIndex')||0]}});return radarList};CoordinateSystemManager.register('radar',Radar);var valueAxisDefault=axisDefault.valueAxis;function defaultsShow(opt,show){return defaults({show:show},opt)}var RadarModel=extendComponentModel({type:'radar',optionUpdated:function(){var boundaryGap=this.get('boundaryGap');var splitNumber=this.get('splitNumber');var scale=this.get('scale');var axisLine=this.get('axisLine');var axisTick=this.get('axisTick');var axisType=this.get('axisType');var axisLabel=this.get('axisLabel');var nameTextStyle=this.get('name');var showName=this.get('name.show');var nameFormatter=this.get('name.formatter');var nameGap=this.get('nameGap');var triggerEvent=this.get('triggerEvent');var indicatorModels=map(this.get('indicator')||[],function(indicatorOpt){if(indicatorOpt.max!=null&&indicatorOpt.max>0&&!indicatorOpt.min){indicatorOpt.min=0}else if(indicatorOpt.min!=null&&indicatorOpt.min<0&&!indicatorOpt.max){indicatorOpt.max=0}var iNameTextStyle=nameTextStyle;if(indicatorOpt.color!=null){iNameTextStyle=defaults({color:indicatorOpt.color},nameTextStyle)}indicatorOpt=merge(clone(indicatorOpt),{boundaryGap:boundaryGap,splitNumber:splitNumber,scale:scale,axisLine:axisLine,axisTick:axisTick,axisType:axisType,axisLabel:axisLabel,name:indicatorOpt.text,nameLocation:'end',nameGap:nameGap,nameTextStyle:iNameTextStyle,triggerEvent:triggerEvent},false);if(!showName){indicatorOpt.name=''}if(typeof nameFormatter==='string'){var indName=indicatorOpt.name;indicatorOpt.name=nameFormatter.replace('{value}',indName!=null?indName:'')}else if(typeof nameFormatter==='function'){indicatorOpt.name=nameFormatter(indicatorOpt.name,indicatorOpt)}var model=extend(new Model(indicatorOpt,null,this.ecModel),axisModelCommonMixin);model.mainType='radar';model.componentIndex=this.componentIndex;return model},this);this.getIndicatorModels=function(){return indicatorModels}},defaultOption:{zlevel:0,z:0,center:['50%','50%'],radius:'75%',startAngle:90,name:{show:true},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:false,shape:'polygon',axisLine:merge({lineStyle:{color:'#bbb'}},valueAxisDefault.axisLine),axisLabel:defaultsShow(valueAxisDefault.axisLabel,false),axisTick:defaultsShow(valueAxisDefault.axisTick,false),axisType:'interval',splitLine:defaultsShow(valueAxisDefault.splitLine,true),splitArea:defaultsShow(valueAxisDefault.splitArea,true),indicator:[]}});var axisBuilderAttrs$1=['axisLine','axisTickLabel','axisName'];extendComponentView({type:'radar',render:function(radarModel,ecModel,api){var group=this.group;group.removeAll();this._buildAxes(radarModel);this._buildSplitLineAndArea(radarModel)},_buildAxes:function(radarModel){var radar=radarModel.coordinateSystem;var indicatorAxes=radar.getIndicatorAxes();var axisBuilders=map(indicatorAxes,function(indicatorAxis){var axisBuilder=new AxisBuilder(indicatorAxis.model,{position:[radar.cx,radar.cy],rotation:indicatorAxis.angle,labelDirection:-1,tickDirection:-1,nameDirection:1});return axisBuilder});each$1(axisBuilders,function(axisBuilder){each$1(axisBuilderAttrs$1,axisBuilder.add,axisBuilder);this.group.add(axisBuilder.getGroup())},this)},_buildSplitLineAndArea:function(radarModel){var radar=radarModel.coordinateSystem;var indicatorAxes=radar.getIndicatorAxes();if(!indicatorAxes.length){return}var shape=radarModel.get('shape');var splitLineModel=radarModel.getModel('splitLine');var splitAreaModel=radarModel.getModel('splitArea');var lineStyleModel=splitLineModel.getModel('lineStyle');var areaStyleModel=splitAreaModel.getModel('areaStyle');var showSplitLine=splitLineModel.get('show');var showSplitArea=splitAreaModel.get('show');var splitLineColors=lineStyleModel.get('color');var splitAreaColors=areaStyleModel.get('color');splitLineColors=isArray(splitLineColors)?splitLineColors:[splitLineColors];splitAreaColors=isArray(splitAreaColors)?splitAreaColors:[splitAreaColors];var splitLines=[];var splitAreas=[];function getColorIndex(areaOrLine,areaOrLineColorList,idx){var colorIndex=idx%areaOrLineColorList.length;areaOrLine[colorIndex]=areaOrLine[colorIndex]||[];return colorIndex}if(shape==='circle'){var ticksRadius=indicatorAxes[0].getTicksCoords();var cx=radar.cx;var cy=radar.cy;for(var i=0;i'+map(indicatorAxes,function(axis,idx){var val=data.get(data.mapDimension(axis.dim),dataIndex);return encodeHTML(axis.name+' : '+val)}).join('
')},getTooltipPosition:function(dataIndex){if(dataIndex!=null){var data=this.getData();var coordSys=this.coordinateSystem;var values=data.getValues(map(coordSys.dimensions,function(dim){return data.mapDimension(dim)}),dataIndex,true);for(var i=0,len=values.length;i'+encodeHTML(name+' : '+formattedValue)},getTooltipPosition:function(dataIndex){if(dataIndex!=null){var name=this.getData().getName(dataIndex);var geo=this.coordinateSystem;var region=geo.getRegion(name);return region&&geo.dataToPoint(region.center)}},setZoom:function(zoom){this.option.zoom=zoom},setCenter:function(center){this.option.center=center},defaultOption:{zlevel:0,z:2,coordinateSystem:'geo',map:'',left:'center',top:'center',aspectScale:0.75,showLegendSymbol:true,dataRangeHoverLink:true,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:false,color:'#000'},itemStyle:{borderWidth:0.5,borderColor:'#444',areaColor:'#eee'},emphasis:{label:{show:true,color:'rgb(100,0,0)'},itemStyle:{areaColor:'rgba(255,215,0,0.8)'}},nameProperty:'name'}});mixin(MapSeries,selectableMixin);var ATTR='\0_ec_interaction_mutex';function take(zr,resourceKey,userKey){var store=getStore(zr);store[resourceKey]=userKey}function release(zr,resourceKey,userKey){var store=getStore(zr);var uKey=store[resourceKey];if(uKey===userKey){store[resourceKey]=null}}function isTaken(zr,resourceKey){return!!getStore(zr)[resourceKey]}function getStore(zr){return zr[ATTR]||(zr[ATTR]={})}registerAction({type:'takeGlobalCursor',event:'globalCursorTaken',update:'update'},function(){});function RoamController(zr){this.pointerChecker;this._zr=zr;this._opt={};var bind$$1=bind;var mousedownHandler=bind$$1(mousedown,this);var mousemoveHandler=bind$$1(mousemove,this);var mouseupHandler=bind$$1(mouseup,this);var mousewheelHandler=bind$$1(mousewheel,this);var pinchHandler=bind$$1(pinch,this);Eventful.call(this);this.setPointerChecker=function(pointerChecker){this.pointerChecker=pointerChecker};this.enable=function(controlType,opt){this.disable();this._opt=defaults(clone(opt)||{},{zoomOnMouseWheel:true,moveOnMouseMove:true,moveOnMouseWheel:false,preventDefaultMouseMove:true});if(controlType==null){controlType=true}if(controlType===true||(controlType==='move'||controlType==='pan')){zr.on('mousedown',mousedownHandler);zr.on('mousemove',mousemoveHandler);zr.on('mouseup',mouseupHandler)}if(controlType===true||(controlType==='scale'||controlType==='zoom')){zr.on('mousewheel',mousewheelHandler);zr.on('pinch',pinchHandler)}};this.disable=function(){zr.off('mousedown',mousedownHandler);zr.off('mousemove',mousemoveHandler);zr.off('mouseup',mouseupHandler);zr.off('mousewheel',mousewheelHandler);zr.off('pinch',pinchHandler)};this.dispose=this.disable;this.isDragging=function(){return this._dragging};this.isPinching=function(){return this._pinching}}mixin(RoamController,Eventful);function mousedown(e){if(isMiddleOrRightButtonOnMouseUpDown(e)||(e.target&&e.target.draggable)){return}var x=e.offsetX;var y=e.offsetY;if(this.pointerChecker&&this.pointerChecker(e,x,y)){this._x=x;this._y=y;this._dragging=true}}function mousemove(e){if(!this._dragging||!isAvailableBehavior('moveOnMouseMove',e,this._opt)||e.gestureEvent==='pinch'||isTaken(this._zr,'globalPan')){return}var x=e.offsetX;var y=e.offsetY;var oldX=this._x;var oldY=this._y;var dx=x-oldX;var dy=y-oldY;this._x=x;this._y=y;this._opt.preventDefaultMouseMove&&stop(e.event);trigger(this,'pan','moveOnMouseMove',e,{dx:dx,dy:dy,oldX:oldX,oldY:oldY,newX:x,newY:y})}function mouseup(e){if(!isMiddleOrRightButtonOnMouseUpDown(e)){this._dragging=false}}function mousewheel(e){var shouldZoom=isAvailableBehavior('zoomOnMouseWheel',e,this._opt);var shouldMove=isAvailableBehavior('moveOnMouseWheel',e,this._opt);var wheelDelta=e.wheelDelta;var absWheelDeltaDelta=Math.abs(wheelDelta);var originX=e.offsetX;var originY=e.offsetY;if(wheelDelta===0||(!shouldZoom&&!shouldMove)){return}if(shouldZoom){var factor=absWheelDeltaDelta>3?1.4:absWheelDeltaDelta>1?1.2:1.1;var scale=wheelDelta>0?factor:1/factor;checkPointerAndTrigger(this,'zoom','zoomOnMouseWheel',e,{scale:scale,originX:originX,originY:originY})}if(shouldMove){var absDelta=Math.abs(wheelDelta);var scrollDelta=(wheelDelta>0?1:-1)*(absDelta>3?0.4:absDelta>1?0.15:0.05);checkPointerAndTrigger(this,'scrollMove','moveOnMouseWheel',e,{scrollDelta:scrollDelta,originX:originX,originY:originY})}}function pinch(e){if(isTaken(this._zr,'globalPan')){return}var scale=e.pinchScale>1?1.1:1/1.1;checkPointerAndTrigger(this,'zoom',null,e,{scale:scale,originX:e.pinchX,originY:e.pinchY})}function checkPointerAndTrigger(controller,eventName,behaviorToCheck,e,contollerEvent){if(controller.pointerChecker&&controller.pointerChecker(e,contollerEvent.originX,contollerEvent.originY)){stop(e.event);trigger(controller,eventName,behaviorToCheck,e,contollerEvent)}}function trigger(controller,eventName,behaviorToCheck,e,contollerEvent){contollerEvent.isAvailableBehavior=bind(isAvailableBehavior,null,behaviorToCheck,e);controller.trigger(eventName,contollerEvent)}function isAvailableBehavior(behaviorToCheck,e,settings){var setting=settings[behaviorToCheck];return!behaviorToCheck||(setting&&(!isString(setting)||e.event[setting+'Key']))}function updateViewOnPan(controllerHost,dx,dy){var target=controllerHost.target;var pos=target.position;pos[0]+=dx;pos[1]+=dy;target.dirty()}function updateViewOnZoom(controllerHost,zoomDelta,zoomX,zoomY){var target=controllerHost.target;var zoomLimit=controllerHost.zoomLimit;var pos=target.position;var scale=target.scale;var newZoom=controllerHost.zoom=controllerHost.zoom||1;newZoom*=zoomDelta;if(zoomLimit){var zoomMin=zoomLimit.min||0;var zoomMax=zoomLimit.max||Infinity;newZoom=Math.max(Math.min(zoomMax,newZoom),zoomMin)}var zoomScale=newZoom/controllerHost.zoom;controllerHost.zoom=newZoom;pos[0]-=(zoomX-pos[0])*(zoomScale-1);pos[1]-=(zoomY-pos[1])*(zoomScale-1);scale[0]*=zoomScale;scale[1]*=zoomScale;target.dirty()}var IRRELEVANT_EXCLUDES={'axisPointer':1,'tooltip':1,'brush':1};function onIrrelevantElement(e,api,targetCoordSysModel){var model=api.getComponentByElement(e.topTarget);var coordSys=model&&model.coordinateSystem;return model&&model!==targetCoordSysModel&&!IRRELEVANT_EXCLUDES[model.mainType]&&(coordSys&&coordSys.model!==targetCoordSysModel)}function getFixedItemStyle(model){var itemStyle=model.getItemStyle();var areaColor=model.get('areaColor');if(areaColor!=null){itemStyle.fill=areaColor}return itemStyle}function updateMapSelectHandler(mapDraw,mapOrGeoModel,regionsGroup,api,fromView){regionsGroup.off('click');regionsGroup.off('mousedown');if(mapOrGeoModel.get('selectedMode')){regionsGroup.on('mousedown',function(){mapDraw._mouseDownFlag=true});regionsGroup.on('click',function(e){if(!mapDraw._mouseDownFlag){return}mapDraw._mouseDownFlag=false;var el=e.target;while(!el.__regions){el=el.parent}if(!el){return}var action={type:(mapOrGeoModel.mainType==='geo'?'geo':'map')+'ToggleSelect',batch:map(el.__regions,function(region){return{name:region.name,from:fromView.uid}})};action[mapOrGeoModel.mainType+'Id']=mapOrGeoModel.id;api.dispatchAction(action);updateMapSelected(mapOrGeoModel,regionsGroup)})}}function updateMapSelected(mapOrGeoModel,regionsGroup){regionsGroup.eachChild(function(otherRegionEl){each$1(otherRegionEl.__regions,function(region){otherRegionEl.trigger(mapOrGeoModel.isSelected(region.name)?'emphasis':'normal')})})}function MapDraw(api,updateGroup){var group=new Group();this.uid=getUID('ec_map_draw');this._controller=new RoamController(api.getZr());this._controllerHost={target:updateGroup?group:null};this.group=group;this._updateGroup=updateGroup;this._mouseDownFlag;this._mapName;this._initialized;group.add(this._regionsGroup=new Group());group.add(this._backgroundGroup=new Group())}MapDraw.prototype={constructor:MapDraw,draw:function(mapOrGeoModel,ecModel,api,fromView,payload){var isGeo=mapOrGeoModel.mainType==='geo';var data=mapOrGeoModel.getData&&mapOrGeoModel.getData();isGeo&&ecModel.eachComponent({mainType:'series',subType:'map'},function(mapSeries){if(!data&&mapSeries.getHostGeoModel()===mapOrGeoModel){data=mapSeries.getData()}});var geo=mapOrGeoModel.coordinateSystem;this._updateBackground(geo);var regionsGroup=this._regionsGroup;var group=this.group;var transformInfo=geo.getTransformInfo();var isFirstDraw=!regionsGroup.childAt(0)||payload;var targetScale;if(isFirstDraw){group.transform=transformInfo.roamTransform;group.decomposeTransform();group.dirty()}else{var target=new Transformable();target.transform=transformInfo.roamTransform;target.decomposeTransform();var props={scale:target.scale,position:target.position};targetScale=target.scale;updateProps(group,props,mapOrGeoModel)}var scale=transformInfo.rawScale;var position=transformInfo.rawPosition;regionsGroup.removeAll();var itemStyleAccessPath=['itemStyle'];var hoverItemStyleAccessPath=['emphasis','itemStyle'];var labelAccessPath=['label'];var hoverLabelAccessPath=['emphasis','label'];var nameMap=createHashMap();each$1(geo.regions,function(region){var regionGroup=nameMap.get(region.name)||nameMap.set(region.name,new Group());var compoundPath=new CompoundPath({segmentIgnoreThreshold:1,shape:{paths:[]}});regionGroup.add(compoundPath);var regionModel=mapOrGeoModel.getRegionModel(region.name)||mapOrGeoModel;var itemStyleModel=regionModel.getModel(itemStyleAccessPath);var hoverItemStyleModel=regionModel.getModel(hoverItemStyleAccessPath);var itemStyle=getFixedItemStyle(itemStyleModel);var hoverItemStyle=getFixedItemStyle(hoverItemStyleModel);var labelModel=regionModel.getModel(labelAccessPath);var hoverLabelModel=regionModel.getModel(hoverLabelAccessPath);var dataIdx;if(data){dataIdx=data.indexOfName(region.name);var visualColor=data.getItemVisual(dataIdx,'color',true);if(visualColor){itemStyle.fill=visualColor}}var transformPoint=function(point){return[point[0]*scale[0]+position[0],point[1]*scale[1]+position[1]]};each$1(region.geometries,function(geometry){if(geometry.type!=='polygon'){return}var points=[];for(var i=0;i=0){labelFetcher=mapOrGeoModel}var textEl=new Text({position:transformPoint(region.center.slice()),scale:[1/group.scale[0],1/group.scale[1]],z2:10,silent:true});setLabelStyle(textEl.style,textEl.hoverStyle={},labelModel,hoverLabelModel,{labelFetcher:labelFetcher,labelDataIndex:query,defaultText:region.name,useInsideStyle:false},{textAlign:'center',textVerticalAlign:'middle'});if(!isFirstDraw){var textScale=[1/targetScale[0],1/targetScale[1]];updateProps(textEl,{scale:textScale},mapOrGeoModel)}regionGroup.add(textEl)}if(data){data.setItemGraphicEl(dataIdx,regionGroup)}else{var regionModel=mapOrGeoModel.getRegionModel(region.name);compoundPath.eventData={componentType:'geo',componentIndex:mapOrGeoModel.componentIndex,geoIndex:mapOrGeoModel.componentIndex,name:region.name,region:(regionModel&®ionModel.option)||{}}}var groupRegions=regionGroup.__regions||(regionGroup.__regions=[]);groupRegions.push(region);regionGroup.highDownSilentOnTouch=!!mapOrGeoModel.get('selectedMode');setHoverStyle(regionGroup,hoverItemStyle);regionsGroup.add(regionGroup)});this._updateController(mapOrGeoModel,ecModel,api);updateMapSelectHandler(this,mapOrGeoModel,regionsGroup,api,fromView);updateMapSelected(mapOrGeoModel,regionsGroup)},remove:function(){this._regionsGroup.removeAll();this._backgroundGroup.removeAll();this._controller.dispose();this._mapName&&geoSourceManager.removeGraphic(this._mapName,this.uid);this._mapName=null;this._controllerHost={}},_updateBackground:function(geo){var mapName=geo.map;if(this._mapName!==mapName){each$1(geoSourceManager.makeGraphic(mapName,this.uid),function(root){this._backgroundGroup.add(root)},this)}this._mapName=mapName},_updateController:function(mapOrGeoModel,ecModel,api){var geo=mapOrGeoModel.coordinateSystem;var controller=this._controller;var controllerHost=this._controllerHost;controllerHost.zoomLimit=mapOrGeoModel.get('scaleLimit');controllerHost.zoom=geo.getZoom();controller.enable(mapOrGeoModel.get('roam')||false);var mainType=mapOrGeoModel.mainType;function makeActionBase(){var action={type:'geoRoam',componentType:mainType};action[mainType+'Id']=mapOrGeoModel.id;return action}controller.off('pan').on('pan',function(e){this._mouseDownFlag=false;updateViewOnPan(controllerHost,e.dx,e.dy);api.dispatchAction(extend(makeActionBase(),{dx:e.dx,dy:e.dy}))},this);controller.off('zoom').on('zoom',function(e){this._mouseDownFlag=false;updateViewOnZoom(controllerHost,e.scale,e.originX,e.originY);api.dispatchAction(extend(makeActionBase(),{zoom:e.scale,originX:e.originX,originY:e.originY}));if(this._updateGroup){var scale=this.group.scale;this._regionsGroup.traverse(function(el){if(el.type==='text'){el.attr('scale',[1/scale[0],1/scale[1]])}})}},this);controller.setPointerChecker(function(e,x,y){return geo.getViewRectAfterRoam().contain(x,y)&&!onIrrelevantElement(e,api,mapOrGeoModel)})}};var HIGH_DOWN_PROP='__seriesMapHighDown';var RECORD_VERSION_PROP='__seriesMapCallKey';extendChartView({type:'map',render:function(mapModel,ecModel,api,payload){if(payload&&payload.type==='mapToggleSelect'&&payload.from===this.uid){return}var group=this.group;group.removeAll();if(mapModel.getHostGeoModel()){return}if(!(payload&&payload.type==='geoRoam'&&payload.componentType==='series'&&payload.seriesId===mapModel.id)){if(mapModel.needsDrawMap){var mapDraw=this._mapDraw||new MapDraw(api,true);group.add(mapDraw.group);mapDraw.draw(mapModel,ecModel,api,this,payload);this._mapDraw=mapDraw}else{this._mapDraw&&this._mapDraw.remove();this._mapDraw=null}}else{var mapDraw=this._mapDraw;mapDraw&&group.add(mapDraw.group)}mapModel.get('showLegendSymbol')&&ecModel.getComponent('legend')&&this._renderSymbols(mapModel,ecModel,api)},remove:function(){this._mapDraw&&this._mapDraw.remove();this._mapDraw=null;this.group.removeAll()},dispose:function(){this._mapDraw&&this._mapDraw.remove();this._mapDraw=null},_renderSymbols:function(mapModel,ecModel,api){var originalData=mapModel.originalData;var group=this.group;originalData.each(originalData.mapDimension('value'),function(value,originalDataIndex){if(isNaN(value)){return}var layout=originalData.getItemLayout(originalDataIndex);if(!layout||!layout.point){return}var point=layout.point;var offset=layout.offset;var circle=new Circle({style:{fill:mapModel.getData().getVisual('color')},shape:{cx:point[0]+offset*9,cy:point[1],r:3},silent:true,z2:8+(!offset?Z2_EMPHASIS_LIFT+1:0)});if(!offset){var fullData=mapModel.mainSeries.getData();var name=originalData.getName(originalDataIndex);var fullIndex=fullData.indexOfName(name);var itemModel=originalData.getItemModel(originalDataIndex);var labelModel=itemModel.getModel('label');var hoverLabelModel=itemModel.getModel('emphasis.label');var regionGroup=fullData.getItemGraphicEl(fullIndex);var normalText=retrieve2(mapModel.getFormattedLabel(fullIndex,'normal'),name);var emphasisText=retrieve2(mapModel.getFormattedLabel(fullIndex,'emphasis'),normalText);var highDownRecord=regionGroup[HIGH_DOWN_PROP];var recordVersion=Math.random();if(!highDownRecord){highDownRecord=regionGroup[HIGH_DOWN_PROP]={};var onEmphasis=curry(onRegionHighDown,true);var onNormal=curry(onRegionHighDown,false);regionGroup.on('mouseover',onEmphasis).on('mouseout',onNormal).on('emphasis',onEmphasis).on('normal',onNormal)}regionGroup[RECORD_VERSION_PROP]=recordVersion;extend(highDownRecord,{recordVersion:recordVersion,circle:circle,labelModel:labelModel,hoverLabelModel:hoverLabelModel,emphasisText:emphasisText,normalText:normalText});enterRegionHighDown(highDownRecord,false)}group.add(circle)})}});function onRegionHighDown(toHighOrDown){var highDownRecord=this[HIGH_DOWN_PROP];if(highDownRecord&&highDownRecord.recordVersion===this[RECORD_VERSION_PROP]){enterRegionHighDown(highDownRecord,toHighOrDown)}}function enterRegionHighDown(highDownRecord,toHighOrDown){var circle=highDownRecord.circle;var labelModel=highDownRecord.labelModel;var hoverLabelModel=highDownRecord.hoverLabelModel;var emphasisText=highDownRecord.emphasisText;var normalText=highDownRecord.normalText;if(toHighOrDown){circle.style.extendFrom(setTextStyle({},hoverLabelModel,{text:hoverLabelModel.get('show')?emphasisText:null},{isRectText:true,useInsideStyle:false},true));circle.__mapOriginalZ2=circle.z2;circle.z2+=Z2_EMPHASIS_LIFT}else{setTextStyle(circle.style,labelModel,{text:labelModel.get('show')?normalText:null,textPosition:labelModel.getShallow('position')||'bottom'},{isRectText:true,useInsideStyle:false});circle.dirty(false);if(circle.__mapOriginalZ2!=null){circle.z2=circle.__mapOriginalZ2;circle.__mapOriginalZ2=null}}}function updateCenterAndZoom(view,payload,zoomLimit){var previousZoom=view.getZoom();var center=view.getCenter();var zoom=payload.zoom;var point=view.dataToPoint(center);if(payload.dx!=null&&payload.dy!=null){point[0]-=payload.dx;point[1]-=payload.dy;var center=view.pointToData(point);view.setCenter(center)}if(zoom!=null){if(zoomLimit){var zoomMin=zoomLimit.min||0;var zoomMax=zoomLimit.max||Infinity;zoom=Math.max(Math.min(previousZoom*zoom,zoomMax),zoomMin)/previousZoom}view.scale[0]*=zoom;view.scale[1]*=zoom;var position=view.position;var fixX=(payload.originX-position[0])*(zoom-1);var fixY=(payload.originY-position[1])*(zoom-1);position[0]-=fixX;position[1]-=fixY;view.updateTransform();var center=view.pointToData(point);view.setCenter(center);view.setZoom(zoom*previousZoom)}return{center:view.getCenter(),zoom:view.getZoom()}}registerAction({type:'geoRoam',event:'geoRoam',update:'updateTransform'},function(payload,ecModel){var componentType=payload.componentType||'series';ecModel.eachComponent({mainType:componentType,query:payload},function(componentModel){var geo=componentModel.coordinateSystem;if(geo.type!=='geo'){return}var res=updateCenterAndZoom(geo,payload,componentModel.get('scaleLimit'));componentModel.setCenter&&componentModel.setCenter(res.center);componentModel.setZoom&&componentModel.setZoom(res.zoom);if(componentType==='series'){each$1(componentModel.seriesGroup,function(seriesModel){seriesModel.setCenter(res.center);seriesModel.setZoom(res.zoom)})}})});var v2ApplyTransform$1=applyTransform;function TransformDummy(){Transformable.call(this)}mixin(TransformDummy,Transformable);function View(name){this.name=name;this.zoomLimit;Transformable.call(this);this._roamTransformable=new TransformDummy();this._rawTransformable=new TransformDummy();this._center;this._zoom}View.prototype={constructor:View,type:'view',dimensions:['x','y'],setBoundingRect:function(x,y,width,height){this._rect=new BoundingRect(x,y,width,height);return this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(x,y,width,height){this.transformTo(x,y,width,height);this._viewRect=new BoundingRect(x,y,width,height)},transformTo:function(x,y,width,height){var rect=this.getBoundingRect();var rawTransform=this._rawTransformable;rawTransform.transform=rect.calculateTransform(new BoundingRect(x,y,width,height));rawTransform.decomposeTransform();this._updateTransform()},setCenter:function(centerCoord){if(!centerCoord){return}this._center=centerCoord;this._updateCenterAndZoom()},setZoom:function(zoom){zoom=zoom||1;var zoomLimit=this.zoomLimit;if(zoomLimit){if(zoomLimit.max!=null){zoom=Math.min(zoomLimit.max,zoom)}if(zoomLimit.min!=null){zoom=Math.max(zoomLimit.min,zoom)}}this._zoom=zoom;this._updateCenterAndZoom()},getDefaultCenter:function(){var rawRect=this.getBoundingRect();var cx=rawRect.x+rawRect.width/2;var cy=rawRect.y+rawRect.height/2;return[cx,cy]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransformable.getLocalTransform()},_updateCenterAndZoom:function(){var rawTransformMatrix=this._rawTransformable.getLocalTransform();var roamTransform=this._roamTransformable;var defaultCenter=this.getDefaultCenter();var center=this.getCenter();var zoom=this.getZoom();center=applyTransform([],center,rawTransformMatrix);defaultCenter=applyTransform([],defaultCenter,rawTransformMatrix);roamTransform.origin=center;roamTransform.position=[defaultCenter[0]-center[0],defaultCenter[1]-center[1]];roamTransform.scale=[zoom,zoom];this._updateTransform()},_updateTransform:function(){var roamTransformable=this._roamTransformable;var rawTransformable=this._rawTransformable;rawTransformable.parent=roamTransformable;roamTransformable.updateTransform();rawTransformable.updateTransform();copy$1(this.transform||(this.transform=[]),rawTransformable.transform||create$1());this._rawTransform=rawTransformable.getLocalTransform();this.invTransform=this.invTransform||[];invert(this.invTransform,this.transform);this.decomposeTransform()},getTransformInfo:function(){var roamTransform=this._roamTransformable.transform;var rawTransformable=this._rawTransformable;return{roamTransform:roamTransform?slice(roamTransform):create$1(),rawScale:slice(rawTransformable.scale),rawPosition:slice(rawTransformable.position)}},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var rect=this.getBoundingRect().clone();rect.applyTransform(this.transform);return rect},dataToPoint:function(data,noRoam,out){var transform=noRoam?this._rawTransform:this.transform;out=out||[];return transform?v2ApplyTransform$1(out,data,transform):copy(out,data)},pointToData:function(point){var invTransform=this.invTransform;return invTransform?v2ApplyTransform$1([],point,invTransform):[point[0],point[1]]},convertToPixel:curry(doConvert$1,'dataToPoint'),convertFromPixel:curry(doConvert$1,'pointToData'),containPoint:function(point){return this.getViewRectAfterRoam().contain(point[0],point[1])}};mixin(View,Transformable);function doConvert$1(methodName,ecModel,finder,value){var seriesModel=finder.seriesModel;var coordSys=seriesModel?seriesModel.coordinateSystem:null;return coordSys===this?coordSys[methodName](value):null}function Geo(name,map$$1,nameMap,invertLongitute){View.call(this,name);this.map=map$$1;var source=geoSourceManager.load(map$$1,nameMap);this._nameCoordMap=source.nameCoordMap;this._regionsMap=source.regionsMap;this._invertLongitute=invertLongitute==null?true:invertLongitute;this.regions=source.regions;this._rect=source.boundingRect}Geo.prototype={constructor:Geo,type:'geo',dimensions:['lng','lat'],containCoord:function(coord){var regions=this.regions;for(var i=0;i1){viewRect.width=size;viewRect.height=size/aspect}else{viewRect.height=size;viewRect.width=size*aspect}viewRect.y=center[1]-viewRect.height/2;viewRect.x=center[0]-viewRect.width/2}else{boxLayoutOption=geoModel.getBoxLayoutParams();boxLayoutOption.aspect=aspect;viewRect=getLayoutRect(boxLayoutOption,{width:viewWidth,height:viewHeight})}this.setViewRect(viewRect.x,viewRect.y,viewRect.width,viewRect.height);this.setCenter(geoModel.get('center'));this.setZoom(geoModel.get('zoom'))}function setGeoCoords(geo,model){each$1(model.get('geoCoord'),function(geoCoord,name){geo.addGeoCoord(name,geoCoord)})}var geoCreator={dimensions:Geo.prototype.dimensions,create:function(ecModel,api){var geoList=[];ecModel.eachComponent('geo',function(geoModel,idx){var name=geoModel.get('map');var aspectScale=geoModel.get('aspectScale');var invertLongitute=true;var mapRecords=mapDataStorage.retrieveMap(name);if(mapRecords&&mapRecords[0]&&mapRecords[0].type==='svg'){aspectScale==null&&(aspectScale=1);invertLongitute=false}else{aspectScale==null&&(aspectScale=0.75)}var geo=new Geo(name+idx,name,geoModel.get('nameMap'),invertLongitute);geo.aspectScale=aspectScale;geo.zoomLimit=geoModel.get('scaleLimit');geoList.push(geo);setGeoCoords(geo,geoModel);geoModel.coordinateSystem=geo;geo.model=geoModel;geo.resize=resizeGeo;geo.resize(geoModel,api)});ecModel.eachSeries(function(seriesModel){var coordSys=seriesModel.get('coordinateSystem');if(coordSys==='geo'){var geoIndex=seriesModel.get('geoIndex')||0;seriesModel.coordinateSystem=geoList[geoIndex]}});var mapModelGroupBySeries={};ecModel.eachSeriesByType('map',function(seriesModel){if(!seriesModel.getHostGeoModel()){var mapType=seriesModel.getMapType();mapModelGroupBySeries[mapType]=mapModelGroupBySeries[mapType]||[];mapModelGroupBySeries[mapType].push(seriesModel)}});each$1(mapModelGroupBySeries,function(mapSeries,mapType){var nameMapList=map(mapSeries,function(singleMapSeries){return singleMapSeries.get('nameMap')});var geo=new Geo(mapType,mapType,mergeAll(nameMapList));geo.zoomLimit=retrieve.apply(null,map(mapSeries,function(singleMapSeries){return singleMapSeries.get('scaleLimit')}));geoList.push(geo);geo.resize=resizeGeo;geo.aspectScale=mapSeries[0].get('aspectScale');geo.resize(mapSeries[0],api);each$1(mapSeries,function(singleMapSeries){singleMapSeries.coordinateSystem=geo;setGeoCoords(geo,singleMapSeries)})});return geoList},getFilledRegions:function(originRegionArr,mapName,nameMap){var regionsArr=(originRegionArr||[]).slice();var dataNameMap=createHashMap();for(var i=0;iheight){height=child.height}}this.height=height+1},getNodeById:function(id){if(this.getId()===id){return this}for(var i=0,children=this.children,len=children.length;i=0&&this.hostTree.data.setItemLayout(this.dataIndex,layout,merge$$1)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(path){if(this.dataIndex<0){return}var hostTree=this.hostTree;var itemModel=hostTree.data.getItemModel(this.dataIndex);var levelModel=this.getLevelModel();if(levelModel){return itemModel.getModel(path,levelModel.getModel(path))}else{return itemModel.getModel(path)}},getLevelModel:function(){return(this.hostTree.levelModels||[])[this.depth]},setVisual:function(key,value){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,key,value)},getVisual:function(key,ignoreParent){return this.hostTree.data.getItemVisual(this.dataIndex,key,ignoreParent)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)},isAncestorOf:function(node){var parent=node.parentNode;while(parent){if(parent===this){return true}parent=parent.parentNode}return false},isDescendantOf:function(node){return node!==this&&node.isAncestorOf(this)}};function Tree(hostModel,levelOptions){this.root;this.data;this._nodes=[];this.hostModel=hostModel;this.levelModels=map(levelOptions||[],function(levelDefine){return new Model(levelDefine,hostModel,hostModel.ecModel)})}Tree.prototype={constructor:Tree,type:'tree',eachNode:function(options,cb,context){this.root.eachNode(options,cb,context)},getNodeByDataIndex:function(dataIndex){var rawIndex=this.data.getRawIndex(dataIndex);return this._nodes[rawIndex]},getNodeByName:function(name){return this.root.getNodeByName(name)},update:function(){var data=this.data;var nodes=this._nodes;for(var i=0,len=nodes.length;itreeDepth){treeDepth=node.depth}});var expandAndCollapse=option.expandAndCollapse;var expandTreeDepth=(expandAndCollapse&&option.initialTreeDepth>=0)?option.initialTreeDepth:treeDepth;tree.root.eachNode('preorder',function(node){var item=node.hostTree.data.getRawDataItem(node.dataIndex);node.isExpand=(item&&item.collapsed!=null)?!item.collapsed:node.depth<=expandTreeDepth});return tree.data},getOrient:function(){var orient=this.get('orient');if(orient==='horizontal'){orient='LR'}else if(orient==='vertical'){orient='TB'}return orient},setZoom:function(zoom){this.option.zoom=zoom},setCenter:function(center){this.option.center=center},formatTooltip:function(dataIndex){var tree=this.getData().tree;var realRoot=tree.root.children[0];var node=tree.getNodeByDataIndex(dataIndex);var value=node.getValue();var name=node.name;while(node&&(node!==realRoot)){name=node.parentNode.name+'.'+name;node=node.parentNode}return encodeHTML(name+((isNaN(value)||value==null)?'':' : '+value))},defaultOption:{zlevel:0,z:2,coordinateSystem:'view',left:'12%',top:'12%',right:'12%',bottom:'12%',layout:'orthogonal',edgeShape:'curve',edgeForkPosition:'50%',roam:false,nodeScaleRatio:0.4,center:null,zoom:1,orient:'LR',symbol:'emptyCircle',symbolSize:7,expandAndCollapse:true,initialTreeDepth:2,lineStyle:{color:'#ccc',width:1.5,curveness:0.5},itemStyle:{color:'lightsteelblue',borderColor:'#c23531',borderWidth:1.5},label:{show:true,color:'#555'},leaves:{label:{show:true}},animationEasing:'linear',animationDuration:700,animationDurationUpdate:1000}});function init$2(root){root.hierNode={defaultAncestor:null,ancestor:root,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};var nodes=[root];var node;var children;while(node=nodes.pop()){children=node.children;if(node.isExpand&&children.length){var n=children.length;for(var i=n-1;i>=0;i--){var child=children[i];child.hierNode={defaultAncestor:null,ancestor:child,prelim:0,modifier:0,change:0,shift:0,i:i,thread:null};nodes.push(child)}}}}function firstWalk(node,separation){var children=node.isExpand?node.children:[];var siblings=node.parentNode.children;var subtreeW=node.hierNode.i?siblings[node.hierNode.i-1]:null;if(children.length){executeShifts(node);var midPoint=(children[0].hierNode.prelim+children[children.length-1].hierNode.prelim)/2;if(subtreeW){node.hierNode.prelim=subtreeW.hierNode.prelim+separation(node,subtreeW);node.hierNode.modifier=node.hierNode.prelim-midPoint}else{node.hierNode.prelim=midPoint}}else if(subtreeW){node.hierNode.prelim=subtreeW.hierNode.prelim+separation(node,subtreeW)}node.parentNode.hierNode.defaultAncestor=apportion(node,subtreeW,node.parentNode.hierNode.defaultAncestor||siblings[0],separation)}function secondWalk(node){var nodeX=node.hierNode.prelim+node.parentNode.hierNode.modifier;node.setLayout({x:nodeX},true);node.hierNode.modifier+=node.parentNode.hierNode.modifier}function separation(cb){return arguments.length?cb:defaultSeparation}function radialCoordinate(x,y){var radialCoor={};x-=Math.PI/2;radialCoor.x=y*Math.cos(x);radialCoor.y=y*Math.sin(x);return radialCoor}function getViewRect$1(seriesModel,api){return getLayoutRect(seriesModel.getBoxLayoutParams(),{width:api.getWidth(),height:api.getHeight()})}function executeShifts(node){var children=node.children;var n=children.length;var shift=0;var change=0;while(--n>=0){var child=children[n];child.hierNode.prelim+=shift;child.hierNode.modifier+=shift;change+=child.hierNode.change;shift+=child.hierNode.shift+change}}function apportion(subtreeV,subtreeW,ancestor,separation){if(subtreeW){var nodeOutRight=subtreeV;var nodeInRight=subtreeV;var nodeOutLeft=nodeInRight.parentNode.children[0];var nodeInLeft=subtreeW;var sumOutRight=nodeOutRight.hierNode.modifier;var sumInRight=nodeInRight.hierNode.modifier;var sumOutLeft=nodeOutLeft.hierNode.modifier;var sumInLeft=nodeInLeft.hierNode.modifier;while(nodeInLeft=nextRight(nodeInLeft),nodeInRight=nextLeft(nodeInRight),nodeInLeft&&nodeInRight){nodeOutRight=nextRight(nodeOutRight);nodeOutLeft=nextLeft(nodeOutLeft);nodeOutRight.hierNode.ancestor=subtreeV;var shift=nodeInLeft.hierNode.prelim+sumInLeft-nodeInRight.hierNode.prelim-sumInRight+separation(nodeInLeft,nodeInRight);if(shift>0){moveSubtree(nextAncestor(nodeInLeft,subtreeV,ancestor),subtreeV,shift);sumInRight+=shift;sumOutRight+=shift}sumInLeft+=nodeInLeft.hierNode.modifier;sumInRight+=nodeInRight.hierNode.modifier;sumOutRight+=nodeOutRight.hierNode.modifier;sumOutLeft+=nodeOutLeft.hierNode.modifier}if(nodeInLeft&&!nextRight(nodeOutRight)){nodeOutRight.hierNode.thread=nodeInLeft;nodeOutRight.hierNode.modifier+=sumInLeft-sumOutRight}if(nodeInRight&&!nextLeft(nodeOutLeft)){nodeOutLeft.hierNode.thread=nodeInRight;nodeOutLeft.hierNode.modifier+=sumInRight-sumOutLeft;ancestor=subtreeV}}return ancestor}function nextRight(node){var children=node.children;return children.length&&node.isExpand?children[children.length-1]:node.hierNode.thread}function nextLeft(node){var children=node.children;return children.length&&node.isExpand?children[0]:node.hierNode.thread}function nextAncestor(nodeInLeft,node,ancestor){return nodeInLeft.hierNode.ancestor.parentNode===node.parentNode?nodeInLeft.hierNode.ancestor:ancestor}function moveSubtree(wl,wr,shift){var change=shift/(wr.hierNode.i-wl.hierNode.i);wr.hierNode.change-=change;wr.hierNode.shift+=shift;wr.hierNode.modifier+=shift;wr.hierNode.prelim+=shift;wl.hierNode.change+=change}function defaultSeparation(node1,node2){return node1.parentNode===node2.parentNode?1:2}var TreeShape=extendShape({shape:{parentPoint:[],childPoints:[],orient:'',forkPosition:''},style:{stroke:'#000',fill:null},buildPath:function(ctx,shape){var childPoints=shape.childPoints;var childLen=childPoints.length;var parentPoint=shape.parentPoint;var firstChildPos=childPoints[0];var lastChildPos=childPoints[childLen-1];if(childLen===1){ctx.moveTo(parentPoint[0],parentPoint[1]);ctx.lineTo(firstChildPos[0],firstChildPos[1]);return}var orient=shape.orient;var forkDim=(orient==='TB'||orient==='BT')?0:1;var otherDim=1-forkDim;var forkPosition=parsePercent$1(shape.forkPosition,1);var tmpPoint=[];tmpPoint[forkDim]=parentPoint[forkDim];tmpPoint[otherDim]=parentPoint[otherDim]+(lastChildPos[otherDim]-parentPoint[otherDim])*forkPosition;ctx.moveTo(parentPoint[0],parentPoint[1]);ctx.lineTo(tmpPoint[0],tmpPoint[1]);ctx.moveTo(firstChildPos[0],firstChildPos[1]);tmpPoint[forkDim]=firstChildPos[forkDim];ctx.lineTo(tmpPoint[0],tmpPoint[1]);tmpPoint[forkDim]=lastChildPos[forkDim];ctx.lineTo(tmpPoint[0],tmpPoint[1]);ctx.lineTo(lastChildPos[0],lastChildPos[1]);for(var i=1;irootLayout.x;if(!isLeft){rad=rad-Math.PI}}}var textPosition=isLeft?'left':'right';var rotate=seriesScope.labelModel.get('rotate');var labelRotateRadian=rotate*(Math.PI/180);symbolPath.setStyle({textPosition:seriesScope.labelModel.get('position')||textPosition,textRotation:rotate==null?-rad:labelRotateRadian,textOrigin:'center',verticalAlign:'middle'})}drawEdge(seriesModel,node,virtualRoot,symbolEl,sourceOldLayout,sourceLayout,targetLayout,group,seriesScope)}function drawEdge(seriesModel,node,virtualRoot,symbolEl,sourceOldLayout,sourceLayout,targetLayout,group,seriesScope){var edgeShape=seriesScope.edgeShape;var edge=symbolEl.__edge;if(edgeShape==='curve'){if(node.parentNode&&node.parentNode!==virtualRoot){if(!edge){edge=symbolEl.__edge=new BezierCurve({shape:getEdgeShape(seriesScope,sourceOldLayout,sourceOldLayout),style:defaults({opacity:0,strokeNoScale:true},seriesScope.lineStyle)})}updateProps(edge,{shape:getEdgeShape(seriesScope,sourceLayout,targetLayout),style:{opacity:1}},seriesModel)}}else if(edgeShape==='polyline'){if(seriesScope.layout==='orthogonal'){if(node!==virtualRoot&&node.children&&(node.children.length!==0)&&(node.isExpand===true)){var children=node.children;var childPoints=[];for(var i=0;i=0;i--){nodes.push(children[i])}}}}}var treeLayout=function(ecModel,api){ecModel.eachSeriesByType('tree',function(seriesModel){commonLayout(seriesModel,api)})};function commonLayout(seriesModel,api){var layoutInfo=getViewRect$1(seriesModel,api);seriesModel.layoutInfo=layoutInfo;var layout=seriesModel.get('layout');var width=0;var height=0;var separation$$1=null;if(layout==='radial'){width=2*Math.PI;height=Math.min(layoutInfo.height,layoutInfo.width)/2;separation$$1=separation(function(node1,node2){return(node1.parentNode===node2.parentNode?1:2)/node1.depth})}else{width=layoutInfo.width;height=layoutInfo.height;separation$$1=separation()}var virtualRoot=seriesModel.getData().tree.root;var realRoot=virtualRoot.children[0];if(realRoot){init$2(virtualRoot);eachAfter(realRoot,firstWalk,separation$$1);virtualRoot.hierNode.modifier=-realRoot.hierNode.prelim;eachBefore(realRoot,secondWalk);var left=realRoot;var right=realRoot;var bottom=realRoot;eachBefore(realRoot,function(node){var x=node.getLayout().x;if(xright.getLayout().x){right=node}if(node.depth>bottom.depth){bottom=node}});var delta=left===right?1:separation$$1(left,right)/2;var tx=delta-left.getLayout().x;var kx=0;var ky=0;var coorX=0;var coorY=0;if(layout==='radial'){kx=width/(right.getLayout().x+delta+tx);ky=height/((bottom.depth-1)||1);eachBefore(realRoot,function(node){coorX=(node.getLayout().x+tx)*kx;coorY=(node.depth-1)*ky;var finalCoor=radialCoordinate(coorX,coorY);node.setLayout({x:finalCoor.x,y:finalCoor.y,rawX:coorX,rawY:coorY},true)})}else{var orient=seriesModel.getOrient();if(orient==='RL'||orient==='LR'){ky=height/(right.getLayout().x+delta+tx);kx=width/((bottom.depth-1)||1);eachBefore(realRoot,function(node){coorY=(node.getLayout().x+tx)*ky;coorX=orient==='LR'?(node.depth-1)*kx:width-(node.depth-1)*kx;node.setLayout({x:coorX,y:coorY},true)})}else if(orient==='TB'||orient==='BT'){kx=width/(right.getLayout().x+delta+tx);ky=height/((bottom.depth-1)||1);eachBefore(realRoot,function(node){coorX=(node.getLayout().x+tx)*kx;coorY=orient==='TB'?(node.depth-1)*ky:height-(node.depth-1)*ky;node.setLayout({x:coorX,y:coorY},true)})}}}}registerVisual(visualSymbol('tree','circle'));registerLayout(treeLayout);function retrieveTargetInfo(payload,validPayloadTypes,seriesModel){if(payload&&indexOf(validPayloadTypes,payload.type)>=0){var root=seriesModel.getData().tree.root;var targetNode=payload.targetNode;if(typeof targetNode==='string'){targetNode=root.getNodeById(targetNode)}if(targetNode&&root.contains(targetNode)){return{node:targetNode}}var targetNodeId=payload.targetNodeId;if(targetNodeId!=null&&(targetNode=root.getNodeById(targetNodeId))){return{node:targetNode}}}}function getPathToRoot(node){var path=[];while(node){node=node.parentNode;node&&path.push(node)}return path.reverse()}function aboveViewRoot(viewRoot,node){var viewPath=getPathToRoot(viewRoot);return indexOf(viewPath,node)>=0}function wrapTreePathInfo(node,seriesModel){var treePathInfo=[];while(node){var nodeDataIndex=node.dataIndex;treePathInfo.push({name:node.name,dataIndex:nodeDataIndex,value:seriesModel.getRawValue(nodeDataIndex)});node=node.parentNode}treePathInfo.reverse();return treePathInfo}SeriesModel.extend({type:'series.treemap',layoutMode:'box',dependencies:['grid','polar'],preventUsingHoverLayer:true,_viewRoot:null,defaultOption:{progressive:0,left:'center',top:'middle',right:null,bottom:null,width:'80%',height:'80%',sort:true,clipWindow:'origin',squareRatio:0.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:'▶',zoomToNodeRatio:0.32*0.32,roam:true,nodeClick:'zoomToNode',animation:true,animationDurationUpdate:900,animationEasing:'quinticInOut',breadcrumb:{show:true,height:22,left:'center',top:'bottom',emptyItemWidth:25,itemStyle:{color:'rgba(0,0,0,0.7)',borderColor:'rgba(255,255,255,0.7)',borderWidth:1,shadowColor:'rgba(150,150,150,1)',shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:'#fff'}},emphasis:{textStyle:{}}},label:{show:true,distance:0,padding:5,position:'inside',color:'#fff',ellipsis:true},upperLabel:{show:false,position:[0,'50%'],height:20,color:'#fff',ellipsis:true,verticalAlign:'middle'},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:'#fff',borderColorSaturation:null},emphasis:{upperLabel:{show:true,position:[0,'50%'],color:'#fff',ellipsis:true,verticalAlign:'middle'}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:'index',visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(option,ecModel){var root={name:option.name,children:option.data};completeTreeValue(root);var levels=option.levels||[];levels=option.levels=setDefault(levels,ecModel);var levelModels=map(levels||[],function(levelDefine){return new Model(levelDefine,this,ecModel)},this);var tree=Tree.createTree(root,this,null,beforeLink);function beforeLink(nodeData){nodeData.wrapMethod('getItemModel',function(model,idx){var node=tree.getNodeByDataIndex(idx);var levelModel=levelModels[node.depth];levelModel&&(model.parentModel=levelModel);return model})}return tree.data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(dataIndex){var data=this.getData();var value=this.getRawValue(dataIndex);var formattedValue=isArray(value)?addCommas(value[0]):addCommas(value);var name=data.getName(dataIndex);return encodeHTML(name+': '+formattedValue)},getDataParams:function(dataIndex){var params=SeriesModel.prototype.getDataParams.apply(this,arguments);var node=this.getData().tree.getNodeByDataIndex(dataIndex);params.treePathInfo=wrapTreePathInfo(node,this);return params},setLayoutInfo:function(layoutInfo){this.layoutInfo=this.layoutInfo||{};extend(this.layoutInfo,layoutInfo)},mapIdToIndex:function(id){var idIndexMap=this._idIndexMap;if(!idIndexMap){idIndexMap=this._idIndexMap=createHashMap();this._idIndexMapCount=0}var index=idIndexMap.get(id);if(index==null){idIndexMap.set(id,index=this._idIndexMapCount++)}return index},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(viewRoot){viewRoot?(this._viewRoot=viewRoot):(viewRoot=this._viewRoot);var root=this.getRawData().tree.root;if(!viewRoot||(viewRoot!==root&&!root.contains(viewRoot))){this._viewRoot=root}}});function completeTreeValue(dataNode){var sum=0;each$1(dataNode.children,function(child){completeTreeValue(child);var childValue=child.value;isArray(childValue)&&(childValue=childValue[0]);sum+=childValue});var thisValue=dataNode.value;if(isArray(thisValue)){thisValue=thisValue[0]}if(thisValue==null||isNaN(thisValue)){thisValue=sum}if(thisValue<0){thisValue=0}isArray(dataNode.value)?(dataNode.value[0]=thisValue):(dataNode.value=thisValue)}function setDefault(levels,ecModel){var globalColorList=ecModel.get('color');if(!globalColorList){return}levels=levels||[];var hasColorDefine;each$1(levels,function(levelDefine){var model=new Model(levelDefine);var modelColor=model.get('color');if(model.get('itemStyle.color')||(modelColor&&modelColor!=='none')){hasColorDefine=true}});if(!hasColorDefine){var level0=levels[0]||(levels[0]={});level0.color=globalColorList.slice()}return levels}var TEXT_PADDING=8;var ITEM_GAP=8;var ARRAY_LENGTH=5;function Breadcrumb(containerGroup){this.group=new Group();containerGroup.add(this.group)}Breadcrumb.prototype={constructor:Breadcrumb,render:function(seriesModel,api,targetNode,onSelect){var model=seriesModel.getModel('breadcrumb');var thisGroup=this.group;thisGroup.removeAll();if(!model.get('show')||!targetNode){return}var normalStyleModel=model.getModel('itemStyle');var textStyleModel=normalStyleModel.getModel('textStyle');var layoutParam={pos:{left:model.get('left'),right:model.get('right'),top:model.get('top'),bottom:model.get('bottom')},box:{width:api.getWidth(),height:api.getHeight()},emptyItemWidth:model.get('emptyItemWidth'),totalWidth:0,renderList:[]};this._prepare(targetNode,layoutParam,textStyleModel);this._renderContent(seriesModel,layoutParam,normalStyleModel,textStyleModel,onSelect);positionElement(thisGroup,layoutParam.pos,layoutParam.box)},_prepare:function(targetNode,layoutParam,textStyleModel){for(var node=targetNode;node;node=node.parentNode){var text=node.getModel().get('name');var textRect=textStyleModel.getTextRect(text);var itemWidth=Math.max(textRect.width+TEXT_PADDING*2,layoutParam.emptyItemWidth);layoutParam.totalWidth+=itemWidth+ITEM_GAP;layoutParam.renderList.push({node:node,text:text,width:itemWidth})}},_renderContent:function(seriesModel,layoutParam,normalStyleModel,textStyleModel,onSelect){var lastX=0;var emptyItemWidth=layoutParam.emptyItemWidth;var height=seriesModel.get('breadcrumb.height');var availableSize=getAvailableSize(layoutParam.pos,layoutParam.box);var totalWidth=layoutParam.totalWidth;var renderList=layoutParam.renderList;for(var i=renderList.length-1;i>=0;i--){var item=renderList[i];var itemNode=item.node;var itemWidth=item.width;var text=item.text;if(totalWidth>availableSize.width){totalWidth-=itemWidth-emptyItemWidth;itemWidth=emptyItemWidth;text=null}var el=new Polygon({shape:{points:makeItemPoints(lastX,0,itemWidth,height,i===renderList.length-1,i===0)},style:defaults(normalStyleModel.getItemStyle(),{lineJoin:'bevel',text:text,textFill:textStyleModel.getTextColor(),textFont:textStyleModel.getFont()}),z:10,onclick:curry(onSelect,itemNode)});this.group.add(el);packEventData(el,seriesModel,itemNode);lastX+=itemWidth+ITEM_GAP}},remove:function(){this.group.removeAll()}};function makeItemPoints(x,y,itemWidth,itemHeight,head,tail){var points=[[head?x:x-ARRAY_LENGTH,y],[x+itemWidth,y],[x+itemWidth,y+itemHeight],[head?x:x-ARRAY_LENGTH,y+itemHeight]];!tail&&points.splice(2,0,[x+itemWidth+ARRAY_LENGTH,y+itemHeight/2]);!head&&points.push([x,y+itemHeight/2]);return points}function packEventData(el,seriesModel,itemNode){el.eventData={componentType:'series',componentSubType:'treemap',componentIndex:seriesModel.componentIndex,seriesIndex:seriesModel.componentIndex,seriesName:seriesModel.name,seriesType:'treemap',selfType:'breadcrumb',nodeData:{dataIndex:itemNode&&itemNode.dataIndex,name:itemNode&&itemNode.name},treePathInfo:itemNode&&wrapTreePathInfo(itemNode,seriesModel)}}function createWrap(){var storage=[];var elExistsMap={};var doneCallback;return{add:function(el,target,time,delay,easing){if(isString(delay)){easing=delay;delay=0}if(elExistsMap[el.id]){return false}elExistsMap[el.id]=1;storage.push({el:el,target:target,time:time,delay:delay,easing:easing});return true},done:function(callback){doneCallback=callback;return this},start:function(){var count=storage.length;for(var i=0,len=storage.length;iDRAG_THRESHOLD||Math.abs(e.dy)>DRAG_THRESHOLD)){var root=this.seriesModel.getData().tree.root;if(!root){return}var rootLayout=root.getLayout();if(!rootLayout){return}this.api.dispatchAction({type:'treemapMove',from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:rootLayout.x+e.dx,y:rootLayout.y+e.dy,width:rootLayout.width,height:rootLayout.height}})}},_onZoom:function(e){var mouseX=e.originX;var mouseY=e.originY;if(this._state!=='animating'){var root=this.seriesModel.getData().tree.root;if(!root){return}var rootLayout=root.getLayout();if(!rootLayout){return}var rect=new BoundingRect(rootLayout.x,rootLayout.y,rootLayout.width,rootLayout.height);var layoutInfo=this.seriesModel.layoutInfo;mouseX-=layoutInfo.x;mouseY-=layoutInfo.y;var m=create$1();translate(m,m,[-mouseX,-mouseY]);scale$1(m,m,[e.scale,e.scale]);translate(m,m,[mouseX,mouseY]);rect.applyTransform(m);this.api.dispatchAction({type:'treemapRender',from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:rect.x,y:rect.y,width:rect.width,height:rect.height}})}},_initEvents:function(containerGroup){containerGroup.on('click',function(e){if(this._state!=='ready'){return}var nodeClick=this.seriesModel.get('nodeClick',true);if(!nodeClick){return}var targetInfo=this.findTarget(e.offsetX,e.offsetY);if(!targetInfo){return}var node=targetInfo.node;if(node.getLayout().isLeafRoot){this._rootToNode(targetInfo)}else{if(nodeClick==='zoomToNode'){this._zoomToNode(targetInfo)}else if(nodeClick==='link'){var itemModel=node.hostTree.data.getItemModel(node.dataIndex);var link=itemModel.get('link',true);var linkTarget=itemModel.get('target',true)||'blank';link&&windowOpen(link,linkTarget)}}},this)},_renderBreadcrumb:function(seriesModel,api,targetInfo){if(!targetInfo){targetInfo=seriesModel.get('leafDepth',true)!=null?{node:seriesModel.getViewRoot()}:this.findTarget(api.getWidth()/2,api.getHeight()/2);if(!targetInfo){targetInfo={node:seriesModel.getData().tree.root}}}(this._breadcrumb||(this._breadcrumb=new Breadcrumb(this.group))).render(seriesModel,api,targetInfo.node,bind$1(onSelect,this));function onSelect(node){if(this._state!=='animating'){aboveViewRoot(seriesModel.getViewRoot(),node)?this._rootToNode({node:node}):this._zoomToNode({node:node})}}},remove:function(){this._clearController();this._containerGroup&&this._containerGroup.removeAll();this._storage=createStorage();this._state='ready';this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(targetInfo){this.api.dispatchAction({type:'treemapZoomToNode',from:this.uid,seriesId:this.seriesModel.id,targetNode:targetInfo.node})},_rootToNode:function(targetInfo){this.api.dispatchAction({type:'treemapRootToNode',from:this.uid,seriesId:this.seriesModel.id,targetNode:targetInfo.node})},findTarget:function(x,y){var targetInfo;var viewRoot=this.seriesModel.getViewRoot();viewRoot.eachNode({attr:'viewChildren',order:'preorder'},function(node){var bgEl=this._storage.background[node.getRawIndex()];if(bgEl){var point=bgEl.transformCoordToLocal(x,y);var shape=bgEl.shape;if(shape.x<=point[0]&&point[0]<=shape.x+shape.width&&shape.y<=point[1]&&point[1]<=shape.y+shape.height){targetInfo={node:node,offsetX:point[0],offsetY:point[1]}}else{return false}}},this);return targetInfo}});function createStorage(){return{nodeGroup:[],background:[],content:[]}}function renderNode(seriesModel,thisStorage,oldStorage,reRoot,lastsForAnimation,willInvisibleEls,thisNode,oldNode,parentGroup,depth){if(!thisNode){return}var thisLayout=thisNode.getLayout();var data=seriesModel.getData();data.setItemGraphicEl(thisNode.dataIndex,null);if(!thisLayout||!thisLayout.isInView){return}var thisWidth=thisLayout.width;var thisHeight=thisLayout.height;var borderWidth=thisLayout.borderWidth;var thisInvisible=thisLayout.invisible;var thisRawIndex=thisNode.getRawIndex();var oldRawIndex=oldNode&&oldNode.getRawIndex();var thisViewChildren=thisNode.viewChildren;var upperHeight=thisLayout.upperHeight;var isParent=thisViewChildren&&thisViewChildren.length;var itemStyleNormalModel=thisNode.getModel('itemStyle');var itemStyleEmphasisModel=thisNode.getModel('emphasis.itemStyle');var group=giveGraphic('nodeGroup',Group$2);if(!group){return}parentGroup.add(group);group.attr('position',[thisLayout.x||0,thisLayout.y||0]);group.__tmNodeWidth=thisWidth;group.__tmNodeHeight=thisHeight;if(thisLayout.isAboveViewRoot){return group}var nodeModel=thisNode.getModel();var bg=giveGraphic('background',Rect$1,depth,Z_BG);bg&&renderBackground(group,bg,isParent&&thisLayout.upperLabelHeight);if(isParent){if(isHighDownDispatcher(group)){setAsHighDownDispatcher(group,false)}if(bg){setAsHighDownDispatcher(bg,true);data.setItemGraphicEl(thisNode.dataIndex,bg)}}else{var content=giveGraphic('content',Rect$1,depth,Z_CONTENT);content&&renderContent(group,content);if(bg&&isHighDownDispatcher(bg)){setAsHighDownDispatcher(bg,false)}setAsHighDownDispatcher(group,true);data.setItemGraphicEl(thisNode.dataIndex,group)}return group;function renderBackground(group,bg,useUpperLabel){bg.dataIndex=thisNode.dataIndex;bg.seriesIndex=seriesModel.seriesIndex;bg.setShape({x:0,y:0,width:thisWidth,height:thisHeight});if(thisInvisible){processInvisible(bg)}else{bg.invisible=false;var visualBorderColor=thisNode.getVisual('borderColor',true);var emphasisBorderColor=itemStyleEmphasisModel.get('borderColor');var normalStyle=getItemStyleNormal(itemStyleNormalModel);normalStyle.fill=visualBorderColor;var emphasisStyle=getItemStyleEmphasis(itemStyleEmphasisModel);emphasisStyle.fill=emphasisBorderColor;if(useUpperLabel){var upperLabelWidth=thisWidth-2*borderWidth;prepareText(normalStyle,emphasisStyle,visualBorderColor,upperLabelWidth,upperHeight,{x:borderWidth,y:0,width:upperLabelWidth,height:upperHeight})}else{normalStyle.text=emphasisStyle.text=null}bg.setStyle(normalStyle);setElementHoverStyle(bg,emphasisStyle)}group.add(bg)}function renderContent(group,content){content.dataIndex=thisNode.dataIndex;content.seriesIndex=seriesModel.seriesIndex;var contentWidth=Math.max(thisWidth-2*borderWidth,0);var contentHeight=Math.max(thisHeight-2*borderWidth,0);content.culling=true;content.setShape({x:borderWidth,y:borderWidth,width:contentWidth,height:contentHeight});if(thisInvisible){processInvisible(content)}else{content.invisible=false;var visualColor=thisNode.getVisual('color',true);var normalStyle=getItemStyleNormal(itemStyleNormalModel);normalStyle.fill=visualColor;var emphasisStyle=getItemStyleEmphasis(itemStyleEmphasisModel);prepareText(normalStyle,emphasisStyle,visualColor,contentWidth,contentHeight);content.setStyle(normalStyle);setElementHoverStyle(content,emphasisStyle)}group.add(content)}function processInvisible(element){!element.invisible&&willInvisibleEls.push(element)}function prepareText(normalStyle,emphasisStyle,visualColor,width,height,upperLabelRect){var defaultText=nodeModel.get('name');var normalLabelModel=nodeModel.getModel(upperLabelRect?PATH_UPPERLABEL_NORMAL:PATH_LABEL_NOAMAL);var emphasisLabelModel=nodeModel.getModel(upperLabelRect?PATH_UPPERLABEL_EMPHASIS:PATH_LABEL_EMPHASIS);var isShow=normalLabelModel.getShallow('show');setLabelStyle(normalStyle,emphasisStyle,normalLabelModel,emphasisLabelModel,{defaultText:isShow?defaultText:null,autoColor:visualColor,isRectText:true,labelFetcher:seriesModel,labelDataIndex:thisNode.dataIndex,labelProp:upperLabelRect?'upperLabel':'label'});addDrillDownIcon(normalStyle,upperLabelRect,thisLayout);addDrillDownIcon(emphasisStyle,upperLabelRect,thisLayout);upperLabelRect&&(normalStyle.textRect=clone(upperLabelRect));normalStyle.truncate=(isShow&&normalLabelModel.get('ellipsis'))?{outerWidth:width,outerHeight:height,minChar:2}:null}function addDrillDownIcon(style,upperLabelRect,thisLayout){var text=style.text;if(!upperLabelRect&&thisLayout.isLeafRoot&&text!=null){var iconChar=seriesModel.get('drillDownIcon',true);style.text=iconChar?iconChar+' '+text:text}}function giveGraphic(storageName,Ctor,depth,z){var element=oldRawIndex!=null&&oldStorage[storageName][oldRawIndex];var lasts=lastsForAnimation[storageName];if(element){oldStorage[storageName][oldRawIndex]=null;prepareAnimationWhenHasOld(lasts,element,storageName)}else if(!thisInvisible){element=new Ctor({z:calculateZ(depth,z)});element.__tmDepth=depth;element.__tmStorageName=storageName;prepareAnimationWhenNoOld(lasts,element,storageName)}return(thisStorage[storageName][thisRawIndex]=element)}function prepareAnimationWhenHasOld(lasts,element,storageName){var lastCfg=lasts[thisRawIndex]={};lastCfg.old=storageName==='nodeGroup'?element.position.slice():extend({},element.shape)}function prepareAnimationWhenNoOld(lasts,element,storageName){var lastCfg=lasts[thisRawIndex]={};var parentNode=thisNode.parentNode;if(parentNode&&(!reRoot||reRoot.direction==='drillDown')){var parentOldX=0;var parentOldY=0;var parentOldBg=lastsForAnimation.background[parentNode.getRawIndex()];if(!reRoot&&parentOldBg&&parentOldBg.old){parentOldX=parentOldBg.old.width;parentOldY=parentOldBg.old.height}lastCfg.old=storageName==='nodeGroup'?[0,parentOldY]:{x:parentOldX,y:parentOldY,width:0,height:0}}lastCfg.fadein=storageName!=='nodeGroup'}}function calculateZ(depth,zInLevel){var zb=depth*Z_BASE+zInLevel;return(zb-1)/zb}var noop$1=function(){};var actionTypes=['treemapZoomToNode','treemapRender','treemapMove'];for(var i$2=0;i$2=0;i--){if(visual[i]==null){delete categoryMap[categories[i]];categories.pop()}}}function normalizeVisualRange(thisOption,isCategory){var visual=thisOption.visual;var visualArr=[];if(isObject$1(visual)){each$9(visual,function(v){visualArr.push(v)})}else if(visual!=null){visualArr.push(visual)}var doNotNeedPair={color:1,symbol:1};if(!isCategory&&visualArr.length===1&&!doNotNeedPair.hasOwnProperty(thisOption.type)){visualArr[1]=visualArr[0]}setVisualToOption(thisOption,visualArr)}function makePartialColorVisualHandler(applyValue){return{applyVisual:function(value,getter,setter){value=this.mapValueToVisual(value);setter('color',applyValue(getter('color'),value))},_doMap:makeDoMap([0,1])}}function doMapToArray(normalized){var visual=this.option.visual;return visual[Math.round(linearMap(normalized,[0,1],[0,visual.length-1],true))]||{}}function makeApplyVisual(visualType){return function(value,getter,setter){setter(visualType,this.mapValueToVisual(value))}}function doMapCategory(normalized){var visual=this.option.visual;return visual[(this.option.loop&&normalized!==CATEGORY_DEFAULT_VISUAL_INDEX)?normalized%visual.length:normalized]}function doMapFixed(){return this.option.visual[0]}function makeDoMap(sourceExtent){return{linear:function(normalized){return linearMap(normalized,sourceExtent,this.option.visual,true)},category:doMapCategory,piecewise:function(normalized,value){var result=getSpecifiedVisual.call(this,value);if(result==null){result=linearMap(normalized,sourceExtent,this.option.visual,true)}return result},fixed:doMapFixed}}function getSpecifiedVisual(value){var thisOption=this.option;var pieceList=thisOption.pieceList;if(thisOption.hasSpecialVisual){var pieceIndex=VisualMapping.findPieceIndex(value,pieceList);var piece=pieceList[pieceIndex];if(piece&&piece.visual){return piece.visual[this.type]}}}function setVisualToOption(thisOption,visualArr){thisOption.visual=visualArr;if(thisOption.type==='color'){thisOption.parsedVisual=map(visualArr,function(item){return parse(item)})}return visualArr}var normalizers={linear:function(value){return linearMap(value,this.option.dataExtent,[0,1],true)},piecewise:function(value){var pieceList=this.option.pieceList;var pieceIndex=VisualMapping.findPieceIndex(value,pieceList,true);if(pieceIndex!=null){return linearMap(pieceIndex,[0,pieceList.length-1],[0,1],true)}},category:function(value){var index=this.option.categories?this.option.categoryMap[value]:value;return index==null?CATEGORY_DEFAULT_VISUAL_INDEX:index},fixed:noop};VisualMapping.listVisualTypes=function(){var visualTypes=[];each$1(visualHandlers,function(handler,key){visualTypes.push(key)});return visualTypes};VisualMapping.addVisualHandler=function(name,handler){visualHandlers[name]=handler};VisualMapping.isValidType=function(visualType){return visualHandlers.hasOwnProperty(visualType)};VisualMapping.eachVisual=function(visual,callback,context){if(isObject$1(visual)){each$1(visual,callback,context)}else{callback.call(context,visual)}};VisualMapping.mapVisual=function(visual,callback,context){var isPrimary;var newVisual=isArray(visual)?[]:isObject$1(visual)?{}:(isPrimary=true,null);VisualMapping.eachVisual(visual,function(v,key){var newVal=callback.call(context,v,key);isPrimary?(newVisual=newVal):(newVisual[key]=newVal)});return newVisual};VisualMapping.retrieveVisuals=function(obj){var ret={};var hasVisual;obj&&each$9(visualHandlers,function(h,visualType){if(obj.hasOwnProperty(visualType)){ret[visualType]=obj[visualType];hasVisual=true}});return hasVisual?ret:null};VisualMapping.prepareVisualTypes=function(visualTypes){if(isObject$5(visualTypes)){var types=[];each$9(visualTypes,function(item,type){types.push(type)});visualTypes=types}else if(isArray(visualTypes)){visualTypes=visualTypes.slice()}else{return[]}visualTypes.sort(function(type1,type2){return(type2==='color'&&type1!=='color'&&type1.indexOf('color')===0)?1:-1});return visualTypes};VisualMapping.dependsOn=function(visualType1,visualType2){return visualType2==='color'?!!(visualType1&&visualType1.indexOf(visualType2)===0):visualType1===visualType2};VisualMapping.findPieceIndex=function(value,pieceList,findClosestWhenOutside){var possibleI;var abs=Infinity;for(var i=0,len=pieceList.length;i=viewRootAncestors.length||child===viewRootAncestors[child.depth]){var childVisual=mapVisual$1(nodeModel,visuals,child,index,mapping,seriesModel);travelTree(child,childVisual,levelItemStyles,seriesItemStyleModel,viewRootAncestors,seriesModel)}})}}function buildVisuals(nodeItemStyleModel,designatedVisual,levelItemStyle,seriesItemStyleModel){var visuals=extend({},designatedVisual);each$1(['color','colorAlpha','colorSaturation'],function(visualName){var val=nodeItemStyleModel.get(visualName,true);val==null&&levelItemStyle&&(val=levelItemStyle[visualName]);val==null&&(val=designatedVisual[visualName]);val==null&&(val=seriesItemStyleModel.get(visualName));val!=null&&(visuals[visualName]=val)});return visuals}function calculateColor(visuals){var color=getValueVisualDefine(visuals,'color');if(color){var colorAlpha=getValueVisualDefine(visuals,'colorAlpha');var colorSaturation=getValueVisualDefine(visuals,'colorSaturation');if(colorSaturation){color=modifyHSL(color,null,null,colorSaturation)}if(colorAlpha){color=modifyAlpha(color,colorAlpha)}return color}}function calculateBorderColor(borderColorSaturation,thisNodeColor){return thisNodeColor!=null?modifyHSL(thisNodeColor,null,null,borderColorSaturation):null}function getValueVisualDefine(visuals,name){var value=visuals[name];if(value!=null&&value!=='none'){return value}}function buildVisualMapping(node,nodeModel,nodeLayout,nodeItemStyleModel,visuals,viewChildren){if(!viewChildren||!viewChildren.length){return}var rangeVisual=getRangeVisual(nodeModel,'color')||(visuals.color!=null&&visuals.color!=='none'&&(getRangeVisual(nodeModel,'colorAlpha')||getRangeVisual(nodeModel,'colorSaturation')));if(!rangeVisual){return}var visualMin=nodeModel.get('visualMin');var visualMax=nodeModel.get('visualMax');var dataExtent=nodeLayout.dataExtent.slice();visualMin!=null&&visualMindataExtent[1]&&(dataExtent[1]=visualMax);var colorMappingBy=nodeModel.get('colorMappingBy');var opt={type:rangeVisual.name,dataExtent:dataExtent,visual:rangeVisual.range};if(opt.type==='color'&&(colorMappingBy==='index'||colorMappingBy==='id')){opt.mappingMethod='category';opt.loop=true}else{opt.mappingMethod='linear'}var mapping=new VisualMapping(opt);mapping.__drColorMappingBy=colorMappingBy;return mapping}function getRangeVisual(nodeModel,name){var range=nodeModel.get(name);return(isArray$2(range)&&range.length)?{name:name,range:range}:null}function mapVisual$1(nodeModel,visuals,child,index,mapping,seriesModel){var childVisuals=extend({},visuals);if(mapping){var mappingType=mapping.type;var colorMappingBy=mappingType==='color'&&mapping.__drColorMappingBy;var value=colorMappingBy==='index'?index:colorMappingBy==='id'?seriesModel.mapIdToIndex(child.getId()):child.getValue(nodeModel.get('visualDimension'));childVisuals[mappingType]=mapping.mapValueToVisual(value)}return childVisuals}var mathMax$5=Math.max;var mathMin$5=Math.min;var retrieveValue=retrieve;var each$10=each$1;var PATH_BORDER_WIDTH=['itemStyle','borderWidth'];var PATH_GAP_WIDTH=['itemStyle','gapWidth'];var PATH_UPPER_LABEL_SHOW=['upperLabel','show'];var PATH_UPPER_LABEL_HEIGHT=['upperLabel','height'];var treemapLayout={seriesType:'treemap',reset:function(seriesModel,ecModel,api,payload){var ecWidth=api.getWidth();var ecHeight=api.getHeight();var seriesOption=seriesModel.option;var layoutInfo=getLayoutRect(seriesModel.getBoxLayoutParams(),{width:api.getWidth(),height:api.getHeight()});var size=seriesOption.size||[];var containerWidth=parsePercent$1(retrieveValue(layoutInfo.width,size[0]),ecWidth);var containerHeight=parsePercent$1(retrieveValue(layoutInfo.height,size[1]),ecHeight);var payloadType=payload&&payload.type;var types=['treemapZoomToNode','treemapRootToNode'];var targetInfo=retrieveTargetInfo(payload,types,seriesModel);var rootRect=(payloadType==='treemapRender'||payloadType==='treemapMove')?payload.rootRect:null;var viewRoot=seriesModel.getViewRoot();var viewAbovePath=getPathToRoot(viewRoot);if(payloadType!=='treemapMove'){var rootSize=payloadType==='treemapZoomToNode'?estimateRootSize(seriesModel,targetInfo,viewRoot,containerWidth,containerHeight):rootRect?[rootRect.width,rootRect.height]:[containerWidth,containerHeight];var sort=seriesOption.sort;if(sort&&sort!=='asc'&&sort!=='desc'){sort='desc'}var options={squareRatio:seriesOption.squareRatio,sort:sort,leafDepth:seriesOption.leafDepth};viewRoot.hostTree.clearLayouts();var viewRootLayout={x:0,y:0,width:rootSize[0],height:rootSize[1],area:rootSize[0]*rootSize[1]};viewRoot.setLayout(viewRootLayout);squarify(viewRoot,options,false,0);var viewRootLayout=viewRoot.getLayout();each$10(viewAbovePath,function(node,index){var childValue=(viewAbovePath[index+1]||viewRoot).getValue();node.setLayout(extend({dataExtent:[childValue,childValue],borderWidth:0,upperHeight:0},viewRootLayout))})}var treeRoot=seriesModel.getData().tree.root;treeRoot.setLayout(calculateRootPosition(layoutInfo,rootRect,targetInfo),true);seriesModel.setLayoutInfo(layoutInfo);prunning(treeRoot,new BoundingRect(-layoutInfo.x,-layoutInfo.y,ecWidth,ecHeight),viewAbovePath,viewRoot,0)}};function squarify(node,options,hideChildren,depth){var width;var height;if(node.isRemoved()){return}var thisLayout=node.getLayout();width=thisLayout.width;height=thisLayout.height;var nodeModel=node.getModel();var borderWidth=nodeModel.get(PATH_BORDER_WIDTH);var halfGapWidth=nodeModel.get(PATH_GAP_WIDTH)/2;var upperLabelHeight=getUpperLabelHeight(nodeModel);var upperHeight=Math.max(borderWidth,upperLabelHeight);var layoutOffset=borderWidth-halfGapWidth;var layoutOffsetUpper=upperHeight-halfGapWidth;var nodeModel=node.getModel();node.setLayout({borderWidth:borderWidth,upperHeight:upperHeight,upperLabelHeight:upperLabelHeight},true);width=mathMax$5(width-2*layoutOffset,0);height=mathMax$5(height-layoutOffset-layoutOffsetUpper,0);var totalArea=width*height;var viewChildren=initChildren(node,nodeModel,totalArea,options,hideChildren,depth);if(!viewChildren.length){return}var rect={x:layoutOffset,y:layoutOffsetUpper,width:width,height:height};var rowFixedLength=mathMin$5(width,height);var best=Infinity;var row=[];row.area=0;for(var i=0,len=viewChildren.length;i=0;i--){var value=orderedChildren[orderBy==='asc'?len-i-1:i].getValue();if(value/sum*totalAreadataExtent[1]&&(dataExtent[1]=value)})}return{sum:sum,dataExtent:dataExtent}}function worst(row,rowFixedLength,ratio){var areaMax=0;var areaMin=Infinity;for(var i=0,area,len=row.length;iareaMax&&(areaMax=area)}}var squareArea=row.area*row.area;var f=rowFixedLength*rowFixedLength*ratio;return squareArea?mathMax$5((f*areaMax)/squareArea,squareArea/(f*areaMin)):Infinity}function position(row,rowFixedLength,rect,halfGapWidth,flush){var idx0WhenH=rowFixedLength===rect.width?0:1;var idx1WhenH=1-idx0WhenH;var xy=['x','y'];var wh=['width','height'];var last=rect[xy[idx0WhenH]];var rowOtherLength=rowFixedLength?row.area/rowFixedLength:0;if(flush||rowOtherLength>rect[wh[idx1WhenH]]){rowOtherLength=rect[wh[idx1WhenH]]}for(var i=0,rowLen=row.length;iMAX_SAFE_INTEGER&&(area=MAX_SAFE_INTEGER);currNode=parent}area=0){cb.call(context,nodes[i],i)}}};graphProto.eachEdge=function(cb,context){var edges=this.edges;var len=edges.length;for(var i=0;i=0&&edges[i].node1.dataIndex>=0&&edges[i].node2.dataIndex>=0){cb.call(context,edges[i],i)}}};graphProto.breadthFirstTraverse=function(cb,startNode,direction,context){if(!Node.isInstance(startNode)){startNode=this._nodesMap[generateNodeKey(startNode)]}if(!startNode){return}var edgeType=direction==='out'?'outEdges':(direction==='in'?'inEdges':'edges');for(var i=0;i=0&&edge.node2.dataIndex>=0});for(var i=0,len=edges.length;i=0&&this[hostName][dataName].setItemVisual(this.dataIndex,key,value)},getVisual:function(key,ignoreParent){return this[hostName][dataName].getItemVisual(this.dataIndex,key,ignoreParent)},setLayout:function(layout,merge$$1){this.dataIndex>=0&&this[hostName][dataName].setItemLayout(this.dataIndex,layout,merge$$1)},getLayout:function(){return this[hostName][dataName].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[hostName][dataName].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[hostName][dataName].getRawIndex(this.dataIndex)}}};mixin(Node,createGraphDataProxyMixin('hostGraph','data'));mixin(Edge,createGraphDataProxyMixin('hostGraph','edgeData'));Graph.Node=Node;Graph.Edge=Edge;enableClassCheck(Node);enableClassCheck(Edge);var createGraphFromNodeEdge=function(nodes,edges,seriesModel,directed,beforeLink){var graph=new Graph(directed);for(var i=0;i '+target));linkCount++}}var coordSys=seriesModel.get('coordinateSystem');var nodeData;if(coordSys==='cartesian2d'||coordSys==='polar'){nodeData=createListFromArray(nodes,seriesModel)}else{var coordSysCtor=CoordinateSystemManager.get(coordSys);var coordDimensions=(coordSysCtor&&coordSysCtor.type!=='view')?(coordSysCtor.dimensions||[]):[];if(indexOf(coordDimensions,'value')<0){coordDimensions.concat(['value'])}var dimensionNames=createDimensions(nodes,{coordDimensions:coordDimensions});nodeData=new List(dimensionNames,seriesModel);nodeData.initData(nodes)}var edgeData=new List(['value'],seriesModel);edgeData.initData(validEdges,linkNameList);beforeLink&&beforeLink(nodeData,edgeData);linkList({mainData:nodeData,struct:graph,structAttr:'graph',datas:{node:nodeData,edge:edgeData},datasAttr:{node:'data',edge:'edgeData'}});graph.update();return graph};var GraphSeries=extendSeriesModel({type:'series.graph',init:function(option){GraphSeries.superApply(this,'init',arguments);var self=this;function getCategoriesData(){return self._categoriesData}this.legendVisualProvider=new LegendVisualProvider(getCategoriesData,getCategoriesData);this.fillDataTextStyle(option.edges||option.links);this._updateCategoriesData()},mergeOption:function(option){GraphSeries.superApply(this,'mergeOption',arguments);this.fillDataTextStyle(option.edges||option.links);this._updateCategoriesData()},mergeDefaultAndTheme:function(option){GraphSeries.superApply(this,'mergeDefaultAndTheme',arguments);defaultEmphasis(option,['edgeLabel'],['show'])},getInitialData:function(option,ecModel){var edges=option.edges||option.links||[];var nodes=option.data||option.nodes||[];var self=this;if(nodes&&edges){return createGraphFromNodeEdge(nodes,edges,this,true,beforeLink).data}function beforeLink(nodeData,edgeData){nodeData.wrapMethod('getItemModel',function(model){var categoriesModels=self._categoriesModels;var categoryIdx=model.getShallow('category');var categoryModel=categoriesModels[categoryIdx];if(categoryModel){categoryModel.parentModel=model.parentModel;model.parentModel=categoryModel}return model});var edgeLabelModel=self.getModel('edgeLabel');var fakeSeriesModel=new Model({label:edgeLabelModel.option},edgeLabelModel.parentModel,ecModel);var emphasisEdgeLabelModel=self.getModel('emphasis.edgeLabel');var emphasisFakeSeriesModel=new Model({emphasis:{label:emphasisEdgeLabelModel.option}},emphasisEdgeLabelModel.parentModel,ecModel);edgeData.wrapMethod('getItemModel',function(model){model.customizeGetParent(edgeGetParent);return model});function edgeGetParent(path){path=this.parsePath(path);return(path&&path[0]==='label')?fakeSeriesModel:(path&&path[0]==='emphasis'&&path[1]==='label')?emphasisFakeSeriesModel:this.parentModel}}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(dataIndex,multipleSeries,dataType){if(dataType==='edge'){var nodeData=this.getData();var params=this.getDataParams(dataIndex,dataType);var edge=nodeData.graph.getEdgeByIndex(dataIndex);var sourceName=nodeData.getName(edge.node1.dataIndex);var targetName=nodeData.getName(edge.node2.dataIndex);var html=[];sourceName!=null&&html.push(sourceName);targetName!=null&&html.push(targetName);html=encodeHTML(html.join(' > '));if(params.value){html+=' : '+encodeHTML(params.value)}return html}else{return GraphSeries.superApply(this,'formatTooltip',arguments)}},_updateCategoriesData:function(){var categories=map(this.option.categories||[],function(category){return category.value!=null?category:extend({value:0},category)});var categoriesData=new List(['value'],this);categoriesData.initData(categories);this._categoriesData=categoriesData;this._categoriesModels=categoriesData.mapArray(function(idx){return categoriesData.getItemModel(idx,true)})},setZoom:function(zoom){this.option.zoom=zoom},setCenter:function(center){this.option.center=center},isAnimationEnabled:function(){return GraphSeries.superCall(this,'isAnimationEnabled')&&!(this.get('layout')==='force'&&this.get('force.layoutAnimation'))},defaultOption:{zlevel:0,z:2,coordinateSystem:'view',legendHoverLink:true,hoverAnimation:true,layout:null,focusNodeAdjacency:false,circular:{rotateLabel:false},force:{initLayout:null,repulsion:[0,50],gravity:0.1,friction:0.6,edgeLength:30,layoutAnimation:true},left:'center',top:'center',symbol:'circle',symbolSize:10,edgeSymbol:['none','none'],edgeSymbolSize:10,edgeLabel:{position:'middle',distance:5},draggable:false,roam:false,center:null,zoom:1,nodeScaleRatio:0.6,label:{show:false,formatter:'{b}'},itemStyle:{},lineStyle:{color:'#aaa',width:1,curveness:0,opacity:0.5},emphasis:{label:{show:true}}}});var straightLineProto=Line.prototype;var bezierCurveProto=BezierCurve.prototype;function isLine(shape){return isNaN(+shape.cpx1)||isNaN(+shape.cpy1)}var LinePath=extendShape({type:'ec-line',style:{stroke:'#000',fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(ctx,shape){this[isLine(shape)?'_buildPathLine':'_buildPathCurve'](ctx,shape)},_buildPathLine:straightLineProto.buildPath,_buildPathCurve:bezierCurveProto.buildPath,pointAt:function(t){return this[isLine(this.shape)?'_pointAtLine':'_pointAtCurve'](t)},_pointAtLine:straightLineProto.pointAt,_pointAtCurve:bezierCurveProto.pointAt,tangentAt:function(t){var shape=this.shape;var p=isLine(shape)?[shape.x2-shape.x1,shape.y2-shape.y1]:this._tangentAtCurve(t);return normalize(p,p)},_tangentAtCurve:bezierCurveProto.tangentAt});var SYMBOL_CATEGORIES=['fromSymbol','toSymbol'];function makeSymbolTypeKey(symbolCategory){return'_'+symbolCategory+'Type'}function createSymbol$1(name,lineData,idx){var color=lineData.getItemVisual(idx,'color');var symbolType=lineData.getItemVisual(idx,name);var symbolSize=lineData.getItemVisual(idx,name+'Size');if(!symbolType||symbolType==='none'){return}if(!isArray(symbolSize)){symbolSize=[symbolSize,symbolSize]}var symbolPath=createSymbol(symbolType,-symbolSize[0]/2,-symbolSize[1]/2,symbolSize[0],symbolSize[1],color);symbolPath.name=name;return symbolPath}function createLine(points){var line=new LinePath({name:'line',subPixelOptimize:true});setLinePoints(line.shape,points);return line}function setLinePoints(targetShape,points){targetShape.x1=points[0][0];targetShape.y1=points[0][1];targetShape.x2=points[1][0];targetShape.y2=points[1][1];targetShape.percent=1;var cp1=points[2];if(cp1){targetShape.cpx1=cp1[0];targetShape.cpy1=cp1[1]}else{targetShape.cpx1=NaN;targetShape.cpy1=NaN}}function updateSymbolAndLabelBeforeLineUpdate(){var lineGroup=this;var symbolFrom=lineGroup.childOfName('fromSymbol');var symbolTo=lineGroup.childOfName('toSymbol');var label=lineGroup.childOfName('label');if(!symbolFrom&&!symbolTo&&label.ignore){return}var invScale=1;var parentNode=this.parent;while(parentNode){if(parentNode.scale){invScale/=parentNode.scale[0]}parentNode=parentNode.parent}var line=lineGroup.childOfName('line');if(!this.__dirty&&!line.__dirty){return}var percent=line.shape.percent;var fromPos=line.pointAt(0);var toPos=line.pointAt(percent);var d=sub([],toPos,fromPos);normalize(d,d);if(symbolFrom){symbolFrom.attr('position',fromPos);var tangent=line.tangentAt(0);symbolFrom.attr('rotation',Math.PI/2-Math.atan2(tangent[1],tangent[0]));symbolFrom.attr('scale',[invScale*percent,invScale*percent])}if(symbolTo){symbolTo.attr('position',toPos);var tangent=line.tangentAt(1);symbolTo.attr('rotation',-Math.PI/2-Math.atan2(tangent[1],tangent[0]));symbolTo.attr('scale',[invScale*percent,invScale*percent])}if(!label.ignore){label.attr('position',toPos);var textPosition;var textAlign;var textVerticalAlign;var textOrigin;var distance$$1=label.__labelDistance;var distanceX=distance$$1[0]*invScale;var distanceY=distance$$1[1]*invScale;var halfPercent=percent/2;var tangent=line.tangentAt(halfPercent);var n=[tangent[1],-tangent[0]];var cp=line.pointAt(halfPercent);if(n[1]>0){n[0]=-n[0];n[1]=-n[1]}var dir=tangent[0]<0?-1:1;if(label.__position!=='start'&&label.__position!=='end'){var rotation=-Math.atan2(tangent[1],tangent[0]);if(toPos[0]0.8?'left':(d[0]<-0.8?'right':'center');textVerticalAlign=d[1]>0.8?'top':(d[1]<-0.8?'bottom':'middle');break;case'start':textPosition=[-d[0]*distanceX+fromPos[0],-d[1]*distanceY+fromPos[1]];textAlign=d[0]>0.8?'right':(d[0]<-0.8?'left':'center');textVerticalAlign=d[1]>0.8?'bottom':(d[1]<-0.8?'top':'middle');break;case'insideStartTop':case'insideStart':case'insideStartBottom':textPosition=[distanceX*dir+fromPos[0],fromPos[1]+dy];textAlign=tangent[0]<0?'right':'left';textOrigin=[-distanceX*dir,-dy];break;case'insideMiddleTop':case'insideMiddle':case'insideMiddleBottom':case'middle':textPosition=[cp[0],cp[1]+dy];textAlign='center';textOrigin=[0,-dy];break;case'insideEndTop':case'insideEnd':case'insideEndBottom':textPosition=[-distanceX*dir+toPos[0],toPos[1]+dy];textAlign=tangent[0]>=0?'right':'left';textOrigin=[distanceX*dir,-dy];break}label.attr({style:{textVerticalAlign:label.__verticalAlign||textVerticalAlign,textAlign:label.__textAlign||textAlign},position:textPosition,scale:[invScale,invScale],origin:textOrigin})}}function Line$1(lineData,idx,seriesScope){Group.call(this);this._createLine(lineData,idx,seriesScope)}var lineProto=Line$1.prototype;lineProto.beforeUpdate=updateSymbolAndLabelBeforeLineUpdate;lineProto._createLine=function(lineData,idx,seriesScope){var seriesModel=lineData.hostModel;var linePoints=lineData.getItemLayout(idx);var line=createLine(linePoints);line.shape.percent=0;initProps(line,{shape:{percent:1}},seriesModel,idx);this.add(line);var label=new Text({name:'label',lineLabelOriginalOpacity:1});this.add(label);each$1(SYMBOL_CATEGORIES,function(symbolCategory){var symbol=createSymbol$1(symbolCategory,lineData,idx);this.add(symbol);this[makeSymbolTypeKey(symbolCategory)]=lineData.getItemVisual(idx,symbolCategory)},this);this._updateCommonStl(lineData,idx,seriesScope)};lineProto.updateData=function(lineData,idx,seriesScope){var seriesModel=lineData.hostModel;var line=this.childOfName('line');var linePoints=lineData.getItemLayout(idx);var target={shape:{}};setLinePoints(target.shape,linePoints);updateProps(line,target,seriesModel,idx);each$1(SYMBOL_CATEGORIES,function(symbolCategory){var symbolType=lineData.getItemVisual(idx,symbolCategory);var key=makeSymbolTypeKey(symbolCategory);if(this[key]!==symbolType){this.remove(this.childOfName(symbolCategory));var symbol=createSymbol$1(symbolCategory,lineData,idx);this.add(symbol)}this[key]=symbolType},this);this._updateCommonStl(lineData,idx,seriesScope)};lineProto._updateCommonStl=function(lineData,idx,seriesScope){var seriesModel=lineData.hostModel;var line=this.childOfName('line');var lineStyle=seriesScope&&seriesScope.lineStyle;var hoverLineStyle=seriesScope&&seriesScope.hoverLineStyle;var labelModel=seriesScope&&seriesScope.labelModel;var hoverLabelModel=seriesScope&&seriesScope.hoverLabelModel;if(!seriesScope||lineData.hasItemOption){var itemModel=lineData.getItemModel(idx);lineStyle=itemModel.getModel('lineStyle').getLineStyle();hoverLineStyle=itemModel.getModel('emphasis.lineStyle').getLineStyle();labelModel=itemModel.getModel('label');hoverLabelModel=itemModel.getModel('emphasis.label')}var visualColor=lineData.getItemVisual(idx,'color');var visualOpacity=retrieve3(lineData.getItemVisual(idx,'opacity'),lineStyle.opacity,1);line.useStyle(defaults({strokeNoScale:true,fill:'none',stroke:visualColor,opacity:visualOpacity},lineStyle));line.hoverStyle=hoverLineStyle;each$1(SYMBOL_CATEGORIES,function(symbolCategory){var symbol=this.childOfName(symbolCategory);if(symbol){symbol.setColor(visualColor);symbol.setStyle({opacity:visualOpacity})}},this);var showLabel=labelModel.getShallow('show');var hoverShowLabel=hoverLabelModel.getShallow('show');var label=this.childOfName('label');var defaultLabelColor;var baseText;if(showLabel||hoverShowLabel){defaultLabelColor=visualColor||'#000';baseText=seriesModel.getFormattedLabel(idx,'normal',lineData.dataType);if(baseText==null){var rawVal=seriesModel.getRawValue(idx);baseText=rawVal==null?lineData.getName(idx):isFinite(rawVal)?round$1(rawVal):rawVal}}var normalText=showLabel?baseText:null;var emphasisText=hoverShowLabel?retrieve2(seriesModel.getFormattedLabel(idx,'emphasis',lineData.dataType),baseText):null;var labelStyle=label.style;if(normalText!=null||emphasisText!=null){setTextStyle(label.style,labelModel,{text:normalText},{autoColor:defaultLabelColor});label.__textAlign=labelStyle.textAlign;label.__verticalAlign=labelStyle.textVerticalAlign;label.__position=labelModel.get('position')||'middle';var distance$$1=labelModel.get('distance');if(!isArray(distance$$1)){distance$$1=[distance$$1,distance$$1]}label.__labelDistance=distance$$1}if(emphasisText!=null){label.hoverStyle={text:emphasisText,textFill:hoverLabelModel.getTextColor(true),fontStyle:hoverLabelModel.getShallow('fontStyle'),fontWeight:hoverLabelModel.getShallow('fontWeight'),fontSize:hoverLabelModel.getShallow('fontSize'),fontFamily:hoverLabelModel.getShallow('fontFamily')}}else{label.hoverStyle={text:null}}label.ignore=!showLabel&&!hoverShowLabel;setHoverStyle(this)};lineProto.highlight=function(){this.trigger('emphasis')};lineProto.downplay=function(){this.trigger('normal')};lineProto.updateLayout=function(lineData,idx){this.setLinePoints(lineData.getItemLayout(idx))};lineProto.setLinePoints=function(points){var linePath=this.childOfName('line');setLinePoints(linePath.shape,points);linePath.dirty()};inherits(Line$1,Group);function LineDraw(ctor){this._ctor=ctor||Line$1;this.group=new Group()}var lineDrawProto=LineDraw.prototype;lineDrawProto.isPersistent=function(){return true};lineDrawProto.updateData=function(lineData){var lineDraw=this;var group=lineDraw.group;var oldLineData=lineDraw._lineData;lineDraw._lineData=lineData;if(!oldLineData){group.removeAll()}var seriesScope=makeSeriesScope$1(lineData);lineData.diff(oldLineData).add(function(idx){doAdd(lineDraw,lineData,idx,seriesScope)}).update(function(newIdx,oldIdx){doUpdate(lineDraw,oldLineData,lineData,oldIdx,newIdx,seriesScope)}).remove(function(idx){group.remove(oldLineData.getItemGraphicEl(idx))}).execute()};function doAdd(lineDraw,lineData,idx,seriesScope){var itemLayout=lineData.getItemLayout(idx);if(!lineNeedsDraw(itemLayout)){return}var el=new lineDraw._ctor(lineData,idx,seriesScope);lineData.setItemGraphicEl(idx,el);lineDraw.group.add(el)}function doUpdate(lineDraw,oldLineData,newLineData,oldIdx,newIdx,seriesScope){var itemEl=oldLineData.getItemGraphicEl(oldIdx);if(!lineNeedsDraw(newLineData.getItemLayout(newIdx))){lineDraw.group.remove(itemEl);return}if(!itemEl){itemEl=new lineDraw._ctor(newLineData,newIdx,seriesScope)}else{itemEl.updateData(newLineData,newIdx,seriesScope)}newLineData.setItemGraphicEl(newIdx,itemEl);lineDraw.group.add(itemEl)}lineDrawProto.updateLayout=function(){var lineData=this._lineData;if(!lineData){return}lineData.eachItemGraphicEl(function(el,idx){el.updateLayout(lineData,idx)},this)};lineDrawProto.incrementalPrepareUpdate=function(lineData){this._seriesScope=makeSeriesScope$1(lineData);this._lineData=null;this.group.removeAll()};function isEffectObject(el){return el.animators&&el.animators.length>0}lineDrawProto.incrementalUpdate=function(taskParams,lineData){function updateIncrementalAndHover(el){if(!el.isGroup&&!isEffectObject(el)){el.incremental=el.useHoverLayer=true}}for(var idx=taskParams.start;idx=0){t=t+interval}else{t=t-interval}}else{if(nextDiff>=0){t=t-interval}else{t=t+interval}}}return t}var adjustEdge=function(graph,scale$$1){var tmp0=[];var quadraticSubdivide$$1=quadraticSubdivide;var pts=[[],[],[]];var pts2=[[],[]];var v=[];scale$$1/=2;graph.eachEdge(function(edge,idx){var linePoints=edge.getLayout();var fromSymbol=edge.getVisual('fromSymbol');var toSymbol=edge.getVisual('toSymbol');if(!linePoints.__original){linePoints.__original=[clone$1(linePoints[0]),clone$1(linePoints[1])];if(linePoints[2]){linePoints.__original.push(clone$1(linePoints[2]))}}var originalPoints=linePoints.__original;if(linePoints[2]!=null){copy(pts[0],originalPoints[0]);copy(pts[1],originalPoints[2]);copy(pts[2],originalPoints[1]);if(fromSymbol&&fromSymbol!=='none'){var symbolSize=getSymbolSize$1(edge.node1);var t=intersectCurveCircle(pts,originalPoints[0],symbolSize*scale$$1);quadraticSubdivide$$1(pts[0][0],pts[1][0],pts[2][0],t,tmp0);pts[0][0]=tmp0[3];pts[1][0]=tmp0[4];quadraticSubdivide$$1(pts[0][1],pts[1][1],pts[2][1],t,tmp0);pts[0][1]=tmp0[3];pts[1][1]=tmp0[4]}if(toSymbol&&toSymbol!=='none'){var symbolSize=getSymbolSize$1(edge.node2);var t=intersectCurveCircle(pts,originalPoints[1],symbolSize*scale$$1);quadraticSubdivide$$1(pts[0][0],pts[1][0],pts[2][0],t,tmp0);pts[1][0]=tmp0[1];pts[2][0]=tmp0[2];quadraticSubdivide$$1(pts[0][1],pts[1][1],pts[2][1],t,tmp0);pts[1][1]=tmp0[1];pts[2][1]=tmp0[2]}copy(linePoints[0],pts[0]);copy(linePoints[1],pts[2]);copy(linePoints[2],pts[1])}else{copy(pts2[0],originalPoints[0]);copy(pts2[1],originalPoints[1]);sub(v,pts2[1],pts2[0]);normalize(v,v);if(fromSymbol&&fromSymbol!=='none'){var symbolSize=getSymbolSize$1(edge.node1);scaleAndAdd(pts2[0],pts2[0],v,symbolSize*scale$$1)}if(toSymbol&&toSymbol!=='none'){var symbolSize=getSymbolSize$1(edge.node2);scaleAndAdd(pts2[1],pts2[1],v,-symbolSize*scale$$1)}copy(linePoints[0],pts2[0]);copy(linePoints[1],pts2[1])}})};var FOCUS_ADJACENCY='__focusNodeAdjacency';var UNFOCUS_ADJACENCY='__unfocusNodeAdjacency';var nodeOpacityPath=['itemStyle','opacity'];var lineOpacityPath=['lineStyle','opacity'];function getItemOpacity(item,opacityPath){var opacity=item.getVisual('opacity');return opacity!=null?opacity:item.getModel().get(opacityPath)}function fadeOutItem(item,opacityPath,opacityRatio){var el=item.getGraphicEl();var opacity=getItemOpacity(item,opacityPath);if(opacityRatio!=null){opacity==null&&(opacity=1);opacity*=opacityRatio}el.downplay&&el.downplay();el.traverse(function(child){if(!child.isGroup){var opct=child.lineLabelOriginalOpacity;if(opct==null||opacityRatio!=null){opct=opacity}child.setStyle('opacity',opct)}})}function fadeInItem(item,opacityPath){var opacity=getItemOpacity(item,opacityPath);var el=item.getGraphicEl();el.traverse(function(child){!child.isGroup&&child.setStyle('opacity',opacity)});el.highlight&&el.highlight()}extendChartView({type:'graph',init:function(ecModel,api){var symbolDraw=new SymbolDraw();var lineDraw=new LineDraw();var group=this.group;this._controller=new RoamController(api.getZr());this._controllerHost={target:group};group.add(symbolDraw.group);group.add(lineDraw.group);this._symbolDraw=symbolDraw;this._lineDraw=lineDraw;this._firstRender=true},render:function(seriesModel,ecModel,api){var graphView=this;var coordSys=seriesModel.coordinateSystem;this._model=seriesModel;var symbolDraw=this._symbolDraw;var lineDraw=this._lineDraw;var group=this.group;if(coordSys.type==='view'){var groupNewProp={position:coordSys.position,scale:coordSys.scale};if(this._firstRender){group.attr(groupNewProp)}else{updateProps(group,groupNewProp,seriesModel)}}adjustEdge(seriesModel.getGraph(),getNodeGlobalScale(seriesModel));var data=seriesModel.getData();symbolDraw.updateData(data);var edgeData=seriesModel.getEdgeData();lineDraw.updateData(edgeData);this._updateNodeAndLinkScale();this._updateController(seriesModel,ecModel,api);clearTimeout(this._layoutTimeout);var forceLayout=seriesModel.forceLayout;var layoutAnimation=seriesModel.get('force.layoutAnimation');if(forceLayout){this._startForceLayoutIteration(forceLayout,layoutAnimation)}data.eachItemGraphicEl(function(el,idx){var itemModel=data.getItemModel(idx);el.off('drag').off('dragend');var draggable=itemModel.get('draggable');if(draggable){el.on('drag',function(){if(forceLayout){forceLayout.warmUp();!this._layouting&&this._startForceLayoutIteration(forceLayout,layoutAnimation);forceLayout.setFixed(idx);data.setItemLayout(idx,el.position)}},this).on('dragend',function(){if(forceLayout){forceLayout.setUnfixed(idx)}},this)}el.setDraggable(draggable&&forceLayout);el[FOCUS_ADJACENCY]&&el.off('mouseover',el[FOCUS_ADJACENCY]);el[UNFOCUS_ADJACENCY]&&el.off('mouseout',el[UNFOCUS_ADJACENCY]);if(itemModel.get('focusNodeAdjacency')){el.on('mouseover',el[FOCUS_ADJACENCY]=function(){graphView._clearTimer();api.dispatchAction({type:'focusNodeAdjacency',seriesId:seriesModel.id,dataIndex:el.dataIndex})});el.on('mouseout',el[UNFOCUS_ADJACENCY]=function(){graphView._dispatchUnfocus(api)})}},this);data.graph.eachEdge(function(edge){var el=edge.getGraphicEl();el[FOCUS_ADJACENCY]&&el.off('mouseover',el[FOCUS_ADJACENCY]);el[UNFOCUS_ADJACENCY]&&el.off('mouseout',el[UNFOCUS_ADJACENCY]);if(edge.getModel().get('focusNodeAdjacency')){el.on('mouseover',el[FOCUS_ADJACENCY]=function(){graphView._clearTimer();api.dispatchAction({type:'focusNodeAdjacency',seriesId:seriesModel.id,edgeDataIndex:edge.dataIndex})});el.on('mouseout',el[UNFOCUS_ADJACENCY]=function(){graphView._dispatchUnfocus(api)})}});var circularRotateLabel=seriesModel.get('layout')==='circular'&&seriesModel.get('circular.rotateLabel');var cx=data.getLayout('cx');var cy=data.getLayout('cy');data.eachItemGraphicEl(function(el,idx){var itemModel=data.getItemModel(idx);var labelRotate=itemModel.get('label.rotate')||0;var symbolPath=el.getSymbolPath();if(circularRotateLabel){var pos=data.getItemLayout(idx);var rad=Math.atan2(pos[1]-cy,pos[0]-cx);if(rad<0){rad=Math.PI*2+rad}var isLeft=pos[0]=r/3?1:2);var y=shape.y-mathSin(angle)*width*(width>=r/3?1:2);angle=shape.angle-Math.PI/2;ctx.moveTo(x,y);ctx.lineTo(shape.x+mathCos(angle)*width,shape.y+mathSin(angle)*width);ctx.lineTo(shape.x+mathCos(shape.angle)*r,shape.y+mathSin(shape.angle)*r);ctx.lineTo(shape.x-mathCos(angle)*width,shape.y-mathSin(angle)*width);ctx.lineTo(x,y);return}});function parsePosition(seriesModel,api){var center=seriesModel.get('center');var width=api.getWidth();var height=api.getHeight();var size=Math.min(width,height);var cx=parsePercent$1(center[0],api.getWidth());var cy=parsePercent$1(center[1],api.getHeight());var r=parsePercent$1(seriesModel.get('radius'),size/2);return{cx:cx,cy:cy,r:r}}function formatLabel(label,labelFormatter){if(labelFormatter){if(typeof labelFormatter==='string'){label=labelFormatter.replace('{value}',label!=null?label:'')}else if(typeof labelFormatter==='function'){label=labelFormatter(label)}}return label}var PI2$5=Math.PI*2;var GaugeView=Chart.extend({type:'gauge',render:function(seriesModel,ecModel,api){this.group.removeAll();var colorList=seriesModel.get('axisLine.lineStyle.color');var posInfo=parsePosition(seriesModel,api);this._renderMain(seriesModel,ecModel,api,colorList,posInfo)},dispose:function(){},_renderMain:function(seriesModel,ecModel,api,colorList,posInfo){var group=this.group;var axisLineModel=seriesModel.getModel('axisLine');var lineStyleModel=axisLineModel.getModel('lineStyle');var clockwise=seriesModel.get('clockwise');var startAngle=-seriesModel.get('startAngle')/180*Math.PI;var endAngle=-seriesModel.get('endAngle')/180*Math.PI;var angleRangeSpan=(endAngle-startAngle)%PI2$5;var prevEndAngle=startAngle;var axisLineWidth=lineStyleModel.get('width');var showAxis=axisLineModel.get('show');for(var i=0;showAxis&&i=percent&&(i===0?0:colorList[i-1][0])0.4?'bottom':'middle'),textAlign:unitX<-0.4?'left':(unitX>0.4?'right':'center')},{autoColor:autoColor}),silent:true}))}if(tickModel.get('show')&&i!==splitNumber){for(var j=0;j<=subSplitNumber;j++){var unitX=Math.cos(angle);var unitY=Math.sin(angle);var tickLine=new Line({shape:{x1:unitX*r+cx,y1:unitY*r+cy,x2:unitX*(r-tickLen)+cx,y2:unitY*(r-tickLen)+cy},silent:true,style:tickLineStyle});if(tickLineStyle.stroke==='auto'){tickLine.setStyle({stroke:getColor((i+j/subSplitNumber)/splitNumber)})}group.add(tickLine);angle+=subStep}angle-=subStep}else{angle+=step}}},_renderPointer:function(seriesModel,ecModel,api,getColor,posInfo,startAngle,endAngle,clockwise){var group=this.group;var oldData=this._data;if(!seriesModel.get('pointer.show')){oldData&&oldData.eachItemGraphicEl(function(el){group.remove(el)});return}var valueExtent=[+seriesModel.get('min'),+seriesModel.get('max')];var angleExtent=[startAngle,endAngle];var data=seriesModel.getData();var valueDim=data.mapDimension('value');data.diff(oldData).add(function(idx){var pointer=new PointerPath({shape:{angle:startAngle}});initProps(pointer,{shape:{angle:linearMap(data.get(valueDim,idx),valueExtent,angleExtent,true)}},seriesModel);group.add(pointer);data.setItemGraphicEl(idx,pointer)}).update(function(newIdx,oldIdx){var pointer=oldData.getItemGraphicEl(oldIdx);updateProps(pointer,{shape:{angle:linearMap(data.get(valueDim,newIdx),valueExtent,angleExtent,true)}},seriesModel);group.add(pointer);data.setItemGraphicEl(newIdx,pointer)}).remove(function(idx){var pointer=oldData.getItemGraphicEl(idx);group.remove(pointer)}).execute();data.eachItemGraphicEl(function(pointer,idx){var itemModel=data.getItemModel(idx);var pointerModel=itemModel.getModel('pointer');pointer.setShape({x:posInfo.cx,y:posInfo.cy,width:parsePercent$1(pointerModel.get('width'),posInfo.r),r:parsePercent$1(pointerModel.get('length'),posInfo.r)});pointer.useStyle(itemModel.getModel('itemStyle').getItemStyle());if(pointer.style.fill==='auto'){pointer.setStyle('fill',getColor(linearMap(data.get(valueDim,idx),valueExtent,[0,1],true)))}setHoverStyle(pointer,itemModel.getModel('emphasis.itemStyle').getItemStyle())});this._data=data},_renderTitle:function(seriesModel,ecModel,api,getColor,posInfo){var data=seriesModel.getData();var valueDim=data.mapDimension('value');var titleModel=seriesModel.getModel('title');if(titleModel.get('show')){var offsetCenter=titleModel.get('offsetCenter');var x=posInfo.cx+parsePercent$1(offsetCenter[0],posInfo.r);var y=posInfo.cy+parsePercent$1(offsetCenter[1],posInfo.r);var minVal=+seriesModel.get('min');var maxVal=+seriesModel.get('max');var value=seriesModel.getData().get(valueDim,0);var autoColor=getColor(linearMap(value,[minVal,maxVal],[0,1],true));this.group.add(new Text({silent:true,style:setTextStyle({},titleModel,{x:x,y:y,text:data.getName(0),textAlign:'center',textVerticalAlign:'middle'},{autoColor:autoColor,forceRich:true})}))}},_renderDetail:function(seriesModel,ecModel,api,getColor,posInfo){var detailModel=seriesModel.getModel('detail');var minVal=+seriesModel.get('min');var maxVal=+seriesModel.get('max');if(detailModel.get('show')){var offsetCenter=detailModel.get('offsetCenter');var x=posInfo.cx+parsePercent$1(offsetCenter[0],posInfo.r);var y=posInfo.cy+parsePercent$1(offsetCenter[1],posInfo.r);var width=parsePercent$1(detailModel.get('width'),posInfo.r);var height=parsePercent$1(detailModel.get('height'),posInfo.r);var data=seriesModel.getData();var value=data.get(data.mapDimension('value'),0);var autoColor=getColor(linearMap(value,[minVal,maxVal],[0,1],true));this.group.add(new Text({silent:true,style:setTextStyle({},detailModel,{x:x,y:y,text:formatLabel(value,detailModel.get('formatter')),textWidth:isNaN(width)?null:width,textHeight:isNaN(height)?null:height,textAlign:'center',textVerticalAlign:'middle'},{autoColor:autoColor,forceRich:true})}))}}});var FunnelSeries=extendSeriesModel({type:'series.funnel',init:function(option){FunnelSeries.superApply(this,'init',arguments);this.legendVisualProvider=new LegendVisualProvider(bind(this.getData,this),bind(this.getRawData,this));this._defaultLabelLine(option)},getInitialData:function(option,ecModel){return createListSimply(this,{coordDimensions:['value'],encodeDefaulter:curry(makeSeriesEncodeForNameBased,this)})},_defaultLabelLine:function(option){defaultEmphasis(option,'labelLine',['show']);var labelLineNormalOpt=option.labelLine;var labelLineEmphasisOpt=option.emphasis.labelLine;labelLineNormalOpt.show=labelLineNormalOpt.show&&option.label.show;labelLineEmphasisOpt.show=labelLineEmphasisOpt.show&&option.emphasis.label.show},getDataParams:function(dataIndex){var data=this.getData();var params=FunnelSeries.superCall(this,'getDataParams',dataIndex);var valueDim=data.mapDimension('value');var sum=data.getSum(valueDim);params.percent=!sum?0:+(data.get(valueDim,dataIndex)/sum*100).toFixed(2);params.$vars.push('percent');return params},defaultOption:{zlevel:0,z:2,legendHoverLink:true,left:80,top:60,right:80,bottom:60,minSize:'0%',maxSize:'100%',sort:'descending',gap:0,funnelAlign:'center',label:{show:true,position:'outer'},labelLine:{show:true,length:20,lineStyle:{width:1,type:'solid'}},itemStyle:{borderColor:'#fff',borderWidth:1},emphasis:{label:{show:true}}}});function FunnelPiece(data,idx){Group.call(this);var polygon=new Polygon();var labelLine=new Polyline();var text=new Text();this.add(polygon);this.add(labelLine);this.add(text);this.highDownOnUpdate=function(fromState,toState){if(toState==='emphasis'){labelLine.ignore=labelLine.hoverIgnore;text.ignore=text.hoverIgnore}else{labelLine.ignore=labelLine.normalIgnore;text.ignore=text.normalIgnore}};this.updateData(data,idx,true)}var funnelPieceProto=FunnelPiece.prototype;var opacityAccessPath=['itemStyle','opacity'];funnelPieceProto.updateData=function(data,idx,firstCreate){var polygon=this.childAt(0);var seriesModel=data.hostModel;var itemModel=data.getItemModel(idx);var layout=data.getItemLayout(idx);var opacity=data.getItemModel(idx).get(opacityAccessPath);opacity=opacity==null?1:opacity;polygon.useStyle({});if(firstCreate){polygon.setShape({points:layout.points});polygon.setStyle({opacity:0});initProps(polygon,{style:{opacity:opacity}},seriesModel,idx)}else{updateProps(polygon,{style:{opacity:opacity},shape:{points:layout.points}},seriesModel,idx)}var itemStyleModel=itemModel.getModel('itemStyle');var visualColor=data.getItemVisual(idx,'color');polygon.setStyle(defaults({lineJoin:'round',fill:visualColor},itemStyleModel.getItemStyle(['opacity'])));polygon.hoverStyle=itemStyleModel.getModel('emphasis').getItemStyle();this._updateLabel(data,idx);setHoverStyle(this)};funnelPieceProto._updateLabel=function(data,idx){var labelLine=this.childAt(1);var labelText=this.childAt(2);var seriesModel=data.hostModel;var itemModel=data.getItemModel(idx);var layout=data.getItemLayout(idx);var labelLayout=layout.label;var visualColor=data.getItemVisual(idx,'color');updateProps(labelLine,{shape:{points:labelLayout.linePoints||labelLayout.linePoints}},seriesModel,idx);updateProps(labelText,{style:{x:labelLayout.x,y:labelLayout.y}},seriesModel,idx);labelText.attr({rotation:labelLayout.rotation,origin:[labelLayout.x,labelLayout.y],z2:10});var labelModel=itemModel.getModel('label');var labelHoverModel=itemModel.getModel('emphasis.label');var labelLineModel=itemModel.getModel('labelLine');var labelLineHoverModel=itemModel.getModel('emphasis.labelLine');var visualColor=data.getItemVisual(idx,'color');setLabelStyle(labelText.style,labelText.hoverStyle={},labelModel,labelHoverModel,{labelFetcher:data.hostModel,labelDataIndex:idx,defaultText:data.getName(idx),autoColor:visualColor,useInsideStyle:!!labelLayout.inside},{textAlign:labelLayout.textAlign,textVerticalAlign:labelLayout.verticalAlign});labelText.ignore=labelText.normalIgnore=!labelModel.get('show');labelText.hoverIgnore=!labelHoverModel.get('show');labelLine.ignore=labelLine.normalIgnore=!labelLineModel.get('show');labelLine.hoverIgnore=!labelLineHoverModel.get('show');labelLine.setStyle({stroke:visualColor});labelLine.setStyle(labelLineModel.getModel('lineStyle').getLineStyle());labelLine.hoverStyle=labelLineHoverModel.getModel('lineStyle').getLineStyle()};inherits(FunnelPiece,Group);var FunnelView=Chart.extend({type:'funnel',render:function(seriesModel,ecModel,api){var data=seriesModel.getData();var oldData=this._data;var group=this.group;data.diff(oldData).add(function(idx){var funnelPiece=new FunnelPiece(data,idx);data.setItemGraphicEl(idx,funnelPiece);group.add(funnelPiece)}).update(function(newIdx,oldIdx){var piePiece=oldData.getItemGraphicEl(oldIdx);piePiece.updateData(data,newIdx);group.add(piePiece);data.setItemGraphicEl(newIdx,piePiece)}).remove(function(idx){var piePiece=oldData.getItemGraphicEl(idx);group.remove(piePiece)}).execute();this._data=data},remove:function(){this.group.removeAll();this._data=null},dispose:function(){}});function getViewRect$3(seriesModel,api){return getLayoutRect(seriesModel.getBoxLayoutParams(),{width:api.getWidth(),height:api.getHeight()})}function getSortedIndices(data,sort){var valueDim=data.mapDimension('value');var valueArr=data.mapArray(valueDim,function(val){return val});var indices=[];var isAscending=sort==='ascending';for(var i=0,len=data.count();imaxSpan){handleEnds[1-handleIndex]=handleEnds[handleIndex]+currDistSign.sign*maxSpan}return handleEnds};function getSpanSign(handleEnds,handleIndex){var dist=handleEnds[handleIndex]-handleEnds[1-handleIndex];return{span:Math.abs(dist),sign:dist>0?-1:dist<0?1:handleIndex?-1:1}}function restrict$1(value,extend){return Math.min(extend[1]!=null?extend[1]:Infinity,Math.max(extend[0]!=null?extend[0]:-Infinity,value))}var each$11=each$1;var mathMin$6=Math.min;var mathMax$6=Math.max;var mathFloor$2=Math.floor;var mathCeil$2=Math.ceil;var round$2=round$1;var PI$4=Math.PI;function Parallel(parallelModel,ecModel,api){this._axesMap=createHashMap();this._axesLayout={};this.dimensions=parallelModel.dimensions;this._rect;this._model=parallelModel;this._init(parallelModel,ecModel,api)}Parallel.prototype={type:'parallel',constructor:Parallel,_init:function(parallelModel,ecModel,api){var dimensions=parallelModel.dimensions;var parallelAxisIndex=parallelModel.parallelAxisIndex;each$11(dimensions,function(dim,idx){var axisIndex=parallelAxisIndex[idx];var axisModel=ecModel.getComponent('parallelAxis',axisIndex);var axis=this._axesMap.set(dim,new ParallelAxis(dim,createScaleByModel(axisModel),[0,0],axisModel.get('type'),axisIndex));var isCategory=axis.type==='category';axis.onBand=isCategory&&axisModel.get('boundaryGap');axis.inverse=axisModel.get('inverse');axisModel.axis=axis;axis.model=axisModel;axis.coordinateSystem=axisModel.coordinateSystem=this},this)},update:function(ecModel,api){this._updateAxesFromSeries(this._model,ecModel)},containPoint:function(point){var layoutInfo=this._makeLayoutInfo();var axisBase=layoutInfo.axisBase;var layoutBase=layoutInfo.layoutBase;var pixelDimIndex=layoutInfo.pixelDimIndex;var pAxis=point[1-pixelDimIndex];var pLayout=point[pixelDimIndex];return pAxis>=axisBase&&pAxis<=axisBase+layoutInfo.axisLength&&pLayout>=layoutBase&&pLayout<=layoutBase+layoutInfo.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(parallelModel,ecModel){ecModel.eachSeries(function(seriesModel){if(!parallelModel.contains(seriesModel,ecModel)){return}var data=seriesModel.getData();each$11(this.dimensions,function(dim){var axis=this._axesMap.get(dim);axis.scale.unionExtentFromData(data,data.mapDimension(dim));niceScaleExtent(axis.scale,axis.model)},this)},this)},resize:function(parallelModel,api){this._rect=getLayoutRect(parallelModel.getBoxLayoutParams(),{width:api.getWidth(),height:api.getHeight()});this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var parallelModel=this._model;var rect=this._rect;var xy=['x','y'];var wh=['width','height'];var layout=parallelModel.get('layout');var pixelDimIndex=layout==='horizontal'?0:1;var layoutLength=rect[wh[pixelDimIndex]];var layoutExtent=[0,layoutLength];var axisCount=this.dimensions.length;var axisExpandWidth=restrict(parallelModel.get('axisExpandWidth'),layoutExtent);var axisExpandCount=restrict(parallelModel.get('axisExpandCount')||0,[0,axisCount]);var axisExpandable=parallelModel.get('axisExpandable')&&axisCount>3&&axisCount>axisExpandCount&&axisExpandCount>1&&axisExpandWidth>0&&layoutLength>0;var axisExpandWindow=parallelModel.get('axisExpandWindow');var winSize;if(!axisExpandWindow){winSize=restrict(axisExpandWidth*(axisExpandCount-1),layoutExtent);var axisExpandCenter=parallelModel.get('axisExpandCenter')||mathFloor$2(axisCount/2);axisExpandWindow=[axisExpandWidth*axisExpandCenter-winSize/2];axisExpandWindow[1]=axisExpandWindow[0]+winSize}else{winSize=restrict(axisExpandWindow[1]-axisExpandWindow[0],layoutExtent);axisExpandWindow[1]=axisExpandWindow[0]+winSize}var axisCollapseWidth=(layoutLength-winSize)/(axisCount-axisExpandCount);axisCollapseWidth<3&&(axisCollapseWidth=0);var winInnerIndices=[mathFloor$2(round$2(axisExpandWindow[0]/axisExpandWidth,1))+1,mathCeil$2(round$2(axisExpandWindow[1]/axisExpandWidth,1))-1];var axisExpandWindow0Pos=axisCollapseWidth/axisExpandWidth*axisExpandWindow[0];return{layout:layout,pixelDimIndex:pixelDimIndex,layoutBase:rect[xy[pixelDimIndex]],layoutLength:layoutLength,axisBase:rect[xy[1-pixelDimIndex]],axisLength:rect[wh[1-pixelDimIndex]],axisExpandable:axisExpandable,axisExpandWidth:axisExpandWidth,axisCollapseWidth:axisCollapseWidth,axisExpandWindow:axisExpandWindow,axisCount:axisCount,winInnerIndices:winInnerIndices,axisExpandWindow0Pos:axisExpandWindow0Pos}},_layoutAxes:function(){var rect=this._rect;var axes=this._axesMap;var dimensions=this.dimensions;var layoutInfo=this._makeLayoutInfo();var layout=layoutInfo.layout;axes.each(function(axis){var axisExtent=[0,layoutInfo.axisLength];var idx=axis.inverse?1:0;axis.setExtent(axisExtent[idx],axisExtent[1-idx])});each$11(dimensions,function(dim,idx){var posInfo=(layoutInfo.axisExpandable?layoutAxisWithExpand:layoutAxisWithoutExpand)(idx,layoutInfo);var positionTable={horizontal:{x:posInfo.position,y:layoutInfo.axisLength},vertical:{x:0,y:posInfo.position}};var rotationTable={horizontal:PI$4/2,vertical:0};var position=[positionTable[layout].x+rect.x,positionTable[layout].y+rect.y];var rotation=rotationTable[layout];var transform=create$1();rotate(transform,transform,rotation);translate(transform,transform,position);this._axesLayout[dim]={position:position,rotation:rotation,transform:transform,axisNameAvailableWidth:posInfo.axisNameAvailableWidth,axisLabelShow:posInfo.axisLabelShow,nameTruncateMaxWidth:posInfo.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},getAxis:function(dim){return this._axesMap.get(dim)},dataToPoint:function(value,dim){return this.axisCoordToPoint(this._axesMap.get(dim).dataToCoord(value),dim)},eachActiveState:function(data,callback,start,end){start==null&&(start=0);end==null&&(end=data.count());var axesMap=this._axesMap;var dimensions=this.dimensions;var dataDimensions=[];var axisModels=[];each$1(dimensions,function(axisDim){dataDimensions.push(data.mapDimension(axisDim));axisModels.push(axesMap.get(axisDim).model)});var hasActiveSet=this.hasAxisBrushed();for(var dataIndex=start;dataIndexwinSize*(1-triggerArea[0])){behavior='jump';delta=pointCoord-winSize*(1-triggerArea[2])}else{(delta=pointCoord-winSize*triggerArea[1])>=0&&(delta=pointCoord-winSize*(1-triggerArea[1]))<=0&&(delta=0)}delta*=layoutInfo.axisExpandWidth/axisCollapseWidth;delta?sliderMove(delta,axisExpandWindow,extent,'all'):(behavior='none')}else{var winSize=axisExpandWindow[1]-axisExpandWindow[0];var pos=extent[1]*pointCoord/winSize;axisExpandWindow=[mathMax$6(0,pos-winSize/2)];axisExpandWindow[1]=mathMin$6(extent[1],axisExpandWindow[0]+winSize);axisExpandWindow[0]=axisExpandWindow[1]-winSize}return{axisExpandWindow:axisExpandWindow,behavior:behavior}}};function restrict(len,extent){return mathMin$6(mathMax$6(len,extent[0]),extent[1])}function layoutAxisWithoutExpand(axisIndex,layoutInfo){var step=layoutInfo.layoutLength/(layoutInfo.axisCount-1);return{position:step*axisIndex,axisNameAvailableWidth:step,axisLabelShow:true}}function layoutAxisWithExpand(axisIndex,layoutInfo){var layoutLength=layoutInfo.layoutLength;var axisExpandWidth=layoutInfo.axisExpandWidth;var axisCount=layoutInfo.axisCount;var axisCollapseWidth=layoutInfo.axisCollapseWidth;var winInnerIndices=layoutInfo.winInnerIndices;var position;var axisNameAvailableWidth=axisCollapseWidth;var axisLabelShow=false;var nameTruncateMaxWidth;if(axisIndex=0;i--){asc(activeIntervals[i])}}},getActiveState:function(value){var activeIntervals=this.activeIntervals;if(!activeIntervals.length){return'normal'}if(value==null||isNaN(value)){return'inactive'}if(activeIntervals.length===1){var interval=activeIntervals[0];if(interval[0]<=value&&value<=interval[1]){return'active'}}else{for(var i=0,len=activeIntervals.length;iUNSELECT_THRESHOLD}function getTrackEnds(track){var tail=track.length-1;tail<0&&(tail=0);return[track[0],track[tail]]}function createBaseRectCover(doDrift,controller,brushOption,edgeNames){var cover=new Group();cover.add(new Rect({name:'main',style:makeStyle(brushOption),silent:true,draggable:true,cursor:'move',drift:curry$2(doDrift,controller,cover,'nswe'),ondragend:curry$2(trigger$1,controller,{isEnd:true})}));each$12(edgeNames,function(name){cover.add(new Rect({name:name,style:{opacity:0},draggable:true,silent:true,invisible:true,drift:curry$2(doDrift,controller,cover,name),ondragend:curry$2(trigger$1,controller,{isEnd:true})}))});return cover}function updateBaseRect(controller,cover,localRange,brushOption){var lineWidth=brushOption.brushStyle.lineWidth||0;var handleSize=mathMax$7(lineWidth,MIN_RESIZE_LINE_WIDTH);var x=localRange[0][0];var y=localRange[1][0];var xa=x-lineWidth/2;var ya=y-lineWidth/2;var x2=localRange[0][1];var y2=localRange[1][1];var x2a=x2-handleSize+lineWidth/2;var y2a=y2-handleSize+lineWidth/2;var width=x2-x;var height=y2-y;var widtha=width+lineWidth;var heighta=height+lineWidth;updateRectShape(controller,cover,'main',x,y,width,height);if(brushOption.transformable){updateRectShape(controller,cover,'w',xa,ya,handleSize,heighta);updateRectShape(controller,cover,'e',x2a,ya,handleSize,heighta);updateRectShape(controller,cover,'n',xa,ya,widtha,handleSize);updateRectShape(controller,cover,'s',xa,y2a,widtha,handleSize);updateRectShape(controller,cover,'nw',xa,ya,handleSize,handleSize);updateRectShape(controller,cover,'ne',x2a,ya,handleSize,handleSize);updateRectShape(controller,cover,'sw',xa,y2a,handleSize,handleSize);updateRectShape(controller,cover,'se',x2a,y2a,handleSize,handleSize)}}function updateCommon(controller,cover){var brushOption=cover.__brushOption;var transformable=brushOption.transformable;var mainEl=cover.childAt(0);mainEl.useStyle(makeStyle(brushOption));mainEl.attr({silent:!transformable,cursor:transformable?'move':'default'});each$12(['w','e','n','s','se','sw','ne','nw'],function(name){var el=cover.childOfName(name);var globalDir=getGlobalDirection(controller,name);el&&el.attr({silent:!transformable,invisible:!transformable,cursor:transformable?CURSOR_MAP[globalDir]+'-resize':null})})}function updateRectShape(controller,cover,name,x,y,w,h){var el=cover.childOfName(name);el&&el.setShape(pointsToRect(clipByPanel(controller,cover,[[x,y],[x+w,y+h]])))}function makeStyle(brushOption){return defaults({strokeNoScale:true},brushOption.brushStyle)}function formatRectRange(x,y,x2,y2){var min=[mathMin$7(x,x2),mathMin$7(y,y2)];var max=[mathMax$7(x,x2),mathMax$7(y,y2)];return[[min[0],max[0]],[min[1],max[1]]]}function getTransform$1(controller){return getTransform(controller.group)}function getGlobalDirection(controller,localDirection){if(localDirection.length>1){localDirection=localDirection.split('');var globalDir=[getGlobalDirection(controller,localDirection[0]),getGlobalDirection(controller,localDirection[1])];(globalDir[0]==='e'||globalDir[0]==='w')&&globalDir.reverse();return globalDir.join('')}else{var map$$1={w:'left',e:'right',n:'top',s:'bottom'};var inverseMap={left:'w',right:'e',top:'n',bottom:'s'};var globalDir=transformDirection(map$$1[localDirection],getTransform$1(controller));return inverseMap[globalDir]}}function driftRect(toRectRange,fromRectRange,controller,cover,name,dx,dy,e){var brushOption=cover.__brushOption;var rectRange=toRectRange(brushOption.range);var localDelta=toLocalDelta(controller,dx,dy);each$12(name.split(''),function(namePart){var ind=DIRECTION_MAP[namePart];rectRange[ind[0]][ind[1]]+=localDelta[ind[0]]});brushOption.range=fromRectRange(formatRectRange(rectRange[0][0],rectRange[1][0],rectRange[0][1],rectRange[1][1]));updateCoverAfterCreation(controller,cover);trigger$1(controller,{isEnd:false})}function driftPolygon(controller,cover,dx,dy,e){var range=cover.__brushOption.range;var localDelta=toLocalDelta(controller,dx,dy);each$12(range,function(point){point[0]+=localDelta[0];point[1]+=localDelta[1]});updateCoverAfterCreation(controller,cover);trigger$1(controller,{isEnd:false})}function toLocalDelta(controller,dx,dy){var thisGroup=controller.group;var localD=thisGroup.transformCoordToLocal(dx,dy);var localZero=thisGroup.transformCoordToLocal(0,0);return[localD[0]-localZero[0],localD[1]-localZero[1]]}function clipByPanel(controller,cover,data){var panel=getPanelByCover(controller,cover);return(panel&&panel!==true)?panel.clipPath(data,controller._transform):clone(data)}function pointsToRect(points){var xmin=mathMin$7(points[0][0],points[1][0]);var ymin=mathMin$7(points[0][1],points[1][1]);var xmax=mathMax$7(points[0][0],points[1][0]);var ymax=mathMax$7(points[0][1],points[1][1]);return{x:xmin,y:ymin,width:xmax-xmin,height:ymax-ymin}}function resetCursor(controller,e,localCursorPoint){if(!controller._brushType||isOutsideZrArea(controller,e)){return}var zr=controller._zr;var covers=controller._covers;var currPanel=getPanelByPoint(controller,e,localCursorPoint);if(!controller._dragging){for(var i=0;izr.getWidth()||y<0||y>zr.getHeight()}var coverRenderers={lineX:getLineRenderer(0),lineY:getLineRenderer(1),rect:{createCover:function(controller,brushOption){return createBaseRectCover(curry$2(driftRect,function(range){return range},function(range){return range}),controller,brushOption,['w','e','n','s','se','sw','ne','nw'])},getCreatingRange:function(localTrack){var ends=getTrackEnds(localTrack);return formatRectRange(ends[1][0],ends[1][1],ends[0][0],ends[0][1])},updateCoverShape:function(controller,cover,localRange,brushOption){updateBaseRect(controller,cover,localRange,brushOption)},updateCommon:updateCommon,contain:mainShapeContain},polygon:{createCover:function(controller,brushOption){var cover=new Group();cover.add(new Polyline({name:'main',style:makeStyle(brushOption),silent:true}));return cover},getCreatingRange:function(localTrack){return localTrack},endCreating:function(controller,cover){cover.remove(cover.childAt(0));cover.add(new Polygon({name:'main',draggable:true,drift:curry$2(driftPolygon,controller,cover),ondragend:curry$2(trigger$1,controller,{isEnd:true})}))},updateCoverShape:function(controller,cover,localRange,brushOption){cover.childAt(0).setShape({points:clipByPanel(controller,cover,localRange)})},updateCommon:updateCommon,contain:mainShapeContain}};function getLineRenderer(xyIndex){return{createCover:function(controller,brushOption){return createBaseRectCover(curry$2(driftRect,function(range){var rectRange=[range,[0,100]];xyIndex&&rectRange.reverse();return rectRange},function(rectRange){return rectRange[xyIndex]}),controller,brushOption,[['w','e'],['n','s']][xyIndex])},getCreatingRange:function(localTrack){var ends=getTrackEnds(localTrack);var min=mathMin$7(ends[0][xyIndex],ends[1][xyIndex]);var max=mathMax$7(ends[0][xyIndex],ends[1][xyIndex]);return[min,max]},updateCoverShape:function(controller,cover,localRange,brushOption){var otherExtent;var panel=getPanelByCover(controller,cover);if(panel!==true&&panel.getLinearBrushOtherExtent){otherExtent=panel.getLinearBrushOtherExtent(xyIndex,controller._transform)}else{var zr=controller._zr;otherExtent=[0,[zr.getWidth(),zr.getHeight()][1-xyIndex]]}var rectRange=[localRange,otherExtent];xyIndex&&rectRange.reverse();updateBaseRect(controller,cover,rectRange,brushOption)},updateCommon:updateCommon,contain:mainShapeContain}}function makeRectPanelClipPath(rect){rect=normalizeRect(rect);return function(localPoints,transform){return clipPointsByRect(localPoints,rect)}}function makeLinearBrushOtherExtent(rect,specifiedXYIndex){rect=normalizeRect(rect);return function(xyIndex){var idx=specifiedXYIndex!=null?specifiedXYIndex:xyIndex;var brushWidth=idx?rect.width:rect.height;var base=idx?rect.x:rect.y;return[base,base+(brushWidth||0)]}}function makeRectIsTargetByCursor(rect,api,targetModel){rect=normalizeRect(rect);return function(e,localCursorPoint,transform){return rect.contain(localCursorPoint[0],localCursorPoint[1])&&!onIrrelevantElement(e,api,targetModel)}}function normalizeRect(rect){return BoundingRect.create(rect)}var elementList=['axisLine','axisTickLabel','axisName'];var AxisView$2=extendComponentView({type:'parallelAxis',init:function(ecModel,api){AxisView$2.superApply(this,'init',arguments);(this._brushController=new BrushController(api.getZr())).on('brush',bind(this._onBrush,this))},render:function(axisModel,ecModel,api,payload){if(fromAxisAreaSelect(axisModel,ecModel,payload)){return}this.axisModel=axisModel;this.api=api;this.group.removeAll();var oldAxisGroup=this._axisGroup;this._axisGroup=new Group();this.group.add(this._axisGroup);if(!axisModel.get('show')){return}var coordSysModel=getCoordSysModel(axisModel,ecModel);var coordSys=coordSysModel.coordinateSystem;var areaSelectStyle=axisModel.getAreaSelectStyle();var areaWidth=areaSelectStyle.width;var dim=axisModel.axis.dim;var axisLayout=coordSys.getAxisLayout(dim);var builderOpt=extend({strokeContainThreshold:areaWidth},axisLayout);var axisBuilder=new AxisBuilder(axisModel,builderOpt);each$1(elementList,axisBuilder.add,axisBuilder);this._axisGroup.add(axisBuilder.getGroup());this._refreshBrushController(builderOpt,areaSelectStyle,axisModel,coordSysModel,areaWidth,api);var animationModel=(payload&&payload.animation===false)?null:axisModel;groupTransition(oldAxisGroup,this._axisGroup,animationModel)},_refreshBrushController:function(builderOpt,areaSelectStyle,axisModel,coordSysModel,areaWidth,api){var extent=axisModel.axis.getExtent();var extentLen=extent[1]-extent[0];var extra=Math.min(30,Math.abs(extentLen)*0.1);var rect=BoundingRect.create({x:extent[0],y:-areaWidth/2,width:extentLen,height:areaWidth});rect.x-=extra;rect.width+=2*extra;this._brushController.mount({enableGlobalPan:true,rotation:builderOpt.rotation,position:builderOpt.position}).setPanels([{panelId:'pl',clipPath:makeRectPanelClipPath(rect),isTargetByCursor:makeRectIsTargetByCursor(rect,api,coordSysModel),getLinearBrushOtherExtent:makeLinearBrushOtherExtent(rect,0)}]).enableBrush({brushType:'lineX',brushStyle:areaSelectStyle,removeOnClick:true}).updateCovers(getCoverInfoList(axisModel))},_onBrush:function(coverInfoList,opt){var axisModel=this.axisModel;var axis=axisModel.axis;var intervals=map(coverInfoList,function(coverInfo){return[axis.coordToData(coverInfo.range[0],true),axis.coordToData(coverInfo.range[1],true)]});if(!axisModel.option.realtime===opt.isEnd||opt.removeOnClick){this.api.dispatchAction({type:'axisAreaSelect',parallelAxisId:axisModel.id,intervals:intervals})}},dispose:function(){this._brushController.dispose()}});function fromAxisAreaSelect(axisModel,ecModel,payload){return payload&&payload.type==='axisAreaSelect'&&ecModel.findComponents({mainType:'parallelAxis',query:payload})[0]===axisModel}function getCoverInfoList(axisModel){var axis=axisModel.axis;return map(axisModel.activeIntervals,function(interval){return{brushType:'lineX',panelId:'pl',range:[axis.dataToCoord(interval[0],true),axis.dataToCoord(interval[1],true)]}})}function getCoordSysModel(axisModel,ecModel){return ecModel.getComponent('parallel',axisModel.get('parallelIndex'))}var CLICK_THRESHOLD=5;extendComponentView({type:'parallel',render:function(parallelModel,ecModel,api){this._model=parallelModel;this._api=api;if(!this._handlers){this._handlers={};each$1(handlers,function(handler,eventName){api.getZr().on(eventName,this._handlers[eventName]=bind(handler,this))},this)}createOrUpdate(this,'_throttledDispatchExpand',parallelModel.get('axisExpandRate'),'fixRate')},dispose:function(ecModel,api){each$1(this._handlers,function(handler,eventName){api.getZr().off(eventName,handler)});this._handlers=null},_throttledDispatchExpand:function(opt){this._dispatchExpand(opt)},_dispatchExpand:function(opt){opt&&this._api.dispatchAction(extend({type:'parallelAxisExpand'},opt))}});var handlers={mousedown:function(e){if(checkTrigger(this,'click')){this._mouseDownPoint=[e.offsetX,e.offsetY]}},mouseup:function(e){var mouseDownPoint=this._mouseDownPoint;if(checkTrigger(this,'click')&&mouseDownPoint){var point=[e.offsetX,e.offsetY];var dist=Math.pow(mouseDownPoint[0]-point[0],2)+Math.pow(mouseDownPoint[1]-point[1],2);if(dist>CLICK_THRESHOLD){return}var result=this._model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX,e.offsetY]);result.behavior!=='none'&&this._dispatchExpand({axisExpandWindow:result.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(e){if(this._mouseDownPoint||!checkTrigger(this,'mousemove')){return}var model=this._model;var result=model.coordinateSystem.getSlidedAxisExpandWindow([e.offsetX,e.offsetY]);var behavior=result.behavior;behavior==='jump'&&this._throttledDispatchExpand.debounceNextCall(model.get('axisExpandDebounce'));this._throttledDispatchExpand(behavior==='none'?null:{axisExpandWindow:result.axisExpandWindow,animation:behavior==='jump'?null:false})}};function checkTrigger(view,triggerOn){var model=view._model;return model.get('axisExpandable')&&model.get('axisExpandTriggerOn')===triggerOn}registerPreprocessor(parallelPreprocessor);SeriesModel.extend({type:'series.parallel',dependencies:['parallel'],visualColorAccessPath:'lineStyle.color',getInitialData:function(option,ecModel){var source=this.getSource();setEncodeAndDimensions(source,this);return createListFromArray(source,this)},getRawIndicesByActiveState:function(activeState){var coordSys=this.coordinateSystem;var data=this.getData();var indices=[];coordSys.eachActiveState(data,function(theActiveState,dataIndex){if(activeState===theActiveState){indices.push(data.getRawIndex(dataIndex))}});return indices},defaultOption:{zlevel:0,z:2,coordinateSystem:'parallel',parallelIndex:0,label:{show:false},inactiveOpacity:0.05,activeOpacity:1,lineStyle:{width:1,opacity:0.45,type:'solid'},emphasis:{label:{show:false}},progressive:500,smooth:false,animationEasing:'linear'}});function setEncodeAndDimensions(source,seriesModel){if(source.encodeDefine){return}var parallelModel=seriesModel.ecModel.getComponent('parallel',seriesModel.get('parallelIndex'));if(!parallelModel){return}var encodeDefine=source.encodeDefine=createHashMap();each$1(parallelModel.dimensions,function(axisDim){var dataDimIndex=convertDimNameToNumber(axisDim);encodeDefine.set(axisDim,dataDimIndex)})}function convertDimNameToNumber(dimName){return+dimName.replace('dim','')}var DEFAULT_SMOOTH=0.3;var ParallelView=Chart.extend({type:'parallel',init:function(){this._dataGroup=new Group();this.group.add(this._dataGroup);this._data;this._initialized},render:function(seriesModel,ecModel,api,payload){var dataGroup=this._dataGroup;var data=seriesModel.getData();var oldData=this._data;var coordSys=seriesModel.coordinateSystem;var dimensions=coordSys.dimensions;var seriesScope=makeSeriesScope$2(seriesModel);data.diff(oldData).add(add).update(update).remove(remove).execute();function add(newDataIndex){var line=addEl(data,dataGroup,newDataIndex,dimensions,coordSys);updateElCommon(line,data,newDataIndex,seriesScope)}function update(newDataIndex,oldDataIndex){var line=oldData.getItemGraphicEl(oldDataIndex);var points=createLinePoints(data,newDataIndex,dimensions,coordSys);data.setItemGraphicEl(newDataIndex,line);var animationModel=(payload&&payload.animation===false)?null:seriesModel;updateProps(line,{shape:{points:points}},animationModel,newDataIndex);updateElCommon(line,data,newDataIndex,seriesScope)}function remove(oldDataIndex){var line=oldData.getItemGraphicEl(oldDataIndex);dataGroup.remove(line)}if(!this._initialized){this._initialized=true;var clipPath=createGridClipShape(coordSys,seriesModel,function(){setTimeout(function(){dataGroup.removeClipPath()})});dataGroup.setClipPath(clipPath)}this._data=data},incrementalPrepareRender:function(seriesModel,ecModel,api){this._initialized=true;this._data=null;this._dataGroup.removeAll()},incrementalRender:function(taskParams,seriesModel,ecModel){var data=seriesModel.getData();var coordSys=seriesModel.coordinateSystem;var dimensions=coordSys.dimensions;var seriesScope=makeSeriesScope$2(seriesModel);for(var dataIndex=taskParams.start;dataIndex=0){levelModels[levels[i].depth]=new Model(levels[i],this,ecModel)}else{if(__DEV__){throw new Error('levels[i].depth is mandatory and should be natural number');}}}if(nodes&&links){var graph=createGraphFromNodeEdge(nodes,links,this,true,beforeLink);return graph.data}function beforeLink(nodeData,edgeData){nodeData.wrapMethod('getItemModel',function(model,idx){model.customizeGetParent(function(path){var parentModel=this.parentModel;var nodeDepth=parentModel.getData().getItemLayout(idx).depth;var levelModel=parentModel.levelModels[nodeDepth];return levelModel||this.parentModel});return model});edgeData.wrapMethod('getItemModel',function(model,idx){model.customizeGetParent(function(path){var parentModel=this.parentModel;var edge=parentModel.getGraph().getEdgeByIndex(idx);var depth=edge.node1.getLayout().depth;var levelModel=parentModel.levelModels[depth];return levelModel||this.parentModel});return model})}},setNodePosition:function(dataIndex,localPosition){var dataItem=this.option.data[dataIndex];dataItem.localX=localPosition[0];dataItem.localY=localPosition[1]},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},formatTooltip:function(dataIndex,multipleSeries,dataType){if(dataType==='edge'){var params=this.getDataParams(dataIndex,dataType);var rawDataOpt=params.data;var html=rawDataOpt.source+' -- '+rawDataOpt.target;if(params.value){html+=' : '+params.value}return encodeHTML(html)}else if(dataType==='node'){var node=this.getGraph().getNodeByIndex(dataIndex);var value=node.getLayout().value;var name=this.getDataParams(dataIndex,dataType).data.name;if(value){var html=name+' : '+value}return encodeHTML(html)}return SankeySeries.superCall(this,'formatTooltip',dataIndex,multipleSeries)},optionUpdated:function(){var option=this.option;if(option.focusNodeAdjacency===true){option.focusNodeAdjacency='allEdges'}},getDataParams:function(dataIndex,dataType){var params=SankeySeries.superCall(this,'getDataParams',dataIndex,dataType);if(params.value==null&&dataType==='node'){var node=this.getGraph().getNodeByIndex(dataIndex);var nodeValue=node.getLayout().value;params.value=nodeValue}return params},defaultOption:{zlevel:0,z:2,coordinateSystem:'view',layout:null,left:'5%',top:'5%',right:'20%',bottom:'5%',orient:'horizontal',nodeWidth:20,nodeGap:8,draggable:true,focusNodeAdjacency:false,layoutIterations:32,label:{show:true,position:'right',color:'#000',fontSize:12},levels:[],nodeAlign:'justify',itemStyle:{borderWidth:1,borderColor:'#333'},lineStyle:{color:'#314656',opacity:0.2,curveness:0.5},emphasis:{label:{show:true},lineStyle:{opacity:0.5}},animationEasing:'linear',animationDuration:1000}});var nodeOpacityPath$1=['itemStyle','opacity'];var hoverNodeOpacityPath=['emphasis','itemStyle','opacity'];var lineOpacityPath$1=['lineStyle','opacity'];var hoverLineOpacityPath=['emphasis','lineStyle','opacity'];function getItemOpacity$1(item,opacityPath){return item.getVisual('opacity')||item.getModel().get(opacityPath)}function fadeOutItem$1(item,opacityPath,opacityRatio){var el=item.getGraphicEl();var opacity=getItemOpacity$1(item,opacityPath);if(opacityRatio!=null){opacity==null&&(opacity=1);opacity*=opacityRatio}el.downplay&&el.downplay();el.traverse(function(child){if(child.type!=='group'){child.setStyle('opacity',opacity)}})}function fadeInItem$1(item,opacityPath){var opacity=getItemOpacity$1(item,opacityPath);var el=item.getGraphicEl();el.traverse(function(child){if(child.type!=='group'){child.setStyle('opacity',opacity)}});el.highlight&&el.highlight()}var SankeyShape=extendShape({shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,cpx2:0,cpy2:0,extent:0,orient:''},buildPath:function(ctx,shape){var extent=shape.extent;ctx.moveTo(shape.x1,shape.y1);ctx.bezierCurveTo(shape.cpx1,shape.cpy1,shape.cpx2,shape.cpy2,shape.x2,shape.y2);if(shape.orient==='vertical'){ctx.lineTo(shape.x2+extent,shape.y2);ctx.bezierCurveTo(shape.cpx2+extent,shape.cpy2,shape.cpx1+extent,shape.cpy1,shape.x1+extent,shape.y1)}else{ctx.lineTo(shape.x2,shape.y2+extent);ctx.bezierCurveTo(shape.cpx2,shape.cpy2+extent,shape.cpx1,shape.cpy1+extent,shape.x1,shape.y1+extent)}ctx.closePath()},highlight:function(){this.trigger('emphasis')},downplay:function(){this.trigger('normal')}});extendChartView({type:'sankey',_model:null,_focusAdjacencyDisabled:false,render:function(seriesModel,ecModel,api){var sankeyView=this;var graph=seriesModel.getGraph();var group=this.group;var layoutInfo=seriesModel.layoutInfo;var width=layoutInfo.width;var height=layoutInfo.height;var nodeData=seriesModel.getData();var edgeData=seriesModel.getData('edge');var orient=seriesModel.get('orient');this._model=seriesModel;group.removeAll();group.attr('position',[layoutInfo.x,layoutInfo.y]);graph.eachEdge(function(edge){var curve=new SankeyShape();curve.dataIndex=edge.dataIndex;curve.seriesIndex=seriesModel.seriesIndex;curve.dataType='edge';var lineStyleModel=edge.getModel('lineStyle');var curvature=lineStyleModel.get('curveness');var n1Layout=edge.node1.getLayout();var node1Model=edge.node1.getModel();var dragX1=node1Model.get('localX');var dragY1=node1Model.get('localY');var n2Layout=edge.node2.getLayout();var node2Model=edge.node2.getModel();var dragX2=node2Model.get('localX');var dragY2=node2Model.get('localY');var edgeLayout=edge.getLayout();var x1;var y1;var x2;var y2;var cpx1;var cpy1;var cpx2;var cpy2;curve.shape.extent=Math.max(1,edgeLayout.dy);curve.shape.orient=orient;if(orient==='vertical'){x1=(dragX1!=null?dragX1*width:n1Layout.x)+edgeLayout.sy;y1=(dragY1!=null?dragY1*height:n1Layout.y)+n1Layout.dy;x2=(dragX2!=null?dragX2*width:n2Layout.x)+edgeLayout.ty;y2=dragY2!=null?dragY2*height:n2Layout.y;cpx1=x1;cpy1=y1*(1-curvature)+y2*curvature;cpx2=x2;cpy2=y1*curvature+y2*(1-curvature)}else{x1=(dragX1!=null?dragX1*width:n1Layout.x)+n1Layout.dx;y1=(dragY1!=null?dragY1*height:n1Layout.y)+edgeLayout.sy;x2=dragX2!=null?dragX2*width:n2Layout.x;y2=(dragY2!=null?dragY2*height:n2Layout.y)+edgeLayout.ty;cpx1=x1*(1-curvature)+x2*curvature;cpy1=y1;cpx2=x1*curvature+x2*(1-curvature);cpy2=y2}curve.setShape({x1:x1,y1:y1,x2:x2,y2:y2,cpx1:cpx1,cpy1:cpy1,cpx2:cpx2,cpy2:cpy2});curve.setStyle(lineStyleModel.getItemStyle());switch(curve.style.fill){case'source':curve.style.fill=edge.node1.getVisual('color');break;case'target':curve.style.fill=edge.node2.getVisual('color');break}setHoverStyle(curve,edge.getModel('emphasis.lineStyle').getItemStyle());group.add(curve);edgeData.setItemGraphicEl(edge.dataIndex,curve)});graph.eachNode(function(node){var layout=node.getLayout();var itemModel=node.getModel();var dragX=itemModel.get('localX');var dragY=itemModel.get('localY');var labelModel=itemModel.getModel('label');var labelHoverModel=itemModel.getModel('emphasis.label');var rect=new Rect({shape:{x:dragX!=null?dragX*width:layout.x,y:dragY!=null?dragY*height:layout.y,width:layout.dx,height:layout.dy},style:itemModel.getModel('itemStyle').getItemStyle()});var hoverStyle=node.getModel('emphasis.itemStyle').getItemStyle();setLabelStyle(rect.style,hoverStyle,labelModel,labelHoverModel,{labelFetcher:seriesModel,labelDataIndex:node.dataIndex,defaultText:node.id,isRectText:true});rect.setStyle('fill',node.getVisual('color'));setHoverStyle(rect,hoverStyle);group.add(rect);nodeData.setItemGraphicEl(node.dataIndex,rect);rect.dataType='node'});nodeData.eachItemGraphicEl(function(el,dataIndex){var itemModel=nodeData.getItemModel(dataIndex);if(itemModel.get('draggable')){el.drift=function(dx,dy){sankeyView._focusAdjacencyDisabled=true;this.shape.x+=dx;this.shape.y+=dy;this.dirty();api.dispatchAction({type:'dragNode',seriesId:seriesModel.id,dataIndex:nodeData.getRawIndex(dataIndex),localX:this.shape.x/width,localY:this.shape.y/height})};el.ondragend=function(){sankeyView._focusAdjacencyDisabled=false};el.draggable=true;el.cursor='move'}el.highlight=function(){this.trigger('emphasis')};el.downplay=function(){this.trigger('normal')};el.focusNodeAdjHandler&&el.off('mouseover',el.focusNodeAdjHandler);el.unfocusNodeAdjHandler&&el.off('mouseout',el.unfocusNodeAdjHandler);if(itemModel.get('focusNodeAdjacency')){el.on('mouseover',el.focusNodeAdjHandler=function(){if(!sankeyView._focusAdjacencyDisabled){sankeyView._clearTimer();api.dispatchAction({type:'focusNodeAdjacency',seriesId:seriesModel.id,dataIndex:el.dataIndex})}});el.on('mouseout',el.unfocusNodeAdjHandler=function(){if(!sankeyView._focusAdjacencyDisabled){sankeyView._dispatchUnfocus(api)}})}});edgeData.eachItemGraphicEl(function(el,dataIndex){var edgeModel=edgeData.getItemModel(dataIndex);el.focusNodeAdjHandler&&el.off('mouseover',el.focusNodeAdjHandler);el.unfocusNodeAdjHandler&&el.off('mouseout',el.unfocusNodeAdjHandler);if(edgeModel.get('focusNodeAdjacency')){el.on('mouseover',el.focusNodeAdjHandler=function(){if(!sankeyView._focusAdjacencyDisabled){sankeyView._clearTimer();api.dispatchAction({type:'focusNodeAdjacency',seriesId:seriesModel.id,edgeDataIndex:el.dataIndex})}});el.on('mouseout',el.unfocusNodeAdjHandler=function(){if(!sankeyView._focusAdjacencyDisabled){sankeyView._dispatchUnfocus(api)}})}});if(!this._data&&seriesModel.get('animation')){group.setClipPath(createGridClipShape$1(group.getBoundingRect(),seriesModel,function(){group.removeClipPath()}))}this._data=seriesModel.getData()},dispose:function(){this._clearTimer()},_dispatchUnfocus:function(api){var self=this;this._clearTimer();this._unfocusDelayTimer=setTimeout(function(){self._unfocusDelayTimer=null;api.dispatchAction({type:'unfocusNodeAdjacency',seriesId:self._model.id})},500)},_clearTimer:function(){if(this._unfocusDelayTimer){clearTimeout(this._unfocusDelayTimer);this._unfocusDelayTimer=null}},focusNodeAdjacency:function(seriesModel,ecModel,api,payload){var data=seriesModel.getData();var graph=data.graph;var dataIndex=payload.dataIndex;var itemModel=data.getItemModel(dataIndex);var edgeDataIndex=payload.edgeDataIndex;if(dataIndex==null&&edgeDataIndex==null){return}var node=graph.getNodeByIndex(dataIndex);var edge=graph.getEdgeByIndex(edgeDataIndex);graph.eachNode(function(node){fadeOutItem$1(node,nodeOpacityPath$1,0.1)});graph.eachEdge(function(edge){fadeOutItem$1(edge,lineOpacityPath$1,0.1)});if(node){fadeInItem$1(node,hoverNodeOpacityPath);var focusNodeAdj=itemModel.get('focusNodeAdjacency');if(focusNodeAdj==='outEdges'){each$1(node.outEdges,function(edge){if(edge.dataIndex<0){return}fadeInItem$1(edge,hoverLineOpacityPath);fadeInItem$1(edge.node2,hoverNodeOpacityPath)})}else if(focusNodeAdj==='inEdges'){each$1(node.inEdges,function(edge){if(edge.dataIndex<0){return}fadeInItem$1(edge,hoverLineOpacityPath);fadeInItem$1(edge.node1,hoverNodeOpacityPath)})}else if(focusNodeAdj==='allEdges'){each$1(node.edges,function(edge){if(edge.dataIndex<0){return}fadeInItem$1(edge,hoverLineOpacityPath);(edge.node1!==node)&&fadeInItem$1(edge.node1,hoverNodeOpacityPath);(edge.node2!==node)&&fadeInItem$1(edge.node2,hoverNodeOpacityPath)})}}if(edge){fadeInItem$1(edge,hoverLineOpacityPath);fadeInItem$1(edge.node1,hoverNodeOpacityPath);fadeInItem$1(edge.node2,hoverNodeOpacityPath)}},unfocusNodeAdjacency:function(seriesModel,ecModel,api,payload){var graph=seriesModel.getGraph();graph.eachNode(function(node){fadeOutItem$1(node,nodeOpacityPath$1)});graph.eachEdge(function(edge){fadeOutItem$1(edge,lineOpacityPath$1)})}});function createGridClipShape$1(rect,seriesModel,cb){var rectEl=new Rect({shape:{x:rect.x-10,y:rect.y-10,width:0,height:rect.height+20}});initProps(rectEl,{shape:{width:rect.width+20}},seriesModel,cb);return rectEl}registerAction({type:'dragNode',event:'dragnode',update:'update'},function(payload,ecModel){ecModel.eachComponent({mainType:'series',subType:'sankey',query:payload},function(seriesModel){seriesModel.setNodePosition(payload.dataIndex,[payload.localX,payload.localY])})});var sankeyLayout=function(ecModel,api,payload){ecModel.eachSeriesByType('sankey',function(seriesModel){var nodeWidth=seriesModel.get('nodeWidth');var nodeGap=seriesModel.get('nodeGap');var layoutInfo=getViewRect$4(seriesModel,api);seriesModel.layoutInfo=layoutInfo;var width=layoutInfo.width;var height=layoutInfo.height;var graph=seriesModel.getGraph();var nodes=graph.nodes;var edges=graph.edges;computeNodeValues(nodes);var filteredNodes=filter(nodes,function(node){return node.getLayout().value===0});var iterations=filteredNodes.length!==0?0:seriesModel.get('layoutIterations');var orient=seriesModel.get('orient');var nodeAlign=seriesModel.get('nodeAlign');layoutSankey(nodes,edges,nodeWidth,nodeGap,width,height,iterations,orient,nodeAlign)})};function getViewRect$4(seriesModel,api){return getLayoutRect(seriesModel.getBoxLayoutParams(),{width:api.getWidth(),height:api.getHeight()})}function layoutSankey(nodes,edges,nodeWidth,nodeGap,width,height,iterations,orient,nodeAlign){computeNodeBreadths(nodes,edges,nodeWidth,width,height,orient,nodeAlign);computeNodeDepths(nodes,edges,height,width,nodeGap,iterations,orient);computeEdgeDepths(nodes,orient)}function computeNodeValues(nodes){each$1(nodes,function(node){var value1=sum(node.outEdges,getEdgeValue);var value2=sum(node.inEdges,getEdgeValue);var nodeRawValue=node.getValue()||0;var value=Math.max(value1,value2,nodeRawValue);node.setLayout({value:value},true)})}function computeNodeBreadths(nodes,edges,nodeWidth,width,height,orient,nodeAlign){var remainEdges=[];var indegreeArr=[];var zeroIndegrees=[];var nextTargetNode=[];var x=0;var kx=0;for(var i=0;i=0;if(isItemDepth&&item.depth>maxNodeDepth){maxNodeDepth=item.depth}node.setLayout({depth:isItemDepth?item.depth:x},true);orient==='vertical'?node.setLayout({dy:nodeWidth},true):node.setLayout({dx:nodeWidth},true);for(var edgeIdx=0;edgeIdxx-1?maxNodeDepth:x-1;if(nodeAlign&&nodeAlign!=='left'){adjustNodeWithNodeAlign(nodes,nodeAlign,orient,maxDepth)}var kx=orient==='vertical'?(height-nodeWidth)/maxDepth:(width-nodeWidth)/maxDepth;scaleNodeBreadths(nodes,kx,orient)}function isNodeDepth(node){var item=node.hostGraph.data.getRawDataItem(node.dataIndex);return item.depth!=null&&item.depth>=0}function adjustNodeWithNodeAlign(nodes,nodeAlign,orient,maxDepth){if(nodeAlign==='right'){var nextSourceNode=[];var remainNodes=nodes;var nodeHeight=0;while(remainNodes.length){for(var i=0;i0;iterations--){alpha*=0.99;relaxRightToLeft(nodesByBreadth,alpha,orient);resolveCollisions(nodesByBreadth,nodeGap,height,width,orient);relaxLeftToRight(nodesByBreadth,alpha,orient);resolveCollisions(nodesByBreadth,nodeGap,height,width,orient)}}function prepareNodesByBreadth(nodes,orient){var nodesByBreadth=[];var keyAttr=orient==='vertical'?'y':'x';var groupResult=groupData(nodes,function(node){return node.getLayout()[keyAttr]});groupResult.keys.sort(function(a,b){return a-b});each$1(groupResult.keys,function(key){nodesByBreadth.push(groupResult.buckets.get(key))});return nodesByBreadth}function initializeNodeDepth(nodesByBreadth,edges,height,width,nodeGap,orient){var minKy=Infinity;each$1(nodesByBreadth,function(nodes){var n=nodes.length;var sum=0;each$1(nodes,function(node){sum+=node.getLayout().value});var ky=orient==='vertical'?(width-(n-1)*nodeGap)/sum:(height-(n-1)*nodeGap)/sum;if(ky0){nodeX=node.getLayout()[keyAttr]+dy;orient==='vertical'?node.setLayout({x:nodeX},true):node.setLayout({y:nodeX},true)}y0=node.getLayout()[keyAttr]+node.getLayout()[nodeDyAttr]+nodeGap}var viewWidth=orient==='vertical'?width:height;dy=y0-nodeGap-viewWidth;if(dy>0){nodeX=node.getLayout()[keyAttr]-dy;orient==='vertical'?node.setLayout({x:nodeX},true):node.setLayout({y:nodeX},true);y0=nodeX;for(i=n-2;i>=0;--i){node=nodes[i];dy=node.getLayout()[keyAttr]+node.getLayout()[nodeDyAttr]+nodeGap-y0;if(dy>0){nodeX=node.getLayout()[keyAttr]-dy;orient==='vertical'?node.setLayout({x:nodeX},true):node.setLayout({y:nodeX},true)}y0=node.getLayout()[keyAttr]}}})}function relaxRightToLeft(nodesByBreadth,alpha,orient){each$1(nodesByBreadth.slice().reverse(),function(nodes){each$1(nodes,function(node){if(node.outEdges.length){var y=sum(node.outEdges,weightedTarget,orient)/sum(node.outEdges,getEdgeValue,orient);if(isNaN(y)){var len=node.outEdges.length;y=len?sum(node.outEdges,centerTarget,orient)/len:0}if(orient==='vertical'){var nodeX=node.getLayout().x+(y-center$1(node,orient))*alpha;node.setLayout({x:nodeX},true)}else{var nodeY=node.getLayout().y+(y-center$1(node,orient))*alpha;node.setLayout({y:nodeY},true)}}})})}function weightedTarget(edge,orient){return center$1(edge.node2,orient)*edge.getValue()}function centerTarget(edge,orient){return center$1(edge.node2,orient)}function weightedSource(edge,orient){return center$1(edge.node1,orient)*edge.getValue()}function centerSource(edge,orient){return center$1(edge.node1,orient)}function center$1(node,orient){return orient==='vertical'?node.getLayout().x+node.getLayout().dx/2:node.getLayout().y+node.getLayout().dy/2}function getEdgeValue(edge){return edge.getValue()}function sum(array,cb,orient){var sum=0;var len=array.length;var i=-1;while(++imaxValue){maxValue=nodeValue}});each$1(nodes,function(node){var mapping=new VisualMapping({type:'color',mappingMethod:'linear',dataExtent:[minValue,maxValue],visual:seriesModel.get('color')});var mapValueToColor=mapping.mapValueToVisual(node.getLayout().value);var customColor=node.getModel().get('itemStyle.color');customColor!=null?node.setVisual('color',customColor):node.setVisual('color',mapValueToColor)})}})};registerLayout(sankeyLayout);registerVisual(sankeyVisual);var seriesModelMixin={_baseAxisDim:null,getInitialData:function(option,ecModel){var ordinalMeta;var xAxisModel=ecModel.getComponent('xAxis',this.get('xAxisIndex'));var yAxisModel=ecModel.getComponent('yAxis',this.get('yAxisIndex'));var xAxisType=xAxisModel.get('type');var yAxisType=yAxisModel.get('type');var addOrdinal;if(xAxisType==='category'){option.layout='horizontal';ordinalMeta=xAxisModel.getOrdinalMeta();addOrdinal=true}else if(yAxisType==='category'){option.layout='vertical';ordinalMeta=yAxisModel.getOrdinalMeta();addOrdinal=true}else{option.layout=option.layout||'horizontal'}var coordDims=['x','y'];var baseAxisDimIndex=option.layout==='horizontal'?0:1;var baseAxisDim=this._baseAxisDim=coordDims[baseAxisDimIndex];var otherAxisDim=coordDims[1-baseAxisDimIndex];var axisModels=[xAxisModel,yAxisModel];var baseAxisType=axisModels[baseAxisDimIndex].get('type');var otherAxisType=axisModels[1-baseAxisDimIndex].get('type');var data=option.data;if(data&&addOrdinal){var newOptionData=[];each$1(data,function(item,index){var newItem;if(item.value&&isArray(item.value)){newItem=item.value.slice();item.value.unshift(index)}else if(isArray(item)){newItem=item.slice();item.unshift(index)}else{newItem=item}newOptionData.push(newItem)});option.data=newOptionData}var defaultValueDimensions=this.defaultValueDimensions;var coordDimensions=[{name:baseAxisDim,type:getDimensionTypeByAxis(baseAxisType),ordinalMeta:ordinalMeta,otherDims:{tooltip:false,itemName:0},dimsDef:['base']},{name:otherAxisDim,type:getDimensionTypeByAxis(otherAxisType),dimsDef:defaultValueDimensions.slice()}];return createListSimply(this,{coordDimensions:coordDimensions,dimensionsCount:defaultValueDimensions.length+1,encodeDefaulter:curry(makeSeriesEncodeForAxisCoordSys,coordDimensions,this)})},getBaseAxis:function(){var dim=this._baseAxisDim;return this.ecModel.getComponent(dim+'Axis',this.get(dim+'AxisIndex')).axis}};var BoxplotSeries=SeriesModel.extend({type:'series.boxplot',dependencies:['xAxis','yAxis','grid'],defaultValueDimensions:[{name:'min',defaultTooltip:true},{name:'Q1',defaultTooltip:true},{name:'median',defaultTooltip:true},{name:'Q3',defaultTooltip:true},{name:'max',defaultTooltip:true}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:'cartesian2d',legendHoverLink:true,hoverAnimation:true,layout:null,boxWidth:[7,50],itemStyle:{color:'#fff',borderWidth:1},emphasis:{itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:'rgba(0,0,0,0.4)'}},animationEasing:'elasticOut',animationDuration:800}});mixin(BoxplotSeries,seriesModelMixin,true);var NORMAL_ITEM_STYLE_PATH=['itemStyle'];var EMPHASIS_ITEM_STYLE_PATH=['emphasis','itemStyle'];var BoxplotView=Chart.extend({type:'boxplot',render:function(seriesModel,ecModel,api){var data=seriesModel.getData();var group=this.group;var oldData=this._data;if(!this._data){group.removeAll()}var constDim=seriesModel.get('layout')==='horizontal'?1:0;data.diff(oldData).add(function(newIdx){if(data.hasValue(newIdx)){var itemLayout=data.getItemLayout(newIdx);var symbolEl=createNormalBox(itemLayout,data,newIdx,constDim,true);data.setItemGraphicEl(newIdx,symbolEl);group.add(symbolEl)}}).update(function(newIdx,oldIdx){var symbolEl=oldData.getItemGraphicEl(oldIdx);if(!data.hasValue(newIdx)){group.remove(symbolEl);return}var itemLayout=data.getItemLayout(newIdx);if(!symbolEl){symbolEl=createNormalBox(itemLayout,data,newIdx,constDim)}else{updateNormalBoxData(itemLayout,symbolEl,data,newIdx)}group.add(symbolEl);data.setItemGraphicEl(newIdx,symbolEl)}).remove(function(oldIdx){var el=oldData.getItemGraphicEl(oldIdx);el&&group.remove(el)}).execute();this._data=data},remove:function(ecModel){var group=this.group;var data=this._data;this._data=null;data&&data.eachItemGraphicEl(function(el){el&&group.remove(el)})},dispose:noop});var BoxPath=Path.extend({type:'boxplotBoxPath',shape:{},buildPath:function(ctx,shape){var ends=shape.points;var i=0;ctx.moveTo(ends[i][0],ends[i][1]);i++;for(;i<4;i++){ctx.lineTo(ends[i][0],ends[i][1])}ctx.closePath();for(;i0?'P':'N';var borderColor=data.getVisual('borderColor'+suffix)||data.getVisual('color'+suffix);var itemStyle=seriesModel.getModel(NORMAL_ITEM_STYLE_PATH$1).getItemStyle(SKIP_PROPS);el.useStyle(itemStyle);el.style.fill=null;el.style.stroke=borderColor}var preprocessor=function(option){if(!option||!isArray(option.series)){return}each$1(option.series,function(seriesItem){if(isObject$1(seriesItem)&&seriesItem.type==='k'){seriesItem.type='candlestick'}})};var positiveBorderColorQuery=['itemStyle','borderColor'];var negativeBorderColorQuery=['itemStyle','borderColor0'];var positiveColorQuery=['itemStyle','color'];var negativeColorQuery=['itemStyle','color0'];var candlestickVisual={seriesType:'candlestick',plan:createRenderPlanner(),performRawSeries:true,reset:function(seriesModel,ecModel){var data=seriesModel.getData();data.setVisual({legendSymbol:'roundRect',colorP:getColor(1,seriesModel),colorN:getColor(-1,seriesModel),borderColorP:getBorderColor(1,seriesModel),borderColorN:getBorderColor(-1,seriesModel)});if(ecModel.isSeriesFiltered(seriesModel)){return}var isLargeRender=seriesModel.pipelineContext.large;return!isLargeRender&&{progress:progress};function progress(params,data){var dataIndex;while((dataIndex=params.next())!=null){var itemModel=data.getItemModel(dataIndex);var sign=data.getItemLayout(dataIndex).sign;data.setItemVisual(dataIndex,{color:getColor(sign,itemModel),borderColor:getBorderColor(sign,itemModel)})}}function getColor(sign,model){return model.get(sign>0?positiveColorQuery:negativeColorQuery)}function getBorderColor(sign,model){return model.get(sign>0?positiveBorderColorQuery:negativeBorderColorQuery)}}};var LargeArr$1=typeof Float32Array!=='undefined'?Float32Array:Array;var candlestickLayout={seriesType:'candlestick',plan:createRenderPlanner(),reset:function(seriesModel){var coordSys=seriesModel.coordinateSystem;var data=seriesModel.getData();var candleWidth=calculateCandleWidth(seriesModel,data);var cDimIdx=0;var vDimIdx=1;var coordDims=['x','y'];var cDim=data.mapDimension(coordDims[cDimIdx]);var vDims=data.mapDimension(coordDims[vDimIdx],true);var openDim=vDims[0];var closeDim=vDims[1];var lowestDim=vDims[2];var highestDim=vDims[3];data.setLayout({candleWidth:candleWidth,isSimpleBox:candleWidth<=1.3});if(cDim==null||vDims.length<4){return}return{progress:seriesModel.pipelineContext.large?largeProgress:normalProgress};function normalProgress(params,data){var dataIndex;while((dataIndex=params.next())!=null){var axisDimVal=data.get(cDim,dataIndex);var openVal=data.get(openDim,dataIndex);var closeVal=data.get(closeDim,dataIndex);var lowestVal=data.get(lowestDim,dataIndex);var highestVal=data.get(highestDim,dataIndex);var ocLow=Math.min(openVal,closeVal);var ocHigh=Math.max(openVal,closeVal);var ocLowPoint=getPoint(ocLow,axisDimVal);var ocHighPoint=getPoint(ocHigh,axisDimVal);var lowestPoint=getPoint(lowestVal,axisDimVal);var highestPoint=getPoint(highestVal,axisDimVal);var ends=[];addBodyEnd(ends,ocHighPoint,0);addBodyEnd(ends,ocLowPoint,1);ends.push(subPixelOptimizePoint(highestPoint),subPixelOptimizePoint(ocHighPoint),subPixelOptimizePoint(lowestPoint),subPixelOptimizePoint(ocLowPoint));data.setItemLayout(dataIndex,{sign:getSign(data,dataIndex,openVal,closeVal,closeDim),initBaseline:openVal>closeVal?ocHighPoint[vDimIdx]:ocLowPoint[vDimIdx],ends:ends,brushRect:makeBrushRect(lowestVal,highestVal,axisDimVal)})}function getPoint(val,axisDimVal){var p=[];p[cDimIdx]=axisDimVal;p[vDimIdx]=val;return(isNaN(axisDimVal)||isNaN(val))?[NaN,NaN]:coordSys.dataToPoint(p)}function addBodyEnd(ends,point,start){var point1=point.slice();var point2=point.slice();point1[cDimIdx]=subPixelOptimize(point1[cDimIdx]+candleWidth/2,1,false);point2[cDimIdx]=subPixelOptimize(point2[cDimIdx]-candleWidth/2,1,true);start?ends.push(point1,point2):ends.push(point2,point1)}function makeBrushRect(lowestVal,highestVal,axisDimVal){var pmin=getPoint(lowestVal,axisDimVal);var pmax=getPoint(highestVal,axisDimVal);pmin[cDimIdx]-=candleWidth/2;pmax[cDimIdx]-=candleWidth/2;return{x:pmin[0],y:pmin[1],width:vDimIdx?candleWidth:pmax[0]-pmin[0],height:vDimIdx?pmax[1]-pmin[1]:candleWidth}}function subPixelOptimizePoint(point){point[cDimIdx]=subPixelOptimize(point[cDimIdx],1);return point}}function largeProgress(params,data){var points=new LargeArr$1(params.count*4);var offset=0;var point;var tmpIn=[];var tmpOut=[];var dataIndex;while((dataIndex=params.next())!=null){var axisDimVal=data.get(cDim,dataIndex);var openVal=data.get(openDim,dataIndex);var closeVal=data.get(closeDim,dataIndex);var lowestVal=data.get(lowestDim,dataIndex);var highestVal=data.get(highestDim,dataIndex);if(isNaN(axisDimVal)||isNaN(lowestVal)||isNaN(highestVal)){points[offset++]=NaN;offset+=3;continue}points[offset++]=getSign(data,dataIndex,openVal,closeVal,closeDim);tmpIn[cDimIdx]=axisDimVal;tmpIn[vDimIdx]=lowestVal;point=coordSys.dataToPoint(tmpIn,null,tmpOut);points[offset++]=point?point[0]:NaN;points[offset++]=point?point[1]:NaN;tmpIn[vDimIdx]=highestVal;point=coordSys.dataToPoint(tmpIn,null,tmpOut);points[offset++]=point?point[1]:NaN}data.setLayout('largePoints',points)}}};function getSign(data,dataIndex,openVal,closeVal,closeDim){var sign;if(openVal>closeVal){sign=-1}else if(openVal0?(data.get(closeDim,dataIndex-1)<=closeVal?1:-1):1}return sign}function calculateCandleWidth(seriesModel,data){var baseAxis=seriesModel.getBaseAxis();var extent;var bandWidth=baseAxis.type==='category'?baseAxis.getBandWidth():(extent=baseAxis.getExtent(),Math.abs(extent[1]-extent[0])/data.count());var barMaxWidth=parsePercent$1(retrieve2(seriesModel.get('barMaxWidth'),bandWidth),bandWidth);var barMinWidth=parsePercent$1(retrieve2(seriesModel.get('barMinWidth'),1),bandWidth);var barWidth=seriesModel.get('barWidth');return barWidth!=null?parsePercent$1(barWidth,bandWidth):Math.max(Math.min(bandWidth/2,barMaxWidth),barMinWidth)}registerPreprocessor(preprocessor);registerVisual(candlestickVisual);registerLayout(candlestickLayout);SeriesModel.extend({type:'series.effectScatter',dependencies:['grid','polar'],getInitialData:function(option,ecModel){return createListFromArray(this.getSource(),this,{useEncodeDefaulter:true})},brushSelector:'point',defaultOption:{coordinateSystem:'cartesian2d',zlevel:0,z:2,legendHoverLink:true,effectType:'ripple',progressive:0,showEffectOn:'render',rippleEffect:{period:4,scale:2.5,brushType:'fill'},symbolSize:10}});var EFFECT_RIPPLE_NUMBER=3;function normalizeSymbolSize$1(symbolSize){if(!isArray(symbolSize)){symbolSize=[+symbolSize,+symbolSize]}return symbolSize}function updateRipplePath(rippleGroup,effectCfg){var color=effectCfg.rippleEffectColor||effectCfg.color;rippleGroup.eachChild(function(ripplePath){ripplePath.attr({z:effectCfg.z,zlevel:effectCfg.zlevel,style:{stroke:effectCfg.brushType==='stroke'?color:null,fill:effectCfg.brushType==='fill'?color:null}})})}function EffectSymbol(data,idx){Group.call(this);var symbol=new SymbolClz$1(data,idx);var rippleGroup=new Group();this.add(symbol);this.add(rippleGroup);rippleGroup.beforeUpdate=function(){this.attr(symbol.getScale())};this.updateData(data,idx)}var effectSymbolProto=EffectSymbol.prototype;effectSymbolProto.stopEffectAnimation=function(){this.childAt(1).removeAll()};effectSymbolProto.startEffectAnimation=function(effectCfg){var symbolType=effectCfg.symbolType;var color=effectCfg.color;var rippleGroup=this.childAt(1);for(var i=0;i0&&coords[0]instanceof Array)){throw new Error('Invalid coords '+JSON.stringify(coords)+'. Lines must have 2d coords array in data item.');}}return coords},getLineCoordsCount:function(idx){if(this._flatCoordsOffset){return this._flatCoordsOffset[idx*2+1]}else{return this._getCoordsFromItemModel(idx).length}},getLineCoords:function(idx,out){if(this._flatCoordsOffset){var offset=this._flatCoordsOffset[idx*2];var len=this._flatCoordsOffset[idx*2+1];for(var i=0;ilen){if(__DEV__){throw new Error('Invalid data format.');}}}}return{flatCoordsOffset:new Uint32Array(coordsOffsetAndLenStorage.buffer,0,offsetCursor),flatCoords:coordsStorage,count:dataCount}}return{flatCoordsOffset:null,flatCoords:null,count:data.length}},getInitialData:function(option,ecModel){if(__DEV__){var CoordSys=CoordinateSystemManager.get(option.coordinateSystem);if(!CoordSys){throw new Error('Unkown coordinate system '+option.coordinateSystem);}}var lineData=new List(['value'],this);lineData.hasItemOption=false;lineData.initData(option.data,[],function(dataItem,dimName,dataIndex,dimIndex){if(dataItem instanceof Array){return NaN}else{lineData.hasItemOption=true;var value=dataItem.value;if(value!=null){return value instanceof Array?value[dimIndex]:value}}});return lineData},formatTooltip:function(dataIndex){var data=this.getData();var itemModel=data.getItemModel(dataIndex);var name=itemModel.get('name');if(name){return name}var fromName=itemModel.get('fromName');var toName=itemModel.get('toName');var html=[];fromName!=null&&html.push(fromName);toName!=null&&html.push(toName);return encodeHTML(html.join(' > '))},preventIncremental:function(){return!!this.get('effect.show')},getProgressive:function(){var progressive=this.option.progressive;if(progressive==null){return this.option.large?1e4:this.get('progressive')}return progressive},getProgressiveThreshold:function(){var progressiveThreshold=this.option.progressiveThreshold;if(progressiveThreshold==null){return this.option.large?2e4:this.get('progressiveThreshold')}return progressiveThreshold},defaultOption:{coordinateSystem:'geo',zlevel:0,z:2,legendHoverLink:true,hoverAnimation:true,xAxisIndex:0,yAxisIndex:0,symbol:['none','none'],symbolSize:[10,10],geoIndex:0,effect:{show:false,period:4,constantSpeed:0,symbol:'circle',symbolSize:3,loop:true,trailLength:0.2},large:false,largeThreshold:2000,polyline:false,clip:true,label:{show:false,position:'end'},lineStyle:{opacity:0.5}}});function EffectLine(lineData,idx,seriesScope){Group.call(this);this.add(this.createLine(lineData,idx,seriesScope));this._updateEffectSymbol(lineData,idx)}var effectLineProto=EffectLine.prototype;effectLineProto.createLine=function(lineData,idx,seriesScope){return new Line$1(lineData,idx,seriesScope)};effectLineProto._updateEffectSymbol=function(lineData,idx){var itemModel=lineData.getItemModel(idx);var effectModel=itemModel.getModel('effect');var size=effectModel.get('symbolSize');var symbolType=effectModel.get('symbol');if(!isArray(size)){size=[size,size]}var color=effectModel.get('color')||lineData.getItemVisual(idx,'color');var symbol=this.childAt(1);if(this._symbolType!==symbolType){this.remove(symbol);symbol=createSymbol(symbolType,-0.5,-0.5,1,1,color);symbol.z2=100;symbol.culling=true;this.add(symbol)}if(!symbol){return}symbol.setStyle('shadowColor',color);symbol.setStyle(effectModel.getItemStyle(['color']));symbol.attr('scale',size);symbol.setColor(color);symbol.attr('scale',size);this._symbolType=symbolType;this._symbolScale=size;this._updateEffectAnimation(lineData,effectModel,idx)};effectLineProto._updateEffectAnimation=function(lineData,effectModel,idx){var symbol=this.childAt(1);if(!symbol){return}var self=this;var points=lineData.getItemLayout(idx);var period=effectModel.get('period')*1000;var loop=effectModel.get('loop');var constantSpeed=effectModel.get('constantSpeed');var delayExpr=retrieve(effectModel.get('delay'),function(idx){return idx/lineData.count()*period/3});var isDelayFunc=typeof delayExpr==='function';symbol.ignore=true;this.updateAnimationPoints(symbol,points);if(constantSpeed>0){period=this.getLineLength(symbol)/constantSpeed*1000}if(period!==this._period||loop!==this._loop){symbol.stopAnimation();var delay=delayExpr;if(isDelayFunc){delay=delayExpr(idx)}if(symbol.__t>0){delay=-period*symbol.__t}symbol.__t=0;var animator=symbol.animate('',loop).when(period,{__t:1}).delay(delay).during(function(){self.updateSymbolPosition(symbol)});if(!loop){animator.done(function(){self.remove(symbol)})}animator.start()}this._period=period;this._loop=loop};effectLineProto.getLineLength=function(symbol){return(dist(symbol.__p1,symbol.__cp1)+dist(symbol.__cp1,symbol.__p2))};effectLineProto.updateAnimationPoints=function(symbol,points){symbol.__p1=points[0];symbol.__p2=points[1];symbol.__cp1=points[2]||[(points[0][0]+points[1][0])/2,(points[0][1]+points[1][1])/2]};effectLineProto.updateData=function(lineData,idx,seriesScope){this.childAt(0).updateData(lineData,idx,seriesScope);this._updateEffectSymbol(lineData,idx)};effectLineProto.updateSymbolPosition=function(symbol){var p1=symbol.__p1;var p2=symbol.__p2;var cp1=symbol.__cp1;var t=symbol.__t;var pos=symbol.position;var lastPos=[pos[0],pos[1]];var quadraticAt$$1=quadraticAt;var quadraticDerivativeAt$$1=quadraticDerivativeAt;pos[0]=quadraticAt$$1(p1[0],cp1[0],p2[0],t);pos[1]=quadraticAt$$1(p1[1],cp1[1],p2[1],t);var tx=quadraticDerivativeAt$$1(p1[0],cp1[0],p2[0],t);var ty=quadraticDerivativeAt$$1(p1[1],cp1[1],p2[1],t);symbol.rotation=-Math.atan2(ty,tx)-Math.PI/2;if(this._symbolType==='line'||this._symbolType==='rect'||this._symbolType==='roundRect'){if(symbol.__lastT!==undefined&&symbol.__lastT=0;frame--){if(offsets[frame]<=t){break}}frame=Math.min(frame,len$$1-2)}else{for(var frame=lastFrame;framet){break}}frame=Math.min(frame-1,len$$1-2)}lerp(symbol.position,points[frame],points[frame+1],(t-offsets[frame])/(offsets[frame+1]-offsets[frame]));var tx=points[frame+1][0]-points[frame][0];var ty=points[frame+1][1]-points[frame][1];symbol.rotation=-Math.atan2(ty,tx)-Math.PI/2;this._lastFrame=frame;this._lastFramePercent=t;symbol.ignore=false};inherits(EffectPolyline,EffectLine);var LargeLineShape=extendShape({shape:{polyline:false,curveness:0,segs:[]},buildPath:function(path,shape){var segs=shape.segs;var curveness=shape.curveness;if(shape.polyline){for(var i=0;i0){path.moveTo(segs[i++],segs[i++]);for(var k=1;k0){var x2=(x0+x1)/2-(y0-y1)*curveness;var y2=(y0+y1)/2-(x1-x0)*curveness;path.quadraticCurveTo(x2,y2,x1,y1)}else{path.lineTo(x1,y1)}}}},findDataIndex:function(x,y){var shape=this.shape;var segs=shape.segs;var curveness=shape.curveness;if(shape.polyline){var dataIndex=0;for(var i=0;i0){var x0=segs[i++];var y0=segs[i++];for(var k=1;k0){var x2=(x0+x1)/2-(y0-y1)*curveness;var y2=(y0+y1)/2-(x1-x0)*curveness;if(containStroke$3(x0,y0,x2,y2,x1,y1)){return dataIndex}}else{if(containStroke$1(x0,y0,x1,y1)){return dataIndex}}dataIndex++}}return-1}});function LargeLineDraw(){this.group=new Group()}var largeLineProto=LargeLineDraw.prototype;largeLineProto.isPersistent=function(){return!this._incremental};largeLineProto.updateData=function(data){this.group.removeAll();var lineEl=new LargeLineShape({rectHover:true,cursor:'default'});lineEl.setShape({segs:data.getLayout('linesPoints')});this._setCommon(lineEl,data);this.group.add(lineEl);this._incremental=null};largeLineProto.incrementalPrepareUpdate=function(data){this.group.removeAll();this._clearIncremental();if(data.count()>5e5){if(!this._incremental){this._incremental=new IncrementalDisplayble({silent:true})}this.group.add(this._incremental)}else{this._incremental=null}};largeLineProto.incrementalUpdate=function(taskParams,data){var lineEl=new LargeLineShape();lineEl.setShape({segs:data.getLayout('linesPoints')});this._setCommon(lineEl,data,!!this._incremental);if(!this._incremental){lineEl.rectHover=true;lineEl.cursor='default';lineEl.__startIndex=taskParams.start;this.group.add(lineEl)}else{this._incremental.addDisplayable(lineEl,true)}};largeLineProto.remove=function(){this._clearIncremental();this._incremental=null;this.group.removeAll()};largeLineProto._setCommon=function(lineEl,data,isIncremental){var hostModel=data.hostModel;lineEl.setShape({polyline:hostModel.get('polyline'),curveness:hostModel.get('lineStyle.curveness')});lineEl.useStyle(hostModel.getModel('lineStyle').getLineStyle());lineEl.style.strokeNoScale=true;var visualColor=data.getVisual('color');if(visualColor){lineEl.setStyle('stroke',visualColor)}lineEl.setStyle('fill');if(!isIncremental){lineEl.seriesIndex=hostModel.seriesIndex;lineEl.on('mousemove',function(e){lineEl.dataIndex=null;var dataIndex=lineEl.findDataIndex(e.offsetX,e.offsetY);if(dataIndex>0){lineEl.dataIndex=dataIndex+lineEl.__startIndex}})}};largeLineProto._clearIncremental=function(){var incremental=this._incremental;if(incremental){incremental.clearDisplaybles()}};var linesLayout={seriesType:'lines',plan:createRenderPlanner(),reset:function(seriesModel){var coordSys=seriesModel.coordinateSystem;var isPolyline=seriesModel.get('polyline');var isLarge=seriesModel.pipelineContext.large;function progress(params,lineData){var lineCoords=[];if(isLarge){var points;var segCount=params.end-params.start;if(isPolyline){var totalCoordsCount=0;for(var i=params.start;i0){var gradient=isInRange(alpha)?gradientInRange:gradientOutOfRange;alpha>0&&(alpha=alpha*diffOpacity+minOpacity);pixels[offset++]=gradient[gradientOffset];pixels[offset++]=gradient[gradientOffset+1];pixels[offset++]=gradient[gradientOffset+2];pixels[offset++]=gradient[gradientOffset+3]*alpha*256}else{offset+=4}}ctx.putImageData(imageData,0,0);return canvas},_getBrush:function(){var brushCanvas=this._brushCanvas||(this._brushCanvas=createCanvas());var r=this.pointSize+this.blurSize;var d=r*2;brushCanvas.width=d;brushCanvas.height=d;var ctx=brushCanvas.getContext('2d');ctx.clearRect(0,0,d,d);ctx.shadowOffsetX=d;ctx.shadowBlur=this.blurSize;ctx.shadowColor='#000';ctx.beginPath();ctx.arc(-r,r,this.pointSize,0,Math.PI*2,true);ctx.closePath();ctx.fill();return brushCanvas},_getGradient:function(data,colorFunc,state){var gradientPixels=this._gradientPixels;var pixelsSingleState=gradientPixels[state]||(gradientPixels[state]=new Uint8ClampedArray(256*4));var color=[0,0,0,0];var off=0;for(var i=0;i<256;i++){colorFunc[state](i/255,true,color);pixelsSingleState[off++]=color[0];pixelsSingleState[off++]=color[1];pixelsSingleState[off++]=color[2];pixelsSingleState[off++]=color[3]}return pixelsSingleState}};function getIsInPiecewiseRange(dataExtent,pieceList,selected){var dataSpan=dataExtent[1]-dataExtent[0];pieceList=map(pieceList,function(piece){return{interval:[(piece.interval[0]-dataExtent[0])/dataSpan,(piece.interval[1]-dataExtent[0])/dataSpan]}});var len=pieceList.length;var lastIndex=0;return function(val){for(var i=lastIndex;i=0;i--){var interval=pieceList[i].interval;if(interval[0]<=val&&val<=interval[1]){lastIndex=i;break}}}return i>=0&&i=range[0]&&val<=range[1]}}function isGeoCoordSys(coordSys){var dimensions=coordSys.dimensions;return dimensions[0]==='lng'&&dimensions[1]==='lat'}extendChartView({type:'heatmap',render:function(seriesModel,ecModel,api){var visualMapOfThisSeries;ecModel.eachComponent('visualMap',function(visualMap){visualMap.eachTargetSeries(function(targetSeries){if(targetSeries===seriesModel){visualMapOfThisSeries=visualMap}})});if(__DEV__){if(!visualMapOfThisSeries){throw new Error('Heatmap must use with visualMap');}}this.group.removeAll();this._incrementalDisplayable=null;var coordSys=seriesModel.coordinateSystem;if(coordSys.type==='cartesian2d'||coordSys.type==='calendar'){this._renderOnCartesianAndCalendar(seriesModel,api,0,seriesModel.getData().count())}else if(isGeoCoordSys(coordSys)){this._renderOnGeo(coordSys,seriesModel,visualMapOfThisSeries,api)}},incrementalPrepareRender:function(seriesModel,ecModel,api){this.group.removeAll()},incrementalRender:function(params,seriesModel,ecModel,api){var coordSys=seriesModel.coordinateSystem;if(coordSys){this._renderOnCartesianAndCalendar(seriesModel,api,params.start,params.end,true)}},_renderOnCartesianAndCalendar:function(seriesModel,api,start,end,incremental){var coordSys=seriesModel.coordinateSystem;var width;var height;if(coordSys.type==='cartesian2d'){var xAxis=coordSys.getAxis('x');var yAxis=coordSys.getAxis('y');if(__DEV__){if(!(xAxis.type==='category'&&yAxis.type==='category')){throw new Error('Heatmap on cartesian must have two category axes');}if(!(xAxis.onBand&&yAxis.onBand)){throw new Error('Heatmap on cartesian must have two axes with boundaryGap true');}}width=xAxis.getBandWidth();height=yAxis.getBandWidth()}var group=this.group;var data=seriesModel.getData();var itemStyleQuery='itemStyle';var hoverItemStyleQuery='emphasis.itemStyle';var labelQuery='label';var hoverLabelQuery='emphasis.label';var style=seriesModel.getModel(itemStyleQuery).getItemStyle(['color']);var hoverStl=seriesModel.getModel(hoverItemStyleQuery).getItemStyle();var labelModel=seriesModel.getModel(labelQuery);var hoverLabelModel=seriesModel.getModel(hoverLabelQuery);var coordSysType=coordSys.type;var dataDims=coordSysType==='cartesian2d'?[data.mapDimension('x'),data.mapDimension('y'),data.mapDimension('value')]:[data.mapDimension('time'),data.mapDimension('value')];for(var idx=start;idx0?1:boundingLength<0?-1:0}function convertToCoordOnAxis(axis,value){return axis.toGlobalCoord(axis.dataToCoord(axis.scale.parse(value)))}function prepareSymbolSize(data,dataIndex,layout,symbolRepeat,symbolClip,boundingLength,pxSign,symbolPatternSize,opt,output){var valueDim=opt.valueDim;var categoryDim=opt.categoryDim;var categorySize=Math.abs(layout[categoryDim.wh]);var symbolSize=data.getItemVisual(dataIndex,'symbolSize');if(isArray(symbolSize)){symbolSize=symbolSize.slice()}else{if(symbolSize==null){symbolSize='100%'}symbolSize=[symbolSize,symbolSize]}symbolSize[categoryDim.index]=parsePercent$1(symbolSize[categoryDim.index],categorySize);symbolSize[valueDim.index]=parsePercent$1(symbolSize[valueDim.index],symbolRepeat?categorySize:Math.abs(boundingLength));output.symbolSize=symbolSize;var symbolScale=output.symbolScale=[symbolSize[0]/symbolPatternSize,symbolSize[1]/symbolPatternSize];symbolScale[valueDim.index]*=(opt.isHorizontal?-1:1)*pxSign}function prepareLineWidth(itemModel,symbolScale,rotation,opt,output){var valueLineWidth=itemModel.get(BAR_BORDER_WIDTH_QUERY$1)||0;if(valueLineWidth){pathForLineWidth.attr({scale:symbolScale.slice(),rotation:rotation});pathForLineWidth.updateTransform();valueLineWidth/=pathForLineWidth.getLineScale();valueLineWidth*=symbolScale[opt.valueDim.index]}output.valueLineWidth=valueLineWidth}function prepareLayoutInfo(itemModel,symbolSize,layout,symbolRepeat,symbolClip,symbolOffset,symbolPosition,valueLineWidth,boundingLength,repeatCutLength,opt,output){var categoryDim=opt.categoryDim;var valueDim=opt.valueDim;var pxSign=output.pxSign;var unitLength=Math.max(symbolSize[valueDim.index]+valueLineWidth,0);var pathLen=unitLength;if(symbolRepeat){var absBoundingLength=Math.abs(boundingLength);var symbolMargin=retrieve(itemModel.get('symbolMargin'),'15%')+'';var hasEndGap=false;if(symbolMargin.lastIndexOf('!')===symbolMargin.length-1){hasEndGap=true;symbolMargin=symbolMargin.slice(0,symbolMargin.length-1)}symbolMargin=parsePercent$1(symbolMargin,symbolSize[valueDim.index]);var uLenWithMargin=Math.max(unitLength+symbolMargin*2,0);var endFix=hasEndGap?0:symbolMargin*2;var repeatSpecified=isNumeric(symbolRepeat);var repeatTimes=repeatSpecified?symbolRepeat:toIntTimes((absBoundingLength+endFix)/uLenWithMargin);var mDiff=absBoundingLength-repeatTimes*unitLength;symbolMargin=mDiff/2/(hasEndGap?repeatTimes:repeatTimes-1);uLenWithMargin=unitLength+symbolMargin*2;endFix=hasEndGap?0:symbolMargin*2;if(!repeatSpecified&&symbolRepeat!=='fixed'){repeatTimes=repeatCutLength?toIntTimes((Math.abs(repeatCutLength)+endFix)/uLenWithMargin):0}pathLen=repeatTimes*uLenWithMargin-endFix;output.repeatTimes=repeatTimes;output.symbolMargin=symbolMargin}var sizeFix=pxSign*(pathLen/2);var pathPosition=output.pathPosition=[];pathPosition[categoryDim.index]=layout[categoryDim.wh]/2;pathPosition[valueDim.index]=symbolPosition==='start'?sizeFix:symbolPosition==='end'?boundingLength-sizeFix:boundingLength/2;if(symbolOffset){pathPosition[0]+=symbolOffset[0];pathPosition[1]+=symbolOffset[1]}var bundlePosition=output.bundlePosition=[];bundlePosition[categoryDim.index]=layout[categoryDim.xy];bundlePosition[valueDim.index]=layout[valueDim.xy];var barRectShape=output.barRectShape=extend({},layout);barRectShape[valueDim.wh]=pxSign*Math.max(Math.abs(layout[valueDim.wh]),Math.abs(pathPosition[valueDim.index]+sizeFix));barRectShape[categoryDim.wh]=layout[categoryDim.wh];var clipShape=output.clipShape={};clipShape[categoryDim.xy]=-layout[categoryDim.xy];clipShape[categoryDim.wh]=opt.ecSize[categoryDim.wh];clipShape[valueDim.xy]=0;clipShape[valueDim.wh]=layout[valueDim.wh]}function createPath(symbolMeta){var symbolPatternSize=symbolMeta.symbolPatternSize;var path=createSymbol(symbolMeta.symbolType,-symbolPatternSize/2,-symbolPatternSize/2,symbolPatternSize,symbolPatternSize,symbolMeta.color);path.attr({culling:true});path.type!=='image'&&path.setStyle({strokeNoScale:true});return path}function createOrUpdateRepeatSymbols(bar,opt,symbolMeta,isUpdate){var bundle=bar.__pictorialBundle;var symbolSize=symbolMeta.symbolSize;var valueLineWidth=symbolMeta.valueLineWidth;var pathPosition=symbolMeta.pathPosition;var valueDim=opt.valueDim;var repeatTimes=symbolMeta.repeatTimes||0;var index=0;var unit=symbolSize[opt.valueDim.index]+valueLineWidth+symbolMeta.symbolMargin*2;eachPath(bar,function(path){path.__pictorialAnimationIndex=index;path.__pictorialRepeatTimes=repeatTimes;if(index0:pxSign<0){i=repeatTimes-1-index}position[valueDim.index]=unit*(i-repeatTimes/2+0.5)+pathPosition[valueDim.index];return{position:position,scale:symbolMeta.symbolScale.slice(),rotation:symbolMeta.rotation}}function onMouseOver(){eachPath(bar,function(path){path.trigger('emphasis')})}function onMouseOut(){eachPath(bar,function(path){path.trigger('normal')})}}function createOrUpdateSingleSymbol(bar,opt,symbolMeta,isUpdate){var bundle=bar.__pictorialBundle;var mainPath=bar.__pictorialMainPath;if(!mainPath){mainPath=bar.__pictorialMainPath=createPath(symbolMeta);bundle.add(mainPath);updateAttr(mainPath,{position:symbolMeta.pathPosition.slice(),scale:[0,0],rotation:symbolMeta.rotation},{scale:symbolMeta.symbolScale.slice()},symbolMeta,isUpdate);mainPath.on('mouseover',onMouseOver).on('mouseout',onMouseOut)}else{updateAttr(mainPath,null,{position:symbolMeta.pathPosition.slice(),scale:symbolMeta.symbolScale.slice(),rotation:symbolMeta.rotation},symbolMeta,isUpdate)}updateHoverAnimation(mainPath,symbolMeta);function onMouseOver(){this.trigger('emphasis')}function onMouseOut(){this.trigger('normal')}}function createOrUpdateBarRect(bar,symbolMeta,isUpdate){var rectShape=extend({},symbolMeta.barRectShape);var barRect=bar.__pictorialBarRect;if(!barRect){barRect=bar.__pictorialBarRect=new Rect({z2:2,shape:rectShape,silent:true,style:{stroke:'transparent',fill:'transparent',lineWidth:0}});bar.add(barRect)}else{updateAttr(barRect,null,{shape:rectShape},symbolMeta,isUpdate)}}function createOrUpdateClip(bar,opt,symbolMeta,isUpdate){if(symbolMeta.symbolClip){var clipPath=bar.__pictorialClipPath;var clipShape=extend({},symbolMeta.clipShape);var valueDim=opt.valueDim;var animationModel=symbolMeta.animationModel;var dataIndex=symbolMeta.dataIndex;if(clipPath){updateProps(clipPath,{shape:clipShape},animationModel,dataIndex)}else{clipShape[valueDim.wh]=0;clipPath=new Rect({shape:clipShape});bar.__pictorialBundle.setClipPath(clipPath);bar.__pictorialClipPath=clipPath;var target={};target[valueDim.wh]=symbolMeta.clipShape[valueDim.wh];graphic[isUpdate?'updateProps':'initProps'](clipPath,{shape:target},animationModel,dataIndex)}}}function getItemModel(data,dataIndex){var itemModel=data.getItemModel(dataIndex);itemModel.getAnimationDelayParams=getAnimationDelayParams;itemModel.isAnimationEnabled=isAnimationEnabled;return itemModel}function getAnimationDelayParams(path){return{index:path.__pictorialAnimationIndex,count:path.__pictorialRepeatTimes}}function isAnimationEnabled(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow('animation')}function updateHoverAnimation(path,symbolMeta){path.off('emphasis').off('normal');var scale=symbolMeta.symbolScale.slice();symbolMeta.hoverAnimation&&path.on('emphasis',function(){this.animateTo({scale:[scale[0]*1.1,scale[1]*1.1]},400,'elasticOut')}).on('normal',function(){this.animateTo({scale:scale.slice()},400,'elasticOut')})}function createBar(data,opt,symbolMeta,isUpdate){var bar=new Group();var bundle=new Group();bar.add(bundle);bar.__pictorialBundle=bundle;bundle.attr('position',symbolMeta.bundlePosition.slice());if(symbolMeta.symbolRepeat){createOrUpdateRepeatSymbols(bar,opt,symbolMeta)}else{createOrUpdateSingleSymbol(bar,opt,symbolMeta)}createOrUpdateBarRect(bar,symbolMeta,isUpdate);createOrUpdateClip(bar,opt,symbolMeta,isUpdate);bar.__pictorialShapeStr=getShapeStr(data,symbolMeta);bar.__pictorialSymbolMeta=symbolMeta;return bar}function updateBar(bar,opt,symbolMeta){var animationModel=symbolMeta.animationModel;var dataIndex=symbolMeta.dataIndex;var bundle=bar.__pictorialBundle;updateProps(bundle,{position:symbolMeta.bundlePosition.slice()},animationModel,dataIndex);if(symbolMeta.symbolRepeat){createOrUpdateRepeatSymbols(bar,opt,symbolMeta,true)}else{createOrUpdateSingleSymbol(bar,opt,symbolMeta,true)}createOrUpdateBarRect(bar,symbolMeta,true);createOrUpdateClip(bar,opt,symbolMeta,true)}function removeBar(data,dataIndex,animationModel,bar){var labelRect=bar.__pictorialBarRect;labelRect&&(labelRect.style.text=null);var pathes=[];eachPath(bar,function(path){pathes.push(path)});bar.__pictorialMainPath&&pathes.push(bar.__pictorialMainPath);bar.__pictorialClipPath&&(animationModel=null);each$1(pathes,function(path){updateProps(path,{scale:[0,0]},animationModel,dataIndex,function(){bar.parent&&bar.parent.remove(bar)})});data.setItemGraphicEl(dataIndex,null)}function getShapeStr(data,symbolMeta){return[data.getItemVisual(symbolMeta.dataIndex,'symbol')||'none',!!symbolMeta.symbolRepeat,!!symbolMeta.symbolClip].join(':')}function eachPath(bar,cb,context){each$1(bar.__pictorialBundle.children(),function(el){el!==bar.__pictorialBarRect&&cb.call(context,el)})}function updateAttr(el,immediateAttrs,animationAttrs,symbolMeta,isUpdate,cb){immediateAttrs&&el.attr(immediateAttrs);if(symbolMeta.symbolClip&&!isUpdate){animationAttrs&&el.attr(animationAttrs)}else{animationAttrs&&graphic[isUpdate?'updateProps':'initProps'](el,animationAttrs,symbolMeta.animationModel,symbolMeta.dataIndex,cb)}}function updateCommon$1(bar,opt,symbolMeta){var color=symbolMeta.color;var dataIndex=symbolMeta.dataIndex;var itemModel=symbolMeta.itemModel;var normalStyle=itemModel.getModel('itemStyle').getItemStyle(['color']);var hoverStyle=itemModel.getModel('emphasis.itemStyle').getItemStyle();var cursorStyle=itemModel.getShallow('cursor');eachPath(bar,function(path){path.setColor(color);path.setStyle(defaults({fill:color,opacity:symbolMeta.opacity},normalStyle));setHoverStyle(path,hoverStyle);cursorStyle&&(path.cursor=cursorStyle);path.z2=symbolMeta.z2});var barRectHoverStyle={};var barPositionOutside=opt.valueDim.posDesc[+(symbolMeta.boundingLength>0)];var barRect=bar.__pictorialBarRect;setLabel(barRect.style,barRectHoverStyle,itemModel,color,opt.seriesModel,dataIndex,barPositionOutside);setHoverStyle(barRect,barRectHoverStyle)}function toIntTimes(times){var roundedTimes=Math.round(times);return Math.abs(times-roundedTimes)<1e-4?roundedTimes:Math.ceil(times)}registerLayout(curry(layout,'pictorialBar'));registerVisual(visualSymbol('pictorialBar','roundRect'));var SingleAxis=function(dim,scale,coordExtent,axisType,position){Axis.call(this,dim,scale,coordExtent);this.type=axisType||'value';this.position=position||'bottom';this.orient=null};SingleAxis.prototype={constructor:SingleAxis,model:null,isHorizontal:function(){var position=this.position;return position==='top'||position==='bottom'},pointToData:function(point,clamp){return this.coordinateSystem.pointToData(point,clamp)[0]},toGlobalCoord:null,toLocalCoord:null};inherits(SingleAxis,Axis);function Single(axisModel,ecModel,api){this.dimension='single';this.dimensions=['single'];this._axis=null;this._rect;this._init(axisModel,ecModel,api);this.model=axisModel}Single.prototype={type:'singleAxis',axisPointerEnabled:true,constructor:Single,_init:function(axisModel,ecModel,api){var dim=this.dimension;var axis=new SingleAxis(dim,createScaleByModel(axisModel),[0,0],axisModel.get('type'),axisModel.get('position'));var isCategory=axis.type==='category';axis.onBand=isCategory&&axisModel.get('boundaryGap');axis.inverse=axisModel.get('inverse');axis.orient=axisModel.get('orient');axisModel.axis=axis;axis.model=axisModel;axis.coordinateSystem=this;this._axis=axis},update:function(ecModel,api){ecModel.eachSeries(function(seriesModel){if(seriesModel.coordinateSystem===this){var data=seriesModel.getData();each$1(data.mapDimension(this.dimension,true),function(dim){this._axis.scale.unionExtentFromData(data,dim)},this);niceScaleExtent(this._axis.scale,this._axis.model)}},this)},resize:function(axisModel,api){this._rect=getLayoutRect({left:axisModel.get('left'),top:axisModel.get('top'),right:axisModel.get('right'),bottom:axisModel.get('bottom'),width:axisModel.get('width'),height:axisModel.get('height')},{width:api.getWidth(),height:api.getHeight()});this._adjustAxis()},getRect:function(){return this._rect},_adjustAxis:function(){var rect=this._rect;var axis=this._axis;var isHorizontal=axis.isHorizontal();var extent=isHorizontal?[0,rect.width]:[0,rect.height];var idx=axis.reverse?1:0;axis.setExtent(extent[idx],extent[1-idx]);this._updateAxisTransform(axis,isHorizontal?rect.x:rect.y)},_updateAxisTransform:function(axis,coordBase){var axisExtent=axis.getExtent();var extentSum=axisExtent[0]+axisExtent[1];var isHorizontal=axis.isHorizontal();axis.toGlobalCoord=isHorizontal?function(coord){return coord+coordBase}:function(coord){return extentSum-coord+coordBase};axis.toLocalCoord=isHorizontal?function(coord){return coord-coordBase}:function(coord){return extentSum-coord+coordBase}},getAxis:function(){return this._axis},getBaseAxis:function(){return this._axis},getAxes:function(){return[this._axis]},getTooltipAxes:function(){return{baseAxes:[this.getAxis()]}},containPoint:function(point){var rect=this.getRect();var axis=this.getAxis();var orient=axis.orient;if(orient==='horizontal'){return axis.contain(axis.toLocalCoord(point[0]))&&(point[1]>=rect.y&&point[1]<=(rect.y+rect.height))}else{return axis.contain(axis.toLocalCoord(point[1]))&&(point[0]>=rect.y&&point[0]<=(rect.y+rect.height))}},pointToData:function(point){var axis=this.getAxis();return[axis.coordToData(axis.toLocalCoord(point[axis.orient==='horizontal'?0:1]))]},dataToPoint:function(val){var axis=this.getAxis();var rect=this.getRect();var pt=[];var idx=axis.orient==='horizontal'?0:1;if(val instanceof Array){val=val[0]}pt[idx]=axis.toGlobalCoord(axis.dataToCoord(+val));pt[1-idx]=idx===0?(rect.y+rect.height/2):(rect.x+rect.width/2);return pt}};function create$3(ecModel,api){var singles=[];ecModel.eachComponent('singleAxis',function(axisModel,idx){var single=new Single(axisModel,ecModel,api);single.name='single_'+idx;single.resize(axisModel,api);axisModel.coordinateSystem=single;singles.push(single)});ecModel.eachSeries(function(seriesModel){if(seriesModel.get('coordinateSystem')==='singleAxis'){var singleAxisModel=ecModel.queryComponents({mainType:'singleAxis',index:seriesModel.get('singleAxisIndex'),id:seriesModel.get('singleAxisId')})[0];seriesModel.coordinateSystem=singleAxisModel&&singleAxisModel.coordinateSystem}});return singles}CoordinateSystemManager.register('single',{create:create$3,dimensions:Single.prototype.dimensions});function layout$2(axisModel,opt){opt=opt||{};var single=axisModel.coordinateSystem;var axis=axisModel.axis;var layout={};var axisPosition=axis.position;var orient=axis.orient;var rect=single.getRect();var rectBound=[rect.x,rect.x+rect.width,rect.y,rect.y+rect.height];var positionMap={horizontal:{top:rectBound[2],bottom:rectBound[3]},vertical:{left:rectBound[0],right:rectBound[1]}};layout.position=[orient==='vertical'?positionMap.vertical[axisPosition]:rectBound[0],orient==='horizontal'?positionMap.horizontal[axisPosition]:rectBound[3]];var r={horizontal:0,vertical:1};layout.rotation=Math.PI/2*r[orient];var directionMap={top:-1,bottom:1,right:1,left:-1};layout.labelDirection=layout.tickDirection=layout.nameDirection=directionMap[axisPosition];if(axisModel.get('axisTick.inside')){layout.tickDirection=-layout.tickDirection}if(retrieve(opt.labelInside,axisModel.get('axisLabel.inside'))){layout.labelDirection=-layout.labelDirection}var labelRotation=opt.rotate;labelRotation==null&&(labelRotation=axisModel.get('axisLabel.rotate'));layout.labelRotation=axisPosition==='top'?-labelRotation:labelRotation;layout.z2=1;return layout}var axisBuilderAttrs$2=['axisLine','axisTickLabel','axisName'];var selfBuilderAttrs$1=['splitArea','splitLine'];var SingleAxisView=AxisView.extend({type:'singleAxis',axisPointerClass:'SingleAxisPointer',render:function(axisModel,ecModel,api,payload){var group=this.group;group.removeAll();var oldAxisGroup=this._axisGroup;this._axisGroup=new Group();var layout=layout$2(axisModel);var axisBuilder=new AxisBuilder(axisModel,layout);each$1(axisBuilderAttrs$2,axisBuilder.add,axisBuilder);group.add(this._axisGroup);group.add(axisBuilder.getGroup());each$1(selfBuilderAttrs$1,function(name){if(axisModel.get(name+'.show')){this['_'+name](axisModel)}},this);groupTransition(oldAxisGroup,this._axisGroup,axisModel);SingleAxisView.superCall(this,'render',axisModel,ecModel,api,payload)},remove:function(){rectCoordAxisHandleRemove(this)},_splitLine:function(axisModel){var axis=axisModel.axis;if(axis.scale.isBlank()){return}var splitLineModel=axisModel.getModel('splitLine');var lineStyleModel=splitLineModel.getModel('lineStyle');var lineWidth=lineStyleModel.get('width');var lineColors=lineStyleModel.get('color');lineColors=lineColors instanceof Array?lineColors:[lineColors];var gridRect=axisModel.coordinateSystem.getRect();var isHorizontal=axis.isHorizontal();var splitLines=[];var lineCount=0;var ticksCoords=axis.getTicksCoords({tickModel:splitLineModel});var p1=[];var p2=[];for(var i=0;i=0&&minDiff<0)){minDist=dist;minDiff=diff;snapToValue=seriesNestestValue;payloadBatch.length=0}each$14(dataIndices,function(dataIndex){payloadBatch.push({seriesIndex:series.seriesIndex,dataIndexInside:dataIndex,dataIndex:series.getData().getRawIndex(dataIndex)})})}});return{payloadBatch:payloadBatch,snapToValue:snapToValue}}function showPointer(showValueMap,axisInfo,value,payloadBatch){showValueMap[axisInfo.key]={value:value,payloadBatch:payloadBatch}}function showTooltip(dataByCoordSys,axisInfo,payloadInfo,value){var payloadBatch=payloadInfo.payloadBatch;var axis=axisInfo.axis;var axisModel=axis.model;var axisPointerModel=axisInfo.axisPointerModel;if(!axisInfo.triggerTooltip||!payloadBatch.length){return}var coordSysModel=axisInfo.coordSys.model;var coordSysKey=makeKey(coordSysModel);var coordSysItem=dataByCoordSys.map[coordSysKey];if(!coordSysItem){coordSysItem=dataByCoordSys.map[coordSysKey]={coordSysId:coordSysModel.id,coordSysIndex:coordSysModel.componentIndex,coordSysType:coordSysModel.type,coordSysMainType:coordSysModel.mainType,dataByAxis:[]};dataByCoordSys.list.push(coordSysItem)}coordSysItem.dataByAxis.push({axisDim:axis.dim,axisIndex:axisModel.componentIndex,axisType:axisModel.type,axisId:axisModel.id,value:value,valueLabelOpt:{precision:axisPointerModel.get('label.precision'),formatter:axisPointerModel.get('label.formatter')},seriesDataIndices:payloadBatch.slice()})}function updateModelActually(showValueMap,axesInfo,outputFinder){var outputAxesInfo=outputFinder.axesInfo=[];each$14(axesInfo,function(axisInfo,key){var option=axisInfo.axisPointerModel.option;var valItem=showValueMap[key];if(valItem){!axisInfo.useHandle&&(option.status='show');option.value=valItem.value;option.seriesDataIndices=(valItem.payloadBatch||[]).slice()}else{!axisInfo.useHandle&&(option.status='hide')}option.status==='show'&&outputAxesInfo.push({axisDim:axisInfo.axis.dim,axisIndex:axisInfo.axis.model.componentIndex,value:option.value})})}function dispatchTooltipActually(dataByCoordSys,point,payload,dispatchAction){if(illegalPoint(point)||!dataByCoordSys.list.length){dispatchAction({type:'hideTip'});return}var sampleItem=((dataByCoordSys.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};dispatchAction({type:'showTip',escapeConnect:true,x:point[0],y:point[1],tooltipOption:payload.tooltipOption,position:payload.position,dataIndexInside:sampleItem.dataIndexInside,dataIndex:sampleItem.dataIndex,seriesIndex:sampleItem.seriesIndex,dataByCoordSys:dataByCoordSys.list})}function dispatchHighDownActually(axesInfo,dispatchAction,api){var zr=api.getZr();var highDownKey='axisPointerLastHighlights';var lastHighlights=inner$9(zr)[highDownKey]||{};var newHighlights=inner$9(zr)[highDownKey]={};each$14(axesInfo,function(axisInfo,key){var option=axisInfo.axisPointerModel.option;option.status==='show'&&each$14(option.seriesDataIndices,function(batchItem){var key=batchItem.seriesIndex+' | '+batchItem.dataIndex;newHighlights[key]=batchItem})});var toHighlight=[];var toDownplay=[];each$1(lastHighlights,function(batchItem,key){!newHighlights[key]&&toDownplay.push(batchItem)});each$1(newHighlights,function(batchItem,key){!lastHighlights[key]&&toHighlight.push(batchItem)});toDownplay.length&&api.dispatchAction({type:'downplay',escapeConnect:true,batch:toDownplay});toHighlight.length&&api.dispatchAction({type:'highlight',escapeConnect:true,batch:toHighlight})}function findInputAxisInfo(inputAxesInfo,axisInfo){for(var i=0;i<(inputAxesInfo||[]).length;i++){var inputAxisInfo=inputAxesInfo[i];if(axisInfo.axis.dim===inputAxisInfo.axisDim&&axisInfo.axis.model.componentIndex===inputAxisInfo.axisIndex){return inputAxisInfo}}}function makeMapperParam(axisInfo){var axisModel=axisInfo.axis.model;var item={};var dim=item.axisDim=axisInfo.axis.dim;item.axisIndex=item[dim+'AxisIndex']=axisModel.componentIndex;item.axisName=item[dim+'AxisName']=axisModel.name;item.axisId=item[dim+'AxisId']=axisModel.id;return item}function illegalPoint(point){return!point||point[0]==null||isNaN(point[0])||point[1]==null||isNaN(point[1])}var AxisPointerModel=extendComponentModel({type:'axisPointer',coordSysAxesInfo:null,defaultOption:{show:'auto',triggerOn:null,zlevel:0,z:50,type:'line',snap:false,triggerTooltip:true,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:'#aaa',width:1,type:'solid'},shadowStyle:{color:'rgba(150,150,150,0.3)'},label:{show:true,formatter:null,precision:'auto',margin:3,color:'#fff',padding:[5,7,5,7],backgroundColor:'auto',borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:'#aaa'},handle:{show:false,icon:'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z',size:45,margin:50,color:'#333',shadowBlur:3,shadowColor:'#aaa',shadowOffsetX:0,shadowOffsetY:2,throttle:40}}});var inner$10=makeInner();var each$15=each$1;function register(key,api,handler){if(env$1.node){return}var zr=api.getZr();inner$10(zr).records||(inner$10(zr).records={});initGlobalListeners(zr,api);var record=inner$10(zr).records[key]||(inner$10(zr).records[key]={});record.handler=handler}function initGlobalListeners(zr,api){if(inner$10(zr).initialized){return}inner$10(zr).initialized=true;useHandler('click',curry(doEnter,'click'));useHandler('mousemove',curry(doEnter,'mousemove'));useHandler('globalout',onLeave);function useHandler(eventType,cb){zr.on(eventType,function(e){var dis=makeDispatchAction(api);each$15(inner$10(zr).records,function(record){record&&cb(record,e,dis.dispatchAction)});dispatchTooltipFinally(dis.pendings,api)})}}function dispatchTooltipFinally(pendings,api){var showLen=pendings.showTip.length;var hideLen=pendings.hideTip.length;var actuallyPayload;if(showLen){actuallyPayload=pendings.showTip[showLen-1]}else if(hideLen){actuallyPayload=pendings.hideTip[hideLen-1]}if(actuallyPayload){actuallyPayload.dispatchAction=null;api.dispatchAction(actuallyPayload)}}function onLeave(record,e,dispatchAction){record.handler('leave',null,dispatchAction)}function doEnter(currTrigger,record,e,dispatchAction){record.handler(currTrigger,e,dispatchAction)}function makeDispatchAction(api){var pendings={showTip:[],hideTip:[]};var dispatchAction=function(payload){var pendingList=pendings[payload.type];if(pendingList){pendingList.push(payload)}else{payload.dispatchAction=dispatchAction;api.dispatchAction(payload)}};return{dispatchAction:dispatchAction,pendings:pendings}}function unregister(key,api){if(env$1.node){return}var zr=api.getZr();var record=(inner$10(zr).records||{})[key];if(record){inner$10(zr).records[key]=null}}var AxisPointerView=extendComponentView({type:'axisPointer',render:function(globalAxisPointerModel,ecModel,api){var globalTooltipModel=ecModel.getComponent('tooltip');var triggerOn=globalAxisPointerModel.get('triggerOn')||(globalTooltipModel&&globalTooltipModel.get('triggerOn')||'mousemove|click');register('axisPointer',api,function(currTrigger,e,dispatchAction){if(triggerOn!=='none'&&(currTrigger==='leave'||triggerOn.indexOf(currTrigger)>=0)){dispatchAction({type:'updateAxisPointer',currTrigger:currTrigger,x:e&&e.offsetX,y:e&&e.offsetY})}})},remove:function(ecModel,api){unregister(api.getZr(),'axisPointer');AxisPointerView.superApply(this._model,'remove',arguments)},dispose:function(ecModel,api){unregister('axisPointer',api);AxisPointerView.superApply(this._model,'dispose',arguments)}});var inner$11=makeInner();var clone$4=clone;var bind$2=bind;function BaseAxisPointer(){}BaseAxisPointer.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:false,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(axisModel,axisPointerModel,api,forceRender){var value=axisPointerModel.get('value');var status=axisPointerModel.get('status');this._axisModel=axisModel;this._axisPointerModel=axisPointerModel;this._api=api;if(!forceRender&&this._lastValue===value&&this._lastStatus===status){return}this._lastValue=value;this._lastStatus=status;var group=this._group;var handle=this._handle;if(!status||status==='hide'){group&&group.hide();handle&&handle.hide();return}group&&group.show();handle&&handle.show();var elOption={};this.makeElOption(elOption,value,axisModel,axisPointerModel,api);var graphicKey=elOption.graphicKey;if(graphicKey!==this._lastGraphicKey){this.clear(api)}this._lastGraphicKey=graphicKey;var moveAnimation=this._moveAnimation=this.determineAnimation(axisModel,axisPointerModel);if(!group){group=this._group=new Group();this.createPointerEl(group,elOption,axisModel,axisPointerModel);this.createLabelEl(group,elOption,axisModel,axisPointerModel);api.getZr().add(group)}else{var doUpdateProps=curry(updateProps$1,axisPointerModel,moveAnimation);this.updatePointerEl(group,elOption,doUpdateProps,axisPointerModel);this.updateLabelEl(group,elOption,doUpdateProps,axisPointerModel)}updateMandatoryProps(group,axisPointerModel,true);this._renderHandle(value)},remove:function(api){this.clear(api)},dispose:function(api){this.clear(api)},determineAnimation:function(axisModel,axisPointerModel){var animation=axisPointerModel.get('animation');var axis=axisModel.axis;var isCategoryAxis=axis.type==='category';var useSnap=axisPointerModel.get('snap');if(!useSnap&&!isCategoryAxis){return false}if(animation==='auto'||animation==null){var animationThreshold=this.animationThreshold;if(isCategoryAxis&&axis.getBandWidth()>animationThreshold){return true}if(useSnap){var seriesDataCount=getAxisInfo(axisModel).seriesDataCount;var axisExtent=axis.getExtent();return Math.abs(axisExtent[0]-axisExtent[1])/seriesDataCount>animationThreshold}return false}return animation===true},makeElOption:function(elOption,value,axisModel,axisPointerModel,api){},createPointerEl:function(group,elOption,axisModel,axisPointerModel){var pointerOption=elOption.pointer;if(pointerOption){var pointerEl=inner$11(group).pointerEl=new graphic[pointerOption.type](clone$4(elOption.pointer));group.add(pointerEl)}},createLabelEl:function(group,elOption,axisModel,axisPointerModel){if(elOption.label){var labelEl=inner$11(group).labelEl=new Rect(clone$4(elOption.label));group.add(labelEl);updateLabelShowHide(labelEl,axisPointerModel)}},updatePointerEl:function(group,elOption,updateProps$$1){var pointerEl=inner$11(group).pointerEl;if(pointerEl&&elOption.pointer){pointerEl.setStyle(elOption.pointer.style);updateProps$$1(pointerEl,{shape:elOption.pointer.shape})}},updateLabelEl:function(group,elOption,updateProps$$1,axisPointerModel){var labelEl=inner$11(group).labelEl;if(labelEl){labelEl.setStyle(elOption.label.style);updateProps$$1(labelEl,{shape:elOption.label.shape,position:elOption.label.position});updateLabelShowHide(labelEl,axisPointerModel)}},_renderHandle:function(value){if(this._dragging||!this.updateHandleTransform){return}var axisPointerModel=this._axisPointerModel;var zr=this._api.getZr();var handle=this._handle;var handleModel=axisPointerModel.getModel('handle');var status=axisPointerModel.get('status');if(!handleModel.get('show')||!status||status==='hide'){handle&&zr.remove(handle);this._handle=null;return}var isInit;if(!this._handle){isInit=true;handle=this._handle=createIcon(handleModel.get('icon'),{cursor:'move',draggable:true,onmousemove:function(e){stop(e.event)},onmousedown:bind$2(this._onHandleDragMove,this,0,0),drift:bind$2(this._onHandleDragMove,this),ondragend:bind$2(this._onHandleDragEnd,this)});zr.add(handle)}updateMandatoryProps(handle,axisPointerModel,false);var includeStyles=['color','borderColor','borderWidth','opacity','shadowColor','shadowBlur','shadowOffsetX','shadowOffsetY'];handle.setStyle(handleModel.getItemStyle(null,includeStyles));var handleSize=handleModel.get('size');if(!isArray(handleSize)){handleSize=[handleSize,handleSize]}handle.attr('scale',[handleSize[0]/2,handleSize[1]/2]);createOrUpdate(this,'_doDispatchAxisPointer',handleModel.get('throttle')||0,'fixRate');this._moveHandleToValue(value,isInit)},_moveHandleToValue:function(value,isInit){updateProps$1(this._axisPointerModel,!isInit&&this._moveAnimation,this._handle,getHandleTransProps(this.getHandleTransform(value,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(dx,dy){var handle=this._handle;if(!handle){return}this._dragging=true;var trans=this.updateHandleTransform(getHandleTransProps(handle),[dx,dy],this._axisModel,this._axisPointerModel);this._payloadInfo=trans;handle.stopAnimation();handle.attr(getHandleTransProps(trans));inner$11(handle).lastProp=null;this._doDispatchAxisPointer()},_doDispatchAxisPointer:function(){var handle=this._handle;if(!handle){return}var payloadInfo=this._payloadInfo;var axisModel=this._axisModel;this._api.dispatchAction({type:'updateAxisPointer',x:payloadInfo.cursorPoint[0],y:payloadInfo.cursorPoint[1],tooltipOption:payloadInfo.tooltipOption,axesInfo:[{axisDim:axisModel.axis.dim,axisIndex:axisModel.componentIndex}]})},_onHandleDragEnd:function(moveAnimation){this._dragging=false;var handle=this._handle;if(!handle){return}var value=this._axisPointerModel.get('value');this._moveHandleToValue(value);this._api.dispatchAction({type:'hideTip'})},getHandleTransform:null,updateHandleTransform:null,clear:function(api){this._lastValue=null;this._lastStatus=null;var zr=api.getZr();var group=this._group;var handle=this._handle;if(zr&&group){this._lastGraphicKey=null;group&&zr.remove(group);handle&&zr.remove(handle);this._group=null;this._handle=null;this._payloadInfo=null}},doClear:function(){},buildLabel:function(xy,wh,xDimIndex){xDimIndex=xDimIndex||0;return{x:xy[xDimIndex],y:xy[1-xDimIndex],width:wh[xDimIndex],height:wh[1-xDimIndex]}}};BaseAxisPointer.prototype.constructor=BaseAxisPointer;function updateProps$1(animationModel,moveAnimation,el,props){if(!propsEqual(inner$11(el).lastProp,props)){inner$11(el).lastProp=props;moveAnimation?updateProps(el,props,animationModel):(el.stopAnimation(),el.attr(props))}}function propsEqual(lastProps,newProps){if(isObject$1(lastProps)&&isObject$1(newProps)){var equals=true;each$1(newProps,function(item,key){equals=equals&&propsEqual(lastProps[key],item)});return!!equals}else{return lastProps===newProps}}function updateLabelShowHide(labelEl,axisPointerModel){labelEl[axisPointerModel.get('label.show')?'show':'hide']()}function getHandleTransProps(trans){return{position:trans.position.slice(),rotation:trans.rotation||0}}function updateMandatoryProps(group,axisPointerModel,silent){var z=axisPointerModel.get('z');var zlevel=axisPointerModel.get('zlevel');group&&group.traverse(function(el){if(el.type!=='group'){z!=null&&(el.z=z);zlevel!=null&&(el.zlevel=zlevel);el.silent=silent}})}enableClassExtend(BaseAxisPointer);function buildElStyle(axisPointerModel){var axisPointerType=axisPointerModel.get('type');var styleModel=axisPointerModel.getModel(axisPointerType+'Style');var style;if(axisPointerType==='line'){style=styleModel.getLineStyle();style.fill=null}else if(axisPointerType==='shadow'){style=styleModel.getAreaStyle();style.stroke=null}return style}function buildLabelElOption(elOption,axisModel,axisPointerModel,api,labelPos){var value=axisPointerModel.get('value');var text=getValueLabel(value,axisModel.axis,axisModel.ecModel,axisPointerModel.get('seriesDataIndices'),{precision:axisPointerModel.get('label.precision'),formatter:axisPointerModel.get('label.formatter')});var labelModel=axisPointerModel.getModel('label');var paddings=normalizeCssArray$1(labelModel.get('padding')||0);var font=labelModel.getFont();var textRect=getBoundingRect(text,font);var position=labelPos.position;var width=textRect.width+paddings[1]+paddings[3];var height=textRect.height+paddings[0]+paddings[2];var align=labelPos.align;align==='right'&&(position[0]-=width);align==='center'&&(position[0]-=width/2);var verticalAlign=labelPos.verticalAlign;verticalAlign==='bottom'&&(position[1]-=height);verticalAlign==='middle'&&(position[1]-=height/2);confineInContainer(position,width,height,api);var bgColor=labelModel.get('backgroundColor');if(!bgColor||bgColor==='auto'){bgColor=axisModel.get('axisLine.lineStyle.color')}elOption.label={shape:{x:0,y:0,width:width,height:height,r:labelModel.get('borderRadius')},position:position.slice(),style:{text:text,textFont:font,textFill:labelModel.getTextColor(),textPosition:'inside',textPadding:paddings,fill:bgColor,stroke:labelModel.get('borderColor')||'transparent',lineWidth:labelModel.get('borderWidth')||0,shadowBlur:labelModel.get('shadowBlur'),shadowColor:labelModel.get('shadowColor'),shadowOffsetX:labelModel.get('shadowOffsetX'),shadowOffsetY:labelModel.get('shadowOffsetY')},z2:10}}function confineInContainer(position,width,height,api){var viewWidth=api.getWidth();var viewHeight=api.getHeight();position[0]=Math.min(position[0]+width,viewWidth)-width;position[1]=Math.min(position[1]+height,viewHeight)-height;position[0]=Math.max(position[0],0);position[1]=Math.max(position[1],0)}function getValueLabel(value,axis,ecModel,seriesDataIndices,opt){value=axis.scale.parse(value);var text=axis.scale.getLabel(value,{precision:opt.precision});var formatter=opt.formatter;if(formatter){var params={value:getAxisRawValue(axis,value),axisDimension:axis.dim,axisIndex:axis.index,seriesData:[]};each$1(seriesDataIndices,function(idxItem){var series=ecModel.getSeriesByIndex(idxItem.seriesIndex);var dataIndex=idxItem.dataIndexInside;var dataParams=series&&series.getDataParams(dataIndex);dataParams&¶ms.seriesData.push(dataParams)});if(isString(formatter)){text=formatter.replace('{value}',text)}else if(isFunction$1(formatter)){text=formatter(params)}}return text}function getTransformedPosition(axis,value,layoutInfo){var transform=create$1();rotate(transform,transform,layoutInfo.rotation);translate(transform,transform,layoutInfo.position);return applyTransform$1([axis.dataToCoord(value),(layoutInfo.labelOffset||0)+(layoutInfo.labelDirection||1)*(layoutInfo.labelMargin||0)],transform)}function buildCartesianSingleLabelElOption(value,elOption,layoutInfo,axisModel,axisPointerModel,api){var textLayout=AxisBuilder.innerTextLayout(layoutInfo.rotation,0,layoutInfo.labelDirection);layoutInfo.labelMargin=axisPointerModel.get('label.margin');buildLabelElOption(elOption,axisModel,axisPointerModel,api,{position:getTransformedPosition(axisModel.axis,value,layoutInfo),align:textLayout.textAlign,verticalAlign:textLayout.textVerticalAlign})}function makeLineShape(p1,p2,xDimIndex){xDimIndex=xDimIndex||0;return{x1:p1[xDimIndex],y1:p1[1-xDimIndex],x2:p2[xDimIndex],y2:p2[1-xDimIndex]}}function makeRectShape(xy,wh,xDimIndex){xDimIndex=xDimIndex||0;return{x:xy[xDimIndex],y:xy[1-xDimIndex],width:wh[xDimIndex],height:wh[1-xDimIndex]}}function makeSectorShape(cx,cy,r0,r,startAngle,endAngle){return{cx:cx,cy:cy,r0:r0,r:r,startAngle:startAngle,endAngle:endAngle,clockwise:true}}var CartesianAxisPointer=BaseAxisPointer.extend({makeElOption:function(elOption,value,axisModel,axisPointerModel,api){var axis=axisModel.axis;var grid=axis.grid;var axisPointerType=axisPointerModel.get('type');var otherExtent=getCartesian(grid,axis).getOtherAxis(axis).getGlobalExtent();var pixelValue=axis.toGlobalCoord(axis.dataToCoord(value,true));if(axisPointerType&&axisPointerType!=='none'){var elStyle=buildElStyle(axisPointerModel);var pointerOption=pointerShapeBuilder[axisPointerType](axis,pixelValue,otherExtent);pointerOption.style=elStyle;elOption.graphicKey=pointerOption.type;elOption.pointer=pointerOption}var layoutInfo=layout$1(grid.model,axisModel);buildCartesianSingleLabelElOption(value,elOption,layoutInfo,axisModel,axisPointerModel,api)},getHandleTransform:function(value,axisModel,axisPointerModel){var layoutInfo=layout$1(axisModel.axis.grid.model,axisModel,{labelInside:false});layoutInfo.labelMargin=axisPointerModel.get('handle.margin');return{position:getTransformedPosition(axisModel.axis,value,layoutInfo),rotation:layoutInfo.rotation+(layoutInfo.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(transform,delta,axisModel,axisPointerModel){var axis=axisModel.axis;var grid=axis.grid;var axisExtent=axis.getGlobalExtent(true);var otherExtent=getCartesian(grid,axis).getOtherAxis(axis).getGlobalExtent();var dimIndex=axis.dim==='x'?0:1;var currPosition=transform.position;currPosition[dimIndex]+=delta[dimIndex];currPosition[dimIndex]=Math.min(axisExtent[1],currPosition[dimIndex]);currPosition[dimIndex]=Math.max(axisExtent[0],currPosition[dimIndex]);var cursorOtherValue=(otherExtent[1]+otherExtent[0])/2;var cursorPoint=[cursorOtherValue,cursorOtherValue];cursorPoint[dimIndex]=currPosition[dimIndex];var tooltipOptions=[{verticalAlign:'middle'},{align:'center'}];return{position:currPosition,rotation:transform.rotation,cursorPoint:cursorPoint,tooltipOption:tooltipOptions[dimIndex]}}});function getCartesian(grid,axis){var opt={};opt[axis.dim+'AxisIndex']=axis.index;return grid.getCartesian(opt)}var pointerShapeBuilder={line:function(axis,pixelValue,otherExtent){var targetShape=makeLineShape([pixelValue,otherExtent[0]],[pixelValue,otherExtent[1]],getAxisDimIndex(axis));return{type:'Line',subPixelOptimize:true,shape:targetShape}},shadow:function(axis,pixelValue,otherExtent){var bandWidth=Math.max(1,axis.getBandWidth());var span=otherExtent[1]-otherExtent[0];return{type:'Rect',shape:makeRectShape([pixelValue-bandWidth/2,otherExtent[0]],[bandWidth,span],getAxisDimIndex(axis))}}};function getAxisDimIndex(axis){return axis.dim==='x'?0:1}AxisView.registerAxisPointerClass('CartesianAxisPointer',CartesianAxisPointer);registerPreprocessor(function(option){if(option){(!option.axisPointer||option.axisPointer.length===0)&&(option.axisPointer={});var link=option.axisPointer.link;if(link&&!isArray(link)){option.axisPointer.link=[link]}}});registerProcessor(PRIORITY.PROCESSOR.STATISTIC,function(ecModel,api){ecModel.getComponent('axisPointer').coordSysAxesInfo=collect(ecModel,api)});registerAction({type:'updateAxisPointer',event:'updateAxisPointer',update:':updateAxisPointer'},axisTrigger);var XY=['x','y'];var WH=['width','height'];var SingleAxisPointer=BaseAxisPointer.extend({makeElOption:function(elOption,value,axisModel,axisPointerModel,api){var axis=axisModel.axis;var coordSys=axis.coordinateSystem;var otherExtent=getGlobalExtent(coordSys,1-getPointDimIndex(axis));var pixelValue=coordSys.dataToPoint(value)[0];var axisPointerType=axisPointerModel.get('type');if(axisPointerType&&axisPointerType!=='none'){var elStyle=buildElStyle(axisPointerModel);var pointerOption=pointerShapeBuilder$1[axisPointerType](axis,pixelValue,otherExtent);pointerOption.style=elStyle;elOption.graphicKey=pointerOption.type;elOption.pointer=pointerOption}var layoutInfo=layout$2(axisModel);buildCartesianSingleLabelElOption(value,elOption,layoutInfo,axisModel,axisPointerModel,api)},getHandleTransform:function(value,axisModel,axisPointerModel){var layoutInfo=layout$2(axisModel,{labelInside:false});layoutInfo.labelMargin=axisPointerModel.get('handle.margin');return{position:getTransformedPosition(axisModel.axis,value,layoutInfo),rotation:layoutInfo.rotation+(layoutInfo.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(transform,delta,axisModel,axisPointerModel){var axis=axisModel.axis;var coordSys=axis.coordinateSystem;var dimIndex=getPointDimIndex(axis);var axisExtent=getGlobalExtent(coordSys,dimIndex);var currPosition=transform.position;currPosition[dimIndex]+=delta[dimIndex];currPosition[dimIndex]=Math.min(axisExtent[1],currPosition[dimIndex]);currPosition[dimIndex]=Math.max(axisExtent[0],currPosition[dimIndex]);var otherExtent=getGlobalExtent(coordSys,1-dimIndex);var cursorOtherValue=(otherExtent[1]+otherExtent[0])/2;var cursorPoint=[cursorOtherValue,cursorOtherValue];cursorPoint[dimIndex]=currPosition[dimIndex];return{position:currPosition,rotation:transform.rotation,cursorPoint:cursorPoint,tooltipOption:{verticalAlign:'middle'}}}});var pointerShapeBuilder$1={line:function(axis,pixelValue,otherExtent){var targetShape=makeLineShape([pixelValue,otherExtent[0]],[pixelValue,otherExtent[1]],getPointDimIndex(axis));return{type:'Line',subPixelOptimize:true,shape:targetShape}},shadow:function(axis,pixelValue,otherExtent){var bandWidth=axis.getBandWidth();var span=otherExtent[1]-otherExtent[0];return{type:'Rect',shape:makeRectShape([pixelValue-bandWidth/2,otherExtent[0]],[bandWidth,span],getPointDimIndex(axis))}}};function getPointDimIndex(axis){return axis.isHorizontal()?0:1}function getGlobalExtent(coordSys,dimIndex){var rect=coordSys.getRect();return[rect[XY[dimIndex]],rect[XY[dimIndex]]+rect[WH[dimIndex]]]}AxisView.registerAxisPointerClass('SingleAxisPointer',SingleAxisPointer);extendComponentView({type:'single'});var DATA_NAME_INDEX=2;var ThemeRiverSeries=SeriesModel.extend({type:'series.themeRiver',dependencies:['singleAxis'],nameMap:null,init:function(option){ThemeRiverSeries.superApply(this,'init',arguments);this.legendVisualProvider=new LegendVisualProvider(bind(this.getData,this),bind(this.getRawData,this))},fixData:function(data){var rawDataLength=data.length;var groupResult=groupData(data,function(item){return item[2]});var layData=[];groupResult.buckets.each(function(items,key){layData.push({name:key,dataList:items})});var layerNum=layData.length;var largestLayer=-1;var index=-1;for(var i=0;ilargestLayer){largestLayer=len;index=i}}for(var k=0;kmax){max=temp}sums.push(temp)}for(var k=0;kmax){max=sum}}base.y0=y0;base.max=max;return base}var themeRiverVisual=function(ecModel){ecModel.eachSeriesByType('themeRiver',function(seriesModel){var data=seriesModel.getData();var rawData=seriesModel.getRawData();var colorList=seriesModel.get('color');var idxMap=createHashMap();data.each(function(idx){idxMap.set(data.getRawIndex(idx),idx)});rawData.each(function(rawIndex){var name=rawData.getName(rawIndex);var color=colorList[(seriesModel.nameMap.get(name)-1)%colorList.length];rawData.setItemVisual(rawIndex,'color',color);var idx=idxMap.get(rawIndex);if(idx!=null){data.setItemVisual(idx,'color',color)}})})};registerLayout(themeRiverLayout);registerVisual(themeRiverVisual);registerProcessor(dataFilter('themeRiver'));SeriesModel.extend({type:'series.sunburst',_viewRoot:null,getInitialData:function(option,ecModel){var root={name:option.name,children:option.data};completeTreeValue$1(root);var levels=option.levels||[];var treeOption={};treeOption.levels=levels;return Tree.createTree(root,this,treeOption).data},optionUpdated:function(){this.resetViewRoot()},getDataParams:function(dataIndex){var params=SeriesModel.prototype.getDataParams.apply(this,arguments);var node=this.getData().tree.getNodeByDataIndex(dataIndex);params.treePathInfo=wrapTreePathInfo(node,this);return params},defaultOption:{zlevel:0,z:2,center:['50%','50%'],radius:[0,'75%'],clockwise:true,startAngle:90,minAngle:0,percentPrecision:2,stillShowZeroSum:true,highlightPolicy:'descendant',nodeClick:'rootToNode',renderLabelForZeroData:false,label:{rotate:'radial',show:true,opacity:1,align:'center',position:'inside',distance:5,silent:true},itemStyle:{borderWidth:1,borderColor:'white',borderType:'solid',shadowBlur:0,shadowColor:'rgba(0, 0, 0, 0.2)',shadowOffsetX:0,shadowOffsetY:0,opacity:1},highlight:{itemStyle:{opacity:1}},downplay:{itemStyle:{opacity:0.5},label:{opacity:0.6}},animationType:'expansion',animationDuration:1000,animationDurationUpdate:500,animationEasing:'cubicOut',data:[],levels:[],sort:'desc'},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(viewRoot){viewRoot?(this._viewRoot=viewRoot):(viewRoot=this._viewRoot);var root=this.getRawData().tree.root;if(!viewRoot||(viewRoot!==root&&!root.contains(viewRoot))){this._viewRoot=root}}});function completeTreeValue$1(dataNode){var sum=0;each$1(dataNode.children,function(child){completeTreeValue$1(child);var childValue=child.value;isArray(childValue)&&(childValue=childValue[0]);sum+=childValue});var thisValue=dataNode.value;if(isArray(thisValue)){thisValue=thisValue[0]}if(thisValue==null||isNaN(thisValue)){thisValue=sum}if(thisValue<0){thisValue=0}isArray(dataNode.value)?(dataNode.value[0]=thisValue):(dataNode.value=thisValue)}var NodeHighlightPolicy={NONE:'none',DESCENDANT:'descendant',ANCESTOR:'ancestor',SELF:'self'};var DEFAULT_SECTOR_Z=2;var DEFAULT_TEXT_Z=4;function SunburstPiece(node,seriesModel,ecModel){Group.call(this);var sector=new Sector({z2:DEFAULT_SECTOR_Z});sector.seriesIndex=seriesModel.seriesIndex;var text=new Text({z2:DEFAULT_TEXT_Z,silent:node.getModel('label').get('silent')});this.add(sector);this.add(text);this.updateData(true,node,'normal',seriesModel,ecModel);function onEmphasis(){text.ignore=text.hoverIgnore}function onNormal(){text.ignore=text.normalIgnore}this.on('emphasis',onEmphasis).on('normal',onNormal).on('mouseover',onEmphasis).on('mouseout',onNormal)}var SunburstPieceProto=SunburstPiece.prototype;SunburstPieceProto.updateData=function(firstCreate,node,state,seriesModel,ecModel){this.node=node;node.piece=this;seriesModel=seriesModel||this._seriesModel;ecModel=ecModel||this._ecModel;var sector=this.childAt(0);sector.dataIndex=node.dataIndex;var itemModel=node.getModel();var layout=node.getLayout();var sectorShape=extend({},layout);sectorShape.label=null;var visualColor=getNodeColor(node,seriesModel,ecModel);fillDefaultColor(node,seriesModel,visualColor);var normalStyle=itemModel.getModel('itemStyle').getItemStyle();var style;if(state==='normal'){style=normalStyle}else{var stateStyle=itemModel.getModel(state+'.itemStyle').getItemStyle();style=merge(stateStyle,normalStyle)}style=defaults({lineJoin:'bevel',fill:style.fill||visualColor},style);if(firstCreate){sector.setShape(sectorShape);sector.shape.r=layout.r0;updateProps(sector,{shape:{r:layout.r}},seriesModel,node.dataIndex);sector.useStyle(style)}else if(typeof style.fill==='object'&&style.fill.type||typeof sector.style.fill==='object'&§or.style.fill.type){updateProps(sector,{shape:sectorShape},seriesModel);sector.useStyle(style)}else{updateProps(sector,{shape:sectorShape,style:style},seriesModel)}this._updateLabel(seriesModel,visualColor,state);var cursorStyle=itemModel.getShallow('cursor');cursorStyle&§or.attr('cursor',cursorStyle);if(firstCreate){var highlightPolicy=seriesModel.getShallow('highlightPolicy');this._initEvents(sector,node,seriesModel,highlightPolicy)}this._seriesModel=seriesModel||this._seriesModel;this._ecModel=ecModel||this._ecModel;setHoverStyle(this)};SunburstPieceProto.onEmphasis=function(highlightPolicy){var that=this;this.node.hostTree.root.eachNode(function(n){if(n.piece){if(that.node===n){n.piece.updateData(false,n,'emphasis')}else if(isNodeHighlighted(n,that.node,highlightPolicy)){n.piece.childAt(0).trigger('highlight')}else if(highlightPolicy!==NodeHighlightPolicy.NONE){n.piece.childAt(0).trigger('downplay')}}})};SunburstPieceProto.onNormal=function(){this.node.hostTree.root.eachNode(function(n){if(n.piece){n.piece.updateData(false,n,'normal')}})};SunburstPieceProto.onHighlight=function(){this.updateData(false,this.node,'highlight')};SunburstPieceProto.onDownplay=function(){this.updateData(false,this.node,'downplay')};SunburstPieceProto._updateLabel=function(seriesModel,visualColor,state){var itemModel=this.node.getModel();var normalModel=itemModel.getModel('label');var labelModel=state==='normal'||state==='emphasis'?normalModel:itemModel.getModel(state+'.label');var labelHoverModel=itemModel.getModel('emphasis.label');var text=retrieve(seriesModel.getFormattedLabel(this.node.dataIndex,state,null,null,'label'),this.node.name);if(getLabelAttr('show')===false){text=''}var layout=this.node.getLayout();var labelMinAngle=labelModel.get('minAngle');if(labelMinAngle==null){labelMinAngle=normalModel.get('minAngle')}labelMinAngle=labelMinAngle/180*Math.PI;var angle=layout.endAngle-layout.startAngle;if(labelMinAngle!=null&&Math.abs(angle)Math.PI/2?'right':'left'}else{if(!textAlign||textAlign==='center'){r=(layout.r+layout.r0)/2;textAlign='center'}else if(textAlign==='left'){r=layout.r0+labelPadding;if(midAngle>Math.PI/2){textAlign='right'}}else if(textAlign==='right'){r=layout.r-labelPadding;if(midAngle>Math.PI/2){textAlign='left'}}}label.attr('style',{text:text,textAlign:textAlign,textVerticalAlign:getLabelAttr('verticalAlign')||'middle',opacity:getLabelAttr('opacity')});var textX=r*dx+layout.cx;var textY=r*dy+layout.cy;label.attr('position',[textX,textY]);var rotateType=getLabelAttr('rotate');var rotate=0;if(rotateType==='radial'){rotate=-midAngle;if(rotate<-Math.PI/2){rotate+=Math.PI}}else if(rotateType==='tangential'){rotate=Math.PI/2-midAngle;if(rotate>Math.PI/2){rotate-=Math.PI}else if(rotate<-Math.PI/2){rotate+=Math.PI}}else if(typeof rotateType==='number'){rotate=rotateType*Math.PI/180}label.attr('rotation',rotate);function getLabelAttr(name){var stateAttr=labelModel.get(name);if(stateAttr==null){return normalModel.get(name)}else{return stateAttr}}};SunburstPieceProto._initEvents=function(sector,node,seriesModel,highlightPolicy){sector.off('mouseover').off('mouseout').off('emphasis').off('normal');var that=this;var onEmphasis=function(){that.onEmphasis(highlightPolicy)};var onNormal=function(){that.onNormal()};var onDownplay=function(){that.onDownplay()};var onHighlight=function(){that.onHighlight()};if(seriesModel.isAnimationEnabled()){sector.on('mouseover',onEmphasis).on('mouseout',onNormal).on('emphasis',onEmphasis).on('normal',onNormal).on('downplay',onDownplay).on('highlight',onHighlight)}};inherits(SunburstPiece,Group);function getNodeColor(node,seriesModel,ecModel){var visualColor=node.getVisual('color');var visualMetaList=node.getVisual('visualMeta');if(!visualMetaList||visualMetaList.length===0){visualColor=null}var color=node.getModel('itemStyle').get('color');if(color){return color}else if(visualColor){return visualColor}else if(node.depth===0){return ecModel.option.color[0]}else{var length=ecModel.option.color.length;color=ecModel.option.color[getRootId(node)%length]}return color}function getRootId(node){var ancestor=node;while(ancestor.depth>1){ancestor=ancestor.parentNode}var virtualRoot=node.getAncestors()[0];return indexOf(virtualRoot.children,ancestor)}function isNodeHighlighted(node,activeNode,policy){if(policy===NodeHighlightPolicy.NONE){return false}else if(policy===NodeHighlightPolicy.SELF){return node===activeNode}else if(policy===NodeHighlightPolicy.ANCESTOR){return node===activeNode||node.isAncestorOf(activeNode)}else{return node===activeNode||node.isDescendantOf(activeNode)}}function fillDefaultColor(node,seriesModel,color){var data=seriesModel.getData();data.setItemVisual(node.dataIndex,'color',color)}var ROOT_TO_NODE_ACTION='sunburstRootToNode';var SunburstView=Chart.extend({type:'sunburst',init:function(){},render:function(seriesModel,ecModel,api,payload){var that=this;this.seriesModel=seriesModel;this.api=api;this.ecModel=ecModel;var data=seriesModel.getData();var virtualRoot=data.tree.root;var newRoot=seriesModel.getViewRoot();var group=this.group;var renderLabelForZeroData=seriesModel.get('renderLabelForZeroData');var newChildren=[];newRoot.eachNode(function(node){newChildren.push(node)});var oldChildren=this._oldChildren||[];dualTravel(newChildren,oldChildren);renderRollUp(virtualRoot,newRoot);if(payload&&payload.highlight&&payload.highlight.piece){var highlightPolicy=seriesModel.getShallow('highlightPolicy');payload.highlight.piece.onEmphasis(highlightPolicy)}else if(payload&&payload.unhighlight){var piece=this.virtualPiece;if(!piece&&virtualRoot.children.length){piece=virtualRoot.children[0].piece}if(piece){piece.onNormal()}}this._initEvents();this._oldChildren=newChildren;function dualTravel(newChildren,oldChildren){if(newChildren.length===0&&oldChildren.length===0){return}new DataDiffer(oldChildren,newChildren,getKey,getKey).add(processNode).update(processNode).remove(curry(processNode,null)).execute();function getKey(node){return node.getId()}function processNode(newId,oldId){var newNode=newId==null?null:newChildren[newId];var oldNode=oldId==null?null:oldChildren[oldId];doRenderNode(newNode,oldNode)}}function doRenderNode(newNode,oldNode){if(!renderLabelForZeroData&&newNode&&!newNode.getValue()){newNode=null}if(newNode!==virtualRoot&&oldNode!==virtualRoot){if(oldNode&&oldNode.piece){if(newNode){oldNode.piece.updateData(false,newNode,'normal',seriesModel,ecModel);data.setItemGraphicEl(newNode.dataIndex,oldNode.piece)}else{removeNode(oldNode)}}else if(newNode){var piece=new SunburstPiece(newNode,seriesModel,ecModel);group.add(piece);data.setItemGraphicEl(newNode.dataIndex,piece)}}}function removeNode(node){if(!node){return}if(node.piece){group.remove(node.piece);node.piece=null}}function renderRollUp(virtualRoot,viewRoot){if(viewRoot.depth>0){if(that.virtualPiece){that.virtualPiece.updateData(false,virtualRoot,'normal',seriesModel,ecModel)}else{that.virtualPiece=new SunburstPiece(virtualRoot,seriesModel,ecModel);group.add(that.virtualPiece)}if(viewRoot.piece._onclickEvent){viewRoot.piece.off('click',viewRoot.piece._onclickEvent)}var event=function(e){that._rootToNode(viewRoot.parentNode)};viewRoot.piece._onclickEvent=event;that.virtualPiece.on('click',event)}else if(that.virtualPiece){group.remove(that.virtualPiece);that.virtualPiece=null}}},dispose:function(){},_initEvents:function(){var that=this;var event=function(e){var targetFound=false;var viewRoot=that.seriesModel.getViewRoot();viewRoot.eachNode(function(node){if(!targetFound&&node.piece&&node.piece.childAt(0)===e.target){var nodeClick=node.getModel().get('nodeClick');if(nodeClick==='rootToNode'){that._rootToNode(node)}else if(nodeClick==='link'){var itemModel=node.getModel();var link=itemModel.get('link');if(link){var linkTarget=itemModel.get('target',true)||'_blank';windowOpen(link,linkTarget)}}targetFound=true}})};if(this.group._onclickEvent){this.group.off('click',this.group._onclickEvent)}this.group.on('click',event);this.group._onclickEvent=event},_rootToNode:function(node){if(node!==this.seriesModel.getViewRoot()){this.api.dispatchAction({type:ROOT_TO_NODE_ACTION,from:this.uid,seriesId:this.seriesModel.id,targetNode:node})}},containPoint:function(point,seriesModel){var treeRoot=seriesModel.getData();var itemLayout=treeRoot.getItemLayout(0);if(itemLayout){var dx=point[0]-itemLayout.cx;var dy=point[1]-itemLayout.cy;var radius=Math.sqrt(dx*dx+dy*dy);return radius<=itemLayout.r&&radius>=itemLayout.r0}}});var ROOT_TO_NODE_ACTION$1='sunburstRootToNode';registerAction({type:ROOT_TO_NODE_ACTION$1,update:'updateView'},function(payload,ecModel){ecModel.eachComponent({mainType:'series',subType:'sunburst',query:payload},handleRootToNode);function handleRootToNode(model,index){var targetInfo=retrieveTargetInfo(payload,[ROOT_TO_NODE_ACTION$1],model);if(targetInfo){var originViewRoot=model.getViewRoot();if(originViewRoot){payload.direction=aboveViewRoot(originViewRoot,targetInfo.node)?'rollUp':'drillDown'}model.resetViewRoot(targetInfo.node)}}});var HIGHLIGHT_ACTION='sunburstHighlight';registerAction({type:HIGHLIGHT_ACTION,update:'updateView'},function(payload,ecModel){ecModel.eachComponent({mainType:'series',subType:'sunburst',query:payload},handleHighlight);function handleHighlight(model,index){var targetInfo=retrieveTargetInfo(payload,[HIGHLIGHT_ACTION],model);if(targetInfo){payload.highlight=targetInfo.node}}});var UNHIGHLIGHT_ACTION='sunburstUnhighlight';registerAction({type:UNHIGHLIGHT_ACTION,update:'updateView'},function(payload,ecModel){ecModel.eachComponent({mainType:'series',subType:'sunburst',query:payload},handleUnhighlight);function handleUnhighlight(model,index){payload.unhighlight=true}});var RADIAN$2=Math.PI/180;var sunburstLayout=function(seriesType,ecModel,api,payload){ecModel.eachSeriesByType(seriesType,function(seriesModel){var center=seriesModel.get('center');var radius=seriesModel.get('radius');if(!isArray(radius)){radius=[0,radius]}if(!isArray(center)){center=[center,center]}var width=api.getWidth();var height=api.getHeight();var size=Math.min(width,height);var cx=parsePercent$1(center[0],width);var cy=parsePercent$1(center[1],height);var r0=parsePercent$1(radius[0],size/2);var r=parsePercent$1(radius[1],size/2);var startAngle=-seriesModel.get('startAngle')*RADIAN$2;var minAngle=seriesModel.get('minAngle')*RADIAN$2;var virtualRoot=seriesModel.getData().tree.root;var treeRoot=seriesModel.getViewRoot();var rootDepth=treeRoot.depth;var sort=seriesModel.get('sort');if(sort!=null){initChildren$1(treeRoot,sort)}var validDataCount=0;each$1(treeRoot.children,function(child){!isNaN(child.getValue())&&validDataCount++});var sum=treeRoot.getValue();var unitRadian=Math.PI/(sum||validDataCount)*2;var renderRollupNode=treeRoot.depth>0;var levels=treeRoot.height-(renderRollupNode?-1:1);var rPerLevel=(r-r0)/(levels||1);var clockwise=seriesModel.get('clockwise');var stillShowZeroSum=seriesModel.get('stillShowZeroSum');var dir=clockwise?1:-1;var renderNode=function(node,startAngle){if(!node){return}var endAngle=startAngle;if(node!==virtualRoot){var value=node.getValue();var angle=(sum===0&&stillShowZeroSum)?unitRadian:(value*unitRadian);if(angleradius[1]&&radius.reverse();return{coordSys:{type:'polar',cx:coordSys.cx,cy:coordSys.cy,r:radius[1],r0:radius[0]},api:{coord:bind(function(data){var radius=radiusAxis.dataToRadius(data[0]);var angle=angleAxis.dataToAngle(data[1]);var coord=coordSys.coordToPoint([radius,angle]);coord.push(radius,angle*Math.PI/180);return coord}),size:bind(dataToCoordSize$3,coordSys)}}};var prepareCalendar=function(coordSys){var rect=coordSys.getRect();var rangeInfo=coordSys.getRangeInfo();return{coordSys:{type:'calendar',x:rect.x,y:rect.y,width:rect.width,height:rect.height,cellWidth:coordSys.getCellWidth(),cellHeight:coordSys.getCellHeight(),rangeInfo:{start:rangeInfo.start,end:rangeInfo.end,weeks:rangeInfo.weeks,dayCount:rangeInfo.allDay}},api:{coord:function(data,clamp){return coordSys.dataToPoint(data,clamp)}}}};var CACHED_LABEL_STYLE_PROPERTIES$1=CACHED_LABEL_STYLE_PROPERTIES;var ITEM_STYLE_NORMAL_PATH=['itemStyle'];var ITEM_STYLE_EMPHASIS_PATH=['emphasis','itemStyle'];var LABEL_NORMAL=['label'];var LABEL_EMPHASIS=['emphasis','label'];var GROUP_DIFF_PREFIX='e\0\0';var prepareCustoms={cartesian2d:prepareCartesian2d,geo:prepareGeo,singleAxis:prepareSingleAxis,polar:preparePolar,calendar:prepareCalendar};SeriesModel.extend({type:'series.custom',dependencies:['grid','polar','geo','singleAxis','calendar'],defaultOption:{coordinateSystem:'cartesian2d',zlevel:0,z:2,legendHoverLink:true,useTransform:true,clip:false},getInitialData:function(option,ecModel){return createListFromArray(this.getSource(),this)},getDataParams:function(dataIndex,dataType,el){var params=SeriesModel.prototype.getDataParams.apply(this,arguments);el&&(params.info=el.info);return params}});Chart.extend({type:'custom',_data:null,render:function(customSeries,ecModel,api,payload){var oldData=this._data;var data=customSeries.getData();var group=this.group;var renderItem=makeRenderItem(customSeries,data,ecModel,api);data.diff(oldData).add(function(newIdx){createOrUpdate$1(null,newIdx,renderItem(newIdx,payload),customSeries,group,data)}).update(function(newIdx,oldIdx){var el=oldData.getItemGraphicEl(oldIdx);createOrUpdate$1(el,newIdx,renderItem(newIdx,payload),customSeries,group,data)}).remove(function(oldIdx){var el=oldData.getItemGraphicEl(oldIdx);el&&group.remove(el)}).execute();var clipPath=customSeries.get('clip',true)?createClipPath(customSeries.coordinateSystem,false,customSeries):null;if(clipPath){group.setClipPath(clipPath)}else{group.removeClipPath()}this._data=data},incrementalPrepareRender:function(customSeries,ecModel,api){this.group.removeAll();this._data=null},incrementalRender:function(params,customSeries,ecModel,api,payload){var data=customSeries.getData();var renderItem=makeRenderItem(customSeries,data,ecModel,api);function setIncrementalAndHoverLayer(el){if(!el.isGroup){el.incremental=true;el.useHoverLayer=true}}for(var idx=params.start;idx=0?'p':'n';var baseCoord=valueAxisStart;if(stacked){if(!lastStackCoords[stackId][baseValue]){lastStackCoords[stackId][baseValue]={p:valueAxisStart,n:valueAxisStart}}baseCoord=lastStackCoords[stackId][baseValue][sign]}var r0;var r;var startAngle;var endAngle;if(valueAxis.dim==='radius'){var radiusSpan=valueAxis.dataToRadius(value)-valueAxisStart;var angle=baseAxis.dataToAngle(baseValue);if(Math.abs(radiusSpan)interval){interval=lastAutoInterval}else{cache.lastTickCount=tickCount;cache.lastAutoInterval=interval}return interval}};inherits(AngleAxis,Axis);var Polar=function(name){this.name=name||'';this.cx=0;this.cy=0;this._radiusAxis=new RadiusAxis();this._angleAxis=new AngleAxis();this._radiusAxis.polar=this._angleAxis.polar=this};Polar.prototype={type:'polar',axisPointerEnabled:true,constructor:Polar,dimensions:['radius','angle'],model:null,containPoint:function(point){var coord=this.pointToCoord(point);return this._radiusAxis.contain(coord[0])&&this._angleAxis.contain(coord[1])},containData:function(data){return this._radiusAxis.containData(data[0])&&this._angleAxis.containData(data[1])},getAxis:function(dim){return this['_'+dim+'Axis']},getAxes:function(){return[this._radiusAxis,this._angleAxis]},getAxesByScale:function(scaleType){var axes=[];var angleAxis=this._angleAxis;var radiusAxis=this._radiusAxis;angleAxis.scale.type===scaleType&&axes.push(angleAxis);radiusAxis.scale.type===scaleType&&axes.push(radiusAxis);return axes},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(axis){var angleAxis=this._angleAxis;return axis===angleAxis?this._radiusAxis:angleAxis},getBaseAxis:function(){return this.getAxesByScale('ordinal')[0]||this.getAxesByScale('time')[0]||this.getAngleAxis()},getTooltipAxes:function(dim){var baseAxis=(dim!=null&&dim!=='auto')?this.getAxis(dim):this.getBaseAxis();return{baseAxes:[baseAxis],otherAxes:[this.getOtherAxis(baseAxis)]}},dataToPoint:function(data,clamp){return this.coordToPoint([this._radiusAxis.dataToRadius(data[0],clamp),this._angleAxis.dataToAngle(data[1],clamp)])},pointToData:function(point,clamp){var coord=this.pointToCoord(point);return[this._radiusAxis.radiusToData(coord[0],clamp),this._angleAxis.angleToData(coord[1],clamp)]},pointToCoord:function(point){var dx=point[0]-this.cx;var dy=point[1]-this.cy;var angleAxis=this.getAngleAxis();var extent=angleAxis.getExtent();var minAngle=Math.min(extent[0],extent[1]);var maxAngle=Math.max(extent[0],extent[1]);angleAxis.inverse?(minAngle=maxAngle-360):(maxAngle=minAngle+360);var radius=Math.sqrt(dx*dx+dy*dy);dx/=radius;dy/=radius;var radian=Math.atan2(-dy,dx)/Math.PI*180;var dir=radianmaxAngle){radian+=dir*360}return[radius,radian]},coordToPoint:function(coord){var radius=coord[0];var radian=coord[1]/180*Math.PI;var x=Math.cos(radian)*radius+this.cx;var y=-Math.sin(radian)*radius+this.cy;return[x,y]},getArea:function(){var angleAxis=this.getAngleAxis();var radiusAxis=this.getRadiusAxis();var radiusExtent=radiusAxis.getExtent().slice();radiusExtent[0]>radiusExtent[1]&&radiusExtent.reverse();var angleExtent=angleAxis.getExtent();var RADIAN=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:radiusExtent[0],r:radiusExtent[1],startAngle:-angleExtent[0]*RADIAN,endAngle:-angleExtent[1]*RADIAN,clockwise:angleAxis.inverse,contain:function(x,y){var dx=x-this.cx;var dy=y-this.cy;var d2=dx*dx+dy*dy;var r=this.r;var r0=this.r0;return d2<=r*r&&d2>=r0*r0}}}};var PolarAxisModel=ComponentModel.extend({type:'polarAxis',axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:'polar',index:this.option.polarIndex,id:this.option.polarId})[0]}});merge(PolarAxisModel.prototype,axisModelCommonMixin);var polarAxisDefaultExtendedOption={angle:{startAngle:90,clockwise:true,splitNumber:12,axisLabel:{rotate:false}},radius:{splitNumber:5}};function getAxisType$3(axisDim,option){return option.type||(option.data?'category':'value')}axisModelCreator('angle',PolarAxisModel,getAxisType$3,polarAxisDefaultExtendedOption.angle);axisModelCreator('radius',PolarAxisModel,getAxisType$3,polarAxisDefaultExtendedOption.radius);extendComponentModel({type:'polar',dependencies:['polarAxis','angleAxis'],coordinateSystem:null,findAxisModel:function(axisType){var foundAxisModel;var ecModel=this.ecModel;ecModel.eachComponent(axisType,function(axisModel){if(axisModel.getCoordSysModel()===this){foundAxisModel=axisModel}},this);return foundAxisModel},defaultOption:{zlevel:0,z:0,center:['50%','50%'],radius:'80%'}});function resizePolar(polar,polarModel,api){var center=polarModel.get('center');var width=api.getWidth();var height=api.getHeight();polar.cx=parsePercent$1(center[0],width);polar.cy=parsePercent$1(center[1],height);var radiusAxis=polar.getRadiusAxis();var size=Math.min(width,height)/2;var radius=polarModel.get('radius');if(radius==null){radius=[0,'100%']}else if(!isArray(radius)){radius=[0,radius]}radius=[parsePercent$1(radius[0],size),parsePercent$1(radius[1],size)];radiusAxis.inverse?radiusAxis.setExtent(radius[1],radius[0]):radiusAxis.setExtent(radius[0],radius[1])}function updatePolarScale(ecModel,api){var polar=this;var angleAxis=polar.getAngleAxis();var radiusAxis=polar.getRadiusAxis();angleAxis.scale.setExtent(Infinity,-Infinity);radiusAxis.scale.setExtent(Infinity,-Infinity);ecModel.eachSeries(function(seriesModel){if(seriesModel.coordinateSystem===polar){var data=seriesModel.getData();each$1(data.mapDimension('radius',true),function(dim){radiusAxis.scale.unionExtentFromData(data,getStackedDimension(data,dim))});each$1(data.mapDimension('angle',true),function(dim){angleAxis.scale.unionExtentFromData(data,getStackedDimension(data,dim))})}});niceScaleExtent(angleAxis.scale,angleAxis.model);niceScaleExtent(radiusAxis.scale,radiusAxis.model);if(angleAxis.type==='category'&&!angleAxis.onBand){var extent=angleAxis.getExtent();var diff=360/angleAxis.scale.count();angleAxis.inverse?(extent[1]+=diff):(extent[1]-=diff);angleAxis.setExtent(extent[0],extent[1])}}function setAxis(axis,axisModel){axis.type=axisModel.get('type');axis.scale=createScaleByModel(axisModel);axis.onBand=axisModel.get('boundaryGap')&&axis.type==='category';axis.inverse=axisModel.get('inverse');if(axisModel.mainType==='angleAxis'){axis.inverse^=axisModel.get('clockwise');var startAngle=axisModel.get('startAngle');axis.setExtent(startAngle,startAngle+(axis.inverse?-360:360))}axisModel.axis=axis;axis.model=axisModel}var polarCreator={dimensions:Polar.prototype.dimensions,create:function(ecModel,api){var polarList=[];ecModel.eachComponent('polar',function(polarModel,idx){var polar=new Polar(idx);polar.update=updatePolarScale;var radiusAxis=polar.getRadiusAxis();var angleAxis=polar.getAngleAxis();var radiusAxisModel=polarModel.findAxisModel('radiusAxis');var angleAxisModel=polarModel.findAxisModel('angleAxis');setAxis(radiusAxis,radiusAxisModel);setAxis(angleAxis,angleAxisModel);resizePolar(polar,polarModel,api);polarList.push(polar);polarModel.coordinateSystem=polar;polar.model=polarModel});ecModel.eachSeries(function(seriesModel){if(seriesModel.get('coordinateSystem')==='polar'){var polarModel=ecModel.queryComponents({mainType:'polar',index:seriesModel.get('polarIndex'),id:seriesModel.get('polarId')})[0];if(__DEV__){if(!polarModel){throw new Error('Polar "'+retrieve(seriesModel.get('polarIndex'),seriesModel.get('polarId'),0)+'" not found');}}seriesModel.coordinateSystem=polarModel.coordinateSystem}});return polarList}};CoordinateSystemManager.register('polar',polarCreator);var elementList$1=['axisLine','axisLabel','axisTick','minorTick','splitLine','minorSplitLine','splitArea'];function getAxisLineShape(polar,rExtent,angle){rExtent[1]>rExtent[0]&&(rExtent=rExtent.slice().reverse());var start=polar.coordToPoint([rExtent[0],angle]);var end=polar.coordToPoint([rExtent[1],angle]);return{x1:start[0],y1:start[1],x2:end[0],y2:end[1]}}function getRadiusIdx(polar){var radiusAxis=polar.getRadiusAxis();return radiusAxis.inverse?0:1}function fixAngleOverlap(list){var firstItem=list[0];var lastItem=list[list.length-1];if(firstItem&&lastItem&&Math.abs(Math.abs(firstItem.coord-lastItem.coord)-360)<1e-4){list.pop()}}AxisView.extend({type:'angleAxis',axisPointerClass:'PolarAxisPointer',render:function(angleAxisModel,ecModel){this.group.removeAll();if(!angleAxisModel.get('show')){return}var angleAxis=angleAxisModel.axis;var polar=angleAxis.polar;var radiusExtent=polar.getRadiusAxis().getExtent();var ticksAngles=angleAxis.getTicksCoords();var minorTickAngles=angleAxis.getMinorTicksCoords();var labels=map(angleAxis.getViewLabels(),function(labelItem){var labelItem=clone(labelItem);labelItem.coord=angleAxis.dataToCoord(labelItem.tickValue);return labelItem});fixAngleOverlap(labels);fixAngleOverlap(ticksAngles);each$1(elementList$1,function(name){if(angleAxisModel.get(name+'.show')&&(!angleAxis.scale.isBlank()||name==='axisLine')){this['_'+name](angleAxisModel,polar,ticksAngles,minorTickAngles,radiusExtent,labels)}},this)},_axisLine:function(angleAxisModel,polar,ticksAngles,minorTickAngles,radiusExtent){var lineStyleModel=angleAxisModel.getModel('axisLine.lineStyle');var rId=getRadiusIdx(polar);var r0Id=rId?0:1;var shape;if(radiusExtent[r0Id]===0){shape=new Circle({shape:{cx:polar.cx,cy:polar.cy,r:radiusExtent[rId]},style:lineStyleModel.getLineStyle(),z2:1,silent:true})}else{shape=new Ring({shape:{cx:polar.cx,cy:polar.cy,r:radiusExtent[rId],r0:radiusExtent[r0Id]},style:lineStyleModel.getLineStyle(),z2:1,silent:true})}shape.style.fill=null;this.group.add(shape)},_axisTick:function(angleAxisModel,polar,ticksAngles,minorTickAngles,radiusExtent){var tickModel=angleAxisModel.getModel('axisTick');var tickLen=(tickModel.get('inside')?-1:1)*tickModel.get('length');var radius=radiusExtent[getRadiusIdx(polar)];var lines=map(ticksAngles,function(tickAngleItem){return new Line({shape:getAxisLineShape(polar,[radius,radius+tickLen],tickAngleItem.coord)})});this.group.add(mergePath(lines,{style:defaults(tickModel.getModel('lineStyle').getLineStyle(),{stroke:angleAxisModel.get('axisLine.lineStyle.color')})}))},_minorTick:function(angleAxisModel,polar,tickAngles,minorTickAngles,radiusExtent){if(!minorTickAngles.length){return}var tickModel=angleAxisModel.getModel('axisTick');var minorTickModel=angleAxisModel.getModel('minorTick');var tickLen=(tickModel.get('inside')?-1:1)*minorTickModel.get('length');var radius=radiusExtent[getRadiusIdx(polar)];var lines=[];for(var i=0;icx?'left':'right');var labelTextVerticalAlign=Math.abs(p[1]-cy)/r<0.3?'middle':(p[1]>cy?'top':'bottom');if(rawCategoryData&&rawCategoryData[tickValue]&&rawCategoryData[tickValue].textStyle){labelModel=new Model(rawCategoryData[tickValue].textStyle,commonLabelModel,commonLabelModel.ecModel)}var textEl=new Text({silent:AxisBuilder.isLabelSilent(angleAxisModel)});this.group.add(textEl);setTextStyle(textEl.style,labelModel,{x:p[0],y:p[1],textFill:labelModel.getTextColor()||angleAxisModel.get('axisLine.lineStyle.color'),text:labelItem.formattedLabel,textAlign:labelTextAlign,textVerticalAlign:labelTextVerticalAlign});if(triggerEvent){textEl.eventData=AxisBuilder.makeAxisEventDataBase(angleAxisModel);textEl.eventData.targetType='axisLabel';textEl.eventData.value=labelItem.rawLabel}},this)},_splitLine:function(angleAxisModel,polar,ticksAngles,minorTickAngles,radiusExtent){var splitLineModel=angleAxisModel.getModel('splitLine');var lineStyleModel=splitLineModel.getModel('lineStyle');var lineColors=lineStyleModel.get('color');var lineCount=0;lineColors=lineColors instanceof Array?lineColors:[lineColors];var splitLines=[];for(var i=0;icx?'left':'right');verticalAlign=Math.abs(position[1]-cy)/r<0.3?'middle':(position[1]>cy?'top':'bottom')}return{position:position,align:align,verticalAlign:verticalAlign}}var pointerShapeBuilder$2={line:function(axis,polar,coordValue,otherExtent,elStyle){return axis.dim==='angle'?{type:'Line',shape:makeLineShape(polar.coordToPoint([otherExtent[0],coordValue]),polar.coordToPoint([otherExtent[1],coordValue]))}:{type:'Circle',shape:{cx:polar.cx,cy:polar.cy,r:coordValue}}},shadow:function(axis,polar,coordValue,otherExtent,elStyle){var bandWidth=Math.max(1,axis.getBandWidth());var radian=Math.PI/180;return axis.dim==='angle'?{type:'Sector',shape:makeSectorShape(polar.cx,polar.cy,otherExtent[0],otherExtent[1],(-coordValue-bandWidth/2)*radian,(-coordValue+bandWidth/2)*radian)}:{type:'Sector',shape:makeSectorShape(polar.cx,polar.cy,coordValue-bandWidth/2,coordValue+bandWidth/2,0,Math.PI*2)}}};AxisView.registerAxisPointerClass('PolarAxisPointer',PolarAxisPointer);registerLayout(curry(barLayoutPolar,'bar'));extendComponentView({type:'polar'});var GeoModel=ComponentModel.extend({type:'geo',coordinateSystem:null,layoutMode:'box',init:function(option){ComponentModel.prototype.init.apply(this,arguments);defaultEmphasis(option,'label',['show'])},optionUpdated:function(){var option=this.option;var self=this;option.regions=geoCreator.getFilledRegions(option.regions,option.map,option.nameMap);this._optionModelMap=reduce(option.regions||[],function(optionModelMap,regionOpt){if(regionOpt.name){optionModelMap.set(regionOpt.name,new Model(regionOpt,self))}return optionModelMap},createHashMap());this.updateSelectedMap(option.regions)},defaultOption:{zlevel:0,z:0,show:true,left:'center',top:'center',aspectScale:null,silent:false,map:'',boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:false,color:'#000'},itemStyle:{borderWidth:0.5,borderColor:'#444',color:'#eee'},emphasis:{label:{show:true,color:'rgb(100,0,0)'},itemStyle:{color:'rgba(255,215,0,0.8)'}},regions:[]},getRegionModel:function(name){return this._optionModelMap.get(name)||new Model(null,this,this.ecModel)},getFormattedLabel:function(name,status){var regionModel=this.getRegionModel(name);var formatter=regionModel.get('label'+(status==='normal'?'.':status+'.')+'formatter');var params={name:name};if(typeof formatter==='function'){params.status=status;return formatter(params)}else if(typeof formatter==='string'){return formatter.replace('{a}',name!=null?name:'')}},setZoom:function(zoom){this.option.zoom=zoom},setCenter:function(center){this.option.center=center}});mixin(GeoModel,selectableMixin);extendComponentView({type:'geo',init:function(ecModel,api){var mapDraw=new MapDraw(api,true);this._mapDraw=mapDraw;this.group.add(mapDraw.group)},render:function(geoModel,ecModel,api,payload){if(payload&&payload.type==='geoToggleSelect'&&payload.from===this.uid){return}var mapDraw=this._mapDraw;if(geoModel.get('show')){mapDraw.draw(geoModel,ecModel,api,this,payload)}else{this._mapDraw.group.removeAll()}this.group.silent=geoModel.get('silent')},dispose:function(){this._mapDraw&&this._mapDraw.remove()}});function makeAction(method,actionInfo){actionInfo.update='updateView';registerAction(actionInfo,function(payload,ecModel){var selected={};ecModel.eachComponent({mainType:'geo',query:payload},function(geoModel){geoModel[method](payload.name);var geo=geoModel.coordinateSystem;each$1(geo.regions,function(region){selected[region.name]=geoModel.isSelected(region.name)||false})});return{selected:selected,name:payload.name}})}makeAction('toggleSelected',{type:'geoToggleSelect',event:'geoselectchanged'});makeAction('select',{type:'geoSelect',event:'geoselected'});makeAction('unSelect',{type:'geoUnSelect',event:'geounselected'});var PROXIMATE_ONE_DAY=86400000;function Calendar(calendarModel,ecModel,api){this._model=calendarModel}Calendar.prototype={constructor:Calendar,type:'calendar',dimensions:['time','value'],getDimensionsInfo:function(){return[{name:'time',type:'time'},'value']},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(date){date=parseDate(date);var y=date.getFullYear();var m=date.getMonth()+1;m=m<10?'0'+m:m;var d=date.getDate();d=d<10?'0'+d:d;var day=date.getDay();day=Math.abs((day+7-this.getFirstDayOfWeek())%7);return{y:y,m:m,d:d,day:day,time:date.getTime(),formatedDate:y+'-'+m+'-'+d,date:date}},getNextNDay:function(date,n){n=n||0;if(n===0){return this.getDateInfo(date)}date=new Date(this.getDateInfo(date).time);date.setDate(date.getDate()+n);return this.getDateInfo(date)},update:function(ecModel,api){this._firstDayOfWeek=+this._model.getModel('dayLabel').get('firstDay');this._orient=this._model.get('orient');this._lineWidth=this._model.getModel('itemStyle').getItemStyle().lineWidth||0;this._rangeInfo=this._getRangeInfo(this._initRangeOption());var weeks=this._rangeInfo.weeks||1;var whNames=['width','height'];var cellSize=this._model.get('cellSize').slice();var layoutParams=this._model.getBoxLayoutParams();var cellNumbers=this._orient==='horizontal'?[weeks,7]:[7,weeks];each$1([0,1],function(idx){if(cellSizeSpecified(cellSize,idx)){layoutParams[whNames[idx]]=cellSize[idx]*cellNumbers[idx]}});var whGlobal={width:api.getWidth(),height:api.getHeight()};var calendarRect=this._rect=getLayoutRect(layoutParams,whGlobal);each$1([0,1],function(idx){if(!cellSizeSpecified(cellSize,idx)){cellSize[idx]=calendarRect[whNames[idx]]/cellNumbers[idx]}});function cellSizeSpecified(cellSize,idx){return cellSize[idx]!=null&&cellSize[idx]!=='auto'}this._sw=cellSize[0];this._sh=cellSize[1]},dataToPoint:function(data,clamp){isArray(data)&&(data=data[0]);clamp==null&&(clamp=true);var dayInfo=this.getDateInfo(data);var range=this._rangeInfo;var date=dayInfo.formatedDate;if(clamp&&!(dayInfo.time>=range.start.time&&dayInfo.timetmp.end.time){range.reverse()}return range},_getRangeInfo:function(range){range=[this.getDateInfo(range[0]),this.getDateInfo(range[1])];var reversed;if(range[0].time>range[1].time){reversed=true;range.reverse()}var allDay=Math.floor(range[1].time/PROXIMATE_ONE_DAY)-Math.floor(range[0].time/PROXIMATE_ONE_DAY)+1;var date=new Date(range[0].time);var startDateNum=date.getDate();var endDateNum=range[1].date.getDate();date.setDate(startDateNum+allDay-1);var dateNum=date.getDate();if(dateNum!==endDateNum){var sign=date.getTime()-range[1].time>0?1:-1;while((dateNum=date.getDate())!==endDateNum&&(date.getTime()-range[1].time)*sign>0){allDay-=sign;date.setDate(dateNum-sign)}}var weeks=Math.floor((allDay+range[0].day+6)/7);var nthWeek=reversed?-weeks+1:weeks-1;reversed&&range.reverse();return{range:[range[0].formatedDate,range[1].formatedDate],start:range[0],end:range[1],allDay:allDay,weeks:weeks,nthWeek:nthWeek,fweek:range[0].day,lweek:range[1].day}},_getDateByWeeksAndDay:function(nthWeek,day,range){var rangeInfo=this._getRangeInfo(range);if(nthWeek>rangeInfo.weeks||(nthWeek===0&&dayrangeInfo.lweek)){return false}var nthDay=(nthWeek-1)*7-rangeInfo.fweek+day;var date=new Date(rangeInfo.start.time);date.setDate(rangeInfo.start.d+nthDay);return this.getDateInfo(date)}};Calendar.dimensions=Calendar.prototype.dimensions;Calendar.getDimensionsInfo=Calendar.prototype.getDimensionsInfo;Calendar.create=function(ecModel,api){var calendarList=[];ecModel.eachComponent('calendar',function(calendarModel){var calendar=new Calendar(calendarModel,ecModel,api);calendarList.push(calendar);calendarModel.coordinateSystem=calendar});ecModel.eachSeries(function(calendarSeries){if(calendarSeries.get('coordinateSystem')==='calendar'){calendarSeries.coordinateSystem=calendarList[calendarSeries.get('calendarIndex')||0]}});return calendarList};function doConvert$2(methodName,ecModel,finder,value){var calendarModel=finder.calendarModel;var seriesModel=finder.seriesModel;var coordSys=calendarModel?calendarModel.coordinateSystem:seriesModel?seriesModel.coordinateSystem:null;return coordSys===this?coordSys[methodName](value):null}CoordinateSystemManager.register('calendar',Calendar);var CalendarModel=ComponentModel.extend({type:'calendar',coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:'horizontal',splitLine:{show:true,lineStyle:{color:'#000',width:1,type:'solid'}},itemStyle:{color:'#fff',borderWidth:1,borderColor:'#ccc'},dayLabel:{show:true,firstDay:0,position:'start',margin:'50%',nameMap:'en',color:'#000'},monthLabel:{show:true,position:'start',margin:5,align:'center',nameMap:'en',formatter:null,color:'#000'},yearLabel:{show:true,position:null,margin:30,formatter:null,color:'#ccc',fontFamily:'sans-serif',fontWeight:'bolder',fontSize:20}},init:function(option,parentModel,ecModel,extraOpt){var inputPositionParams=getLayoutParams(option);CalendarModel.superApply(this,'init',arguments);mergeAndNormalizeLayoutParams(option,inputPositionParams)},mergeOption:function(option,extraOpt){CalendarModel.superApply(this,'mergeOption',arguments);mergeAndNormalizeLayoutParams(this.option,option)}});function mergeAndNormalizeLayoutParams(target,raw){var cellSize=target.cellSize;if(!isArray(cellSize)){cellSize=target.cellSize=[cellSize,cellSize]}else if(cellSize.length===1){cellSize[1]=cellSize[0]}var ignoreSize=map([0,1],function(hvIdx){if(sizeCalculable(raw,hvIdx)){cellSize[hvIdx]='auto'}return cellSize[hvIdx]!=null&&cellSize[hvIdx]!=='auto'});mergeLayoutParam(target,raw,{type:'box',ignoreSize:ignoreSize})}var MONTH_TEXT={EN:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],CN:['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月']};var WEEK_TEXT={EN:['S','M','T','W','T','F','S'],CN:['日','一','二','三','四','五','六']};extendComponentView({type:'calendar',_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(calendarModel,ecModel,api){var group=this.group;group.removeAll();var coordSys=calendarModel.coordinateSystem;var rangeData=coordSys.getRangeInfo();var orient=coordSys.getOrient();this._renderDayRect(calendarModel,rangeData,group);this._renderLines(calendarModel,rangeData,orient,group);this._renderYearText(calendarModel,rangeData,orient,group);this._renderMonthText(calendarModel,orient,group);this._renderWeekText(calendarModel,rangeData,orient,group)},_renderDayRect:function(calendarModel,rangeData,group){var coordSys=calendarModel.coordinateSystem;var itemRectStyleModel=calendarModel.getModel('itemStyle').getItemStyle();var sw=coordSys.getCellWidth();var sh=coordSys.getCellHeight();for(var i=rangeData.start.time;i<=rangeData.end.time;i=coordSys.getNextNDay(i,1).time){var point=coordSys.dataToRect([i],false).tl;var rect=new Rect({shape:{x:point[0],y:point[1],width:sw,height:sh},cursor:'default',style:itemRectStyleModel});group.add(rect)}},_renderLines:function(calendarModel,rangeData,orient,group){var self=this;var coordSys=calendarModel.coordinateSystem;var lineStyleModel=calendarModel.getModel('splitLine.lineStyle').getLineStyle();var show=calendarModel.get('splitLine.show');var lineWidth=lineStyleModel.lineWidth;this._tlpoints=[];this._blpoints=[];this._firstDayOfMonth=[];this._firstDayPoints=[];var firstDay=rangeData.start;for(var i=0;firstDay.time<=rangeData.end.time;i++){addPoints(firstDay.formatedDate);if(i===0){firstDay=coordSys.getDateInfo(rangeData.start.y+'-'+rangeData.start.m)}var date=firstDay.date;date.setMonth(date.getMonth()+1);firstDay=coordSys.getDateInfo(date)}addPoints(coordSys.getNextNDay(rangeData.end.time,1).formatedDate);function addPoints(date){self._firstDayOfMonth.push(coordSys.getDateInfo(date));self._firstDayPoints.push(coordSys.dataToRect([date],false).tl);var points=self._getLinePointsOfOneWeek(calendarModel,date,orient);self._tlpoints.push(points[0]);self._blpoints.push(points[points.length-1]);show&&self._drawSplitline(points,lineStyleModel,group)}show&&this._drawSplitline(self._getEdgesPoints(self._tlpoints,lineWidth,orient),lineStyleModel,group);show&&this._drawSplitline(self._getEdgesPoints(self._blpoints,lineWidth,orient),lineStyleModel,group)},_getEdgesPoints:function(points,lineWidth,orient){var rs=[points[0].slice(),points[points.length-1].slice()];var idx=orient==='horizontal'?0:1;rs[0][idx]=rs[0][idx]-lineWidth/2;rs[1][idx]=rs[1][idx]+lineWidth/2;return rs},_drawSplitline:function(points,lineStyleModel,group){var poyline=new Polyline({z2:20,shape:{points:points},style:lineStyleModel});group.add(poyline)},_getLinePointsOfOneWeek:function(calendarModel,date,orient){var coordSys=calendarModel.coordinateSystem;date=coordSys.getDateInfo(date);var points=[];for(var i=0;i<7;i++){var tmpD=coordSys.getNextNDay(date.time,i);var point=coordSys.dataToRect([tmpD.time],false);points[2*tmpD.day]=point.tl;points[2*tmpD.day+1]=point[orient==='horizontal'?'bl':'tr']}return points},_formatterLabel:function(formatter,params){if(typeof formatter==='string'&&formatter){return formatTplSimple(formatter,params)}if(typeof formatter==='function'){return formatter(params)}return params.nameMap},_yearTextPositionControl:function(textEl,point,orient,position,margin){point=point.slice();var aligns=['center','bottom'];if(position==='bottom'){point[1]+=margin;aligns=['center','top']}else if(position==='left'){point[0]-=margin}else if(position==='right'){point[0]+=margin;aligns=['center','top']}else{point[1]-=margin}var rotate=0;if(position==='left'||position==='right'){rotate=Math.PI/2}return{rotation:rotate,position:point,style:{textAlign:aligns[0],textVerticalAlign:aligns[1]}}},_renderYearText:function(calendarModel,rangeData,orient,group){var yearLabel=calendarModel.getModel('yearLabel');if(!yearLabel.get('show')){return}var margin=yearLabel.get('margin');var pos=yearLabel.get('position');if(!pos){pos=orient!=='horizontal'?'top':'left'}var points=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]];var xc=(points[0][0]+points[1][0])/2;var yc=(points[0][1]+points[1][1])/2;var idx=orient==='horizontal'?0:1;var posPoints={top:[xc,points[idx][1]],bottom:[xc,points[1-idx][1]],left:[points[1-idx][0],yc],right:[points[idx][0],yc]};var name=rangeData.start.y;if(+rangeData.end.y>+rangeData.start.y){name=name+'-'+rangeData.end.y}var formatter=yearLabel.get('formatter');var params={start:rangeData.start.y,end:rangeData.end.y,nameMap:name};var content=this._formatterLabel(formatter,params);var yearText=new Text({z2:30});setTextStyle(yearText.style,yearLabel,{text:content}),yearText.attr(this._yearTextPositionControl(yearText,posPoints[pos],orient,pos,margin));group.add(yearText)},_monthTextPositionControl:function(point,isCenter,orient,position,margin){var align='left';var vAlign='top';var x=point[0];var y=point[1];if(orient==='horizontal'){y=y+margin;if(isCenter){align='center'}if(position==='start'){vAlign='bottom'}}else{x=x+margin;if(isCenter){vAlign='middle'}if(position==='start'){align='right'}}return{x:x,y:y,textAlign:align,textVerticalAlign:vAlign}},_renderMonthText:function(calendarModel,orient,group){var monthLabel=calendarModel.getModel('monthLabel');if(!monthLabel.get('show')){return}var nameMap=monthLabel.get('nameMap');var margin=monthLabel.get('margin');var pos=monthLabel.get('position');var align=monthLabel.get('align');var termPoints=[this._tlpoints,this._blpoints];if(isString(nameMap)){nameMap=MONTH_TEXT[nameMap.toUpperCase()]||[]}var idx=pos==='start'?0:1;var axis=orient==='horizontal'?0:1;margin=pos==='start'?-margin:margin;var isCenter=(align==='center');for(var i=0;i=0;i--){if(existList[i]==null){existList.splice(i,1)}else{delete existList[i].$action}}},_flatten:function(optionList,result,parentOption){each$1(optionList,function(option){if(!option){return}if(parentOption){option.parentOption=parentOption}result.push(option);var children=option.children;if(option.type==='group'&&children){this._flatten(children,result,option)}delete option.children},this)},useElOptionsToUpdate:function(){var els=this._elOptionsToUpdate;this._elOptionsToUpdate=null;return els}});extendComponentView({type:'graphic',init:function(ecModel,api){this._elMap=createHashMap();this._lastGraphicModel},render:function(graphicModel,ecModel,api){if(graphicModel!==this._lastGraphicModel){this._clear()}this._lastGraphicModel=graphicModel;this._updateElements(graphicModel);this._relocate(graphicModel,api)},_updateElements:function(graphicModel){var elOptionsToUpdate=graphicModel.useElOptionsToUpdate();if(!elOptionsToUpdate){return}var elMap=this._elMap;var rootGroup=this.group;each$1(elOptionsToUpdate,function(elOption){var $action=elOption.$action;var id=elOption.id;var existEl=elMap.get(id);var parentId=elOption.parentId;var targetElParent=parentId!=null?elMap.get(parentId):rootGroup;var elOptionStyle=elOption.style;if(elOption.type==='text'&&elOptionStyle){if(elOption.hv&&elOption.hv[1]){elOptionStyle.textVerticalAlign=elOptionStyle.textBaseline=null}!elOptionStyle.hasOwnProperty('textFill')&&elOptionStyle.fill&&(elOptionStyle.textFill=elOptionStyle.fill);!elOptionStyle.hasOwnProperty('textStroke')&&elOptionStyle.stroke&&(elOptionStyle.textStroke=elOptionStyle.stroke)}var elOptionCleaned=getCleanedElOption(elOption);if(__DEV__){existEl&&assert$1(targetElParent===existEl.parent,'Changing parent is not supported.')}if(!$action||$action==='merge'){existEl?existEl.attr(elOptionCleaned):createEl$1(id,targetElParent,elOptionCleaned,elMap)}else if($action==='replace'){removeEl(existEl,elMap);createEl$1(id,targetElParent,elOptionCleaned,elMap)}else if($action==='remove'){removeEl(existEl,elMap)}var el=elMap.get(id);if(el){el.__ecGraphicWidthOption=elOption.width;el.__ecGraphicHeightOption=elOption.height;setEventData(el,graphicModel,elOption)}})},_relocate:function(graphicModel,api){var elOptions=graphicModel.option.elements;var rootGroup=this.group;var elMap=this._elMap;var apiWidth=api.getWidth();var apiHeight=api.getHeight();for(var i=0;i=0;i--){var elOption=elOptions[i];var el=elMap.get(elOption.id);if(!el){continue}var parentEl=el.parent;var containerInfo=parentEl===rootGroup?{width:apiWidth,height:apiHeight}:{width:parentEl.__ecGraphicWidth,height:parentEl.__ecGraphicHeight};positionElement(el,elOption,containerInfo,null,{hv:elOption.hv,boundingMode:elOption.bounding})}},_clear:function(){var elMap=this._elMap;elMap.each(function(el){removeEl(el,elMap)});this._elMap=createHashMap()},dispose:function(){this._clear()}});function createEl$1(id,targetElParent,elOption,elMap){var graphicType=elOption.type;if(__DEV__){assert$1(graphicType,'graphic type MUST be set')}var Clz=_nonShapeGraphicElements.hasOwnProperty(graphicType)?_nonShapeGraphicElements[graphicType]:getShapeClass(graphicType);if(__DEV__){assert$1(Clz,'graphic type can not be found')}var el=new Clz(elOption);targetElParent.add(el);elMap.set(id,el);el.__ecGraphicId=id}function removeEl(existEl,elMap){var existElParent=existEl&&existEl.parent;if(existElParent){existEl.type==='group'&&existEl.traverse(function(el){removeEl(el,elMap)});elMap.removeKey(existEl.__ecGraphicId);existElParent.remove(existEl)}}function getCleanedElOption(elOption){elOption=extend({},elOption);each$1(['id','parentId','$action','hv','bounding'].concat(LOCATION_PARAMS),function(name){delete elOption[name]});return elOption}function isSetLoc(obj,props){var isSet;each$1(props,function(prop){obj[prop]!=null&&obj[prop]!=='auto'&&(isSet=true)});return isSet}function setKeyInfoToNewElOption(resultItem,newElOption){var existElOption=resultItem.exist;newElOption.id=resultItem.keyInfo.id;!newElOption.type&&existElOption&&(newElOption.type=existElOption.type);if(newElOption.parentId==null){var newElParentOption=newElOption.parentOption;if(newElParentOption){newElOption.parentId=newElParentOption.id}else if(existElOption){newElOption.parentId=existElOption.parentId}}newElOption.parentOption=null}function mergeNewElOptionToExist(existList,index,newElOption){var newElOptCopy=extend({},newElOption);var existElOption=existList[index];var $action=newElOption.$action||'merge';if($action==='merge'){if(existElOption){if(__DEV__){var newType=newElOption.type;assert$1(!newType||existElOption.type===newType,'Please set $action: "replace" to change `type`')}merge(existElOption,newElOptCopy,true);mergeLayoutParam(existElOption,newElOptCopy,{ignoreSize:true});copyLayoutParams(newElOption,existElOption)}else{existList[index]=newElOptCopy}}else if($action==='replace'){existList[index]=newElOptCopy}else if($action==='remove'){existElOption&&(existList[index]=null)}}function setLayoutInfoToExist(existItem,newElOption){if(!existItem){return}existItem.hv=newElOption.hv=[isSetLoc(newElOption,['left','right']),isSetLoc(newElOption,['top','bottom'])];if(existItem.type==='group'){existItem.width==null&&(existItem.width=newElOption.width=0);existItem.height==null&&(existItem.height=newElOption.height=0)}}function setEventData(el,graphicModel,elOption){var eventData=el.eventData;if(!el.silent&&!el.ignore&&!eventData){eventData=el.eventData={componentType:'graphic',componentIndex:graphicModel.componentIndex,name:el.name}}if(eventData){eventData.info=el.info}}var features={};function register$1(name,ctor){features[name]=ctor}function get$1(name){return features[name]}var ToolboxModel=extendComponentModel({type:'toolbox',layoutMode:{type:'box',ignoreSize:true},optionUpdated:function(){ToolboxModel.superApply(this,'optionUpdated',arguments);each$1(this.option.feature,function(featureOpt,featureName){var Feature=get$1(featureName);Feature&&merge(featureOpt,Feature.defaultOption)})},defaultOption:{show:true,z:6,zlevel:0,orient:'horizontal',left:'right',top:'top',backgroundColor:'transparent',borderColor:'#ccc',borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:true,iconStyle:{borderColor:'#666',color:'none'},emphasis:{iconStyle:{borderColor:'#3E98C5'}},tooltip:{show:false}}});function layout$3(group,componentModel,api){var boxLayoutParams=componentModel.getBoxLayoutParams();var padding=componentModel.get('padding');var viewportSize={width:api.getWidth(),height:api.getHeight()};var rect=getLayoutRect(boxLayoutParams,viewportSize,padding);box(componentModel.get('orient'),group,componentModel.get('itemGap'),rect.width,rect.height);positionElement(group,boxLayoutParams,viewportSize,padding)}function makeBackground(rect,componentModel){var padding=normalizeCssArray$1(componentModel.get('padding'));var style=componentModel.getItemStyle(['color','opacity']);style.fill=componentModel.get('backgroundColor');var rect=new Rect({shape:{x:rect.x-padding[3],y:rect.y-padding[0],width:rect.width+padding[1]+padding[3],height:rect.height+padding[0]+padding[2],r:componentModel.get('borderRadius')},style:style,silent:true,z2:-1});return rect}extendComponentView({type:'toolbox',render:function(toolboxModel,ecModel,api,payload){var group=this.group;group.removeAll();if(!toolboxModel.get('show')){return}var itemSize=+toolboxModel.get('itemSize');var featureOpts=toolboxModel.get('feature')||{};var features=this._features||(this._features={});var featureNames=[];each$1(featureOpts,function(opt,name){featureNames.push(name)});(new DataDiffer(this._featureNames||[],featureNames)).add(processFeature).update(processFeature).remove(curry(processFeature,null)).execute();this._featureNames=featureNames;function processFeature(newIndex,oldIndex){var featureName=featureNames[newIndex];var oldName=featureNames[oldIndex];var featureOpt=featureOpts[featureName];var featureModel=new Model(featureOpt,toolboxModel,toolboxModel.ecModel);var feature;if(payload&&payload.newTitle!=null&&payload.featureName===featureName){featureOpt.title=payload.newTitle}if(featureName&&!oldName){if(isUserFeatureName(featureName)){feature={model:featureModel,onclick:featureModel.option.onclick,featureName:featureName}}else{var Feature=get$1(featureName);if(!Feature){return}feature=new Feature(featureModel,ecModel,api)}features[featureName]=feature}else{feature=features[oldName];if(!feature){return}feature.model=featureModel;feature.ecModel=ecModel;feature.api=api}if(!featureName&&oldName){feature.dispose&&feature.dispose(ecModel,api);return}if(!featureModel.get('show')||feature.unusable){feature.remove&&feature.remove(ecModel,api);return}createIconPaths(featureModel,feature,featureName);featureModel.setIconStatus=function(iconName,status){var option=this.option;var iconPaths=this.iconPaths;option.iconStatus=option.iconStatus||{};option.iconStatus[iconName]=status;iconPaths[iconName]&&iconPaths[iconName].trigger(status)};if(feature.render){feature.render(featureModel,ecModel,api,payload)}}function createIconPaths(featureModel,feature,featureName){var iconStyleModel=featureModel.getModel('iconStyle');var iconStyleEmphasisModel=featureModel.getModel('emphasis.iconStyle');var icons=feature.getIcons?feature.getIcons():featureModel.get('icon');var titles=featureModel.get('title')||{};if(typeof icons==='string'){var icon=icons;var title=titles;icons={};titles={};icons[featureName]=icon;titles[featureName]=title}var iconPaths=featureModel.iconPaths={};each$1(icons,function(iconStr,iconName){var path=createIcon(iconStr,{},{x:-itemSize/2,y:-itemSize/2,width:itemSize,height:itemSize});path.setStyle(iconStyleModel.getItemStyle());path.hoverStyle=iconStyleEmphasisModel.getItemStyle();path.setStyle({text:titles[iconName],textAlign:iconStyleEmphasisModel.get('textAlign'),textBorderRadius:iconStyleEmphasisModel.get('textBorderRadius'),textPadding:iconStyleEmphasisModel.get('textPadding'),textFill:null});var tooltipModel=toolboxModel.getModel('tooltip');if(tooltipModel&&tooltipModel.get('show')){path.attr('tooltip',extend({content:titles[iconName],formatter:tooltipModel.get('formatter',true)||function(){return titles[iconName]},formatterParams:{componentType:'toolbox',name:iconName,title:titles[iconName],$vars:['name','title']},position:tooltipModel.get('position',true)||'bottom'},tooltipModel.option))}setHoverStyle(path);if(toolboxModel.get('showTitle')){path.__title=titles[iconName];path.on('mouseover',function(){var hoverStyle=iconStyleEmphasisModel.getItemStyle();var defaultTextPosition=toolboxModel.get('orient')==='vertical'?(toolboxModel.get('right')==null?'right':'left'):(toolboxModel.get('bottom')==null?'bottom':'top');path.setStyle({textFill:iconStyleEmphasisModel.get('textFill')||hoverStyle.fill||hoverStyle.stroke||'#000',textBackgroundColor:iconStyleEmphasisModel.get('textBackgroundColor'),textPosition:iconStyleEmphasisModel.get('textPosition')||defaultTextPosition})}).on('mouseout',function(){path.setStyle({textFill:null,textBackgroundColor:null})})}path.trigger(featureModel.get('iconStatus.'+iconName)||'normal');group.add(path);path.on('click',bind(feature.onclick,feature,ecModel,api,iconName));iconPaths[iconName]=path})}layout$3(group,toolboxModel,api);group.add(makeBackground(group.getBoundingRect(),toolboxModel));group.eachChild(function(icon){var titleText=icon.__title;var hoverStyle=icon.hoverStyle;if(hoverStyle&&titleText){var rect=getBoundingRect(titleText,makeFont(hoverStyle));var offsetX=icon.position[0]+group.position[0];var offsetY=icon.position[1]+group.position[1]+itemSize;var needPutOnTop=false;if(offsetY+rect.height>api.getHeight()){hoverStyle.textPosition='top';needPutOnTop=true}var topOffset=needPutOnTop?(-5-rect.height):(itemSize+8);if(offsetX+rect.width/2>api.getWidth()){hoverStyle.textPosition=['100%',topOffset];hoverStyle.textAlign='right'}else if(offsetX-rect.width/2<0){hoverStyle.textPosition=[0,topOffset];hoverStyle.textAlign='left'}}})},updateView:function(toolboxModel,ecModel,api,payload){each$1(this._features,function(feature){feature.updateView&&feature.updateView(feature.model,ecModel,api,payload)})},remove:function(ecModel,api){each$1(this._features,function(feature){feature.remove&&feature.remove(ecModel,api)});this.group.removeAll()},dispose:function(ecModel,api){each$1(this._features,function(feature){feature.dispose&&feature.dispose(ecModel,api)})}});function isUserFeatureName(featureName){return featureName.indexOf('my')===0}var saveAsImageLang=lang.toolbox.saveAsImage;function SaveAsImage(model){this.model=model}SaveAsImage.defaultOption={show:true,icon:'M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0',title:saveAsImageLang.title,type:'png',connectedBackgroundColor:'#fff',name:'',excludeComponents:['toolbox'],pixelRatio:1,lang:saveAsImageLang.lang.slice()};SaveAsImage.prototype.unusable=!env$1.canvasSupported;var proto$2=SaveAsImage.prototype;proto$2.onclick=function(ecModel,api){var model=this.model;var title=model.get('name')||ecModel.get('title.0.text')||'echarts';var isSvg=api.getZr().painter.getType()==='svg';var type=isSvg?'svg':model.get('type',true)||'png';var url=api.getConnectedDataURL({type:type,backgroundColor:model.get('backgroundColor',true)||ecModel.get('backgroundColor')||'#fff',connectedBackgroundColor:model.get('connectedBackgroundColor'),excludeComponents:model.get('excludeComponents'),pixelRatio:model.get('pixelRatio')});if(typeof MouseEvent==='function'&&!env$1.browser.ie&&!env$1.browser.edge){var $a=document.createElement('a');$a.download=title+'.'+type;$a.target='_blank';$a.href=url;var evt=new MouseEvent('click',{view:window,bubbles:true,cancelable:false});$a.dispatchEvent(evt)}else{if(window.navigator.msSaveOrOpenBlob){var bstr=atob(url.split(',')[1]);var n=bstr.length;var u8arr=new Uint8Array(n);while(n--){u8arr[n]=bstr.charCodeAt(n)}var blob=new Blob([u8arr]);window.navigator.msSaveOrOpenBlob(blob,title+'.'+type)}else{var lang$$1=model.get('lang');var html='';var tab=window.open();tab.document.write(html)}}};register$1('saveAsImage',SaveAsImage);var magicTypeLang=lang.toolbox.magicType;var INNER_STACK_KEYWORD='__ec_magicType_stack__';function MagicType(model){this.model=model}MagicType.defaultOption={show:true,type:[],icon:{line:'M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4',bar:'M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7',stack:'M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z'},title:clone(magicTypeLang.title),option:{},seriesIndex:{}};var proto$3=MagicType.prototype;proto$3.getIcons=function(){var model=this.model;var availableIcons=model.get('icon');var icons={};each$1(model.get('type'),function(type){if(availableIcons[type]){icons[type]=availableIcons[type]}});return icons};var seriesOptGenreator={'line':function(seriesType,seriesId,seriesModel,model){if(seriesType==='bar'){return merge({id:seriesId,type:'line',data:seriesModel.get('data'),stack:seriesModel.get('stack'),markPoint:seriesModel.get('markPoint'),markLine:seriesModel.get('markLine')},model.get('option.line')||{},true)}},'bar':function(seriesType,seriesId,seriesModel,model){if(seriesType==='line'){return merge({id:seriesId,type:'bar',data:seriesModel.get('data'),stack:seriesModel.get('stack'),markPoint:seriesModel.get('markPoint'),markLine:seriesModel.get('markLine')},model.get('option.bar')||{},true)}},'stack':function(seriesType,seriesId,seriesModel,model){var isStack=seriesModel.get('stack')===INNER_STACK_KEYWORD;if(seriesType==='line'||seriesType==='bar'){model.setIconStatus('stack',isStack?'normal':'emphasis');return merge({id:seriesId,stack:isStack?'':INNER_STACK_KEYWORD},model.get('option.stack')||{},true)}}};var radioTypes=[['line','bar'],['stack']];proto$3.onclick=function(ecModel,api,type){var model=this.model;var seriesIndex=model.get('seriesIndex.'+type);if(!seriesOptGenreator[type]){return}var newOption={series:[]};var generateNewSeriesTypes=function(seriesModel){var seriesType=seriesModel.subType;var seriesId=seriesModel.id;var newSeriesOpt=seriesOptGenreator[type](seriesType,seriesId,seriesModel,model);if(newSeriesOpt){defaults(newSeriesOpt,seriesModel.option);newOption.series.push(newSeriesOpt)}var coordSys=seriesModel.coordinateSystem;if(coordSys&&coordSys.type==='cartesian2d'&&(type==='line'||type==='bar')){var categoryAxis=coordSys.getAxesByScale('ordinal')[0];if(categoryAxis){var axisDim=categoryAxis.dim;var axisType=axisDim+'Axis';var axisModel=ecModel.queryComponents({mainType:axisType,index:seriesModel.get(name+'Index'),id:seriesModel.get(name+'Id')})[0];var axisIndex=axisModel.componentIndex;newOption[axisType]=newOption[axisType]||[];for(var i=0;i<=axisIndex;i++){newOption[axisType][axisIndex]=newOption[axisType][axisIndex]||{}}newOption[axisType][axisIndex].boundaryGap=type==='bar'}}};each$1(radioTypes,function(radio){if(indexOf(radio,type)>=0){each$1(radio,function(item){model.setIconStatus(item,'normal')})}});model.setIconStatus(type,'emphasis');ecModel.eachComponent({mainType:'series',query:seriesIndex==null?null:{seriesIndex:seriesIndex}},generateNewSeriesTypes);var newTitle;if(type==='stack'){var isStack=newOption.series&&newOption.series[0]&&newOption.series[0].stack===INNER_STACK_KEYWORD;newTitle=isStack?merge({stack:magicTypeLang.title.tiled},magicTypeLang.title):clone(magicTypeLang.title)}api.dispatchAction({type:'changeMagicType',currentType:type,newOption:newOption,newTitle:newTitle,featureName:'magicType'})};registerAction({type:'changeMagicType',event:'magicTypeChanged',update:'prepareAndUpdate'},function(payload,ecModel){ecModel.mergeOption(payload.newOption)});register$1('magicType',MagicType);var dataViewLang=lang.toolbox.dataView;var BLOCK_SPLITER=new Array(60).join('-');var ITEM_SPLITER='\t';function groupSeries(ecModel){var seriesGroupByCategoryAxis={};var otherSeries=[];var meta=[];ecModel.eachRawSeries(function(seriesModel){var coordSys=seriesModel.coordinateSystem;if(coordSys&&(coordSys.type==='cartesian2d'||coordSys.type==='polar')){var baseAxis=coordSys.getBaseAxis();if(baseAxis.type==='category'){var key=baseAxis.dim+'_'+baseAxis.index;if(!seriesGroupByCategoryAxis[key]){seriesGroupByCategoryAxis[key]={categoryAxis:baseAxis,valueAxis:coordSys.getOtherAxis(baseAxis),series:[]};meta.push({axisDim:baseAxis.dim,axisIndex:baseAxis.index})}seriesGroupByCategoryAxis[key].series.push(seriesModel)}else{otherSeries.push(seriesModel)}}else{otherSeries.push(seriesModel)}});return{seriesGroupByCategoryAxis:seriesGroupByCategoryAxis,other:otherSeries,meta:meta}}function assembleSeriesWithCategoryAxis(series){var tables=[];each$1(series,function(group,key){var categoryAxis=group.categoryAxis;var valueAxis=group.valueAxis;var valueAxisDim=valueAxis.dim;var headers=[' '].concat(map(group.series,function(series){return series.name}));var columns=[categoryAxis.model.getCategories()];each$1(group.series,function(series){columns.push(series.getRawData().mapArray(valueAxisDim,function(val){return val}))});var lines=[headers.join(ITEM_SPLITER)];for(var i=0;i=0){return true}}var itemSplitRegex=new RegExp('['+ITEM_SPLITER+']+','g');function parseTSVContents(tsv){var tsvLines=tsv.split(/\n+/g);var headers=trim$1(tsvLines.shift()).split(itemSplitRegex);var categories=[];var series=map(headers,function(header){return{name:header,data:[]}});for(var i=0;i=0){builder(foundCpts,targetInfoList,info)}})}var proto$5=BrushTargetManager.prototype;proto$5.setOutputRanges=function(areas,ecModel){this.matchOutputRanges(areas,ecModel,function(area,coordRange,coordSys){(area.coordRanges||(area.coordRanges=[])).push(coordRange);if(!area.coordRange){area.coordRange=coordRange;var result=coordConvert[area.brushType](0,coordSys,coordRange);area.__rangeOffset={offset:diffProcessor[area.brushType](result.values,area.range,[1,1]),xyMinMax:result.xyMinMax}}})};proto$5.matchOutputRanges=function(areas,ecModel,cb){each$17(areas,function(area){var targetInfo=this.findTargetInfo(area,ecModel);if(targetInfo&&targetInfo!==true){each$1(targetInfo.coordSyses,function(coordSys){var result=coordConvert[area.brushType](1,coordSys,area.range);cb(area,result.values,coordSys,ecModel)})}},this)};proto$5.setInputRanges=function(areas,ecModel){each$17(areas,function(area){var targetInfo=this.findTargetInfo(area,ecModel);if(__DEV__){assert$1(!targetInfo||targetInfo===true||area.coordRange,'coordRange must be specified when coord index specified.');assert$1(!targetInfo||targetInfo!==true||area.range,'range must be specified in global brush.')}area.range=area.range||[];if(targetInfo&&targetInfo!==true){area.panelId=targetInfo.panelId;var result=coordConvert[area.brushType](0,targetInfo.coordSys,area.coordRange);var rangeOffset=area.__rangeOffset;area.range=rangeOffset?diffProcessor[area.brushType](result.values,rangeOffset.offset,getScales(result.xyMinMax,rangeOffset.xyMinMax)):result.values}},this)};proto$5.makePanelOpts=function(api,getDefaultBrushType){return map(this._targetInfoList,function(targetInfo){var rect=targetInfo.getPanelRect();return{panelId:targetInfo.panelId,defaultBrushType:getDefaultBrushType&&getDefaultBrushType(targetInfo),clipPath:makeRectPanelClipPath(rect),isTargetByCursor:makeRectIsTargetByCursor(rect,api,targetInfo.coordSysModel),getLinearBrushOtherExtent:makeLinearBrushOtherExtent(rect)}})};proto$5.controlSeries=function(area,seriesModel,ecModel){var targetInfo=this.findTargetInfo(area,ecModel);return targetInfo===true||(targetInfo&&indexOf$1(targetInfo.coordSyses,seriesModel.coordinateSystem)>=0)};proto$5.findTargetInfo=function(area,ecModel){var targetInfoList=this._targetInfoList;var foundCpts=parseFinder$1(ecModel,area);for(var i=0;iminMax[1]&&minMax.reverse();return minMax}function parseFinder$1(ecModel,option){return parseFinder(ecModel,option,{includeMainTypes:INCLUDE_FINDER_MAIN_TYPES})}var targetInfoBuilders={grid:function(foundCpts,targetInfoList){var xAxisModels=foundCpts.xAxisModels;var yAxisModels=foundCpts.yAxisModels;var gridModels=foundCpts.gridModels;var gridModelMap=createHashMap();var xAxesHas={};var yAxesHas={};if(!xAxisModels&&!yAxisModels&&!gridModels){return}each$17(xAxisModels,function(axisModel){var gridModel=axisModel.axis.grid.model;gridModelMap.set(gridModel.id,gridModel);xAxesHas[gridModel.id]=true});each$17(yAxisModels,function(axisModel){var gridModel=axisModel.axis.grid.model;gridModelMap.set(gridModel.id,gridModel);yAxesHas[gridModel.id]=true});each$17(gridModels,function(gridModel){gridModelMap.set(gridModel.id,gridModel);xAxesHas[gridModel.id]=true;yAxesHas[gridModel.id]=true});gridModelMap.each(function(gridModel){var grid=gridModel.coordinateSystem;var cartesians=[];each$17(grid.getCartesians(),function(cartesian,index){if(indexOf$1(xAxisModels,cartesian.getAxis('x').model)>=0||indexOf$1(yAxisModels,cartesian.getAxis('y').model)>=0){cartesians.push(cartesian)}});targetInfoList.push({panelId:'grid--'+gridModel.id,gridModel:gridModel,coordSysModel:gridModel,coordSys:cartesians[0],coordSyses:cartesians,getPanelRect:panelRectBuilder.grid,xAxisDeclared:xAxesHas[gridModel.id],yAxisDeclared:yAxesHas[gridModel.id]})})},geo:function(foundCpts,targetInfoList){each$17(foundCpts.geoModels,function(geoModel){var coordSys=geoModel.coordinateSystem;targetInfoList.push({panelId:'geo--'+geoModel.id,geoModel:geoModel,coordSysModel:geoModel,coordSys:coordSys,coordSyses:[coordSys],getPanelRect:panelRectBuilder.geo})})}};var targetInfoMatchers=[function(foundCpts,targetInfo){var xAxisModel=foundCpts.xAxisModel;var yAxisModel=foundCpts.yAxisModel;var gridModel=foundCpts.gridModel;!gridModel&&xAxisModel&&(gridModel=xAxisModel.axis.grid.model);!gridModel&&yAxisModel&&(gridModel=yAxisModel.axis.grid.model);return gridModel&&gridModel===targetInfo.gridModel},function(foundCpts,targetInfo){var geoModel=foundCpts.geoModel;return geoModel&&geoModel===targetInfo.geoModel}];var panelRectBuilder={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var coordSys=this.coordSys;var rect=coordSys.getBoundingRect().clone();rect.applyTransform(getTransform(coordSys));return rect}};var coordConvert={lineX:curry$4(axisConvert,0),lineY:curry$4(axisConvert,1),rect:function(to,coordSys,rangeOrCoordRange){var xminymin=coordSys[COORD_CONVERTS[to]]([rangeOrCoordRange[0][0],rangeOrCoordRange[1][0]]);var xmaxymax=coordSys[COORD_CONVERTS[to]]([rangeOrCoordRange[0][1],rangeOrCoordRange[1][1]]);var values=[formatMinMax([xminymin[0],xmaxymax[0]]),formatMinMax([xminymin[1],xmaxymax[1]])];return{values:values,xyMinMax:values}},polygon:function(to,coordSys,rangeOrCoordRange){var xyMinMax=[[Infinity,-Infinity],[Infinity,-Infinity]];var values=map(rangeOrCoordRange,function(item){var p=coordSys[COORD_CONVERTS[to]](item);xyMinMax[0][0]=Math.min(xyMinMax[0][0],p[0]);xyMinMax[1][0]=Math.min(xyMinMax[1][0],p[1]);xyMinMax[0][1]=Math.max(xyMinMax[0][1],p[0]);xyMinMax[1][1]=Math.max(xyMinMax[1][1],p[1]);return p});return{values:values,xyMinMax:xyMinMax}}};function axisConvert(axisNameIndex,to,coordSys,rangeOrCoordRange){if(__DEV__){assert$1(coordSys.type==='cartesian2d','lineX/lineY brush is available only in cartesian2d.')}var axis=coordSys.getAxis(['x','y'][axisNameIndex]);var values=formatMinMax(map([0,1],function(i){return to?axis.coordToData(axis.toLocalCoord(rangeOrCoordRange[i])):axis.toGlobalCoord(axis.dataToCoord(rangeOrCoordRange[i]))}));var xyMinMax=[];xyMinMax[axisNameIndex]=values;xyMinMax[1-axisNameIndex]=[NaN,NaN];return{values:values,xyMinMax:xyMinMax}}var diffProcessor={lineX:curry$4(axisDiffProcessor,0),lineY:curry$4(axisDiffProcessor,1),rect:function(values,refer,scales){return[[values[0][0]-scales[0]*refer[0][0],values[0][1]-scales[0]*refer[0][1]],[values[1][0]-scales[1]*refer[1][0],values[1][1]-scales[1]*refer[1][1]]]},polygon:function(values,refer,scales){return map(values,function(item,idx){return[item[0]-scales[0]*refer[idx][0],item[1]-scales[1]*refer[idx][1]]})}};function axisDiffProcessor(axisNameIndex,values,refer,scales){return[values[0]-scales[axisNameIndex]*refer[0],values[1]-scales[axisNameIndex]*refer[1]]}function getScales(xyMinMaxCurr,xyMinMaxOrigin){var sizeCurr=getSize(xyMinMaxCurr);var sizeOrigin=getSize(xyMinMaxOrigin);var scales=[sizeCurr[0]/sizeOrigin[0],sizeCurr[1]/sizeOrigin[1]];isNaN(scales[0])&&(scales[0]=1);isNaN(scales[1])&&(scales[1]=1);return scales}function getSize(xyMinMax){return xyMinMax?[xyMinMax[0][1]-xyMinMax[0][0],xyMinMax[1][1]-xyMinMax[1][0]]:[NaN,NaN]}var each$18=each$1;var ATTR$1='\0_ec_hist_store';function push(ecModel,newSnapshot){var store=giveStore(ecModel);each$18(newSnapshot,function(batchItem,dataZoomId){var i=store.length-1;for(;i>=0;i--){var snapshot=store[i];if(snapshot[dataZoomId]){break}}if(i<0){var dataZoomModel=ecModel.queryComponents({mainType:'dataZoom',subType:'select',id:dataZoomId})[0];if(dataZoomModel){var percentRange=dataZoomModel.getPercentRange();store[0][dataZoomId]={dataZoomId:dataZoomId,start:percentRange[0],end:percentRange[1]}}}});store.push(newSnapshot)}function pop(ecModel){var store=giveStore(ecModel);var head=store[store.length-1];store.length>1&&store.pop();var snapshot={};each$18(head,function(batchItem,dataZoomId){for(var i=store.length-1;i>=0;i--){var batchItem=store[i][dataZoomId];if(batchItem){snapshot[dataZoomId]=batchItem;break}}});return snapshot}function clear$1(ecModel){ecModel[ATTR$1]=null}function count(ecModel){return giveStore(ecModel).length}function giveStore(ecModel){var store=ecModel[ATTR$1];if(!store){store=ecModel[ATTR$1]=[{}]}return store}ComponentModel.registerSubTypeDefaulter('dataZoom',function(){return'slider'});var AXIS_DIMS=['x','y','z','radius','angle','single'];var COORDS=['cartesian2d','polar','singleAxis'];function isCoordSupported(coordType){return indexOf(COORDS,coordType)>=0}function createNameEach(names,attrs){names=names.slice();var capitalNames=map(names,capitalFirst);attrs=(attrs||[]).slice();var capitalAttrs=map(attrs,capitalFirst);return function(callback,context){each$1(names,function(name,index){var nameObj={name:name,capital:capitalNames[index]};for(var j=0;j=0}function isLinked(node,result){var hasLink=false;forEachEdgeType(function(edgeType){each$1(edgeIdGetter(node,edgeType)||[],function(edgeId){result.records[edgeType.name][edgeId]&&(hasLink=true)})});return hasLink}function absorb(node,result){result.nodes.push(node);forEachEdgeType(function(edgeType){each$1(edgeIdGetter(node,edgeType)||[],function(edgeId){result.records[edgeType.name][edgeId]=true})})}}var each$20=each$1;var asc$1=asc;var AxisProxy=function(dimName,axisIndex,dataZoomModel,ecModel){this._dimName=dimName;this._axisIndex=axisIndex;this._valueWindow;this._percentWindow;this._dataExtent;this._minMaxSpan;this.ecModel=ecModel;this._dataZoomModel=dataZoomModel};AxisProxy.prototype={constructor:AxisProxy,hostedBy:function(dataZoomModel){return this._dataZoomModel===dataZoomModel},getDataValueWindow:function(){return this._valueWindow.slice()},getDataPercentWindow:function(){return this._percentWindow.slice()},getTargetSeriesModels:function(){var seriesModels=[];var ecModel=this.ecModel;ecModel.eachSeries(function(seriesModel){if(isCoordSupported(seriesModel.get('coordinateSystem'))){var dimName=this._dimName;var axisModel=ecModel.queryComponents({mainType:dimName+'Axis',index:seriesModel.get(dimName+'AxisIndex'),id:seriesModel.get(dimName+'AxisId')})[0];if(this._axisIndex===(axisModel&&axisModel.componentIndex)){seriesModels.push(seriesModel)}}},this);return seriesModels},getAxisModel:function(){return this.ecModel.getComponent(this._dimName+'Axis',this._axisIndex)},getOtherAxisModel:function(){var axisDim=this._dimName;var ecModel=this.ecModel;var axisModel=this.getAxisModel();var isCartesian=axisDim==='x'||axisDim==='y';var otherAxisDim;var coordSysIndexName;if(isCartesian){coordSysIndexName='gridIndex';otherAxisDim=axisDim==='x'?'y':'x'}else{coordSysIndexName='polarIndex';otherAxisDim=axisDim==='angle'?'radius':'angle'}var foundOtherAxisModel;ecModel.eachComponent(otherAxisDim+'Axis',function(otherAxisModel){if((otherAxisModel.get(coordSysIndexName)||0)===(axisModel.get(coordSysIndexName)||0)){foundOtherAxisModel=otherAxisModel}});return foundOtherAxisModel},getMinMaxSpan:function(){return clone(this._minMaxSpan)},calculateDataWindow:function(opt){var dataExtent=this._dataExtent;var axisModel=this.getAxisModel();var scale=axisModel.axis.scale;var rangePropMode=this._dataZoomModel.getRangePropMode();var percentExtent=[0,100];var percentWindow=[];var valueWindow=[];var hasPropModeValue;each$20(['start','end'],function(prop,idx){var boundPercent=opt[prop];var boundValue=opt[prop+'Value'];if(rangePropMode[idx]==='percent'){boundPercent==null&&(boundPercent=percentExtent[idx]);boundValue=scale.parse(linearMap(boundPercent,percentExtent,dataExtent))}else{hasPropModeValue=true;boundValue=boundValue==null?dataExtent[idx]:scale.parse(boundValue);boundPercent=linearMap(boundValue,dataExtent,percentExtent)}valueWindow[idx]=boundValue;percentWindow[idx]=boundPercent});asc$1(valueWindow);asc$1(percentWindow);var spans=this._minMaxSpan;hasPropModeValue?restrictSet(valueWindow,percentWindow,dataExtent,percentExtent,false):restrictSet(percentWindow,valueWindow,percentExtent,dataExtent,true);function restrictSet(fromWindow,toWindow,fromExtent,toExtent,toValue){var suffix=toValue?'Span':'ValueSpan';sliderMove(0,fromWindow,fromExtent,'all',spans['min'+suffix],spans['max'+suffix]);for(var i=0;i<2;i++){toWindow[i]=linearMap(fromWindow[i],fromExtent,toExtent,true);toValue&&(toWindow[i]=scale.parse(toWindow[i]))}}return{valueWindow:valueWindow,percentWindow:percentWindow}},reset:function(dataZoomModel){if(dataZoomModel!==this._dataZoomModel){return}var targetSeries=this.getTargetSeriesModels();this._dataExtent=calculateDataExtent(this,this._dimName,targetSeries);setMinMaxSpan(this);var dataWindow=this.calculateDataWindow(dataZoomModel.settledOption);this._valueWindow=dataWindow.valueWindow;this._percentWindow=dataWindow.percentWindow;setAxisModel(this)},restore:function(dataZoomModel){if(dataZoomModel!==this._dataZoomModel){return}this._valueWindow=this._percentWindow=null;setAxisModel(this,true)},filterData:function(dataZoomModel,api){if(dataZoomModel!==this._dataZoomModel){return}var axisDim=this._dimName;var seriesModels=this.getTargetSeriesModels();var filterMode=dataZoomModel.get('filterMode');var valueWindow=this._valueWindow;if(filterMode==='none'){return}each$20(seriesModels,function(seriesModel){var seriesData=seriesModel.getData();var dataDims=seriesData.mapDimension(axisDim,true);if(!dataDims.length){return}if(filterMode==='weakFilter'){seriesData.filterSelf(function(dataIndex){var leftOut;var rightOut;var hasValue;for(var i=0;ivalueWindow[1];if(thisHasValue&&!thisLeftOut&&!thisRightOut){return true}thisHasValue&&(hasValue=true);thisLeftOut&&(leftOut=true);thisRightOut&&(rightOut=true)}return hasValue&&leftOut&&rightOut})}else{each$20(dataDims,function(dim){if(filterMode==='empty'){seriesModel.setData(seriesData=seriesData.map(dim,function(value){return!isInWindow(value)?NaN:value}))}else{var range={};range[dim]=valueWindow;seriesData.selectRange(range)}})}each$20(dataDims,function(dim){seriesData.setApproximateExtent(valueWindow,dim)})});function isInWindow(value){return value>=valueWindow[0]&&value<=valueWindow[1]}}};function calculateDataExtent(axisProxy,axisDim,seriesModels){var dataExtent=[Infinity,-Infinity];each$20(seriesModels,function(seriesModel){var seriesData=seriesModel.getData();if(seriesData){each$20(seriesData.mapDimension(axisDim,true),function(dim){var seriesExtent=seriesData.getApproximateExtent(dim);seriesExtent[0]dataExtent[1]&&(dataExtent[1]=seriesExtent[1])})}});if(dataExtent[1]0?0:NaN}var max=axisModel.getMax(true);if(max!=null&&max!=='dataMax'&&typeof max!=='function'){dataExtent[1]=max}else if(isCategoryAxis){dataExtent[1]=axisDataLen>0?axisDataLen-1:NaN}if(!axisModel.get('scale',true)){dataExtent[0]>0&&(dataExtent[0]=0);dataExtent[1]<0&&(dataExtent[1]=0)}return dataExtent}function setAxisModel(axisProxy,isRestore){var axisModel=axisProxy.getAxisModel();var percentWindow=axisProxy._percentWindow;var valueWindow=axisProxy._valueWindow;if(!percentWindow){return}var precision=getPixelPrecision(valueWindow,[0,500]);precision=Math.min(precision,20);var useOrigin=isRestore||(percentWindow[0]===0&&percentWindow[1]===100);axisModel.setRange(useOrigin?null:+valueWindow[0].toFixed(precision),useOrigin?null:+valueWindow[1].toFixed(precision))}function setMinMaxSpan(axisProxy){var minMaxSpan=axisProxy._minMaxSpan={};var dataZoomModel=axisProxy._dataZoomModel;var dataExtent=axisProxy._dataExtent;each$20(['min','max'],function(minMax){var percentSpan=dataZoomModel.get(minMax+'Span');var valueSpan=dataZoomModel.get(minMax+'ValueSpan');valueSpan!=null&&(valueSpan=axisProxy.getAxisModel().axis.scale.parse(valueSpan));if(valueSpan!=null){percentSpan=linearMap(dataExtent[0]+valueSpan,dataExtent,[0,100],true)}else if(percentSpan!=null){valueSpan=linearMap(percentSpan,[0,100],dataExtent,true)-dataExtent[0]}minMaxSpan[minMax+'Span']=percentSpan;minMaxSpan[minMax+'ValueSpan']=valueSpan})}var each$19=each$1;var eachAxisDim=eachAxisDim$1;var DataZoomModel=extendComponentModel({type:'dataZoom',dependencies:['xAxis','yAxis','zAxis','radiusAxis','angleAxis','singleAxis','series'],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:'filter',throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(option,parentModel,ecModel){this._dataIntervalByAxis={};this._dataInfo={};this._axisProxies={};this.textStyleModel;this._autoThrottle=true;this._rangePropMode=['percent','percent'];var inputRawOption=retrieveRawOption(option);this.settledOption=inputRawOption;this.mergeDefaultAndTheme(option,ecModel);this.doInit(inputRawOption)},mergeOption:function(newOption){var inputRawOption=retrieveRawOption(newOption);merge(this.option,newOption,true);merge(this.settledOption,inputRawOption,true);this.doInit(inputRawOption)},doInit:function(inputRawOption){var thisOption=this.option;if(!env$1.canvasSupported){thisOption.realtime=false}this._setDefaultThrottle(inputRawOption);updateRangeUse(this,inputRawOption);var settledOption=this.settledOption;each$19([['start','startValue'],['end','endValue']],function(names,index){if(this._rangePropMode[index]==='value'){thisOption[names[0]]=settledOption[names[0]]=null}},this);this.textStyleModel=this.getModel('textStyle');this._resetTarget();this._giveAxisProxies()},_giveAxisProxies:function(){var axisProxies=this._axisProxies;this.eachTargetAxis(function(dimNames,axisIndex,dataZoomModel,ecModel){var axisModel=this.dependentModels[dimNames.axis][axisIndex];var axisProxy=axisModel.__dzAxisProxy||(axisModel.__dzAxisProxy=new AxisProxy(dimNames.name,axisIndex,this,ecModel));axisProxies[dimNames.name+'_'+axisIndex]=axisProxy},this)},_resetTarget:function(){var thisOption=this.option;var autoMode=this._judgeAutoMode();eachAxisDim(function(dimNames){var axisIndexName=dimNames.axisIndex;thisOption[axisIndexName]=normalizeToArray(thisOption[axisIndexName])},this);if(autoMode==='axisIndex'){this._autoSetAxisIndex()}else if(autoMode==='orient'){this._autoSetOrient()}},_judgeAutoMode:function(){var thisOption=this.option;var hasIndexSpecified=false;eachAxisDim(function(dimNames){if(thisOption[dimNames.axisIndex]!=null){hasIndexSpecified=true}},this);var orient=thisOption.orient;if(orient==null&&hasIndexSpecified){return'orient'}else if(!hasIndexSpecified){if(orient==null){thisOption.orient='horizontal'}return'axisIndex'}},_autoSetAxisIndex:function(){var autoAxisIndex=true;var orient=this.get('orient',true);var thisOption=this.option;var dependentModels=this.dependentModels;if(autoAxisIndex){var dimName=orient==='vertical'?'y':'x';if(dependentModels[dimName+'Axis'].length){thisOption[dimName+'AxisIndex']=[0];autoAxisIndex=false}else{each$19(dependentModels.singleAxis,function(singleAxisModel){if(autoAxisIndex&&singleAxisModel.get('orient',true)===orient){thisOption.singleAxisIndex=[singleAxisModel.componentIndex];autoAxisIndex=false}})}}if(autoAxisIndex){eachAxisDim(function(dimNames){if(!autoAxisIndex){return}var axisIndices=[];var axisModels=this.dependentModels[dimNames.axis];if(axisModels.length&&!axisIndices.length){for(var i=0,len=axisModels.length;i0)?100:20}},getFirstTargetAxisModel:function(){var firstAxisModel;eachAxisDim(function(dimNames){if(firstAxisModel==null){var indices=this.get(dimNames.axisIndex);if(indices.length){firstAxisModel=this.dependentModels[dimNames.axis][indices[0]]}}},this);return firstAxisModel},eachTargetAxis:function(callback,context){var ecModel=this.ecModel;eachAxisDim(function(dimNames){each$19(this.get(dimNames.axisIndex),function(axisIndex){callback.call(context,dimNames,axisIndex,this,ecModel)},this)},this)},getAxisProxy:function(dimName,axisIndex){return this._axisProxies[dimName+'_'+axisIndex]},getAxisModel:function(dimName,axisIndex){var axisProxy=this.getAxisProxy(dimName,axisIndex);return axisProxy&&axisProxy.getAxisModel()},setRawRange:function(opt){var thisOption=this.option;var settledOption=this.settledOption;each$19([['start','startValue'],['end','endValue']],function(names){if(opt[names[0]]!=null||opt[names[1]]!=null){thisOption[names[0]]=settledOption[names[0]]=opt[names[0]];thisOption[names[1]]=settledOption[names[1]]=opt[names[1]]}},this);updateRangeUse(this,opt)},setCalculatedRange:function(opt){var option=this.option;each$19(['start','startValue','end','endValue'],function(name){option[name]=opt[name]})},getPercentRange:function(){var axisProxy=this.findRepresentativeAxisProxy();if(axisProxy){return axisProxy.getDataPercentWindow()}},getValueRange:function(axisDimName,axisIndex){if(axisDimName==null&&axisIndex==null){var axisProxy=this.findRepresentativeAxisProxy();if(axisProxy){return axisProxy.getDataValueWindow()}}else{return this.getAxisProxy(axisDimName,axisIndex).getDataValueWindow()}},findRepresentativeAxisProxy:function(axisModel){if(axisModel){return axisModel.__dzAxisProxy}var axisProxies=this._axisProxies;for(var key in axisProxies){if(axisProxies.hasOwnProperty(key)&&axisProxies[key].hostedBy(this)){return axisProxies[key]}}for(var key in axisProxies){if(axisProxies.hasOwnProperty(key)&&!axisProxies[key].hostedBy(this)){return axisProxies[key]}}},getRangePropMode:function(){return this._rangePropMode.slice()}});function retrieveRawOption(option){var ret={};each$19(['start','end','startValue','endValue','throttle'],function(name){option.hasOwnProperty(name)&&(ret[name]=option[name])});return ret}function updateRangeUse(dataZoomModel,inputRawOption){var rangePropMode=dataZoomModel._rangePropMode;var rangeModeInOption=dataZoomModel.get('rangeMode');each$19([['start','startValue'],['end','endValue']],function(names,index){var percentSpecified=inputRawOption[names[0]]!=null;var valueSpecified=inputRawOption[names[1]]!=null;if(percentSpecified&&!valueSpecified){rangePropMode[index]='percent'}else if(!percentSpecified&&valueSpecified){rangePropMode[index]='value'}else if(rangeModeInOption){rangePropMode[index]=rangeModeInOption[index]}else if(percentSpecified){rangePropMode[index]='percent'}})}var DataZoomView=Component$1.extend({type:'dataZoom',render:function(dataZoomModel,ecModel,api,payload){this.dataZoomModel=dataZoomModel;this.ecModel=ecModel;this.api=api},getTargetCoordInfo:function(){var dataZoomModel=this.dataZoomModel;var ecModel=this.ecModel;var coordSysLists={};dataZoomModel.eachTargetAxis(function(dimNames,axisIndex){var axisModel=ecModel.getComponent(dimNames.axis,axisIndex);if(axisModel){var coordModel=axisModel.getCoordSysModel();coordModel&&save(coordModel,axisModel,coordSysLists[coordModel.mainType]||(coordSysLists[coordModel.mainType]=[]),coordModel.componentIndex)}},this);function save(coordModel,axisModel,store,coordIndex){var item;for(var i=0;i1?'emphasis':'normal')}function updateZoomBtnStatus(featureModel,ecModel,view,payload,api){var zoomActive=view._isZoomActive;if(payload&&payload.type==='takeGlobalCursor'){zoomActive=payload.key==='dataZoomSelect'?payload.dataZoomSelectActive:false}view._isZoomActive=zoomActive;featureModel.setIconStatus('zoom',zoomActive?'emphasis':'normal');var brushTargetManager=new BrushTargetManager(retrieveAxisSetting(featureModel.option),ecModel,{include:['grid']});view._brushController.setPanels(brushTargetManager.makePanelOpts(api,function(targetInfo){return(targetInfo.xAxisDeclared&&!targetInfo.yAxisDeclared)?'lineX':(!targetInfo.xAxisDeclared&&targetInfo.yAxisDeclared)?'lineY':'rect'})).enableBrush(zoomActive?{brushType:'auto',brushStyle:{lineWidth:0,fill:'rgba(0,0,0,0.2)'}}:false)}register$1('dataZoom',DataZoom);registerPreprocessor(function(option){if(!option){return}var dataZoomOpts=option.dataZoom||(option.dataZoom=[]);if(!isArray(dataZoomOpts)){option.dataZoom=dataZoomOpts=[dataZoomOpts]}var toolboxOpt=option.toolbox;if(toolboxOpt){if(isArray(toolboxOpt)){toolboxOpt=toolboxOpt[0]}if(toolboxOpt&&toolboxOpt.feature){var dataZoomOpt=toolboxOpt.feature.dataZoom;addForAxis('xAxis',dataZoomOpt);addForAxis('yAxis',dataZoomOpt)}}function addForAxis(axisName,dataZoomOpt){if(!dataZoomOpt){return}var axisIndicesName=axisName+'Index';var givenAxisIndices=dataZoomOpt[axisIndicesName];if(givenAxisIndices!=null&&givenAxisIndices!=='all'&&!isArray(givenAxisIndices)){givenAxisIndices=(givenAxisIndices===false||givenAxisIndices==='none')?[]:[givenAxisIndices]}forEachComponent(axisName,function(axisOpt,axisIndex){if(givenAxisIndices!=null&&givenAxisIndices!=='all'&&indexOf(givenAxisIndices,axisIndex)===-1){return}var newOpt={type:'select',$fromToolbox:true,filterMode:dataZoomOpt.filterMode||'filter',id:DATA_ZOOM_ID_BASE+axisName+axisIndex};newOpt[axisIndicesName]=axisIndex;dataZoomOpts.push(newOpt)})}function forEachComponent(mainType,cb){var opts=option[mainType];if(!isArray(opts)){opts=opts?[opts]:[]}each$16(opts,cb)}});var restoreLang=lang.toolbox.restore;function Restore(model){this.model=model}Restore.defaultOption={show:true,icon:'M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5',title:restoreLang.title};var proto$6=Restore.prototype;proto$6.onclick=function(ecModel,api,type){clear$1(ecModel);api.dispatchAction({type:'restore',from:this.uid})};register$1('restore',Restore);registerAction({type:'restore',event:'restore',update:'prepareAndUpdate'},function(payload,ecModel){ecModel.resetOption('recreate')});extendComponentModel({type:'tooltip',dependencies:['axisPointer'],defaultOption:{zlevel:0,z:60,show:true,showContent:true,trigger:'item',triggerOn:'mousemove|click',alwaysShowContent:false,displayMode:'single',renderMode:'auto',confine:false,showDelay:0,hideDelay:100,transitionDuration:0.4,enterable:false,backgroundColor:'rgba(50,50,50,0.7)',borderColor:'#333',borderRadius:4,borderWidth:0,padding:5,extraCssText:'',axisPointer:{type:'line',axis:'auto',animation:'auto',animationDurationUpdate:200,animationEasingUpdate:'exponentialOut',crossStyle:{color:'#999',width:1,type:'dashed',textStyle:{}}},textStyle:{color:'#fff',fontSize:14}}});var each$22=each$1;var toCamelCase$1=toCamelCase;var vendors=['','-webkit-','-moz-','-o-'];var gCssText='position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;';function assembleTransition(duration){var transitionCurve='cubic-bezier(0.23, 1, 0.32, 1)';var transitionText='left '+duration+'s '+transitionCurve+',top '+duration+'s '+transitionCurve;return map(vendors,function(vendorPrefix){return vendorPrefix+'transition:'+transitionText}).join(';')}function assembleFont(textStyleModel){var cssText=[];var fontSize=textStyleModel.get('fontSize');var color=textStyleModel.getTextColor();color&&cssText.push('color:'+color);cssText.push('font:'+textStyleModel.getFont());fontSize&&cssText.push('line-height:'+Math.round(fontSize*3/2)+'px');each$22(['decoration','align'],function(name){var val=textStyleModel.get(name);val&&cssText.push('text-'+name+':'+val)});return cssText.join(';')}function assembleCssText(tooltipModel){var cssText=[];var transitionDuration=tooltipModel.get('transitionDuration');var backgroundColor=tooltipModel.get('backgroundColor');var textStyleModel=tooltipModel.getModel('textStyle');var padding=tooltipModel.get('padding');transitionDuration&&cssText.push(assembleTransition(transitionDuration));if(backgroundColor){if(env$1.canvasSupported){cssText.push('background-Color:'+backgroundColor)}else{cssText.push('background-Color:#'+toHex(backgroundColor));cssText.push('filter:alpha(opacity=70)')}}each$22(['width','color','radius'],function(name){var borderName='border-'+name;var camelCase=toCamelCase$1(borderName);var val=tooltipModel.get(camelCase);val!=null&&cssText.push(borderName+':'+val+(name==='color'?'':'px'))});cssText.push(assembleFont(textStyleModel));if(padding!=null){cssText.push('padding:'+normalizeCssArray$1(padding).join('px ')+'px')}return cssText.join(';')+';'}function makeStyleCoord(out,zr,appendToBody,zrX,zrY){var zrPainter=zr&&zr.painter;if(appendToBody){var zrViewportRoot=zrPainter&&zrPainter.getViewportRoot();if(zrViewportRoot){transformLocalCoord(out,zrViewportRoot,document.body,zrX,zrY)}}else{out[0]=zrX;out[1]=zrY;var viewportRootOffset=zrPainter&&zrPainter.getViewportRootOffset();if(viewportRootOffset){out[0]+=viewportRootOffset.offsetLeft;out[1]+=viewportRootOffset.offsetTop}}}function TooltipContent(container,api,opt){if(env$1.wxa){return null}var el=document.createElement('div');el.domBelongToZr=true;this.el=el;var zr=this._zr=api.getZr();var appendToBody=this._appendToBody=opt&&opt.appendToBody;this._styleCoord=[0,0];makeStyleCoord(this._styleCoord,zr,appendToBody,api.getWidth()/2,api.getHeight()/2);if(appendToBody){document.body.appendChild(el)}else{container.appendChild(el)}this._container=container;this._show=false;this._hideTimeout;var self=this;el.onmouseenter=function(){if(self._enterable){clearTimeout(self._hideTimeout);self._show=true}self._inContent=true};el.onmousemove=function(e){e=e||window.event;if(!self._enterable){var handler=zr.handler;var zrViewportRoot=zr.painter.getViewportRoot();normalizeEvent(zrViewportRoot,e,true);handler.dispatch('mousemove',e)}};el.onmouseleave=function(){if(self._enterable){if(self._show){self.hideLater(self._hideDelay)}}self._inContent=false}}TooltipContent.prototype={constructor:TooltipContent,_enterable:true,update:function(){var container=this._container;var stl=container.currentStyle||document.defaultView.getComputedStyle(container);var domStyle=container.style;if(domStyle.position!=='absolute'&&stl.position!=='absolute'){domStyle.position='relative'}},show:function(tooltipModel){clearTimeout(this._hideTimeout);var el=this.el;var styleCoord=this._styleCoord;el.style.cssText=gCssText+assembleCssText(tooltipModel)+';left:'+styleCoord[0]+'px;top:'+styleCoord[1]+'px;'+(tooltipModel.get('extraCssText')||'');el.style.display=el.innerHTML?'block':'none';el.style.pointerEvents=this._enterable?'auto':'none';this._show=true},setContent:function(content){this.el.innerHTML=content==null?'':content},setEnterable:function(enterable){this._enterable=enterable},getSize:function(){var el=this.el;return[el.clientWidth,el.clientHeight]},moveTo:function(zrX,zrY){var styleCoord=this._styleCoord;makeStyleCoord(styleCoord,this._zr,this._appendToBody,zrX,zrY);var style=this.el.style;style.left=styleCoord[0]+'px';style.top=styleCoord[1]+'px'},hide:function(){this.el.style.display='none';this._show=false},hideLater:function(time){if(this._show&&!(this._inContent&&this._enterable)){if(time){this._hideDelay=time;this._show=false;this._hideTimeout=setTimeout(bind(this.hide,this),time)}else{this.hide()}}},isShow:function(){return this._show},dispose:function(){this.el.parentNode.removeChild(this.el)},getOuterSize:function(){var width=this.el.clientWidth;var height=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var stl=document.defaultView.getComputedStyle(this.el);if(stl){width+=parseInt(stl.borderLeftWidth,10)+parseInt(stl.borderRightWidth,10);height+=parseInt(stl.borderTopWidth,10)+parseInt(stl.borderBottomWidth,10)}}return{width:width,height:height}}};function TooltipRichContent(api){this._zr=api.getZr();this._show=false;this._hideTimeout}TooltipRichContent.prototype={constructor:TooltipRichContent,_enterable:true,update:function(){},show:function(tooltipModel){if(this._hideTimeout){clearTimeout(this._hideTimeout)}this.el.attr('show',true);this._show=true},setContent:function(content,markerRich,tooltipModel){if(this.el){this._zr.remove(this.el)}var markers={};var text=content;var prefix='{marker';var suffix='|}';var startId=text.indexOf(prefix);while(startId>=0){var endId=text.indexOf(suffix);var name=text.substr(startId+prefix.length,endId-startId-prefix.length);if(name.indexOf('sub')>-1){markers['marker'+name]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:markerRich[name],textOffset:[3,0]}}else{markers['marker'+name]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:markerRich[name]}}text=text.substr(endId+1);startId=text.indexOf('{marker')}this.el=new Text({style:{rich:markers,text:content,textLineHeight:20,textBackgroundColor:tooltipModel.get('backgroundColor'),textBorderRadius:tooltipModel.get('borderRadius'),textFill:tooltipModel.get('textStyle.color'),textPadding:tooltipModel.get('padding')},z:tooltipModel.get('z')});this._zr.add(this.el);var self=this;this.el.on('mouseover',function(){if(self._enterable){clearTimeout(self._hideTimeout);self._show=true}self._inContent=true});this.el.on('mouseout',function(){if(self._enterable){if(self._show){self.hideLater(self._hideDelay)}}self._inContent=false})},setEnterable:function(enterable){this._enterable=enterable},getSize:function(){var bounding=this.el.getBoundingRect();return[bounding.width,bounding.height]},moveTo:function(x,y){if(this.el){this.el.attr('position',[x,y])}},hide:function(){if(this.el){this.el.hide()}this._show=false},hideLater:function(time){if(this._show&&!(this._inContent&&this._enterable)){if(time){this._hideDelay=time;this._show=false;this._hideTimeout=setTimeout(bind(this.hide,this),time)}else{this.hide()}}},isShow:function(){return this._show},getOuterSize:function(){var size=this.getSize();return{width:size[0],height:size[1]}}};var bind$3=bind;var each$21=each$1;var parsePercent$2=parsePercent$1;var proxyRect=new Rect({shape:{x:-1,y:-1,width:2,height:2}});extendComponentView({type:'tooltip',init:function(ecModel,api){if(env$1.node){return}var tooltipModel=ecModel.getComponent('tooltip');var renderMode=tooltipModel.get('renderMode');this._renderMode=getTooltipRenderMode(renderMode);var tooltipContent;if(this._renderMode==='html'){tooltipContent=new TooltipContent(api.getDom(),api,{appendToBody:tooltipModel.get('appendToBody',true)});this._newLine='
'}else{tooltipContent=new TooltipRichContent(api);this._newLine='\n'}this._tooltipContent=tooltipContent},render:function(tooltipModel,ecModel,api){if(env$1.node){return}this.group.removeAll();this._tooltipModel=tooltipModel;this._ecModel=ecModel;this._api=api;this._lastDataByCoordSys=null;this._alwaysShowContent=tooltipModel.get('alwaysShowContent');var tooltipContent=this._tooltipContent;tooltipContent.update();tooltipContent.setEnterable(tooltipModel.get('enterable'));this._initGlobalListener();this._keepShow()},_initGlobalListener:function(){var tooltipModel=this._tooltipModel;var triggerOn=tooltipModel.get('triggerOn');register('itemTooltip',this._api,bind$3(function(currTrigger,e,dispatchAction){if(triggerOn!=='none'){if(triggerOn.indexOf(currTrigger)>=0){this._tryShow(e,dispatchAction)}else if(currTrigger==='leave'){this._hide(dispatchAction)}}},this))},_keepShow:function(){var tooltipModel=this._tooltipModel;var ecModel=this._ecModel;var api=this._api;if(this._lastX!=null&&this._lastY!=null&&tooltipModel.get('triggerOn')!=='none'){var self=this;clearTimeout(this._refreshUpdateTimeout);this._refreshUpdateTimeout=setTimeout(function(){!api.isDisposed()&&self.manuallyShowTip(tooltipModel,ecModel,api,{x:self._lastX,y:self._lastY})})}},manuallyShowTip:function(tooltipModel,ecModel,api,payload){if(payload.from===this.uid||env$1.node){return}var dispatchAction=makeDispatchAction$1(payload,api);this._ticket='';var dataByCoordSys=payload.dataByCoordSys;if(payload.tooltip&&payload.x!=null&&payload.y!=null){var el=proxyRect;el.position=[payload.x,payload.y];el.update();el.tooltip=payload.tooltip;this._tryShow({offsetX:payload.x,offsetY:payload.y,target:el},dispatchAction)}else if(dataByCoordSys){this._tryShow({offsetX:payload.x,offsetY:payload.y,position:payload.position,dataByCoordSys:payload.dataByCoordSys,tooltipOption:payload.tooltipOption},dispatchAction)}else if(payload.seriesIndex!=null){if(this._manuallyAxisShowTip(tooltipModel,ecModel,api,payload)){return}var pointInfo=findPointFromSeries(payload,ecModel);var cx=pointInfo.point[0];var cy=pointInfo.point[1];if(cx!=null&&cy!=null){this._tryShow({offsetX:cx,offsetY:cy,position:payload.position,target:pointInfo.el},dispatchAction)}}else if(payload.x!=null&&payload.y!=null){api.dispatchAction({type:'updateAxisPointer',x:payload.x,y:payload.y});this._tryShow({offsetX:payload.x,offsetY:payload.y,position:payload.position,target:api.getZr().findHover(payload.x,payload.y).target},dispatchAction)}},manuallyHideTip:function(tooltipModel,ecModel,api,payload){var tooltipContent=this._tooltipContent;if(!this._alwaysShowContent&&this._tooltipModel){tooltipContent.hideLater(this._tooltipModel.get('hideDelay'))}this._lastX=this._lastY=null;if(payload.from!==this.uid){this._hide(makeDispatchAction$1(payload,api))}},_manuallyAxisShowTip:function(tooltipModel,ecModel,api,payload){var seriesIndex=payload.seriesIndex;var dataIndex=payload.dataIndex;var coordSysAxesInfo=ecModel.getComponent('axisPointer').coordSysAxesInfo;if(seriesIndex==null||dataIndex==null||coordSysAxesInfo==null){return}var seriesModel=ecModel.getSeriesByIndex(seriesIndex);if(!seriesModel){return}var data=seriesModel.getData();var tooltipModel=buildTooltipModel([data.getItemModel(dataIndex),seriesModel,(seriesModel.coordinateSystem||{}).model,tooltipModel]);if(tooltipModel.get('trigger')!=='axis'){return}api.dispatchAction({type:'updateAxisPointer',seriesIndex:seriesIndex,dataIndex:dataIndex,position:payload.position});return true},_tryShow:function(e,dispatchAction){var el=e.target;var tooltipModel=this._tooltipModel;if(!tooltipModel){return}this._lastX=e.offsetX;this._lastY=e.offsetY;var dataByCoordSys=e.dataByCoordSys;if(dataByCoordSys&&dataByCoordSys.length){this._showAxisTooltip(dataByCoordSys,e)}else if(el&&el.dataIndex!=null){this._lastDataByCoordSys=null;this._showSeriesItemTooltip(e,el,dispatchAction)}else if(el&&el.tooltip){this._lastDataByCoordSys=null;this._showComponentItemTooltip(e,el,dispatchAction)}else{this._lastDataByCoordSys=null;this._hide(dispatchAction)}},_showOrMove:function(tooltipModel,cb){var delay=tooltipModel.get('showDelay');cb=bind(cb,this);clearTimeout(this._showTimout);delay>0?(this._showTimout=setTimeout(cb,delay)):cb()},_showAxisTooltip:function(dataByCoordSys,e){var ecModel=this._ecModel;var globalTooltipModel=this._tooltipModel;var point=[e.offsetX,e.offsetY];var singleDefaultHTML=[];var singleParamsList=[];var singleTooltipModel=buildTooltipModel([e.tooltipOption,globalTooltipModel]);var renderMode=this._renderMode;var newLine=this._newLine;var markers={};each$21(dataByCoordSys,function(itemCoordSys){each$21(itemCoordSys.dataByAxis,function(item){var axisModel=ecModel.getComponent(item.axisDim+'Axis',item.axisIndex);var axisValue=item.value;var seriesDefaultHTML=[];if(!axisModel||axisValue==null){return}var valueLabel=getValueLabel(axisValue,axisModel.axis,ecModel,item.seriesDataIndices,item.valueLabelOpt);each$1(item.seriesDataIndices,function(idxItem){var series=ecModel.getSeriesByIndex(idxItem.seriesIndex);var dataIndex=idxItem.dataIndexInside;var dataParams=series&&series.getDataParams(dataIndex);dataParams.axisDim=item.axisDim;dataParams.axisIndex=item.axisIndex;dataParams.axisType=item.axisType;dataParams.axisId=item.axisId;dataParams.axisValue=getAxisRawValue(axisModel.axis,axisValue);dataParams.axisValueLabel=valueLabel;if(dataParams){singleParamsList.push(dataParams);var seriesTooltip=series.formatTooltip(dataIndex,true,null,renderMode);var html;if(isObject$1(seriesTooltip)){html=seriesTooltip.html;var newMarkers=seriesTooltip.markers;merge(markers,newMarkers)}else{html=seriesTooltip}seriesDefaultHTML.push(html)}});var firstLine=valueLabel;if(renderMode!=='html'){singleDefaultHTML.push(seriesDefaultHTML.join(newLine))}else{singleDefaultHTML.push((firstLine?encodeHTML(firstLine)+newLine:'')+seriesDefaultHTML.join(newLine))}})},this);singleDefaultHTML.reverse();singleDefaultHTML=singleDefaultHTML.join(this._newLine+this._newLine);var positionExpr=e.position;this._showOrMove(singleTooltipModel,function(){if(this._updateContentNotChangedOnAxis(dataByCoordSys)){this._updatePosition(singleTooltipModel,positionExpr,point[0],point[1],this._tooltipContent,singleParamsList)}else{this._showTooltipContent(singleTooltipModel,singleDefaultHTML,singleParamsList,Math.random(),point[0],point[1],positionExpr,undefined,markers)}})},_showSeriesItemTooltip:function(e,el,dispatchAction){var ecModel=this._ecModel;var seriesIndex=el.seriesIndex;var seriesModel=ecModel.getSeriesByIndex(seriesIndex);var dataModel=el.dataModel||seriesModel;var dataIndex=el.dataIndex;var dataType=el.dataType;var data=dataModel.getData(dataType);var tooltipModel=buildTooltipModel([data.getItemModel(dataIndex),dataModel,seriesModel&&(seriesModel.coordinateSystem||{}).model,this._tooltipModel]);var tooltipTrigger=tooltipModel.get('trigger');if(tooltipTrigger!=null&&tooltipTrigger!=='item'){return}var params=dataModel.getDataParams(dataIndex,dataType);var seriesTooltip=dataModel.formatTooltip(dataIndex,false,dataType,this._renderMode);var defaultHtml;var markers;if(isObject$1(seriesTooltip)){defaultHtml=seriesTooltip.html;markers=seriesTooltip.markers}else{defaultHtml=seriesTooltip;markers=null}var asyncTicket='item_'+dataModel.name+'_'+dataIndex;this._showOrMove(tooltipModel,function(){this._showTooltipContent(tooltipModel,defaultHtml,params,asyncTicket,e.offsetX,e.offsetY,e.position,e.target,markers)});dispatchAction({type:'showTip',dataIndexInside:dataIndex,dataIndex:data.getRawIndex(dataIndex),seriesIndex:seriesIndex,from:this.uid})},_showComponentItemTooltip:function(e,el,dispatchAction){var tooltipOpt=el.tooltip;if(typeof tooltipOpt==='string'){var content=tooltipOpt;tooltipOpt={content:content,formatter:content}}var subTooltipModel=new Model(tooltipOpt,this._tooltipModel,this._ecModel);var defaultHtml=subTooltipModel.get('content');var asyncTicket=Math.random();this._showOrMove(subTooltipModel,function(){this._showTooltipContent(subTooltipModel,defaultHtml,subTooltipModel.get('formatterParams')||{},asyncTicket,e.offsetX,e.offsetY,e.position,el)});dispatchAction({type:'showTip',from:this.uid})},_showTooltipContent:function(tooltipModel,defaultHtml,params,asyncTicket,x,y,positionExpr,el,markers){this._ticket='';if(!tooltipModel.get('showContent')||!tooltipModel.get('show')){return}var tooltipContent=this._tooltipContent;var formatter=tooltipModel.get('formatter');positionExpr=positionExpr||tooltipModel.get('position');var html=defaultHtml;if(formatter&&typeof formatter==='string'){html=formatTpl(formatter,params,true)}else if(typeof formatter==='function'){var callback=bind$3(function(cbTicket,html){if(cbTicket===this._ticket){tooltipContent.setContent(html,markers,tooltipModel);this._updatePosition(tooltipModel,positionExpr,x,y,tooltipContent,params,el)}},this);this._ticket=asyncTicket;html=formatter(params,asyncTicket,callback)}tooltipContent.setContent(html,markers,tooltipModel);tooltipContent.show(tooltipModel);this._updatePosition(tooltipModel,positionExpr,x,y,tooltipContent,params,el)},_updatePosition:function(tooltipModel,positionExpr,x,y,content,params,el){var viewWidth=this._api.getWidth();var viewHeight=this._api.getHeight();positionExpr=positionExpr||tooltipModel.get('position');var contentSize=content.getSize();var align=tooltipModel.get('align');var vAlign=tooltipModel.get('verticalAlign');var rect=el&&el.getBoundingRect().clone();el&&rect.applyTransform(el.transform);if(typeof positionExpr==='function'){positionExpr=positionExpr([x,y],params,content.el,rect,{viewSize:[viewWidth,viewHeight],contentSize:contentSize.slice()})}if(isArray(positionExpr)){x=parsePercent$2(positionExpr[0],viewWidth);y=parsePercent$2(positionExpr[1],viewHeight)}else if(isObject$1(positionExpr)){positionExpr.width=contentSize[0];positionExpr.height=contentSize[1];var layoutRect=getLayoutRect(positionExpr,{width:viewWidth,height:viewHeight});x=layoutRect.x;y=layoutRect.y;align=null;vAlign=null}else if(typeof positionExpr==='string'&&el){var pos=calcTooltipPosition(positionExpr,rect,contentSize);x=pos[0];y=pos[1]}else{var pos=refixTooltipPosition(x,y,content,viewWidth,viewHeight,align?null:20,vAlign?null:20);x=pos[0];y=pos[1]}align&&(x-=isCenterAlign(align)?contentSize[0]/2:align==='right'?contentSize[0]:0);vAlign&&(y-=isCenterAlign(vAlign)?contentSize[1]/2:vAlign==='bottom'?contentSize[1]:0);if(tooltipModel.get('confine')){var pos=confineTooltipPosition(x,y,content,viewWidth,viewHeight);x=pos[0];y=pos[1]}content.moveTo(x,y)},_updateContentNotChangedOnAxis:function(dataByCoordSys){var lastCoordSys=this._lastDataByCoordSys;var contentNotChanged=!!lastCoordSys&&lastCoordSys.length===dataByCoordSys.length;contentNotChanged&&each$21(lastCoordSys,function(lastItemCoordSys,indexCoordSys){var lastDataByAxis=lastItemCoordSys.dataByAxis||{};var thisItemCoordSys=dataByCoordSys[indexCoordSys]||{};var thisDataByAxis=thisItemCoordSys.dataByAxis||[];contentNotChanged&=lastDataByAxis.length===thisDataByAxis.length;contentNotChanged&&each$21(lastDataByAxis,function(lastItem,indexAxis){var thisItem=thisDataByAxis[indexAxis]||{};var lastIndices=lastItem.seriesDataIndices||[];var newIndices=thisItem.seriesDataIndices||[];contentNotChanged&=lastItem.value===thisItem.value&&lastItem.axisType===thisItem.axisType&&lastItem.axisId===thisItem.axisId&&lastIndices.length===newIndices.length;contentNotChanged&&each$21(lastIndices,function(lastIdxItem,j){var newIdxItem=newIndices[j];contentNotChanged&=lastIdxItem.seriesIndex===newIdxItem.seriesIndex&&lastIdxItem.dataIndex===newIdxItem.dataIndex})})});this._lastDataByCoordSys=dataByCoordSys;return!!contentNotChanged},_hide:function(dispatchAction){this._lastDataByCoordSys=null;dispatchAction({type:'hideTip',from:this.uid})},dispose:function(ecModel,api){if(env$1.node){return}this._tooltipContent.dispose();unregister('itemTooltip',api)}});function buildTooltipModel(modelCascade){var resultModel=modelCascade.pop();while(modelCascade.length){var tooltipOpt=modelCascade.pop();if(tooltipOpt){if(Model.isInstance(tooltipOpt)){tooltipOpt=tooltipOpt.get('tooltip',true)}if(typeof tooltipOpt==='string'){tooltipOpt={formatter:tooltipOpt}}resultModel=new Model(tooltipOpt,resultModel,resultModel.ecModel)}}return resultModel}function makeDispatchAction$1(payload,api){return payload.dispatchAction||bind(api.dispatchAction,api)}function refixTooltipPosition(x,y,content,viewWidth,viewHeight,gapH,gapV){var size=content.getOuterSize();var width=size.width;var height=size.height;if(gapH!=null){if(x+width+gapH>viewWidth){x-=width+gapH}else{x+=gapH}}if(gapV!=null){if(y+height+gapV>viewHeight){y-=height+gapV}else{y+=gapV}}return[x,y]}function confineTooltipPosition(x,y,content,viewWidth,viewHeight){var size=content.getOuterSize();var width=size.width;var height=size.height;x=Math.min(x+width,viewWidth)-width;y=Math.min(y+height,viewHeight)-height;x=Math.max(x,0);y=Math.max(y,0);return[x,y]}function calcTooltipPosition(position,rect,contentSize){var domWidth=contentSize[0];var domHeight=contentSize[1];var gap=5;var x=0;var y=0;var rectWidth=rect.width;var rectHeight=rect.height;switch(position){case'inside':x=rect.x+rectWidth/2-domWidth/2;y=rect.y+rectHeight/2-domHeight/2;break;case'top':x=rect.x+rectWidth/2-domWidth/2;y=rect.y-domHeight-gap;break;case'bottom':x=rect.x+rectWidth/2-domWidth/2;y=rect.y+rectHeight+gap;break;case'left':x=rect.x-domWidth-gap;y=rect.y+rectHeight/2-domHeight/2;break;case'right':x=rect.x+rectWidth+gap;y=rect.y+rectHeight/2-domHeight/2}return[x,y]}function isCenterAlign(align){return align==='center'||align==='middle'}registerAction({type:'showTip',event:'showTip',update:'tooltip:manuallyShowTip'},function(){});registerAction({type:'hideTip',event:'hideTip',update:'tooltip:manuallyHideTip'},function(){});var DEFAULT_TOOLBOX_BTNS=['rect','polygon','keep','clear'];var preprocessor$1=function(option,isNew){var brushComponents=option&&option.brush;if(!isArray(brushComponents)){brushComponents=brushComponents?[brushComponents]:[]}if(!brushComponents.length){return}var brushComponentSpecifiedBtns=[];each$1(brushComponents,function(brushOpt){var tbs=brushOpt.hasOwnProperty('toolbox')?brushOpt.toolbox:[];if(tbs instanceof Array){brushComponentSpecifiedBtns=brushComponentSpecifiedBtns.concat(tbs)}});var toolbox=option&&option.toolbox;if(isArray(toolbox)){toolbox=toolbox[0]}if(!toolbox){toolbox={feature:{}};option.toolbox=[toolbox]}var toolboxFeature=(toolbox.feature||(toolbox.feature={}));var toolboxBrush=toolboxFeature.brush||(toolboxFeature.brush={});var brushTypes=toolboxBrush.type||(toolboxBrush.type=[]);brushTypes.push.apply(brushTypes,brushComponentSpecifiedBtns);removeDuplicate(brushTypes);if(isNew&&!brushTypes.length){brushTypes.push.apply(brushTypes,DEFAULT_TOOLBOX_BTNS)}};function removeDuplicate(arr){var map$$1={};each$1(arr,function(val){map$$1[val]=1});arr.length=0;each$1(map$$1,function(flag,val){arr.push(val)})}var each$23=each$1;function hasKeys(obj){if(obj){for(var name in obj){if(obj.hasOwnProperty(name)){return true}}}}function createVisualMappings(option,stateList,supplementVisualOption){var visualMappings={};each$23(stateList,function(state){var mappings=visualMappings[state]=createMappings();each$23(option[state],function(visualData,visualType){if(!VisualMapping.isValidType(visualType)){return}var mappingOption={type:visualType,visual:visualData};supplementVisualOption&&supplementVisualOption(mappingOption,state);mappings[visualType]=new VisualMapping(mappingOption);if(visualType==='opacity'){mappingOption=clone(mappingOption);mappingOption.type='colorAlpha';mappings.__hidden.__alphaForOpacity=new VisualMapping(mappingOption)}})});return visualMappings;function createMappings(){var Creater=function(){};Creater.prototype.__hidden=Creater.prototype;var obj=new Creater();return obj}}function replaceVisualOption(thisOption,newOption,keys){var has;each$1(keys,function(key){if(newOption.hasOwnProperty(key)&&hasKeys(newOption[key])){has=true}});has&&each$1(keys,function(key){if(newOption.hasOwnProperty(key)&&hasKeys(newOption[key])){thisOption[key]=clone(newOption[key])}else{delete thisOption[key]}})}function applyVisual(stateList,visualMappings,data,getValueState,scope,dimension){var visualTypesMap={};each$1(stateList,function(state){var visualTypes=VisualMapping.prepareVisualTypes(visualMappings[state]);visualTypesMap[state]=visualTypes});var dataIndex;function getVisual(key){return data.getItemVisual(dataIndex,key)}function setVisual(key,value){data.setItemVisual(dataIndex,key,value)}if(dimension==null){data.each(eachItem)}else{data.each([dimension],eachItem)}function eachItem(valueOrIndex,index){dataIndex=dimension==null?valueOrIndex:index;var rawDataItem=data.getRawDataItem(dataIndex);if(rawDataItem&&rawDataItem.visualMap===false){return}var valueState=getValueState.call(scope,valueOrIndex);var mappings=visualMappings[valueState];var visualTypes=visualTypesMap[valueState];for(var i=0,len=visualTypes.length;iminMax[0][1]&&(minMax[0][1]=rg[0]);rg[1]minMax[1][1]&&(minMax[1][1]=rg[1])}return minMax&&getBoundingRectFromMinMax(minMax)}};function getBoundingRectFromMinMax(minMax){return new BoundingRect(minMax[0][0],minMax[1][0],minMax[0][1]-minMax[0][0],minMax[1][1]-minMax[1][0])}var DEFAULT_OUT_OF_BRUSH_COLOR=['#ddd'];var BrushModel=extendComponentModel({type:'brush',dependencies:['geo','grid','xAxis','yAxis','parallel','series'],defaultOption:{toolbox:null,brushLink:null,seriesIndex:'all',geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:'rect',brushMode:'single',transformable:true,brushStyle:{borderWidth:1,color:'rgba(120,140,180,0.3)',borderColor:'rgba(120,140,180,0.8)'},throttleType:'fixRate',throttleDelay:0,removeOnClick:true,z:10000},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(newOption,isInit){var thisOption=this.option;!isInit&&replaceVisualOption(thisOption,newOption,['inBrush','outOfBrush']);var inBrush=thisOption.inBrush=thisOption.inBrush||{};thisOption.outOfBrush=thisOption.outOfBrush||{color:DEFAULT_OUT_OF_BRUSH_COLOR};if(!inBrush.hasOwnProperty('liftZ')){inBrush.liftZ=5}},setAreas:function(areas){if(__DEV__){assert$1(isArray(areas));each$1(areas,function(area){assert$1(area.brushType,'Illegal areas')})}if(!areas){return}this.areas=map(areas,function(area){return generateBrushOption(this.option,area)},this)},setBrushOption:function(brushOption){this.brushOption=generateBrushOption(this.option,brushOption);this.brushType=this.brushOption.brushType}});function generateBrushOption(option,brushOption){return merge({brushType:option.brushType,brushMode:option.brushMode,transformable:option.transformable,brushStyle:new Model(option.brushStyle).getItemStyle(),removeOnClick:option.removeOnClick,z:option.z},brushOption,true)}extendComponentView({type:'brush',init:function(ecModel,api){this.ecModel=ecModel;this.api=api;this.model;(this._brushController=new BrushController(api.getZr())).on('brush',bind(this._onBrush,this)).mount()},render:function(brushModel){this.model=brushModel;return updateController.apply(this,arguments)},updateTransform:function(brushModel,ecModel){layoutCovers(ecModel);return updateController.apply(this,arguments)},updateView:updateController,dispose:function(){this._brushController.dispose()},_onBrush:function(areas,opt){var modelId=this.model.id;this.model.brushTargetManager.setOutputRanges(areas,this.ecModel);(!opt.isEnd||opt.removeOnClick)&&this.api.dispatchAction({type:'brush',brushId:modelId,areas:clone(areas),$from:modelId});opt.isEnd&&this.api.dispatchAction({type:'brushEnd',brushId:modelId,areas:clone(areas),$from:modelId})}});function updateController(brushModel,ecModel,api,payload){(!payload||payload.$from!==brushModel.id)&&this._brushController.setPanels(brushModel.brushTargetManager.makePanelOpts(api)).enableBrush(brushModel.brushOption).updateCovers(brushModel.areas.slice())}registerAction({type:'brush',event:'brush'},function(payload,ecModel){ecModel.eachComponent({mainType:'brush',query:payload},function(brushModel){brushModel.setAreas(payload.areas)})});registerAction({type:'brushSelect',event:'brushSelected',update:'none'},function(){});registerAction({type:'brushEnd',event:'brushEnd',update:'none'},function(){});var brushLang=lang.toolbox.brush;function Brush(model,ecModel,api){this.model=model;this.ecModel=ecModel;this.api=api;this._brushType;this._brushMode}Brush.defaultOption={show:true,type:['rect','polygon','lineX','lineY','keep','clear'],icon:{rect:'M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13',polygon:'M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2',lineX:'M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4',lineY:'M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4',keep:'M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z',clear:'M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2'},title:clone(brushLang.title)};var proto$7=Brush.prototype;proto$7.render=proto$7.updateView=function(featureModel,ecModel,api){var brushType;var brushMode;var isBrushed;ecModel.eachComponent({mainType:'brush'},function(brushModel){brushType=brushModel.brushType;brushMode=brushModel.brushOption.brushMode||'single';isBrushed|=brushModel.areas.length});this._brushType=brushType;this._brushMode=brushMode;each$1(featureModel.get('type',true),function(type){featureModel.setIconStatus(type,(type==='keep'?brushMode==='multiple':type==='clear'?isBrushed:type===brushType)?'emphasis':'normal')})};proto$7.getIcons=function(){var model=this.model;var availableIcons=model.get('icon',true);var icons={};each$1(model.get('type',true),function(type){if(availableIcons[type]){icons[type]=availableIcons[type]}});return icons};proto$7.onclick=function(ecModel,api,type){var brushType=this._brushType;var brushMode=this._brushMode;if(type==='clear'){api.dispatchAction({type:'axisAreaSelect',intervals:[]});api.dispatchAction({type:'brush',command:'clear',areas:[]})}else{api.dispatchAction({type:'takeGlobalCursor',key:'brush',brushOption:{brushType:type==='keep'?brushType:(brushType===type?false:type),brushMode:type==='keep'?(brushMode==='multiple'?'single':'multiple'):brushMode}})}};register$1('brush',Brush);registerPreprocessor(preprocessor$1);extendComponentModel({type:'title',layoutMode:{type:'box',ignoreSize:true},defaultOption:{zlevel:0,z:6,show:true,text:'',target:'blank',subtext:'',subtarget:'blank',left:0,top:0,backgroundColor:'rgba(0,0,0,0)',borderColor:'#ccc',borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:'bolder',color:'#333'},subtextStyle:{color:'#aaa'}}});extendComponentView({type:'title',render:function(titleModel,ecModel,api){this.group.removeAll();if(!titleModel.get('show')){return}var group=this.group;var textStyleModel=titleModel.getModel('textStyle');var subtextStyleModel=titleModel.getModel('subtextStyle');var textAlign=titleModel.get('textAlign');var textVerticalAlign=retrieve2(titleModel.get('textBaseline'),titleModel.get('textVerticalAlign'));var textEl=new Text({style:setTextStyle({},textStyleModel,{text:titleModel.get('text'),textFill:textStyleModel.getTextColor()},{disableBox:true}),z2:10});var textRect=textEl.getBoundingRect();var subText=titleModel.get('subtext');var subTextEl=new Text({style:setTextStyle({},subtextStyleModel,{text:subText,textFill:subtextStyleModel.getTextColor(),y:textRect.height+titleModel.get('itemGap'),textVerticalAlign:'top'},{disableBox:true}),z2:10});var link=titleModel.get('link');var sublink=titleModel.get('sublink');var triggerEvent=titleModel.get('triggerEvent',true);textEl.silent=!link&&!triggerEvent;subTextEl.silent=!sublink&&!triggerEvent;if(link){textEl.on('click',function(){windowOpen(link,'_'+titleModel.get('target'))})}if(sublink){subTextEl.on('click',function(){windowOpen(link,'_'+titleModel.get('subtarget'))})}textEl.eventData=subTextEl.eventData=triggerEvent?{componentType:'title',componentIndex:titleModel.componentIndex}:null;group.add(textEl);subText&&group.add(subTextEl);var groupRect=group.getBoundingRect();var layoutOption=titleModel.getBoxLayoutParams();layoutOption.width=groupRect.width;layoutOption.height=groupRect.height;var layoutRect=getLayoutRect(layoutOption,{width:api.getWidth(),height:api.getHeight()},titleModel.get('padding'));if(!textAlign){textAlign=titleModel.get('left')||titleModel.get('right');if(textAlign==='middle'){textAlign='center'}if(textAlign==='right'){layoutRect.x+=layoutRect.width}else if(textAlign==='center'){layoutRect.x+=layoutRect.width/2}}if(!textVerticalAlign){textVerticalAlign=titleModel.get('top')||titleModel.get('bottom');if(textVerticalAlign==='center'){textVerticalAlign='middle'}if(textVerticalAlign==='bottom'){layoutRect.y+=layoutRect.height}else if(textVerticalAlign==='middle'){layoutRect.y+=layoutRect.height/2}textVerticalAlign=textVerticalAlign||'top'}group.attr('position',[layoutRect.x,layoutRect.y]);var alignStyle={textAlign:textAlign,textVerticalAlign:textVerticalAlign};textEl.setStyle(alignStyle);subTextEl.setStyle(alignStyle);groupRect=group.getBoundingRect();var padding=layoutRect.margin;var style=titleModel.getItemStyle(['color','opacity']);style.fill=titleModel.get('backgroundColor');var rect=new Rect({shape:{x:groupRect.x-padding[3],y:groupRect.y-padding[0],width:groupRect.width+padding[1]+padding[3],height:groupRect.height+padding[0]+padding[2],r:titleModel.get('borderRadius')},style:style,subPixelOptimize:true,silent:true});group.add(rect)}});var preprocessor$2=function(option){var timelineOpt=option&&option.timeline;if(!isArray(timelineOpt)){timelineOpt=timelineOpt?[timelineOpt]:[]}each$1(timelineOpt,function(opt){if(!opt){return}compatibleEC2(opt)})};function compatibleEC2(opt){var type=opt.type;var ec2Types={'number':'value','time':'time'};if(ec2Types[type]){opt.axisType=ec2Types[type];delete opt.type}transferItem(opt);if(has$1(opt,'controlPosition')){var controlStyle=opt.controlStyle||(opt.controlStyle={});if(!has$1(controlStyle,'position')){controlStyle.position=opt.controlPosition}if(controlStyle.position==='none'&&!has$1(controlStyle,'show')){controlStyle.show=false;delete controlStyle.position}delete opt.controlPosition}each$1(opt.data||[],function(dataItem){if(isObject$1(dataItem)&&!isArray(dataItem)){if(!has$1(dataItem,'value')&&has$1(dataItem,'name')){dataItem.value=dataItem.name}transferItem(dataItem)}})}function transferItem(opt){var itemStyle=opt.itemStyle||(opt.itemStyle={});var itemStyleEmphasis=itemStyle.emphasis||(itemStyle.emphasis={});var label=opt.label||(opt.label||{});var labelNormal=label.normal||(label.normal={});var excludeLabelAttr={normal:1,emphasis:1};each$1(label,function(value,name){if(!excludeLabelAttr[name]&&!has$1(labelNormal,name)){labelNormal[name]=value}});if(itemStyleEmphasis.label&&!has$1(label,'emphasis')){label.emphasis=itemStyleEmphasis.label;delete itemStyleEmphasis.label}}function has$1(obj,attr){return obj.hasOwnProperty(attr)}ComponentModel.registerSubTypeDefaulter('timeline',function(){return'slider'});registerAction({type:'timelineChange',event:'timelineChanged',update:'prepareAndUpdate'},function(payload,ecModel){var timelineModel=ecModel.getComponent('timeline');if(timelineModel&&payload.currentIndex!=null){timelineModel.setCurrentIndex(payload.currentIndex);if(!timelineModel.get('loop',true)&&timelineModel.isIndexMax()){timelineModel.setPlayState(false)}}ecModel.resetOption('timeline');return defaults({currentIndex:timelineModel.option.currentIndex},payload)});registerAction({type:'timelinePlayChange',event:'timelinePlayChanged',update:'update'},function(payload,ecModel){var timelineModel=ecModel.getComponent('timeline');if(timelineModel&&payload.playState!=null){timelineModel.setPlayState(payload.playState)}});var TimelineModel=ComponentModel.extend({type:'timeline',layoutMode:'box',defaultOption:{zlevel:0,z:4,show:true,axisType:'time',realtime:true,left:'20%',top:null,right:'20%',bottom:0,width:null,height:40,padding:5,controlPosition:'left',autoPlay:false,rewind:false,loop:true,playInterval:2000,currentIndex:0,itemStyle:{},label:{color:'#000'},data:[]},init:function(option,parentModel,ecModel){this._data;this._names;this.mergeDefaultAndTheme(option,ecModel);this._initData()},mergeOption:function(option){TimelineModel.superApply(this,'mergeOption',arguments);this._initData()},setCurrentIndex:function(currentIndex){if(currentIndex==null){currentIndex=this.option.currentIndex}var count=this._data.count();if(this.option.loop){currentIndex=(currentIndex%count+count)%count}else{currentIndex>=count&&(currentIndex=count-1);currentIndex<0&&(currentIndex=0)}this.option.currentIndex=currentIndex},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(state){this.option.autoPlay=!!state},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var thisOption=this.option;var dataArr=thisOption.data||[];var axisType=thisOption.axisType;var names=this._names=[];if(axisType==='category'){var idxArr=[];each$1(dataArr,function(item,index){var value=getDataItemValue(item);var newItem;if(isObject$1(item)){newItem=clone(item);newItem.value=index}else{newItem=index}idxArr.push(newItem);if(!isString(value)&&(value==null||isNaN(value))){value=''}names.push(value+'')});dataArr=idxArr}var dimType=({category:'ordinal',time:'time'})[axisType]||'number';var data=this._data=new List([{name:'value',type:dimType}],this);data.initData(dataArr,names)},getData:function(){return this._data},getCategories:function(){if(this.get('axisType')==='category'){return this._names.slice()}}});var SliderTimelineModel=TimelineModel.extend({type:'timeline.slider',defaultOption:{backgroundColor:'rgba(0,0,0,0)',borderColor:'#ccc',borderWidth:0,orient:'horizontal',inverse:false,tooltip:{trigger:'item'},symbol:'emptyCircle',symbolSize:10,lineStyle:{show:true,width:2,color:'#304654'},label:{position:'auto',show:true,interval:'auto',rotate:0,color:'#304654'},itemStyle:{color:'#304654',borderWidth:1},checkpointStyle:{symbol:'circle',symbolSize:13,color:'#c23531',borderWidth:5,borderColor:'rgba(194,53,49, 0.5)',animation:true,animationDuration:300,animationEasing:'quinticInOut'},controlStyle:{show:true,showPlayBtn:true,showPrevBtn:true,showNextBtn:true,itemSize:22,itemGap:12,position:'left',playIcon:'path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z',stopIcon:'path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z',nextIcon:'path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z',prevIcon:'path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z',color:'#304654',borderColor:'#304654',borderWidth:1},emphasis:{label:{show:true,color:'#c23531'},itemStyle:{color:'#c23531'},controlStyle:{color:'#c23531',borderColor:'#c23531',borderWidth:2}},data:[]}});mixin(SliderTimelineModel,dataFormatMixin);var TimelineView=Component$1.extend({type:'timeline'});var TimelineAxis=function(dim,scale,coordExtent,axisType){Axis.call(this,dim,scale,coordExtent);this.type=axisType||'value';this.model=null};TimelineAxis.prototype={constructor:TimelineAxis,getLabelModel:function(){return this.model.getModel('label')},isHorizontal:function(){return this.model.get('orient')==='horizontal'}};inherits(TimelineAxis,Axis);var bind$4=bind;var each$24=each$1;var PI$5=Math.PI;TimelineView.extend({type:'timeline.slider',init:function(ecModel,api){this.api=api;this._axis;this._viewRect;this._timer;this._currentPointer;this._mainGroup;this._labelGroup},render:function(timelineModel,ecModel,api,payload){this.model=timelineModel;this.api=api;this.ecModel=ecModel;this.group.removeAll();if(timelineModel.get('show',true)){var layoutInfo=this._layout(timelineModel,api);var mainGroup=this._createGroup('mainGroup');var labelGroup=this._createGroup('labelGroup');var axis=this._axis=this._createAxis(layoutInfo,timelineModel);timelineModel.formatTooltip=function(dataIndex){return encodeHTML(axis.scale.getLabel(dataIndex))};each$24(['AxisLine','AxisTick','Control','CurrentPointer'],function(name){this['_render'+name](layoutInfo,mainGroup,axis,timelineModel)},this);this._renderAxisLabel(layoutInfo,labelGroup,axis,timelineModel);this._position(layoutInfo,timelineModel)}this._doPlayStop()},remove:function(){this._clearTimer();this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(timelineModel,api){var labelPosOpt=timelineModel.get('label.position');var orient=timelineModel.get('orient');var viewRect=getViewRect$5(timelineModel,api);if(labelPosOpt==null||labelPosOpt==='auto'){labelPosOpt=orient==='horizontal'?((viewRect.y+viewRect.height/2)=0||labelPosOpt==='+')?'left':'right'};var labelBaselineMap={horizontal:(labelPosOpt>=0||labelPosOpt==='+')?'top':'bottom',vertical:'middle'};var rotationMap={horizontal:0,vertical:PI$5/2};var mainLength=orient==='vertical'?viewRect.height:viewRect.width;var controlModel=timelineModel.getModel('controlStyle');var showControl=controlModel.get('show',true);var controlSize=showControl?controlModel.get('itemSize'):0;var controlGap=showControl?controlModel.get('itemGap'):0;var sizePlusGap=controlSize+controlGap;var labelRotation=timelineModel.get('label.rotate')||0;labelRotation=labelRotation*PI$5/180;var playPosition;var prevBtnPosition;var nextBtnPosition;var axisExtent;var controlPosition=controlModel.get('position',true);var showPlayBtn=showControl&&controlModel.get('showPlayBtn',true);var showPrevBtn=showControl&&controlModel.get('showPrevBtn',true);var showNextBtn=showControl&&controlModel.get('showNextBtn',true);var xLeft=0;var xRight=mainLength;if(controlPosition==='left'||controlPosition==='bottom'){showPlayBtn&&(playPosition=[0,0],xLeft+=sizePlusGap);showPrevBtn&&(prevBtnPosition=[xLeft,0],xLeft+=sizePlusGap);showNextBtn&&(nextBtnPosition=[xRight-controlSize,0],xRight-=sizePlusGap)}else{showPlayBtn&&(playPosition=[xRight-controlSize,0],xRight-=sizePlusGap);showPrevBtn&&(prevBtnPosition=[0,0],xLeft+=sizePlusGap);showNextBtn&&(nextBtnPosition=[xRight-controlSize,0],xRight-=sizePlusGap)}axisExtent=[xLeft,xRight];if(timelineModel.get('inverse')){axisExtent.reverse()}return{viewRect:viewRect,mainLength:mainLength,orient:orient,rotation:rotationMap[orient],labelRotation:labelRotation,labelPosOpt:labelPosOpt,labelAlign:timelineModel.get('label.align')||labelAlignMap[orient],labelBaseline:timelineModel.get('label.verticalAlign')||timelineModel.get('label.baseline')||labelBaselineMap[orient],playPosition:playPosition,prevBtnPosition:prevBtnPosition,nextBtnPosition:nextBtnPosition,axisExtent:axisExtent,controlSize:controlSize,controlGap:controlGap}},_position:function(layoutInfo,timelineModel){var mainGroup=this._mainGroup;var labelGroup=this._labelGroup;var viewRect=layoutInfo.viewRect;if(layoutInfo.orient==='vertical'){var m=create$1();var rotateOriginX=viewRect.x;var rotateOriginY=viewRect.y+viewRect.height;translate(m,m,[-rotateOriginX,-rotateOriginY]);rotate(m,m,-PI$5/2);translate(m,m,[rotateOriginX,rotateOriginY]);viewRect=viewRect.clone();viewRect.applyTransform(m)}var viewBound=getBound(viewRect);var mainBound=getBound(mainGroup.getBoundingRect());var labelBound=getBound(labelGroup.getBoundingRect());var mainPosition=mainGroup.position;var labelsPosition=labelGroup.position;labelsPosition[0]=mainPosition[0]=viewBound[0][0];var labelPosOpt=layoutInfo.labelPosOpt;if(isNaN(labelPosOpt)){var mainBoundIdx=labelPosOpt==='+'?0:1;toBound(mainPosition,mainBound,viewBound,1,mainBoundIdx);toBound(labelsPosition,labelBound,viewBound,1,1-mainBoundIdx)}else{var mainBoundIdx=labelPosOpt>=0?0:1;toBound(mainPosition,mainBound,viewBound,1,mainBoundIdx);labelsPosition[1]=mainPosition[1]+labelPosOpt}mainGroup.attr('position',mainPosition);labelGroup.attr('position',labelsPosition);mainGroup.rotation=labelGroup.rotation=layoutInfo.rotation;setOrigin(mainGroup);setOrigin(labelGroup);function setOrigin(targetGroup){var pos=targetGroup.position;targetGroup.origin=[viewBound[0][0]-pos[0],viewBound[1][0]-pos[1]]}function getBound(rect){return[[rect.x,rect.x+rect.width],[rect.y,rect.y+rect.height]]}function toBound(fromPos,from,to,dimIdx,boundIdx){fromPos[dimIdx]+=to[dimIdx][boundIdx]-from[dimIdx][boundIdx]}},_createAxis:function(layoutInfo,timelineModel){var data=timelineModel.getData();var axisType=timelineModel.get('axisType');var scale=createScaleByModel(timelineModel,axisType);scale.getTicks=function(){return data.mapArray(['value'],function(value){return value})};var dataExtent=data.getDataExtent('value');scale.setExtent(dataExtent[0],dataExtent[1]);scale.niceTicks();var axis=new TimelineAxis('value',scale,layoutInfo.axisExtent,axisType);axis.model=timelineModel;return axis},_createGroup:function(name){var newGroup=this['_'+name]=new Group();this.group.add(newGroup);return newGroup},_renderAxisLine:function(layoutInfo,group,axis,timelineModel){var axisExtent=axis.getExtent();if(!timelineModel.get('lineStyle.show')){return}group.add(new Line({shape:{x1:axisExtent[0],y1:0,x2:axisExtent[1],y2:0},style:extend({lineCap:'round'},timelineModel.getModel('lineStyle').getLineStyle()),silent:true,z2:1}))},_renderAxisTick:function(layoutInfo,group,axis,timelineModel){var data=timelineModel.getData();var ticks=axis.scale.getTicks();each$24(ticks,function(value){var tickCoord=axis.dataToCoord(value);var itemModel=data.getItemModel(value);var itemStyleModel=itemModel.getModel('itemStyle');var hoverStyleModel=itemModel.getModel('emphasis.itemStyle');var symbolOpt={position:[tickCoord,0],onclick:bind$4(this._changeTimeline,this,value)};var el=giveSymbol(itemModel,itemStyleModel,group,symbolOpt);setHoverStyle(el,hoverStyleModel.getItemStyle());if(itemModel.get('tooltip')){el.dataIndex=value;el.dataModel=timelineModel}else{el.dataIndex=el.dataModel=null}},this)},_renderAxisLabel:function(layoutInfo,group,axis,timelineModel){var labelModel=axis.getLabelModel();if(!labelModel.get('show')){return}var data=timelineModel.getData();var labels=axis.getViewLabels();each$24(labels,function(labelItem){var dataIndex=labelItem.tickValue;var itemModel=data.getItemModel(dataIndex);var normalLabelModel=itemModel.getModel('label');var hoverLabelModel=itemModel.getModel('emphasis.label');var tickCoord=axis.dataToCoord(labelItem.tickValue);var textEl=new Text({position:[tickCoord,0],rotation:layoutInfo.labelRotation-layoutInfo.rotation,onclick:bind$4(this._changeTimeline,this,dataIndex),silent:false});setTextStyle(textEl.style,normalLabelModel,{text:labelItem.formattedLabel,textAlign:layoutInfo.labelAlign,textVerticalAlign:layoutInfo.labelBaseline});group.add(textEl);setHoverStyle(textEl,setTextStyle({},hoverLabelModel))},this)},_renderControl:function(layoutInfo,group,axis,timelineModel){var controlSize=layoutInfo.controlSize;var rotation=layoutInfo.rotation;var itemStyle=timelineModel.getModel('controlStyle').getItemStyle();var hoverStyle=timelineModel.getModel('emphasis.controlStyle').getItemStyle();var rect=[0,-controlSize/2,controlSize,controlSize];var playState=timelineModel.getPlayState();var inverse=timelineModel.get('inverse',true);makeBtn(layoutInfo.nextBtnPosition,'controlStyle.nextIcon',bind$4(this._changeTimeline,this,inverse?'-':'+'));makeBtn(layoutInfo.prevBtnPosition,'controlStyle.prevIcon',bind$4(this._changeTimeline,this,inverse?'+':'-'));makeBtn(layoutInfo.playPosition,'controlStyle.'+(playState?'stopIcon':'playIcon'),bind$4(this._handlePlayClick,this,!playState),true);function makeBtn(position,iconPath,onclick,willRotate){if(!position){return}var opt={position:position,origin:[controlSize/2,0],rotation:willRotate?-rotation:0,rectHover:true,style:itemStyle,onclick:onclick};var btn=makeIcon(timelineModel,iconPath,rect,opt);group.add(btn);setHoverStyle(btn,hoverStyle)}},_renderCurrentPointer:function(layoutInfo,group,axis,timelineModel){var data=timelineModel.getData();var currentIndex=timelineModel.getCurrentIndex();var pointerModel=data.getItemModel(currentIndex).getModel('checkpointStyle');var me=this;var callback={onCreate:function(pointer){pointer.draggable=true;pointer.drift=bind$4(me._handlePointerDrag,me);pointer.ondragend=bind$4(me._handlePointerDragend,me);pointerMoveTo(pointer,currentIndex,axis,timelineModel,true)},onUpdate:function(pointer){pointerMoveTo(pointer,currentIndex,axis,timelineModel)}};this._currentPointer=giveSymbol(pointerModel,pointerModel,this._mainGroup,{},this._currentPointer,callback)},_handlePlayClick:function(nextState){this._clearTimer();this.api.dispatchAction({type:'timelinePlayChange',playState:nextState,from:this.uid})},_handlePointerDrag:function(dx,dy,e){this._clearTimer();this._pointerChangeTimeline([e.offsetX,e.offsetY])},_handlePointerDragend:function(e){this._pointerChangeTimeline([e.offsetX,e.offsetY],true)},_pointerChangeTimeline:function(mousePos,trigger){var toCoord=this._toAxisCoord(mousePos)[0];var axis=this._axis;var axisExtent=asc(axis.getExtent().slice());toCoord>axisExtent[1]&&(toCoord=axisExtent[1]);toCoord'}if(name){html+=encodeHTML$1(name);if(value!=null){html+=' : '}}if(value!=null){html+=encodeHTML$1(formattedValue)}return html},getData:function(){return this._data},setData:function(data){this._data=data}});mixin(MarkerModel,dataFormatMixin);MarkerModel.extend({type:'markPoint',defaultOption:{zlevel:0,z:5,symbol:'pin',symbolSize:50,tooltip:{trigger:'item'},label:{show:true,position:'inside'},itemStyle:{borderWidth:2},emphasis:{label:{show:true}}}});var indexOf$2=indexOf;function hasXOrY(item){return!(isNaN(parseFloat(item.x))&&isNaN(parseFloat(item.y)))}function hasXAndY(item){return!isNaN(parseFloat(item.x))&&!isNaN(parseFloat(item.y))}function markerTypeCalculatorWithExtent(mlType,data,otherDataDim,targetDataDim,otherCoordIndex,targetCoordIndex){var coordArr=[];var stacked=isDimensionStacked(data,targetDataDim);var calcDataDim=stacked?data.getCalculationInfo('stackResultDimension'):targetDataDim;var value=numCalculate(data,calcDataDim,mlType);var dataIndex=data.indicesOfNearest(calcDataDim,value)[0];coordArr[otherCoordIndex]=data.get(otherDataDim,dataIndex);coordArr[targetCoordIndex]=data.get(calcDataDim,dataIndex);var coordArrValue=data.get(targetDataDim,dataIndex);var precision=getPrecision(data.get(targetDataDim,dataIndex));precision=Math.min(precision,20);if(precision>=0){coordArr[targetCoordIndex]=+coordArr[targetCoordIndex].toFixed(precision)}return[coordArr,coordArrValue]}var curry$5=curry;var markerTypeCalculator={min:curry$5(markerTypeCalculatorWithExtent,'min'),max:curry$5(markerTypeCalculatorWithExtent,'max'),average:curry$5(markerTypeCalculatorWithExtent,'average')};function dataTransform(seriesModel,item){var data=seriesModel.getData();var coordSys=seriesModel.coordinateSystem;if(item&&!hasXAndY(item)&&!isArray(item.coord)&&coordSys){var dims=coordSys.dimensions;var axisInfo=getAxisInfo$1(item,data,coordSys,seriesModel);item=clone(item);if(item.type&&markerTypeCalculator[item.type]&&axisInfo.baseAxis&&axisInfo.valueAxis){var otherCoordIndex=indexOf$2(dims,axisInfo.baseAxis.dim);var targetCoordIndex=indexOf$2(dims,axisInfo.valueAxis.dim);var coordInfo=markerTypeCalculator[item.type](data,axisInfo.baseDataDim,axisInfo.valueDataDim,otherCoordIndex,targetCoordIndex);item.coord=coordInfo[0];item.value=coordInfo[1]}else{var coord=[item.xAxis!=null?item.xAxis:item.radiusAxis,item.yAxis!=null?item.yAxis:item.angleAxis];for(var i=0;i<2;i++){if(markerTypeCalculator[coord[i]]){coord[i]=numCalculate(data,data.mapDimension(dims[i]),coord[i])}}item.coord=coord}}return item}function getAxisInfo$1(item,data,coordSys,seriesModel){var ret={};if(item.valueIndex!=null||item.valueDim!=null){ret.valueDataDim=item.valueIndex!=null?data.getDimension(item.valueIndex):item.valueDim;ret.valueAxis=coordSys.getAxis(dataDimToCoordDim(seriesModel,ret.valueDataDim));ret.baseAxis=coordSys.getOtherAxis(ret.valueAxis);ret.baseDataDim=data.mapDimension(ret.baseAxis.dim)}else{ret.baseAxis=seriesModel.getBaseAxis();ret.valueAxis=coordSys.getOtherAxis(ret.baseAxis);ret.baseDataDim=data.mapDimension(ret.baseAxis.dim);ret.valueDataDim=data.mapDimension(ret.valueAxis.dim)}return ret}function dataDimToCoordDim(seriesModel,dataDim){var data=seriesModel.getData();var dimensions=data.dimensions;dataDim=data.getDimension(dataDim);for(var i=0;i=0&&typeof value==='number'){value=+value.toFixed(Math.min(precision,20))}mlFrom.coord[valueIndex]=mlTo.coord[valueIndex]=value;item=[mlFrom,mlTo,{type:mlType,valueIndex:item.valueIndex,value:value}]}item=[dataTransform(seriesModel,item[0]),dataTransform(seriesModel,item[1]),extend({},item[2])];item[2].type=item[2].type||'';merge(item[2],item[0]);merge(item[2],item[1]);return item};function isInifinity(val){return!isNaN(val)&&!isFinite(val)}function ifMarkLineHasOnlyDim(dimIndex,fromCoord,toCoord,coordSys){var otherDimIndex=1-dimIndex;var dimName=coordSys.dimensions[dimIndex];return isInifinity(fromCoord[otherDimIndex])&&isInifinity(toCoord[otherDimIndex])&&fromCoord[dimIndex]===toCoord[dimIndex]&&coordSys.getAxis(dimName).containData(fromCoord[dimIndex])}function markLineFilter(coordSys,item){if(coordSys.type==='cartesian2d'){var fromCoord=item[0].coord;var toCoord=item[1].coord;if(fromCoord&&toCoord&&(ifMarkLineHasOnlyDim(1,fromCoord,toCoord,coordSys)||ifMarkLineHasOnlyDim(0,fromCoord,toCoord,coordSys))){return true}}return dataFilter$1(coordSys,item[0])&&dataFilter$1(coordSys,item[1])}function updateSingleMarkerEndLayout(data,idx,isFrom,seriesModel,api){var coordSys=seriesModel.coordinateSystem;var itemModel=data.getItemModel(idx);var point;var xPx=parsePercent$1(itemModel.get('x'),api.getWidth());var yPx=parsePercent$1(itemModel.get('y'),api.getHeight());if(!isNaN(xPx)&&!isNaN(yPx)){point=[xPx,yPx]}else{if(seriesModel.getMarkerPosition){point=seriesModel.getMarkerPosition(data.getValues(data.dimensions,idx))}else{var dims=coordSys.dimensions;var x=data.get(dims[0],idx);var y=data.get(dims[1],idx);point=coordSys.dataToPoint([x,y])}if(coordSys.type==='cartesian2d'){var xAxis=coordSys.getAxis('x');var yAxis=coordSys.getAxis('y');var dims=coordSys.dimensions;if(isInifinity(data.get(dims[0],idx))){point[0]=xAxis.toGlobalCoord(xAxis.getExtent()[isFrom?0:1])}else if(isInifinity(data.get(dims[1],idx))){point[1]=yAxis.toGlobalCoord(yAxis.getExtent()[isFrom?0:1])}}if(!isNaN(xPx)){point[0]=xPx}if(!isNaN(yPx)){point[1]=yPx}}data.setItemLayout(idx,point)}MarkerView.extend({type:'markLine',updateTransform:function(markLineModel,ecModel,api){ecModel.eachSeries(function(seriesModel){var mlModel=seriesModel.markLineModel;if(mlModel){var mlData=mlModel.getData();var fromData=mlModel.__from;var toData=mlModel.__to;fromData.each(function(idx){updateSingleMarkerEndLayout(fromData,idx,true,seriesModel,api);updateSingleMarkerEndLayout(toData,idx,false,seriesModel,api)});mlData.each(function(idx){mlData.setItemLayout(idx,[fromData.getItemLayout(idx),toData.getItemLayout(idx)])});this.markerGroupMap.get(seriesModel.id).updateLayout()}},this)},renderSeries:function(seriesModel,mlModel,ecModel,api){var coordSys=seriesModel.coordinateSystem;var seriesId=seriesModel.id;var seriesData=seriesModel.getData();var lineDrawMap=this.markerGroupMap;var lineDraw=lineDrawMap.get(seriesId)||lineDrawMap.set(seriesId,new LineDraw());this.group.add(lineDraw.group);var mlData=createList$2(coordSys,seriesModel,mlModel);var fromData=mlData.from;var toData=mlData.to;var lineData=mlData.line;mlModel.__from=fromData;mlModel.__to=toData;mlModel.setData(lineData);var symbolType=mlModel.get('symbol');var symbolSize=mlModel.get('symbolSize');if(!isArray(symbolType)){symbolType=[symbolType,symbolType]}if(typeof symbolSize==='number'){symbolSize=[symbolSize,symbolSize]}mlData.from.each(function(idx){updateDataVisualAndLayout(fromData,idx,true);updateDataVisualAndLayout(toData,idx,false)});lineData.each(function(idx){var lineColor=lineData.getItemModel(idx).get('lineStyle.color');lineData.setItemVisual(idx,{color:lineColor||fromData.getItemVisual(idx,'color')});lineData.setItemLayout(idx,[fromData.getItemLayout(idx),toData.getItemLayout(idx)]);lineData.setItemVisual(idx,{'fromSymbolSize':fromData.getItemVisual(idx,'symbolSize'),'fromSymbol':fromData.getItemVisual(idx,'symbol'),'toSymbolSize':toData.getItemVisual(idx,'symbolSize'),'toSymbol':toData.getItemVisual(idx,'symbol')})});lineDraw.updateData(lineData);mlData.line.eachItemGraphicEl(function(el,idx){el.traverse(function(child){child.dataModel=mlModel})});function updateDataVisualAndLayout(data,idx,isFrom){var itemModel=data.getItemModel(idx);updateSingleMarkerEndLayout(data,idx,isFrom,seriesModel,api);data.setItemVisual(idx,{symbolSize:itemModel.get('symbolSize')||symbolSize[isFrom?0:1],symbol:itemModel.get('symbol',true)||symbolType[isFrom?0:1],color:itemModel.get('itemStyle.color')||seriesData.getVisual('color')})}lineDraw.__keep=true;lineDraw.group.silent=mlModel.get('silent')||seriesModel.get('silent')}});function createList$2(coordSys,seriesModel,mlModel){var coordDimsInfos;if(coordSys){coordDimsInfos=map(coordSys&&coordSys.dimensions,function(coordDim){var info=seriesModel.getData().getDimensionInfo(seriesModel.getData().mapDimension(coordDim))||{};return defaults({name:coordDim},info)})}else{coordDimsInfos=[{name:'value',type:'float'}]}var fromData=new List(coordDimsInfos,mlModel);var toData=new List(coordDimsInfos,mlModel);var lineData=new List([],mlModel);var optData=map(mlModel.get('data'),curry(markLineTransform,seriesModel,coordSys,mlModel));if(coordSys){optData=filter(optData,curry(markLineFilter,coordSys))}var dimValueGetter$$1=coordSys?dimValueGetter:function(item){return item.value};fromData.initData(map(optData,function(item){return item[0]}),null,dimValueGetter$$1);toData.initData(map(optData,function(item){return item[1]}),null,dimValueGetter$$1);lineData.initData(map(optData,function(item){return item[2]}));lineData.hasItemOption=true;return{from:fromData,to:toData,line:lineData}}registerPreprocessor(function(opt){opt.markLine=opt.markLine||{}});MarkerModel.extend({type:'markArea',defaultOption:{zlevel:0,z:1,tooltip:{trigger:'item'},animation:false,label:{show:true,position:'top'},itemStyle:{borderWidth:0},emphasis:{label:{show:true,position:'top'}}}});var markAreaTransform=function(seriesModel,coordSys,maModel,item){var lt=dataTransform(seriesModel,item[0]);var rb=dataTransform(seriesModel,item[1]);var retrieve$$1=retrieve;var ltCoord=lt.coord;var rbCoord=rb.coord;ltCoord[0]=retrieve$$1(ltCoord[0],-Infinity);ltCoord[1]=retrieve$$1(ltCoord[1],-Infinity);rbCoord[0]=retrieve$$1(rbCoord[0],Infinity);rbCoord[1]=retrieve$$1(rbCoord[1],Infinity);var result=mergeAll([{},lt,rb]);result.coord=[lt.coord,rb.coord];result.x0=lt.x;result.y0=lt.y;result.x1=rb.x;result.y1=rb.y;return result};function isInifinity$1(val){return!isNaN(val)&&!isFinite(val)}function ifMarkLineHasOnlyDim$1(dimIndex,fromCoord,toCoord,coordSys){var otherDimIndex=1-dimIndex;return isInifinity$1(fromCoord[otherDimIndex])&&isInifinity$1(toCoord[otherDimIndex])}function markAreaFilter(coordSys,item){var fromCoord=item.coord[0];var toCoord=item.coord[1];if(coordSys.type==='cartesian2d'){if(fromCoord&&toCoord&&(ifMarkLineHasOnlyDim$1(1,fromCoord,toCoord,coordSys)||ifMarkLineHasOnlyDim$1(0,fromCoord,toCoord,coordSys))){return true}}return dataFilter$1(coordSys,{coord:fromCoord,x:item.x0,y:item.y0})||dataFilter$1(coordSys,{coord:toCoord,x:item.x1,y:item.y1})}function getSingleMarkerEndPoint(data,idx,dims,seriesModel,api){var coordSys=seriesModel.coordinateSystem;var itemModel=data.getItemModel(idx);var point;var xPx=parsePercent$1(itemModel.get(dims[0]),api.getWidth());var yPx=parsePercent$1(itemModel.get(dims[1]),api.getHeight());if(!isNaN(xPx)&&!isNaN(yPx)){point=[xPx,yPx]}else{if(seriesModel.getMarkerPosition){point=seriesModel.getMarkerPosition(data.getValues(dims,idx))}else{var x=data.get(dims[0],idx);var y=data.get(dims[1],idx);var pt=[x,y];coordSys.clampData&&coordSys.clampData(pt,pt);point=coordSys.dataToPoint(pt,true)}if(coordSys.type==='cartesian2d'){var xAxis=coordSys.getAxis('x');var yAxis=coordSys.getAxis('y');var x=data.get(dims[0],idx);var y=data.get(dims[1],idx);if(isInifinity$1(x)){point[0]=xAxis.toGlobalCoord(xAxis.getExtent()[dims[0]==='x0'?0:1])}else if(isInifinity$1(y)){point[1]=yAxis.toGlobalCoord(yAxis.getExtent()[dims[1]==='y0'?0:1])}}if(!isNaN(xPx)){point[0]=xPx}if(!isNaN(yPx)){point[1]=yPx}}return point}var dimPermutations=[['x0','y0'],['x1','y0'],['x1','y1'],['x0','y1']];MarkerView.extend({type:'markArea',updateTransform:function(markAreaModel,ecModel,api){ecModel.eachSeries(function(seriesModel){var maModel=seriesModel.markAreaModel;if(maModel){var areaData=maModel.getData();areaData.each(function(idx){var points=map(dimPermutations,function(dim){return getSingleMarkerEndPoint(areaData,idx,dim,seriesModel,api)});areaData.setItemLayout(idx,points);var el=areaData.getItemGraphicEl(idx);el.setShape('points',points)})}},this)},renderSeries:function(seriesModel,maModel,ecModel,api){var coordSys=seriesModel.coordinateSystem;var seriesId=seriesModel.id;var seriesData=seriesModel.getData();var areaGroupMap=this.markerGroupMap;var polygonGroup=areaGroupMap.get(seriesId)||areaGroupMap.set(seriesId,{group:new Group()});this.group.add(polygonGroup.group);polygonGroup.__keep=true;var areaData=createList$3(coordSys,seriesModel,maModel);maModel.setData(areaData);areaData.each(function(idx){areaData.setItemLayout(idx,map(dimPermutations,function(dim){return getSingleMarkerEndPoint(areaData,idx,dim,seriesModel,api)}));areaData.setItemVisual(idx,{color:seriesData.getVisual('color')})});areaData.diff(polygonGroup.__data).add(function(idx){var polygon=new Polygon({shape:{points:areaData.getItemLayout(idx)}});areaData.setItemGraphicEl(idx,polygon);polygonGroup.group.add(polygon)}).update(function(newIdx,oldIdx){var polygon=polygonGroup.__data.getItemGraphicEl(oldIdx);updateProps(polygon,{shape:{points:areaData.getItemLayout(newIdx)}},maModel,newIdx);polygonGroup.group.add(polygon);areaData.setItemGraphicEl(newIdx,polygon)}).remove(function(idx){var polygon=polygonGroup.__data.getItemGraphicEl(idx);polygonGroup.group.remove(polygon)}).execute();areaData.eachItemGraphicEl(function(polygon,idx){var itemModel=areaData.getItemModel(idx);var labelModel=itemModel.getModel('label');var labelHoverModel=itemModel.getModel('emphasis.label');var color=areaData.getItemVisual(idx,'color');polygon.useStyle(defaults(itemModel.getModel('itemStyle').getItemStyle(),{fill:modifyAlpha(color,0.4),stroke:color}));polygon.hoverStyle=itemModel.getModel('emphasis.itemStyle').getItemStyle();setLabelStyle(polygon.style,polygon.hoverStyle,labelModel,labelHoverModel,{labelFetcher:maModel,labelDataIndex:idx,defaultText:areaData.getName(idx)||'',isRectText:true,autoColor:color});setHoverStyle(polygon,{});polygon.dataModel=maModel});polygonGroup.__data=areaData;polygonGroup.group.silent=maModel.get('silent')||seriesModel.get('silent')}});function createList$3(coordSys,seriesModel,maModel){var coordDimsInfos;var areaData;var dims=['x0','y0','x1','y1'];if(coordSys){coordDimsInfos=map(coordSys&&coordSys.dimensions,function(coordDim){var data=seriesModel.getData();var info=data.getDimensionInfo(data.mapDimension(coordDim))||{};return defaults({name:coordDim},info)});areaData=new List(map(dims,function(dim,idx){return{name:dim,type:coordDimsInfos[idx%2].type}}),maModel)}else{coordDimsInfos=[{name:'value',type:'float'}];areaData=new List(coordDimsInfos,maModel)}var optData=map(maModel.get('data'),curry(markAreaTransform,seriesModel,coordSys,maModel));if(coordSys){optData=filter(optData,curry(markAreaFilter,coordSys))}var dimValueGetter$$1=coordSys?function(item,dimName,dataIndex,dimIndex){return item.coord[Math.floor(dimIndex/2)][dimIndex%2]}:function(item){return item.value};areaData.initData(optData,null,dimValueGetter$$1);areaData.hasItemOption=true;return areaData}registerPreprocessor(function(opt){opt.markArea=opt.markArea||{}});var langSelector=lang.legend.selector;var defaultSelectorOption={all:{type:'all',title:clone(langSelector.all)},inverse:{type:'inverse',title:clone(langSelector.inverse)}};var LegendModel=extendComponentModel({type:'legend.plain',dependencies:['series'],layoutMode:{type:'box',ignoreSize:true},init:function(option,parentModel,ecModel){this.mergeDefaultAndTheme(option,ecModel);option.selected=option.selected||{};this._updateSelector(option)},mergeOption:function(option){LegendModel.superCall(this,'mergeOption',option);this._updateSelector(option)},_updateSelector:function(option){var selector=option.selector;if(selector===true){selector=option.selector=['all','inverse']}if(isArray(selector)){each$1(selector,function(item,index){isString(item)&&(item={type:item});selector[index]=merge(item,defaultSelectorOption[item.type])})}},optionUpdated:function(){this._updateData(this.ecModel);var legendData=this._data;if(legendData[0]&&this.get('selectedMode')==='single'){var hasSelected=false;for(var i=0;i=0},getOrient:function(){return this.get('orient')==='vertical'?{index:1,name:'vertical'}:{index:0,name:'horizontal'}},defaultOption:{zlevel:0,z:4,show:true,orient:'horizontal',left:'center',top:0,align:'auto',backgroundColor:'rgba(0,0,0,0)',borderColor:'#ccc',borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:'#ccc',inactiveBorderColor:'#ccc',itemStyle:{borderWidth:0},textStyle:{color:'#333'},selectedMode:true,selector:false,selectorLabel:{show:true,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:' sans-serif',color:'#666',borderWidth:1,borderColor:'#666'},emphasis:{selectorLabel:{show:true,color:'#eee',backgroundColor:'#666'}},selectorPosition:'auto',selectorItemGap:7,selectorButtonGap:10,tooltip:{show:false}}});function legendSelectActionHandler(methodName,payload,ecModel){var selectedMap={};var isToggleSelect=methodName==='toggleSelected';var isSelected;ecModel.eachComponent('legend',function(legendModel){if(isToggleSelect&&isSelected!=null){legendModel[isSelected?'select':'unSelect'](payload.name)}else if(methodName==='allSelect'||methodName==='inverseSelect'){legendModel[methodName]()}else{legendModel[methodName](payload.name);isSelected=legendModel.isSelected(payload.name)}var legendData=legendModel.getData();each$1(legendData,function(model){var name=model.get('name');if(name==='\n'||name===''){return}var isItemSelected=legendModel.isSelected(name);if(selectedMap.hasOwnProperty(name)){selectedMap[name]=selectedMap[name]&&isItemSelected}else{selectedMap[name]=isItemSelected}})});return(methodName==='allSelect'||methodName==='inverseSelect')?{selected:selectedMap}:{name:payload.name,selected:selectedMap}}registerAction('legendToggleSelect','legendselectchanged',curry(legendSelectActionHandler,'toggleSelected'));registerAction('legendAllSelect','legendselectall',curry(legendSelectActionHandler,'allSelect'));registerAction('legendInverseSelect','legendinverseselect',curry(legendSelectActionHandler,'inverseSelect'));registerAction('legendSelect','legendselected',curry(legendSelectActionHandler,'select'));registerAction('legendUnSelect','legendunselected',curry(legendSelectActionHandler,'unSelect'));var curry$6=curry;var each$25=each$1;var Group$3=Group;var LegendView=extendComponentView({type:'legend.plain',newlineDisabled:false,init:function(){this.group.add(this._contentGroup=new Group$3());this._backgroundEl;this.group.add(this._selectorGroup=new Group$3());this._isFirstRender=true},getContentGroup:function(){return this._contentGroup},getSelectorGroup:function(){return this._selectorGroup},render:function(legendModel,ecModel,api){var isFirstRender=this._isFirstRender;this._isFirstRender=false;this.resetInner();if(!legendModel.get('show',true)){return}var itemAlign=legendModel.get('align');var orient=legendModel.get('orient');if(!itemAlign||itemAlign==='auto'){itemAlign=(legendModel.get('left')==='right'&&orient==='vertical')?'right':'left'}var selector=legendModel.get('selector',true);var selectorPosition=legendModel.get('selectorPosition',true);if(selector&&(!selectorPosition||selectorPosition==='auto')){selectorPosition=orient==='horizontal'?'end':'start'}this.renderInner(itemAlign,legendModel,ecModel,api,selector,orient,selectorPosition);var positionInfo=legendModel.getBoxLayoutParams();var viewportSize={width:api.getWidth(),height:api.getHeight()};var padding=legendModel.get('padding');var maxSize=getLayoutRect(positionInfo,viewportSize,padding);var mainRect=this.layoutInner(legendModel,itemAlign,maxSize,isFirstRender,selector,selectorPosition);var layoutRect=getLayoutRect(defaults({width:mainRect.width,height:mainRect.height},positionInfo),viewportSize,padding);this.group.attr('position',[layoutRect.x-mainRect.x,layoutRect.y-mainRect.y]);this.group.add(this._backgroundEl=makeBackground(mainRect,legendModel))},resetInner:function(){this.getContentGroup().removeAll();this._backgroundEl&&this.group.remove(this._backgroundEl);this.getSelectorGroup().removeAll()},renderInner:function(itemAlign,legendModel,ecModel,api,selector,orient,selectorPosition){var contentGroup=this.getContentGroup();var legendDrawnMap=createHashMap();var selectMode=legendModel.get('selectedMode');var excludeSeriesId=[];ecModel.eachRawSeries(function(seriesModel){!seriesModel.get('legendHoverLink')&&excludeSeriesId.push(seriesModel.id)});each$25(legendModel.getData(),function(itemModel,dataIndex){var name=itemModel.get('name');if(!this.newlineDisabled&&(name===''||name==='\n')){contentGroup.add(new Group$3({newline:true}));return}var seriesModel=ecModel.getSeriesByName(name)[0];if(legendDrawnMap.get(name)){return}if(seriesModel){var data=seriesModel.getData();var color=data.getVisual('color');var borderColor=data.getVisual('borderColor');if(typeof color==='function'){color=color(seriesModel.getDataParams(0))}if(typeof borderColor==='function'){borderColor=borderColor(seriesModel.getDataParams(0))}var legendSymbolType=data.getVisual('legendSymbol')||'roundRect';var symbolType=data.getVisual('symbol');var itemGroup=this._createItem(name,dataIndex,itemModel,legendModel,legendSymbolType,symbolType,itemAlign,color,borderColor,selectMode);itemGroup.on('click',curry$6(dispatchSelectAction,name,null,api,excludeSeriesId)).on('mouseover',curry$6(dispatchHighlightAction,seriesModel.name,null,api,excludeSeriesId)).on('mouseout',curry$6(dispatchDownplayAction,seriesModel.name,null,api,excludeSeriesId));legendDrawnMap.set(name,true)}else{ecModel.eachRawSeries(function(seriesModel){if(legendDrawnMap.get(name)){return}if(seriesModel.legendVisualProvider){var provider=seriesModel.legendVisualProvider;if(!provider.containName(name)){return}var idx=provider.indexOfName(name);var color=provider.getItemVisual(idx,'color');var borderColor=provider.getItemVisual(idx,'borderColor');var legendSymbolType='roundRect';var itemGroup=this._createItem(name,dataIndex,itemModel,legendModel,legendSymbolType,null,itemAlign,color,borderColor,selectMode);itemGroup.on('click',curry$6(dispatchSelectAction,null,name,api,excludeSeriesId)).on('mouseover',curry$6(dispatchHighlightAction,null,name,api,excludeSeriesId)).on('mouseout',curry$6(dispatchDownplayAction,null,name,api,excludeSeriesId));legendDrawnMap.set(name,true)}},this)}if(__DEV__){if(!legendDrawnMap.get(name)){console.warn(name+' series not exists. Legend data should be same with series name or data name.')}}},this);if(selector){this._createSelector(selector,legendModel,api,orient,selectorPosition)}},_createSelector:function(selector,legendModel,api,orient,selectorPosition){var selectorGroup=this.getSelectorGroup();each$25(selector,function(selectorItem){createSelectorButton(selectorItem)});function createSelectorButton(selectorItem){var type=selectorItem.type;var labelText=new Text({style:{x:0,y:0,align:'center',verticalAlign:'middle'},onclick:function(){api.dispatchAction({type:type==='all'?'legendAllSelect':'legendInverseSelect'})}});selectorGroup.add(labelText);var labelModel=legendModel.getModel('selectorLabel');var emphasisLabelModel=legendModel.getModel('emphasis.selectorLabel');setLabelStyle(labelText.style,labelText.hoverStyle={},labelModel,emphasisLabelModel,{defaultText:selectorItem.title,isRectText:false});setHoverStyle(labelText)}},_createItem:function(name,dataIndex,itemModel,legendModel,legendSymbolType,symbolType,itemAlign,color,borderColor,selectMode){var itemWidth=legendModel.get('itemWidth');var itemHeight=legendModel.get('itemHeight');var inactiveColor=legendModel.get('inactiveColor');var inactiveBorderColor=legendModel.get('inactiveBorderColor');var symbolKeepAspect=legendModel.get('symbolKeepAspect');var legendModelItemStyle=legendModel.getModel('itemStyle');var isSelected=legendModel.isSelected(name);var itemGroup=new Group$3();var textStyleModel=itemModel.getModel('textStyle');var itemIcon=itemModel.get('icon');var tooltipModel=itemModel.getModel('tooltip');var legendGlobalTooltipModel=tooltipModel.parentModel;legendSymbolType=itemIcon||legendSymbolType;var legendSymbol=createSymbol(legendSymbolType,0,0,itemWidth,itemHeight,isSelected?color:inactiveColor,symbolKeepAspect==null?true:symbolKeepAspect);itemGroup.add(setSymbolStyle(legendSymbol,legendSymbolType,legendModelItemStyle,borderColor,inactiveBorderColor,isSelected));if(!itemIcon&&symbolType&&((symbolType!==legendSymbolType)||symbolType==='none')){var size=itemHeight*0.8;if(symbolType==='none'){symbolType='circle'}var legendSymbolCenter=createSymbol(symbolType,(itemWidth-size)/2,(itemHeight-size)/2,size,size,isSelected?color:inactiveColor,symbolKeepAspect==null?true:symbolKeepAspect);itemGroup.add(setSymbolStyle(legendSymbolCenter,symbolType,legendModelItemStyle,borderColor,inactiveBorderColor,isSelected))}var textX=itemAlign==='left'?itemWidth+5:-5;var textAlign=itemAlign;var formatter=legendModel.get('formatter');var content=name;if(typeof formatter==='string'&&formatter){content=formatter.replace('{name}',name!=null?name:'')}else if(typeof formatter==='function'){content=formatter(name)}itemGroup.add(new Text({style:setTextStyle({},textStyleModel,{text:content,x:textX,y:itemHeight/2,textFill:isSelected?textStyleModel.getTextColor():inactiveColor,textAlign:textAlign,textVerticalAlign:'middle'})}));var hitRect=new Rect({shape:itemGroup.getBoundingRect(),invisible:true,tooltip:tooltipModel.get('show')?extend({content:name,formatter:legendGlobalTooltipModel.get('formatter',true)||function(){return name},formatterParams:{componentType:'legend',legendIndex:legendModel.componentIndex,name:name,$vars:['name']}},tooltipModel.option):null});itemGroup.add(hitRect);itemGroup.eachChild(function(child){child.silent=true});hitRect.silent=!selectMode;this.getContentGroup().add(itemGroup);setHoverStyle(itemGroup);itemGroup.__legendDataIndex=dataIndex;return itemGroup},layoutInner:function(legendModel,itemAlign,maxSize,isFirstRender,selector,selectorPosition){var contentGroup=this.getContentGroup();var selectorGroup=this.getSelectorGroup();box(legendModel.get('orient'),contentGroup,legendModel.get('itemGap'),maxSize.width,maxSize.height);var contentRect=contentGroup.getBoundingRect();var contentPos=[-contentRect.x,-contentRect.y];if(selector){box('horizontal',selectorGroup,legendModel.get('selectorItemGap',true));var selectorRect=selectorGroup.getBoundingRect();var selectorPos=[-selectorRect.x,-selectorRect.y];var selectorButtonGap=legendModel.get('selectorButtonGap',true);var orientIdx=legendModel.getOrient().index;var wh=orientIdx===0?'width':'height';var hw=orientIdx===0?'height':'width';var yx=orientIdx===0?'y':'x';if(selectorPosition==='end'){selectorPos[orientIdx]+=contentRect[wh]+selectorButtonGap}else{contentPos[orientIdx]+=selectorRect[wh]+selectorButtonGap}selectorPos[1-orientIdx]+=contentRect[hw]/2-selectorRect[hw]/2;selectorGroup.attr('position',selectorPos);contentGroup.attr('position',contentPos);var mainRect={x:0,y:0};mainRect[wh]=contentRect[wh]+selectorButtonGap+selectorRect[wh];mainRect[hw]=Math.max(contentRect[hw],selectorRect[hw]);mainRect[yx]=Math.min(0,selectorRect[yx]+selectorPos[1-orientIdx]);return mainRect}else{contentGroup.attr('position',contentPos);return this.group.getBoundingRect()}},remove:function(){this.getContentGroup().removeAll();this._isFirstRender=true}});function setSymbolStyle(symbol,symbolType,legendModelItemStyle,borderColor,inactiveBorderColor,isSelected){var itemStyle;if(symbolType!=='line'&&symbolType.indexOf('empty')<0){itemStyle=legendModelItemStyle.getItemStyle();symbol.style.stroke=borderColor;if(!isSelected){itemStyle.stroke=inactiveBorderColor}}else{itemStyle=legendModelItemStyle.getItemStyle(['borderWidth','borderColor'])}return symbol.setStyle(itemStyle)}function dispatchSelectAction(seriesName,dataName,api,excludeSeriesId){dispatchDownplayAction(seriesName,dataName,api,excludeSeriesId);api.dispatchAction({type:'legendToggleSelect',name:seriesName!=null?seriesName:dataName});dispatchHighlightAction(seriesName,dataName,api,excludeSeriesId)}function dispatchHighlightAction(seriesName,dataName,api,excludeSeriesId){var el=api.getZr().storage.getDisplayList()[0];if(!(el&&el.useHoverLayer)){api.dispatchAction({type:'highlight',seriesName:seriesName,name:dataName,excludeSeriesId:excludeSeriesId})}}function dispatchDownplayAction(seriesName,dataName,api,excludeSeriesId){var el=api.getZr().storage.getDisplayList()[0];if(!(el&&el.useHoverLayer)){api.dispatchAction({type:'downplay',seriesName:seriesName,name:dataName,excludeSeriesId:excludeSeriesId})}}var legendFilter=function(ecModel){var legendModels=ecModel.findComponents({mainType:'legend'});if(legendModels&&legendModels.length){ecModel.filterSeries(function(series){for(var i=0;imaxSize[wh];var contentPos=[-contentRect.x,-contentRect.y];if(!isFirstRender){contentPos[orientIdx]=contentGroup.position[orientIdx]}var containerPos=[0,0];var controllerPos=[-controllerRect.x,-controllerRect.y];var pageButtonGap=retrieve2(legendModel.get('pageButtonGap',true),legendModel.get('itemGap',true));if(showController){var pageButtonPosition=legendModel.get('pageButtonPosition',true);if(pageButtonPosition==='end'){controllerPos[orientIdx]+=maxSize[wh]-controllerRect[wh]}else{containerPos[orientIdx]+=controllerRect[wh]+pageButtonGap}}controllerPos[1-orientIdx]+=contentRect[hw]/2-controllerRect[hw]/2;contentGroup.attr('position',contentPos);containerGroup.attr('position',containerPos);controllerGroup.attr('position',controllerPos);var mainRect={x:0,y:0};mainRect[wh]=showController?maxSize[wh]:contentRect[wh];mainRect[hw]=Math.max(contentRect[hw],controllerRect[hw]);mainRect[yx]=Math.min(0,controllerRect[yx]+controllerPos[1-orientIdx]);containerGroup.__rectSize=maxSize[wh];if(showController){var clipShape={x:0,y:0};clipShape[wh]=Math.max(maxSize[wh]-controllerRect[wh]-pageButtonGap,0);clipShape[hw]=mainRect[hw];containerGroup.setClipPath(new Rect({shape:clipShape}));containerGroup.__rectSize=clipShape[wh]}else{controllerGroup.eachChild(function(child){child.attr({invisible:true,silent:true})})}var pageInfo=this._getPageInfo(legendModel);pageInfo.pageIndex!=null&&updateProps(contentGroup,{position:pageInfo.contentPosition},showController?legendModel:false);this._updatePageInfoView(legendModel,pageInfo);return mainRect},_pageGo:function(to,legendModel,api){var scrollDataIndex=this._getPageInfo(legendModel)[to];scrollDataIndex!=null&&api.dispatchAction({type:'legendScroll',scrollDataIndex:scrollDataIndex,legendId:legendModel.id})},_updatePageInfoView:function(legendModel,pageInfo){var controllerGroup=this._controllerGroup;each$1(['pagePrev','pageNext'],function(name){var canJump=pageInfo[name+'DataIndex']!=null;var icon=controllerGroup.childOfName(name);if(icon){icon.setStyle('fill',canJump?legendModel.get('pageIconColor',true):legendModel.get('pageIconInactiveColor',true));icon.cursor=canJump?'pointer':'default'}});var pageText=controllerGroup.childOfName('pageText');var pageFormatter=legendModel.get('pageFormatter');var pageIndex=pageInfo.pageIndex;var current=pageIndex!=null?pageIndex+1:0;var total=pageInfo.pageCount;pageText&&pageFormatter&&pageText.setStyle('text',isString(pageFormatter)?pageFormatter.replace('{current}',current).replace('{total}',total):pageFormatter({current:current,total:total}))},_getPageInfo:function(legendModel){var scrollDataIndex=legendModel.get('scrollDataIndex',true);var contentGroup=this.getContentGroup();var containerRectSize=this._containerGroup.__rectSize;var orientIdx=legendModel.getOrient().index;var wh=WH$1[orientIdx];var xy=XY$1[orientIdx];var targetItemIndex=this._findTargetItemIndex(scrollDataIndex);var children=contentGroup.children();var targetItem=children[targetItemIndex];var itemCount=children.length;var pCount=!itemCount?0:1;var result={contentPosition:contentGroup.position.slice(),pageCount:pCount,pageIndex:pCount-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!targetItem){return result}var targetItemInfo=getItemInfo(targetItem);result.contentPosition[orientIdx]=-targetItemInfo.s;for(var i=targetItemIndex+1,winStartItemInfo=targetItemInfo,winEndItemInfo=targetItemInfo,currItemInfo=null;i<=itemCount;++i){currItemInfo=getItemInfo(children[i]);if((!currItemInfo&&winEndItemInfo.e>winStartItemInfo.s+containerRectSize)||(currItemInfo&&!intersect(currItemInfo,winStartItemInfo.s))){if(winEndItemInfo.i>winStartItemInfo.i){winStartItemInfo=winEndItemInfo}else{winStartItemInfo=currItemInfo}if(winStartItemInfo){if(result.pageNextDataIndex==null){result.pageNextDataIndex=winStartItemInfo.i}++result.pageCount}}winEndItemInfo=currItemInfo}for(var i=targetItemIndex-1,winStartItemInfo=targetItemInfo,winEndItemInfo=targetItemInfo,currItemInfo=null;i>=-1;--i){currItemInfo=getItemInfo(children[i]);if((!currItemInfo||!intersect(winEndItemInfo,currItemInfo.s))&&winStartItemInfo.i=winStart&&itemInfo.s<=winStart+containerRectSize}},_findTargetItemIndex:function(targetDataIndex){if(!this._showController){return 0}var index;var contentGroup=this.getContentGroup();var defaultIndex;contentGroup.eachChild(function(child,idx){var legendDataIdx=child.__legendDataIndex;if(defaultIndex==null&&legendDataIdx!=null){defaultIndex=idx}if(legendDataIdx===targetDataIndex){index=idx}});return index!=null?index:defaultIndex}});registerAction('legendScroll','legendscroll',function(payload,ecModel){var scrollDataIndex=payload.scrollDataIndex;scrollDataIndex!=null&&ecModel.eachComponent({mainType:'legend',subType:'scroll',query:payload},function(legendModel){legendModel.setScrollDataIndex(scrollDataIndex)})});var SliderZoomModel=DataZoomModel.extend({type:'dataZoom.slider',layoutMode:'box',defaultOption:{show:true,right:'ph',top:'ph',width:'ph',height:'ph',left:null,bottom:null,backgroundColor:'rgba(47,69,84,0)',dataBackground:{lineStyle:{color:'#2f4554',width:0.5,opacity:0.3},areaStyle:{color:'rgba(47,69,84,0.3)',opacity:0.3}},borderColor:'#ddd',fillerColor:'rgba(167,183,204,0.4)',handleIcon:'M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z',handleSize:'100%',handleStyle:{color:'#a7b7cc'},labelPrecision:null,labelFormatter:null,showDetail:true,showDataShadow:'auto',realtime:true,zoomLock:false,textStyle:{color:'#333'}}});var Rect$2=Rect;var linearMap$1=linearMap;var asc$2=asc;var bind$5=bind;var each$26=each$1;var DEFAULT_LOCATION_EDGE_GAP=7;var DEFAULT_FRAME_BORDER_WIDTH=1;var DEFAULT_FILLER_SIZE=30;var HORIZONTAL='horizontal';var VERTICAL='vertical';var LABEL_GAP=5;var SHOW_DATA_SHADOW_SERIES_TYPE=['line','bar','candlestick','scatter'];var SliderZoomView=DataZoomView.extend({type:'dataZoom.slider',init:function(ecModel,api){this._displayables={};this._orient;this._range;this._handleEnds;this._size;this._handleWidth;this._handleHeight;this._location;this._dragging;this._dataShadowInfo;this.api=api},render:function(dataZoomModel,ecModel,api,payload){SliderZoomView.superApply(this,'render',arguments);createOrUpdate(this,'_dispatchZoomAction',this.dataZoomModel.get('throttle'),'fixRate');this._orient=dataZoomModel.get('orient');if(this.dataZoomModel.get('show')===false){this.group.removeAll();return}if(!payload||payload.type!=='dataZoom'||payload.from!==this.uid){this._buildView()}this._updateView()},remove:function(){SliderZoomView.superApply(this,'remove',arguments);clear(this,'_dispatchZoomAction')},dispose:function(){SliderZoomView.superApply(this,'dispose',arguments);clear(this,'_dispatchZoomAction')},_buildView:function(){var thisGroup=this.group;thisGroup.removeAll();this._resetLocation();this._resetInterval();var barGroup=this._displayables.barGroup=new Group();this._renderBackground();this._renderHandle();this._renderDataShadow();thisGroup.add(barGroup);this._positionGroup()},_resetLocation:function(){var dataZoomModel=this.dataZoomModel;var api=this.api;var coordRect=this._findCoordRect();var ecSize={width:api.getWidth(),height:api.getHeight()};var positionInfo=this._orient===HORIZONTAL?{right:ecSize.width-coordRect.x-coordRect.width,top:(ecSize.height-DEFAULT_FILLER_SIZE-DEFAULT_LOCATION_EDGE_GAP),width:coordRect.width,height:DEFAULT_FILLER_SIZE}:{right:DEFAULT_LOCATION_EDGE_GAP,top:coordRect.y,width:DEFAULT_FILLER_SIZE,height:coordRect.height};var layoutParams=getLayoutParams(dataZoomModel.option);each$1(['right','top','width','height'],function(name){if(layoutParams[name]==='ph'){layoutParams[name]=positionInfo[name]}});var layoutRect=getLayoutRect(layoutParams,ecSize,dataZoomModel.padding);this._location={x:layoutRect.x,y:layoutRect.y};this._size=[layoutRect.width,layoutRect.height];this._orient===VERTICAL&&this._size.reverse()},_positionGroup:function(){var thisGroup=this.group;var location=this._location;var orient=this._orient;var targetAxisModel=this.dataZoomModel.getFirstTargetAxisModel();var inverse=targetAxisModel&&targetAxisModel.get('inverse');var barGroup=this._displayables.barGroup;var otherAxisInverse=(this._dataShadowInfo||{}).otherAxisInverse;barGroup.attr((orient===HORIZONTAL&&!inverse)?{scale:otherAxisInverse?[1,1]:[1,-1]}:(orient===HORIZONTAL&&inverse)?{scale:otherAxisInverse?[-1,1]:[-1,-1]}:(orient===VERTICAL&&!inverse)?{scale:otherAxisInverse?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:otherAxisInverse?[-1,-1]:[-1,1],rotation:Math.PI/2});var rect=thisGroup.getBoundingRect([barGroup]);thisGroup.attr('position',[location.x-rect.x,location.y-rect.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var dataZoomModel=this.dataZoomModel;var size=this._size;var barGroup=this._displayables.barGroup;barGroup.add(new Rect$2({silent:true,shape:{x:0,y:0,width:size[0],height:size[1]},style:{fill:dataZoomModel.get('backgroundColor')},z2:-40}));barGroup.add(new Rect$2({shape:{x:0,y:0,width:size[0],height:size[1]},style:{fill:'transparent'},z2:0,onclick:bind(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var info=this._dataShadowInfo=this._prepareDataShadowInfo();if(!info){return}var size=this._size;var seriesModel=info.series;var data=seriesModel.getRawData();var otherDim=seriesModel.getShadowDim?seriesModel.getShadowDim():info.otherDim;if(otherDim==null){return}var otherDataExtent=data.getDataExtent(otherDim);var otherOffset=(otherDataExtent[1]-otherDataExtent[0])*0.3;otherDataExtent=[otherDataExtent[0]-otherOffset,otherDataExtent[1]+otherOffset];var otherShadowExtent=[0,size[1]];var thisShadowExtent=[0,size[0]];var areaPoints=[[size[0],0],[0,0]];var linePoints=[];var step=thisShadowExtent[1]/(data.count()-1);var thisCoord=0;var stride=Math.round(data.count()/size[0]);var lastIsEmpty;data.each([otherDim],function(value,index){if(stride>0&&(index%stride)){thisCoord+=step;return}var isEmpty=value==null||isNaN(value)||value==='';var otherCoord=isEmpty?0:linearMap$1(value,otherDataExtent,otherShadowExtent,true);if(isEmpty&&!lastIsEmpty&&index){areaPoints.push([areaPoints[areaPoints.length-1][0],0]);linePoints.push([linePoints[linePoints.length-1][0],0])}else if(!isEmpty&&lastIsEmpty){areaPoints.push([thisCoord,0]);linePoints.push([thisCoord,0])}areaPoints.push([thisCoord,otherCoord]);linePoints.push([thisCoord,otherCoord]);thisCoord+=step;lastIsEmpty=isEmpty});var dataZoomModel=this.dataZoomModel;this._displayables.barGroup.add(new Polygon({shape:{points:areaPoints},style:defaults({fill:dataZoomModel.get('dataBackgroundColor')},dataZoomModel.getModel('dataBackground.areaStyle').getAreaStyle()),silent:true,z2:-20}));this._displayables.barGroup.add(new Polyline({shape:{points:linePoints},style:dataZoomModel.getModel('dataBackground.lineStyle').getLineStyle(),silent:true,z2:-19}))},_prepareDataShadowInfo:function(){var dataZoomModel=this.dataZoomModel;var showDataShadow=dataZoomModel.get('showDataShadow');if(showDataShadow===false){return}var result;var ecModel=this.ecModel;dataZoomModel.eachTargetAxis(function(dimNames,axisIndex){var seriesModels=dataZoomModel.getAxisProxy(dimNames.name,axisIndex).getTargetSeriesModels();each$1(seriesModels,function(seriesModel){if(result){return}if(showDataShadow!==true&&indexOf(SHOW_DATA_SHADOW_SERIES_TYPE,seriesModel.get('type'))<0){return}var thisAxis=ecModel.getComponent(dimNames.axis,axisIndex).axis;var otherDim=getOtherDim(dimNames.name);var otherAxisInverse;var coordSys=seriesModel.coordinateSystem;if(otherDim!=null&&coordSys.getOtherAxis){otherAxisInverse=coordSys.getOtherAxis(thisAxis).inverse}otherDim=seriesModel.getData().mapDimension(otherDim);result={thisAxis:thisAxis,series:seriesModel,thisDim:dimNames.name,otherDim:otherDim,otherAxisInverse:otherAxisInverse}},this)},this);return result},_renderHandle:function(){var displaybles=this._displayables;var handles=displaybles.handles=[];var handleLabels=displaybles.handleLabels=[];var barGroup=this._displayables.barGroup;var size=this._size;var dataZoomModel=this.dataZoomModel;barGroup.add(displaybles.filler=new Rect$2({draggable:true,cursor:getCursor(this._orient),drift:bind$5(this._onDragMove,this,'all'),ondragstart:bind$5(this._showDataInfo,this,true),ondragend:bind$5(this._onDragEnd,this),onmouseover:bind$5(this._showDataInfo,this,true),onmouseout:bind$5(this._showDataInfo,this,false),style:{fill:dataZoomModel.get('fillerColor'),textPosition:'inside'}}));barGroup.add(new Rect$2({silent:true,subPixelOptimize:true,shape:{x:0,y:0,width:size[0],height:size[1]},style:{stroke:dataZoomModel.get('dataBackgroundColor')||dataZoomModel.get('borderColor'),lineWidth:DEFAULT_FRAME_BORDER_WIDTH,fill:'rgba(0,0,0,0)'}}));each$26([0,1],function(handleIndex){var path=createIcon(dataZoomModel.get('handleIcon'),{cursor:getCursor(this._orient),draggable:true,drift:bind$5(this._onDragMove,this,handleIndex),ondragend:bind$5(this._onDragEnd,this),onmouseover:bind$5(this._showDataInfo,this,true),onmouseout:bind$5(this._showDataInfo,this,false)},{x:-1,y:0,width:2,height:2});var bRect=path.getBoundingRect();this._handleHeight=parsePercent$1(dataZoomModel.get('handleSize'),this._size[1]);this._handleWidth=bRect.width/bRect.height*this._handleHeight;path.setStyle(dataZoomModel.getModel('handleStyle').getItemStyle());var handleColor=dataZoomModel.get('handleColor');if(handleColor!=null){path.style.fill=handleColor}barGroup.add(handles[handleIndex]=path);var textStyleModel=dataZoomModel.textStyleModel;this.group.add(handleLabels[handleIndex]=new Text({silent:true,invisible:true,style:{x:0,y:0,text:'',textVerticalAlign:'middle',textAlign:'center',textFill:textStyleModel.getTextColor(),textFont:textStyleModel.getFont()},z2:10}))},this)},_resetInterval:function(){var range=this._range=this.dataZoomModel.getPercentRange();var viewExtent=this._getViewExtent();this._handleEnds=[linearMap$1(range[0],[0,100],viewExtent,true),linearMap$1(range[1],[0,100],viewExtent,true)]},_updateInterval:function(handleIndex,delta){var dataZoomModel=this.dataZoomModel;var handleEnds=this._handleEnds;var viewExtend=this._getViewExtent();var minMaxSpan=dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();var percentExtent=[0,100];sliderMove(delta,handleEnds,viewExtend,dataZoomModel.get('zoomLock')?'all':handleIndex,minMaxSpan.minSpan!=null?linearMap$1(minMaxSpan.minSpan,percentExtent,viewExtend,true):null,minMaxSpan.maxSpan!=null?linearMap$1(minMaxSpan.maxSpan,percentExtent,viewExtend,true):null);var lastRange=this._range;var range=this._range=asc$2([linearMap$1(handleEnds[0],viewExtend,percentExtent,true),linearMap$1(handleEnds[1],viewExtend,percentExtent,true)]);return!lastRange||lastRange[0]!==range[0]||lastRange[1]!==range[1]},_updateView:function(nonRealtime){var displaybles=this._displayables;var handleEnds=this._handleEnds;var handleInterval=asc$2(handleEnds.slice());var size=this._size;each$26([0,1],function(handleIndex){var handle=displaybles.handles[handleIndex];var handleHeight=this._handleHeight;handle.attr({scale:[handleHeight/2,handleHeight/2],position:[handleEnds[handleIndex],size[1]/2-handleHeight/2]})},this);displaybles.filler.setShape({x:handleInterval[0],y:0,width:handleInterval[1]-handleInterval[0],height:size[1]});this._updateDataInfo(nonRealtime)},_updateDataInfo:function(nonRealtime){var dataZoomModel=this.dataZoomModel;var displaybles=this._displayables;var handleLabels=displaybles.handleLabels;var orient=this._orient;var labelTexts=['',''];if(dataZoomModel.get('showDetail')){var axisProxy=dataZoomModel.findRepresentativeAxisProxy();if(axisProxy){var axis=axisProxy.getAxisModel().axis;var range=this._range;var dataInterval=nonRealtime?axisProxy.calculateDataWindow({start:range[0],end:range[1]}).valueWindow:axisProxy.getDataValueWindow();labelTexts=[this._formatLabel(dataInterval[0],axis),this._formatLabel(dataInterval[1],axis)]}}var orderedHandleEnds=asc$2(this._handleEnds.slice());setLabel.call(this,0);setLabel.call(this,1);function setLabel(handleIndex){var barTransform=getTransform(displaybles.handles[handleIndex].parent,this.group);var direction=transformDirection(handleIndex===0?'right':'left',barTransform);var offset=this._handleWidth/2+LABEL_GAP;var textPoint=applyTransform$1([orderedHandleEnds[handleIndex]+(handleIndex===0?-offset:offset),this._size[1]/2],barTransform);handleLabels[handleIndex].setStyle({x:textPoint[0],y:textPoint[1],textVerticalAlign:orient===HORIZONTAL?'middle':direction,textAlign:orient===HORIZONTAL?direction:'center',text:labelTexts[handleIndex]})}},_formatLabel:function(value,axis){var dataZoomModel=this.dataZoomModel;var labelFormatter=dataZoomModel.get('labelFormatter');var labelPrecision=dataZoomModel.get('labelPrecision');if(labelPrecision==null||labelPrecision==='auto'){labelPrecision=axis.getPixelPrecision()}var valueStr=(value==null||isNaN(value))?'':(axis.type==='category'||axis.type==='time')?axis.scale.getLabel(Math.round(value)):value.toFixed(Math.min(labelPrecision,20));return isFunction$1(labelFormatter)?labelFormatter(value,valueStr):isString(labelFormatter)?labelFormatter.replace('{value}',valueStr):valueStr},_showDataInfo:function(showOrHide){showOrHide=this._dragging||showOrHide;var handleLabels=this._displayables.handleLabels;handleLabels[0].attr('invisible',!showOrHide);handleLabels[1].attr('invisible',!showOrHide)},_onDragMove:function(handleIndex,dx,dy,event){this._dragging=true;stop(event.event);var barTransform=this._displayables.barGroup.getLocalTransform();var vertex=applyTransform$1([dx,dy],barTransform,true);var changed=this._updateInterval(handleIndex,vertex[0]);var realtime=this.dataZoomModel.get('realtime');this._updateView(!realtime);changed&&realtime&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=false;this._showDataInfo(false);var realtime=this.dataZoomModel.get('realtime');!realtime&&this._dispatchZoomAction()},_onClickPanelClick:function(e){var size=this._size;var localPoint=this._displayables.barGroup.transformCoordToLocal(e.offsetX,e.offsetY);if(localPoint[0]<0||localPoint[0]>size[0]||localPoint[1]<0||localPoint[1]>size[1]){return}var handleEnds=this._handleEnds;var center=(handleEnds[0]+handleEnds[1])/2;var changed=this._updateInterval('all',localPoint[0]-center);this._updateView();changed&&this._dispatchZoomAction()},_dispatchZoomAction:function(){var range=this._range;this.api.dispatchAction({type:'dataZoom',from:this.uid,dataZoomId:this.dataZoomModel.id,start:range[0],end:range[1]})},_findCoordRect:function(){var rect;each$26(this.getTargetCoordInfo(),function(coordInfoList){if(!rect&&coordInfoList.length){var coordSys=coordInfoList[0].model.coordinateSystem;rect=coordSys.getRect&&coordSys.getRect()}});if(!rect){var width=this.api.getWidth();var height=this.api.getHeight();rect={x:width*0.2,y:height*0.2,width:width*0.6,height:height*0.6}}return rect}});function getOtherDim(thisDim){var map$$1={x:'y',y:'x',radius:'angle',angle:'radius'};return map$$1[thisDim]}function getCursor(orient){return orient==='vertical'?'ns-resize':'ew-resize'}DataZoomModel.extend({type:'dataZoom.inside',defaultOption:{disabled:false,zoomLock:false,zoomOnMouseWheel:true,moveOnMouseMove:true,moveOnMouseWheel:false,preventDefaultMouseMove:true}});var ATTR$2='\0_ec_dataZoom_roams';function register$2(api,dataZoomInfo){var store=giveStore$1(api);var theDataZoomId=dataZoomInfo.dataZoomId;var theCoordId=dataZoomInfo.coordId;each$1(store,function(record,coordId){var dataZoomInfos=record.dataZoomInfos;if(dataZoomInfos[theDataZoomId]&&indexOf(dataZoomInfo.allCoordIds,theCoordId)<0){delete dataZoomInfos[theDataZoomId];record.count--}});cleanStore(store);var record=store[theCoordId];if(!record){record=store[theCoordId]={coordId:theCoordId,dataZoomInfos:{},count:0};record.controller=createController(api,record);record.dispatchAction=curry(dispatchAction$1,api)}!(record.dataZoomInfos[theDataZoomId])&&record.count++;record.dataZoomInfos[theDataZoomId]=dataZoomInfo;var controllerParams=mergeControllerParams(record.dataZoomInfos);record.controller.enable(controllerParams.controlType,controllerParams.opt);record.controller.setPointerChecker(dataZoomInfo.containsPoint);createOrUpdate(record,'dispatchAction',dataZoomInfo.dataZoomModel.get('throttle',true),'fixRate')}function unregister$1(api,dataZoomId){var store=giveStore$1(api);each$1(store,function(record){record.controller.dispose();var dataZoomInfos=record.dataZoomInfos;if(dataZoomInfos[dataZoomId]){delete dataZoomInfos[dataZoomId];record.count--}});cleanStore(store)}function generateCoordId(coordModel){return coordModel.type+'\0_'+coordModel.id}function giveStore$1(api){var zr=api.getZr();return zr[ATTR$2]||(zr[ATTR$2]={})}function createController(api,newRecord){var controller=new RoamController(api.getZr());each$1(['pan','zoom','scrollMove'],function(eventName){controller.on(eventName,function(event){var batch=[];each$1(newRecord.dataZoomInfos,function(info){if(!event.isAvailableBehavior(info.dataZoomModel.option)){return}var method=(info.getRange||{})[eventName];var range=method&&method(newRecord.controller,event);!info.dataZoomModel.get('disabled',true)&&range&&batch.push({dataZoomId:info.dataZoomId,start:range[0],end:range[1]})});batch.length&&newRecord.dispatchAction(batch)})});return controller}function cleanStore(store){each$1(store,function(record,coordId){if(!record.count){record.controller.dispose();delete store[coordId]}})}function dispatchAction$1(api,batch){api.dispatchAction({type:'dataZoom',batch:batch})}function mergeControllerParams(dataZoomInfos){var controlType;var prefix='type_';var typePriority={'type_true':2,'type_move':1,'type_false':0,'type_undefined':-1};var preventDefaultMouseMove=true;each$1(dataZoomInfos,function(dataZoomInfo){var dataZoomModel=dataZoomInfo.dataZoomModel;var oneType=dataZoomModel.get('disabled',true)?false:dataZoomModel.get('zoomLock',true)?'move':true;if(typePriority[prefix+oneType]>typePriority[prefix+controlType]){controlType=oneType}preventDefaultMouseMove&=dataZoomModel.get('preventDefaultMouseMove',true)});return{controlType:controlType,opt:{zoomOnMouseWheel:true,moveOnMouseMove:true,moveOnMouseWheel:true,preventDefaultMouseMove:!!preventDefaultMouseMove}}}var bind$6=bind;var InsideZoomView=DataZoomView.extend({type:'dataZoom.inside',init:function(ecModel,api){this._range},render:function(dataZoomModel,ecModel,api,payload){InsideZoomView.superApply(this,'render',arguments);this._range=dataZoomModel.getPercentRange();each$1(this.getTargetCoordInfo(),function(coordInfoList,coordSysName){var allCoordIds=map(coordInfoList,function(coordInfo){return generateCoordId(coordInfo.model)});each$1(coordInfoList,function(coordInfo){var coordModel=coordInfo.model;var getRange={};each$1(['pan','zoom','scrollMove'],function(eventName){getRange[eventName]=bind$6(roamHandlers[eventName],this,coordInfo,coordSysName)},this);register$2(api,{coordId:generateCoordId(coordModel),allCoordIds:allCoordIds,containsPoint:function(e,x,y){return coordModel.coordinateSystem.containPoint([x,y])},dataZoomId:dataZoomModel.id,dataZoomModel:dataZoomModel,getRange:getRange})},this)},this)},dispose:function(){unregister$1(this.api,this.dataZoomModel.id);InsideZoomView.superApply(this,'dispose',arguments);this._range=null}});var roamHandlers={zoom:function(coordInfo,coordSysName,controller,e){var lastRange=this._range;var range=lastRange.slice();var axisModel=coordInfo.axisModels[0];if(!axisModel){return}var directionInfo=getDirectionInfo[coordSysName](null,[e.originX,e.originY],axisModel,controller,coordInfo);var percentPoint=(directionInfo.signal>0?(directionInfo.pixelStart+directionInfo.pixelLength-directionInfo.pixel):(directionInfo.pixel-directionInfo.pixelStart))/directionInfo.pixelLength*(range[1]-range[0])+range[0];var scale=Math.max(1/e.scale,0);range[0]=(range[0]-percentPoint)*scale+percentPoint;range[1]=(range[1]-percentPoint)*scale+percentPoint;var minMaxSpan=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();sliderMove(0,range,[0,100],0,minMaxSpan.minSpan,minMaxSpan.maxSpan);this._range=range;if(lastRange[0]!==range[0]||lastRange[1]!==range[1]){return range}},pan:makeMover(function(range,axisModel,coordInfo,coordSysName,controller,e){var directionInfo=getDirectionInfo[coordSysName]([e.oldX,e.oldY],[e.newX,e.newY],axisModel,controller,coordInfo);return directionInfo.signal*(range[1]-range[0])*directionInfo.pixel/directionInfo.pixelLength}),scrollMove:makeMover(function(range,axisModel,coordInfo,coordSysName,controller,e){var directionInfo=getDirectionInfo[coordSysName]([0,0],[e.scrollDelta,e.scrollDelta],axisModel,controller,coordInfo);return directionInfo.signal*(range[1]-range[0])*e.scrollDelta})};function makeMover(getPercentDelta){return function(coordInfo,coordSysName,controller,e){var lastRange=this._range;var range=lastRange.slice();var axisModel=coordInfo.axisModels[0];if(!axisModel){return}var percentDelta=getPercentDelta(range,axisModel,coordInfo,coordSysName,controller,e);sliderMove(percentDelta,range,[0,100],'all');this._range=range;if(lastRange[0]!==range[0]||lastRange[1]!==range[1]){return range}}}var getDirectionInfo={grid:function(oldPoint,newPoint,axisModel,controller,coordInfo){var axis=axisModel.axis;var ret={};var rect=coordInfo.model.coordinateSystem.getRect();oldPoint=oldPoint||[0,0];if(axis.dim==='x'){ret.pixel=newPoint[0]-oldPoint[0];ret.pixelLength=rect.width;ret.pixelStart=rect.x;ret.signal=axis.inverse?1:-1}else{ret.pixel=newPoint[1]-oldPoint[1];ret.pixelLength=rect.height;ret.pixelStart=rect.y;ret.signal=axis.inverse?-1:1}return ret},polar:function(oldPoint,newPoint,axisModel,controller,coordInfo){var axis=axisModel.axis;var ret={};var polar=coordInfo.model.coordinateSystem;var radiusExtent=polar.getRadiusAxis().getExtent();var angleExtent=polar.getAngleAxis().getExtent();oldPoint=oldPoint?polar.pointToCoord(oldPoint):[0,0];newPoint=polar.pointToCoord(newPoint);if(axisModel.mainType==='radiusAxis'){ret.pixel=newPoint[0]-oldPoint[0];ret.pixelLength=radiusExtent[1]-radiusExtent[0];ret.pixelStart=radiusExtent[0];ret.signal=axis.inverse?1:-1}else{ret.pixel=newPoint[1]-oldPoint[1];ret.pixelLength=angleExtent[1]-angleExtent[0];ret.pixelStart=angleExtent[0];ret.signal=axis.inverse?-1:1}return ret},singleAxis:function(oldPoint,newPoint,axisModel,controller,coordInfo){var axis=axisModel.axis;var rect=coordInfo.model.coordinateSystem.getRect();var ret={};oldPoint=oldPoint||[0,0];if(axis.orient==='horizontal'){ret.pixel=newPoint[0]-oldPoint[0];ret.pixelLength=rect.width;ret.pixelStart=rect.x;ret.signal=axis.inverse?1:-1}else{ret.pixel=newPoint[1]-oldPoint[1];ret.pixelLength=rect.height;ret.pixelStart=rect.y;ret.signal=axis.inverse?-1:1}return ret}};var each$27=each$1;var preprocessor$3=function(option){var visualMap=option&&option.visualMap;if(!isArray(visualMap)){visualMap=visualMap?[visualMap]:[]}each$27(visualMap,function(opt){if(!opt){return}if(has$2(opt,'splitList')&&!has$2(opt,'pieces')){opt.pieces=opt.splitList;delete opt.splitList}var pieces=opt.pieces;if(pieces&&isArray(pieces)){each$27(pieces,function(piece){if(isObject$1(piece)){if(has$2(piece,'start')&&!has$2(piece,'min')){piece.min=piece.start}if(has$2(piece,'end')&&!has$2(piece,'max')){piece.max=piece.end}}})}})};function has$2(obj,name){return obj&&obj.hasOwnProperty&&obj.hasOwnProperty(name)}ComponentModel.registerSubTypeDefaulter('visualMap',function(option){return(!option.categories&&(!(option.pieces?option.pieces.length>0:option.splitNumber>0)||option.calculable))?'continuous':'piecewise'});var VISUAL_PRIORITY=PRIORITY.VISUAL.COMPONENT;registerVisual(VISUAL_PRIORITY,{createOnAllSeries:true,reset:function(seriesModel,ecModel){var resetDefines=[];ecModel.eachComponent('visualMap',function(visualMapModel){var pipelineContext=seriesModel.pipelineContext;if(!visualMapModel.isTargetSeries(seriesModel)||(pipelineContext&&pipelineContext.large)){return}resetDefines.push(incrementalApplyVisual(visualMapModel.stateList,visualMapModel.targetVisuals,bind(visualMapModel.getValueState,visualMapModel),visualMapModel.getDataDimension(seriesModel.getData())))});return resetDefines}});registerVisual(VISUAL_PRIORITY,{createOnAllSeries:true,reset:function(seriesModel,ecModel){var data=seriesModel.getData();var visualMetaList=[];ecModel.eachComponent('visualMap',function(visualMapModel){if(visualMapModel.isTargetSeries(seriesModel)){var visualMeta=visualMapModel.getVisualMeta(bind(getColorVisual,null,seriesModel,visualMapModel))||{stops:[],outerColors:[]};var concreteDim=visualMapModel.getDataDimension(data);var dimInfo=data.getDimensionInfo(concreteDim);if(dimInfo!=null){visualMeta.dimension=dimInfo.index;visualMetaList.push(visualMeta)}}});seriesModel.getData().setVisual('visualMeta',visualMetaList)}});function getColorVisual(seriesModel,visualMapModel,value,valueState){var mappings=visualMapModel.targetVisuals[valueState];var visualTypes=VisualMapping.prepareVisualTypes(mappings);var resultVisual={color:seriesModel.getData().getVisual('color')};for(var i=0,len=visualTypes.length;i'];if(isArray(value)){value=value.slice();isMinMax=true}textValue=isCategory?value:(isMinMax?[toFixed(value[0]),toFixed(value[1])]:toFixed(value));if(isString(formatter)){return formatter.replace('{value}',isMinMax?textValue[0]:textValue).replace('{value2}',isMinMax?textValue[1]:textValue)}else if(isFunction$1(formatter)){return isMinMax?formatter(value[0],value[1]):formatter(value)}if(isMinMax){if(value[0]===dataBound[0]){return edgeSymbols[0]+' '+textValue[1]}else if(value[1]===dataBound[1]){return edgeSymbols[1]+' '+textValue[0]}else{return textValue[0]+' - '+textValue[1]}}else{return textValue}function toFixed(val){return val===dataBound[0]?'min':val===dataBound[1]?'max':(+val).toFixed(Math.min(precision,20))}},resetExtent:function(){var thisOption=this.option;var extent=asc$3([thisOption.min,thisOption.max]);this._dataExtent=extent},getDataDimension:function(list){var optDim=this.option.dimension;var listDimensions=list.dimensions;if(optDim==null&&!listDimensions.length){return}if(optDim!=null){return list.getDimension(optDim)}var dimNames=list.dimensions;for(var i=dimNames.length-1;i>=0;i--){var dimName=dimNames[i];var dimInfo=list.getDimensionInfo(dimName);if(!dimInfo.isCalculationCoord){return dimName}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){var ecModel=this.ecModel;var thisOption=this.option;var base={inRange:thisOption.inRange,outOfRange:thisOption.outOfRange};var target=thisOption.target||(thisOption.target={});var controller=thisOption.controller||(thisOption.controller={});merge(target,base);merge(controller,base);var isCategory=this.isCategory();completeSingle.call(this,target);completeSingle.call(this,controller);completeInactive.call(this,target,'inRange','outOfRange');completeController.call(this,controller);function completeSingle(base){if(isArray$3(thisOption.color)&&!base.inRange){base.inRange={color:thisOption.color.slice().reverse()}}base.inRange=base.inRange||{color:ecModel.get('gradientColor')};each$28(this.stateList,function(state){var visualType=base[state];if(isString(visualType)){var defa=visualDefault.get(visualType,'active',isCategory);if(defa){base[state]={};base[state][visualType]=defa}else{delete base[state]}}},this)}function completeInactive(base,stateExist,stateAbsent){var optExist=base[stateExist];var optAbsent=base[stateAbsent];if(optExist&&!optAbsent){optAbsent=base[stateAbsent]={};each$28(optExist,function(visualData,visualType){if(!VisualMapping.isValidType(visualType)){return}var defa=visualDefault.get(visualType,'inactive',isCategory);if(defa!=null){optAbsent[visualType]=defa;if(visualType==='color'&&!optAbsent.hasOwnProperty('opacity')&&!optAbsent.hasOwnProperty('colorAlpha')){optAbsent.opacity=[0,0]}}})}}function completeController(controller){var symbolExists=(controller.inRange||{}).symbol||(controller.outOfRange||{}).symbol;var symbolSizeExists=(controller.inRange||{}).symbolSize||(controller.outOfRange||{}).symbolSize;var inactiveColor=this.get('inactiveColor');each$28(this.stateList,function(state){var itemSize=this.itemSize;var visuals=controller[state];if(!visuals){visuals=controller[state]={color:isCategory?inactiveColor:[inactiveColor]}}if(visuals.symbol==null){visuals.symbol=symbolExists&&clone(symbolExists)||(isCategory?'roundRect':['roundRect'])}if(visuals.symbolSize==null){visuals.symbolSize=symbolSizeExists&&clone(symbolSizeExists)||(isCategory?itemSize[0]:[itemSize[0],itemSize[0]])}visuals.symbol=mapVisual$2(visuals.symbol,function(symbol){return(symbol==='none'||symbol==='square')?'roundRect':symbol});var symbolSize=visuals.symbolSize;if(symbolSize!=null){var max=-Infinity;eachVisual(symbolSize,function(value){value>max&&(max=value)});visuals.symbolSize=mapVisual$2(symbolSize,function(value){return linearMap$2(value,[0,max],[0,itemSize[0]],true)})}},this)}},resetItemSize:function(){this.itemSize=[parseFloat(this.get('itemWidth')),parseFloat(this.get('itemHeight'))]},isCategory:function(){return!!this.option.categories},setSelected:noop$2,getValueState:noop$2,getVisualMeta:noop$2});var DEFAULT_BAR_BOUND=[20,140];var ContinuousModel=VisualMapModel.extend({type:'visualMap.continuous',defaultOption:{align:'auto',calculable:false,range:null,realtime:true,itemHeight:null,itemWidth:null,hoverLink:true,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(newOption,isInit){ContinuousModel.superApply(this,'optionUpdated',arguments);this.resetExtent();this.resetVisual(function(mappingOption){mappingOption.mappingMethod='linear';mappingOption.dataExtent=this.getExtent()});this._resetRange()},resetItemSize:function(){ContinuousModel.superApply(this,'resetItemSize',arguments);var itemSize=this.itemSize;this._orient==='horizontal'&&itemSize.reverse();(itemSize[0]==null||isNaN(itemSize[0]))&&(itemSize[0]=DEFAULT_BAR_BOUND[0]);(itemSize[1]==null||isNaN(itemSize[1]))&&(itemSize[1]=DEFAULT_BAR_BOUND[1])},_resetRange:function(){var dataExtent=this.getExtent();var range=this.option.range;if(!range||range.auto){dataExtent.auto=1;this.option.range=dataExtent}else if(isArray(range)){if(range[0]>range[1]){range.reverse()}range[0]=Math.max(range[0],dataExtent[0]);range[1]=Math.min(range[1],dataExtent[1])}},completeVisualOption:function(){VisualMapModel.prototype.completeVisualOption.apply(this,arguments);each$1(this.stateList,function(state){var symbolSize=this.option.controller[state].symbolSize;if(symbolSize&&symbolSize[0]!==symbolSize[1]){symbolSize[0]=0}},this)},setSelected:function(selected){this.option.range=selected.slice();this._resetRange()},getSelected:function(){var dataExtent=this.getExtent();var dataInterval=asc((this.get('range')||[]).slice());dataInterval[0]>dataExtent[1]&&(dataInterval[0]=dataExtent[1]);dataInterval[1]>dataExtent[1]&&(dataInterval[1]=dataExtent[1]);dataInterval[0]=dataExtent[1]||value<=range[1]))?'inRange':'outOfRange'},findTargetDataIndices:function(range){var result=[];this.eachTargetSeries(function(seriesModel){var dataIndices=[];var data=seriesModel.getData();data.each(this.getDataDimension(data),function(value,dataIndex){range[0]<=value&&value<=range[1]&&dataIndices.push(dataIndex)},this);result.push({seriesId:seriesModel.id,dataIndex:dataIndices})},this);return result},getVisualMeta:function(getColorVisual){var oVals=getColorStopValues(this,'outOfRange',this.getExtent());var iVals=getColorStopValues(this,'inRange',this.option.range.slice());var stops=[];function setStop(value,valueState){stops.push({value:value,color:getColorVisual(value,valueState)})}var iIdx=0;var oIdx=0;var iLen=iVals.length;var oLen=oVals.length;for(;oIdxdataInterval[1]){break}colorStops.push({color:this.getControllerVisual(currValue,'color',opts),offset:i/sampleNumber})}colorStops.push({color:this.getControllerVisual(dataInterval[1],'color',opts),offset:1});return colorStops},_createBarPoints:function(handleEnds,symbolSizes){var itemSize=this.visualMapModel.itemSize;return[[itemSize[0]-symbolSizes[0],handleEnds[0]],[itemSize[0],handleEnds[0]],[itemSize[0],handleEnds[1]],[itemSize[0]-symbolSizes[1],handleEnds[1]]]},_createBarGroup:function(itemAlign){var orient=this._orient;var inverse=this.visualMapModel.get('inverse');return new Group((orient==='horizontal'&&!inverse)?{scale:itemAlign==='bottom'?[1,1]:[-1,1],rotation:Math.PI/2}:(orient==='horizontal'&&inverse)?{scale:itemAlign==='bottom'?[-1,1]:[1,1],rotation:-Math.PI/2}:(orient==='vertical'&&!inverse)?{scale:itemAlign==='left'?[1,-1]:[-1,-1]}:{scale:itemAlign==='left'?[1,1]:[-1,1]})},_updateHandle:function(handleEnds,visualInRange){if(!this._useHandle){return}var shapes=this._shapes;var visualMapModel=this.visualMapModel;var handleThumbs=shapes.handleThumbs;var handleLabels=shapes.handleLabels;each$29([0,1],function(handleIndex){var handleThumb=handleThumbs[handleIndex];handleThumb.setStyle('fill',visualInRange.handlesColor[handleIndex]);handleThumb.position[1]=handleEnds[handleIndex];var textPoint=applyTransform$1(shapes.handleLabelPoints[handleIndex],getTransform(handleThumb,this.group));handleLabels[handleIndex].setStyle({x:textPoint[0],y:textPoint[1],text:visualMapModel.formatValueText(this._dataInterval[handleIndex]),textVerticalAlign:'middle',textAlign:this._applyTransform(this._orient==='horizontal'?(handleIndex===0?'bottom':'top'):'left',shapes.barGroup)})},this)},_showIndicator:function(cursorValue,textValue,rangeSymbol,halfHoverLinkSize){var visualMapModel=this.visualMapModel;var dataExtent=visualMapModel.getExtent();var itemSize=visualMapModel.itemSize;var sizeExtent=[0,itemSize[1]];var pos=linearMap$3(cursorValue,dataExtent,sizeExtent,true);var shapes=this._shapes;var indicator=shapes.indicator;if(!indicator){return}indicator.position[1]=pos;indicator.attr('invisible',false);indicator.setShape('points',createIndicatorPoints(!!rangeSymbol,halfHoverLinkSize,pos,itemSize[1]));var opts={convertOpacityToAlpha:true};var color=this.getControllerVisual(cursorValue,'color',opts);indicator.setStyle('fill',color);var textPoint=applyTransform$1(shapes.indicatorLabelPoint,getTransform(indicator,this.group));var indicatorLabel=shapes.indicatorLabel;indicatorLabel.attr('invisible',false);var align=this._applyTransform('left',shapes.barGroup);var orient=this._orient;indicatorLabel.setStyle({text:(rangeSymbol?rangeSymbol:'')+visualMapModel.formatValueText(textValue),textVerticalAlign:orient==='horizontal'?align:'middle',textAlign:orient==='horizontal'?'center':align,x:textPoint[0],y:textPoint[1]})},_enableHoverLinkToSeries:function(){var self=this;this._shapes.barGroup.on('mousemove',function(e){self._hovering=true;if(!self._dragging){var itemSize=self.visualMapModel.itemSize;var pos=self._applyTransform([e.offsetX,e.offsetY],self._shapes.barGroup,true,true);pos[1]=mathMin$8(mathMax$8(0,pos[1]),itemSize[1]);self._doHoverLinkToSeries(pos[1],0<=pos[0]&&pos[0]<=itemSize[0])}}).on('mouseout',function(){self._hovering=false;!self._dragging&&self._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var zr=this.api.getZr();if(this.visualMapModel.option.hoverLink){zr.on('mouseover',this._hoverLinkFromSeriesMouseOver,this);zr.on('mouseout',this._hideIndicator,this)}else{this._clearHoverLinkFromSeries()}},_doHoverLinkToSeries:function(cursorPos,hoverOnBar){var visualMapModel=this.visualMapModel;var itemSize=visualMapModel.itemSize;if(!visualMapModel.option.hoverLink){return}var sizeExtent=[0,itemSize[1]];var dataExtent=visualMapModel.getExtent();cursorPos=mathMin$8(mathMax$8(sizeExtent[0],cursorPos),sizeExtent[1]);var halfHoverLinkSize=getHalfHoverLinkSize(visualMapModel,dataExtent,sizeExtent);var hoverRange=[cursorPos-halfHoverLinkSize,cursorPos+halfHoverLinkSize];var cursorValue=linearMap$3(cursorPos,sizeExtent,dataExtent,true);var valueRange=[linearMap$3(hoverRange[0],sizeExtent,dataExtent,true),linearMap$3(hoverRange[1],sizeExtent,dataExtent,true)];hoverRange[0]sizeExtent[1]&&(valueRange[1]=Infinity);if(hoverOnBar){if(valueRange[0]===-Infinity){this._showIndicator(cursorValue,valueRange[1],'< ',halfHoverLinkSize)}else if(valueRange[1]===Infinity){this._showIndicator(cursorValue,valueRange[0],'> ',halfHoverLinkSize)}else{this._showIndicator(cursorValue,cursorValue,'≈ ',halfHoverLinkSize)}}var oldBatch=this._hoverLinkDataIndices;var newBatch=[];if(hoverOnBar||useHoverLinkOnHandle(visualMapModel)){newBatch=this._hoverLinkDataIndices=visualMapModel.findTargetDataIndices(valueRange)}var resultBatches=compressBatches(oldBatch,newBatch);this._dispatchHighDown('downplay',makeHighDownBatch(resultBatches[0],visualMapModel));this._dispatchHighDown('highlight',makeHighDownBatch(resultBatches[1],visualMapModel))},_hoverLinkFromSeriesMouseOver:function(e){var el=e.target;var visualMapModel=this.visualMapModel;if(!el||el.dataIndex==null){return}var dataModel=this.ecModel.getSeriesByIndex(el.seriesIndex);if(!visualMapModel.isTargetSeries(dataModel)){return}var data=dataModel.getData(el.dataType);var value=data.get(visualMapModel.getDataDimension(data),el.dataIndex,true);if(!isNaN(value)){this._showIndicator(value,value)}},_hideIndicator:function(){var shapes=this._shapes;shapes.indicator&&shapes.indicator.attr('invisible',true);shapes.indicatorLabel&&shapes.indicatorLabel.attr('invisible',true)},_clearHoverLinkToSeries:function(){this._hideIndicator();var indices=this._hoverLinkDataIndices;this._dispatchHighDown('downplay',makeHighDownBatch(indices,this.visualMapModel));indices.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var zr=this.api.getZr();zr.off('mouseover',this._hoverLinkFromSeriesMouseOver);zr.off('mouseout',this._hideIndicator)},_applyTransform:function(vertex,element,inverse,global){var transform=getTransform(element,global?null:this.group);return graphic[isArray(vertex)?'applyTransform':'transformDirection'](vertex,transform,inverse)},_dispatchHighDown:function(type,batch){batch&&batch.length&&this.api.dispatchAction({type:type,batch:batch})},dispose:function(){this._clearHoverLinkFromSeries();this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries();this._clearHoverLinkToSeries()}});function createPolygon(points,cursor,onDrift,onDragEnd){return new Polygon({shape:{points:points},draggable:!!onDrift,cursor:cursor,drift:onDrift,onmousemove:function(e){stop(e.event)},ondragend:onDragEnd})}function createHandlePoints(handleIndex,textSize){return handleIndex===0?[[0,0],[textSize,0],[textSize,-textSize]]:[[0,0],[textSize,0],[textSize,textSize]]}function createIndicatorPoints(isRange,halfHoverLinkSize,pos,extentMax){return isRange?[[0,-mathMin$8(halfHoverLinkSize,mathMax$8(pos,0))],[HOVER_LINK_OUT,0],[0,mathMin$8(halfHoverLinkSize,mathMax$8(extentMax-pos,0))]]:[[0,0],[5,-5],[5,5]]}function getHalfHoverLinkSize(visualMapModel,dataExtent,sizeExtent){var halfHoverLinkSize=HOVER_LINK_SIZE/2;var hoverLinkDataSize=visualMapModel.get('hoverLinkDataSize');if(hoverLinkDataSize){halfHoverLinkSize=linearMap$3(hoverLinkDataSize,dataExtent,sizeExtent,true)/2}return halfHoverLinkSize}function useHoverLinkOnHandle(visualMapModel){var hoverLinkOnHandle=visualMapModel.get('hoverLinkOnHandle');return!!(hoverLinkOnHandle==null?visualMapModel.get('realtime'):hoverLinkOnHandle)}function getCursor$1(orient){return orient==='vertical'?'ns-resize':'ew-resize'}var actionInfo$2={type:'selectDataRange',event:'dataRangeSelected',update:'update'};registerAction(actionInfo$2,function(payload,ecModel){ecModel.eachComponent({mainType:'visualMap',query:payload},function(model){model.setSelected(payload.selected)})});registerPreprocessor(preprocessor$3);var PiecewiseModel=VisualMapModel.extend({type:'visualMap.piecewise',defaultOption:{selected:null,minOpen:false,maxOpen:false,align:'auto',itemWidth:20,itemHeight:14,itemSymbol:'roundRect',pieceList:null,categories:null,splitNumber:5,selectedMode:'multiple',itemGap:10,hoverLink:true,showLabel:null},optionUpdated:function(newOption,isInit){PiecewiseModel.superApply(this,'optionUpdated',arguments);this._pieceList=[];this.resetExtent();var mode=this._mode=this._determineMode();resetMethods[this._mode].call(this);this._resetSelected(newOption,isInit);var categories=this.option.categories;this.resetVisual(function(mappingOption,state){if(mode==='categories'){mappingOption.mappingMethod='category';mappingOption.categories=clone(categories)}else{mappingOption.dataExtent=this.getExtent();mappingOption.mappingMethod='piecewise';mappingOption.pieceList=map(this._pieceList,function(piece){var piece=clone(piece);if(state!=='inRange'){piece.visual=null}return piece})}})},completeVisualOption:function(){var option=this.option;var visualTypesInPieces={};var visualTypes=VisualMapping.listVisualTypes();var isCategory=this.isCategory();each$1(option.pieces,function(piece){each$1(visualTypes,function(visualType){if(piece.hasOwnProperty(visualType)){visualTypesInPieces[visualType]=1}})});each$1(visualTypesInPieces,function(v,visualType){var exists=0;each$1(this.stateList,function(state){exists|=has(option,state,visualType)||has(option.target,state,visualType)},this);!exists&&each$1(this.stateList,function(state){(option[state]||(option[state]={}))[visualType]=visualDefault.get(visualType,state==='inRange'?'active':'inactive',isCategory)})},this);function has(obj,state,visualType){return obj&&obj[state]&&(isObject$1(obj[state])?obj[state].hasOwnProperty(visualType):obj[state]===visualType)}VisualMapModel.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(newOption,isInit){var thisOption=this.option;var pieceList=this._pieceList;var selected=(isInit?thisOption:newOption).selected||{};thisOption.selected=selected;each$1(pieceList,function(piece,index){var key=this.getSelectedMapKey(piece);if(!selected.hasOwnProperty(key)){selected[key]=true}},this);if(thisOption.selectedMode==='single'){var hasSel=false;each$1(pieceList,function(piece,index){var key=this.getSelectedMapKey(piece);if(selected[key]){hasSel?(selected[key]=false):(hasSel=true)}},this)}},getSelectedMapKey:function(piece){return this._mode==='categories'?piece.value+'':piece.index+''},getPieceList:function(){return this._pieceList},_determineMode:function(){var option=this.option;return option.pieces&&option.pieces.length>0?'pieces':this.option.categories?'categories':'splitNumber'},setSelected:function(selected){this.option.selected=clone(selected)},getValueState:function(value){var index=VisualMapping.findPieceIndex(value,this._pieceList);return index!=null?(this.option.selected[this.getSelectedMapKey(this._pieceList[index])]?'inRange':'outOfRange'):'outOfRange'},findTargetDataIndices:function(pieceIndex){var result=[];this.eachTargetSeries(function(seriesModel){var dataIndices=[];var data=seriesModel.getData();data.each(this.getDataDimension(data),function(value,dataIndex){var pIdx=VisualMapping.findPieceIndex(value,this._pieceList);pIdx===pieceIndex&&dataIndices.push(dataIndex)},this);result.push({seriesId:seriesModel.id,dataIndex:dataIndices})},this);return result},getRepresentValue:function(piece){var representValue;if(this.isCategory()){representValue=piece.value}else{if(piece.value!=null){representValue=piece.value}else{var pieceInterval=piece.interval||[];representValue=(pieceInterval[0]===-Infinity&&pieceInterval[1]===Infinity)?0:(pieceInterval[0]+pieceInterval[1])/2}}return representValue},getVisualMeta:function(getColorVisual){if(this.isCategory()){return}var stops=[];var outerColors=[];var visualMapModel=this;function setStop(interval,valueState){var representValue=visualMapModel.getRepresentValue({interval:interval});if(!valueState){valueState=visualMapModel.getValueState(representValue)}var color=getColorVisual(representValue,valueState);if(interval[0]===-Infinity){outerColors[0]=color}else if(interval[1]===Infinity){outerColors[1]=color}else{stops.push({value:interval[0],color:color},{value:interval[1],color:color})}}var pieceList=this._pieceList.slice();if(!pieceList.length){pieceList.push({interval:[-Infinity,Infinity]})}else{var edge=pieceList[0].interval[0];edge!==-Infinity&&pieceList.unshift({interval:[-Infinity,edge]});edge=pieceList[pieceList.length-1].interval[1];edge!==Infinity&&pieceList.push({interval:[edge,Infinity]})}var curr=-Infinity;each$1(pieceList,function(piece){var interval=piece.interval;if(interval){interval[0]>curr&&setStop([curr,interval[0]],'outOfRange');setStop(interval.slice());curr=interval[1]}},this);return{stops:stops,outerColors:outerColors}}});var resetMethods={splitNumber:function(){var thisOption=this.option;var pieceList=this._pieceList;var precision=Math.min(thisOption.precision,20);var dataExtent=this.getExtent();var splitNumber=thisOption.splitNumber;splitNumber=Math.max(parseInt(splitNumber,10),1);thisOption.splitNumber=splitNumber;var splitStep=(dataExtent[1]-dataExtent[0])/splitNumber;while(+splitStep.toFixed(precision)!==splitStep&&precision<5){precision++}thisOption.precision=precision;splitStep=+splitStep.toFixed(precision);if(thisOption.minOpen){pieceList.push({interval:[-Infinity,dataExtent[0]],close:[0,0]})}for(var index=0,curr=dataExtent[0];indexinterval[1]){console.warn('Piece '+index+'is illegal: '+interval+' lower bound should not greater then uppper bound.')}}if(interval[0]===interval[1]&&close[0]&&close[1]){item.value=interval[0]}}item.visual=VisualMapping.retrieveVisuals(pieceListItem);pieceList.push(item)},this);normalizeReverse(thisOption,pieceList);reformIntervals(pieceList);each$1(pieceList,function(piece){var close=piece.close;var edgeSymbols=[['<','≤'][close[1]],['>','≥'][close[0]]];piece.text=piece.text||this.formatValueText(piece.value!=null?piece.value:piece.interval,false,edgeSymbols)},this)}};function normalizeReverse(thisOption,pieceList){var inverse=thisOption.inverse;if(thisOption.orient==='vertical'?!inverse:inverse){pieceList.reverse()}}var PiecewiseVisualMapView=VisualMapView.extend({type:'visualMap.piecewise',doRender:function(){var thisGroup=this.group;thisGroup.removeAll();var visualMapModel=this.visualMapModel;var textGap=visualMapModel.get('textGap');var textStyleModel=visualMapModel.textStyleModel;var textFont=textStyleModel.getFont();var textFill=textStyleModel.getTextColor();var itemAlign=this._getItemAlign();var itemSize=visualMapModel.itemSize;var viewData=this._getViewData();var endsText=viewData.endsText;var showLabel=retrieve(visualMapModel.get('showLabel',true),!endsText);endsText&&this._renderEndsText(thisGroup,endsText[0],itemSize,showLabel,itemAlign);each$1(viewData.viewPieceList,renderItem,this);endsText&&this._renderEndsText(thisGroup,endsText[1],itemSize,showLabel,itemAlign);box(visualMapModel.get('orient'),thisGroup,visualMapModel.get('itemGap'));this.renderBackground(thisGroup);this.positionGroup(thisGroup);function renderItem(item){var piece=item.piece;var itemGroup=new Group();itemGroup.onclick=bind(this._onItemClick,this,piece);this._enableHoverLink(itemGroup,item.indexInModelPieceList);var representValue=visualMapModel.getRepresentValue(piece);this._createItemSymbol(itemGroup,representValue,[0,0,itemSize[0],itemSize[1]]);if(showLabel){var visualState=this.visualMapModel.getValueState(representValue);itemGroup.add(new Text({style:{x:itemAlign==='right'?-textGap:itemSize[0]+textGap,y:itemSize[1]/2,text:piece.text,textVerticalAlign:'middle',textAlign:itemAlign,textFont:textFont,textFill:textFill,opacity:visualState==='outOfRange'?0.5:1}}))}thisGroup.add(itemGroup)}},_enableHoverLink:function(itemGroup,pieceIndex){itemGroup.on('mouseover',bind(onHoverLink,this,'highlight')).on('mouseout',bind(onHoverLink,this,'downplay'));function onHoverLink(method){var visualMapModel=this.visualMapModel;visualMapModel.option.hoverLink&&this.api.dispatchAction({type:method,batch:makeHighDownBatch(visualMapModel.findTargetDataIndices(pieceIndex),visualMapModel)})}},_getItemAlign:function(){var visualMapModel=this.visualMapModel;var modelOption=visualMapModel.option;if(modelOption.orient==='vertical'){return getItemAlign(visualMapModel,this.api,visualMapModel.itemSize)}else{var align=modelOption.align;if(!align||align==='auto'){align='left'}return align}},_renderEndsText:function(group,text,itemSize,showLabel,itemAlign){if(!text){return}var itemGroup=new Group();var textStyleModel=this.visualMapModel.textStyleModel;itemGroup.add(new Text({style:{x:showLabel?(itemAlign==='right'?itemSize[0]:0):itemSize[0]/2,y:itemSize[1]/2,textVerticalAlign:'middle',textAlign:showLabel?itemAlign:'center',text:text,textFont:textStyleModel.getFont(),textFill:textStyleModel.getTextColor()}}));group.add(itemGroup)},_getViewData:function(){var visualMapModel=this.visualMapModel;var viewPieceList=map(visualMapModel.getPieceList(),function(piece,index){return{piece:piece,indexInModelPieceList:index}});var endsText=visualMapModel.get('text');var orient=visualMapModel.get('orient');var inverse=visualMapModel.get('inverse');if(orient==='horizontal'?inverse:!inverse){viewPieceList.reverse()}else if(endsText){endsText=endsText.slice().reverse()}return{viewPieceList:viewPieceList,endsText:endsText}},_createItemSymbol:function(group,representValue,shapeParam){group.add(createSymbol(this.getControllerVisual(representValue,'symbol'),shapeParam[0],shapeParam[1],shapeParam[2],shapeParam[3],this.getControllerVisual(representValue,'color')))},_onItemClick:function(piece){var visualMapModel=this.visualMapModel;var option=visualMapModel.option;var selected=clone(option.selected);var newKey=visualMapModel.getSelectedMapKey(piece);if(option.selectedMode==='single'){selected[newKey]=true;each$1(selected,function(o,key){selected[key]=key===newKey})}else{selected[newKey]=!selected[newKey]}this.api.dispatchAction({type:'selectDataRange',from:this.uid,visualMapId:this.visualMapModel.id,selected:selected})}});registerPreprocessor(preprocessor$3);var urn='urn:schemas-microsoft-com:vml';var win=typeof window==='undefined'?null:window;var vmlInited=false;var doc=win&&win.document;function createNode(tagName){return doCreateNode(tagName)}var doCreateNode;if(doc&&!env$1.canvasSupported){try{!doc.namespaces.zrvml&&doc.namespaces.add('zrvml',urn);doCreateNode=function(tagName){return doc.createElement('')}}catch(e){doCreateNode=function(tagName){return doc.createElement('<'+tagName+' xmlns="'+urn+'" class="zrvml">')}}}function initVML(){if(vmlInited||!doc){return}vmlInited=true;var styleSheets=doc.styleSheets;if(styleSheets.length<31){doc.createStyleSheet().addRule('.zrvml','behavior:url(#default#VML)')}else{styleSheets[0].addRule('.zrvml','behavior:url(#default#VML)')}}var CMD$3=PathProxy.CMD;var round$3=Math.round;var sqrt=Math.sqrt;var abs$1=Math.abs;var cos=Math.cos;var sin=Math.sin;var mathMax$9=Math.max;if(!env$1.canvasSupported){var comma=',';var imageTransformPrefix='progid:DXImageTransform.Microsoft';var Z=21600;var Z2=Z/2;var ZLEVEL_BASE=100000;var Z_BASE$1=1000;var initRootElStyle=function(el){el.style.cssText='position:absolute;left:0;top:0;width:1px;height:1px;';el.coordsize=Z+','+Z;el.coordorigin='0,0'};var encodeHtmlAttribute=function(s){return String(s).replace(/&/g,'&').replace(/"/g,'"')};var rgb2Str=function(r,g,b){return'rgb('+[r,g,b].join(',')+')'};var append=function(parent,child){if(child&&parent&&child.parentNode!==parent){parent.appendChild(child)}};var remove=function(parent,child){if(child&&parent&&child.parentNode===parent){parent.removeChild(child)}};var getZIndex=function(zlevel,z,z2){return(parseFloat(zlevel)||0)*ZLEVEL_BASE+(parseFloat(z)||0)*Z_BASE$1+z2};var parsePercent$3=parsePercent;var setColorAndOpacity=function(el,color,opacity){var colorArr=parse(color);opacity=+opacity;if(isNaN(opacity)){opacity=1}if(colorArr){el.color=rgb2Str(colorArr[0],colorArr[1],colorArr[2]);el.opacity=opacity*colorArr[3]}};var getColorAndAlpha=function(color){var colorArr=parse(color);return[rgb2Str(colorArr[0],colorArr[1],colorArr[2]),colorArr[3]]};var updateFillNode=function(el,style,zrEl){var fill=style.fill;if(fill!=null){if(fill instanceof Gradient){var gradientType;var angle=0;var focus=[0,0];var shift=0;var expansion=1;var rect=zrEl.getBoundingRect();var rectWidth=rect.width;var rectHeight=rect.height;if(fill.type==='linear'){gradientType='gradient';var transform=zrEl.transform;var p0=[fill.x*rectWidth,fill.y*rectHeight];var p1=[fill.x2*rectWidth,fill.y2*rectHeight];if(transform){applyTransform(p0,p0,transform);applyTransform(p1,p1,transform)}var dx=p1[0]-p0[0];var dy=p1[1]-p0[1];angle=Math.atan2(dx,dy)*180/Math.PI;if(angle<0){angle+=360}if(angle<1e-6){angle=0}}else{gradientType='gradientradial';var p0=[fill.x*rectWidth,fill.y*rectHeight];var transform=zrEl.transform;var scale$$1=zrEl.scale;var width=rectWidth;var height=rectHeight;focus=[(p0[0]-rect.x)/width,(p0[1]-rect.y)/height];if(transform){applyTransform(p0,p0,transform)}width/=scale$$1[0]*Z;height/=scale$$1[1]*Z;var dimension=mathMax$9(width,height);shift=2*0/dimension;expansion=2*fill.r/dimension-shift}var stops=fill.colorStops.slice();stops.sort(function(cs1,cs2){return cs1.offset-cs2.offset});var length$$1=stops.length;var colorAndAlphaList=[];var colors=[];for(var i=0;i=2){var color1=colorAndAlphaList[0][0];var color2=colorAndAlphaList[1][0];var opacity1=colorAndAlphaList[0][1]*style.opacity;var opacity2=colorAndAlphaList[1][1]*style.opacity;el.type=gradientType;el.method='none';el.focus='100%';el.angle=angle;el.color=color1;el.color2=color2;el.colors=colors.join(',');el.opacity=opacity2;el.opacity2=opacity1}if(gradientType==='radial'){el.focusposition=focus.join(',')}}else{setColorAndOpacity(el,fill,style.opacity)}}};var updateStrokeNode=function(el,style){if(style.lineDash){el.dashstyle=style.lineDash.join(' ')}if(style.stroke!=null&&!(style.stroke instanceof Gradient)){setColorAndOpacity(el,style.stroke,style.opacity)}};var updateFillAndStroke=function(vmlEl,type,style,zrEl){var isFill=type==='fill';var el=vmlEl.getElementsByTagName(type)[0];if(style[type]!=null&&style[type]!=='none'&&(isFill||(!isFill&&style.lineWidth))){vmlEl[isFill?'filled':'stroked']='true';if(style[type]instanceof Gradient){remove(vmlEl,el)}if(!el){el=createNode(type)}isFill?updateFillNode(el,style,zrEl):updateStrokeNode(el,style);append(vmlEl,el)}else{vmlEl[isFill?'filled':'stroked']='false';remove(vmlEl,el)}};var points$3=[[],[],[]];var pathDataToString=function(path,m){var M=CMD$3.M;var C=CMD$3.C;var L=CMD$3.L;var A=CMD$3.A;var Q=CMD$3.Q;var str=[];var nPoint;var cmdStr;var cmd;var i;var xi;var yi;var data=path.data;var dataLength=path.len();for(i=0;i1e-2){if(clockwise){x0+=270/Z}}else{if(Math.abs(y0-cy)<1e-4){if((clockwise&&x0cx)){y1-=270/Z}else{y1+=270/Z}}else if((clockwise&&y0cy)){x1+=270/Z}else{x1-=270/Z}}}str.push(type,round$3(((cx-rx)*sx+x)*Z-Z2),comma,round$3(((cy-ry)*sy+y)*Z-Z2),comma,round$3(((cx+rx)*sx+x)*Z-Z2),comma,round$3(((cy+ry)*sy+y)*Z-Z2),comma,round$3((x0*sx+x)*Z-Z2),comma,round$3((y0*sy+y)*Z-Z2),comma,round$3((x1*sx+x)*Z-Z2),comma,round$3((y1*sy+y)*Z-Z2));xi=x1;yi=y1;break;case CMD$3.R:var p0=points$3[0];var p1=points$3[1];p0[0]=data[i++];p0[1]=data[i++];p1[0]=p0[0]+data[i++];p1[1]=p0[1]+data[i++];if(m){applyTransform(p0,p0,m);applyTransform(p1,p1,m)}p0[0]=round$3(p0[0]*Z-Z2);p1[0]=round$3(p1[0]*Z-Z2);p0[1]=round$3(p0[1]*Z-Z2);p1[1]=round$3(p1[1]*Z-Z2);str.push(' m ',p0[0],comma,p0[1],' l ',p1[0],comma,p0[1],' l ',p1[0],comma,p1[1],' l ',p0[0],comma,p1[1]);break;case CMD$3.Z:str.push(' x ')}if(nPoint>0){str.push(cmdStr);for(var k=0;kMAX_FONT_CACHE_SIZE){fontStyleCacheCount=0;fontStyleCache={}}var style=fontEl.style;var fontFamily;try{style.font=fontString;fontFamily=style.fontFamily.split(',')[0]}catch(e){}fontStyle={style:style.fontStyle||DEFAULT_STYLE_NORMAL,variant:style.fontVariant||DEFAULT_STYLE_NORMAL,weight:style.fontWeight||DEFAULT_STYLE_NORMAL,size:parseFloat(style.fontSize||12)|0,family:fontFamily||'Microsoft YaHei'};fontStyleCache[fontString]=fontStyle;fontStyleCacheCount++}return fontStyle};var textMeasureEl;$override$1('measureText',function(text,textFont){var doc$$1=doc;if(!textMeasureEl){textMeasureEl=doc$$1.createElement('div');textMeasureEl.style.cssText='position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;';doc.body.appendChild(textMeasureEl)}try{textMeasureEl.style.font=textFont}catch(ex){}textMeasureEl.innerHTML='';textMeasureEl.appendChild(doc$$1.createTextNode(text));return{width:textMeasureEl.offsetWidth}});var tmpRect$2=new BoundingRect();var drawRectText=function(vmlRoot,rect,textRect,fromTextEl){var style=this.style;this.__dirty&&normalizeTextStyle(style,true);var text=style.text;text!=null&&(text+='');if(!text){return}if(style.rich){var contentBlock=parseRichText(text,style);text=[];for(var i=0;i-EPSILON$4}function pathHasFill(style,isText){var fill=isText?style.textFill:style.fill;return fill!=null&&fill!==NONE}function pathHasStroke(style,isText){var stroke=isText?style.textStroke:style.stroke;return stroke!=null&&stroke!==NONE}function setTransform(svgEl,m){if(m){attr(svgEl,'transform','matrix('+arrayJoin.call(m,',')+')')}}function attr(el,key,val){if(!val||val.type!=='linear'&&val.type!=='radial'){el.setAttribute(key,val)}}function attrXLink(el,key,val){el.setAttributeNS('http://www.w3.org/1999/xlink',key,val)}function bindStyle(svgEl,style,isText,el){if(pathHasFill(style,isText)){var fill=isText?style.textFill:style.fill;fill=fill==='transparent'?NONE:fill;attr(svgEl,'fill',fill);attr(svgEl,'fill-opacity',style.fillOpacity!=null?style.fillOpacity*style.opacity:style.opacity)}else{attr(svgEl,'fill',NONE)}if(pathHasStroke(style,isText)){var stroke=isText?style.textStroke:style.stroke;stroke=stroke==='transparent'?NONE:stroke;attr(svgEl,'stroke',stroke);var strokeWidth=isText?style.textStrokeWidth:style.lineWidth;var strokeScale=!isText&&style.strokeNoScale?el.getLineScale():1;attr(svgEl,'stroke-width',strokeWidth/strokeScale);attr(svgEl,'paint-order',isText?'stroke':'fill');attr(svgEl,'stroke-opacity',style.strokeOpacity!=null?style.strokeOpacity:style.opacity);var lineDash=style.lineDash;if(lineDash){attr(svgEl,'stroke-dasharray',style.lineDash.join(','));attr(svgEl,'stroke-dashoffset',mathRound(style.lineDashOffset||0))}else{attr(svgEl,'stroke-dasharray','')}style.lineCap&&attr(svgEl,'stroke-linecap',style.lineCap);style.lineJoin&&attr(svgEl,'stroke-linejoin',style.lineJoin);style.miterLimit&&attr(svgEl,'stroke-miterlimit',style.miterLimit)}else{attr(svgEl,'stroke',NONE)}}function pathDataToString$1(path){var str=[];var data=path.data;var dataLength=path.len();for(var i=0;i=PI2$6:-dTheta>=PI2$6);var unifiedTheta=dTheta>0?dTheta%PI2$6:(dTheta%PI2$6+PI2$6);var large=false;if(isCircle){large=true}else if(isAroundZero$1(dThetaPositive)){large=false}else{large=(unifiedTheta>=PI$6)===!!clockwise}var x0=round4(cx+rx*mathCos$3(theta));var y0=round4(cy+ry*mathSin$3(theta));if(isCircle){if(clockwise){dTheta=PI2$6-1e-4}else{dTheta=-PI2$6+1e-4}large=true;if(i===9){str.push('M',x0,y0)}}var x=round4(cx+rx*mathCos$3(theta+dTheta));var y=round4(cy+ry*mathSin$3(theta+dTheta));str.push('A',round4(rx),round4(ry),mathRound(psi*degree),+large,+clockwise,x,y);break;case CMD$4.Z:cmdStr='Z';break;case CMD$4.R:var x=round4(data[i++]);var y=round4(data[i++]);var w=round4(data[i++]);var h=round4(data[i++]);str.push('M',x,y,'L',x+w,y,'L',x+w,y+h,'L',x,y+h,'L',x,y);break}cmdStr&&str.push(cmdStr);for(var j=0;jnTextLines){for(;idx=newLen&&oldPos+1>=oldLen){var indices=[];for(var i=0;i=newLen&&oldPos+1>=oldLen){return buildValues(self,basePath.components,newArr,oldArr)}else{bestPath[diagonalPath]=basePath}}editLength++}while(editLength<=maxEditLength){var ret=execEditLength();if(ret){return ret}}},pushComponent:function(components,added,removed){var last=components[components.length-1];if(last&&last.added===added&&last.removed===removed){components[components.length-1]={count:last.count+1,added:added,removed:removed}}else{components.push({count:1,added:added,removed:removed})}},extractCommon:function(basePath,newArr,oldArr,diagonalPath){var newLen=newArr.length;var oldLen=oldArr.length;var newPos=basePath.newPos;var oldPos=newPos-diagonalPath;var commonCount=0;while(newPos+1=0;--i){if(children[i]===el){return true}}return false}}return defs}else{return null}}else{return defs[0]}};Definable.prototype.update=function(element,onUpdate){if(!element){return}var defs=this.getDefs(false);if(element[this._domName]&&defs.contains(element[this._domName])){if(typeof onUpdate==='function'){onUpdate(element)}}else{var dom=this.add(element);if(dom){element[this._domName]=dom}}};Definable.prototype.addDom=function(dom){var defs=this.getDefs(true);defs.appendChild(dom)};Definable.prototype.removeDom=function(element){var defs=this.getDefs(false);if(defs&&element[this._domName]){defs.removeChild(element[this._domName]);element[this._domName]=null}};Definable.prototype.getDoms=function(){var defs=this.getDefs(false);if(!defs){return[]}var doms=[];each$1(this._tagNames,function(tagName){var tags=defs.getElementsByTagName(tagName);doms=doms.concat([].slice.call(tags))});return doms};Definable.prototype.markAllUnused=function(){var doms=this.getDoms();var that=this;each$1(doms,function(dom){dom[that._markLabel]=MARK_UNUSED})};Definable.prototype.markUsed=function(dom){if(dom){dom[this._markLabel]=MARK_USED}};Definable.prototype.removeUnused=function(){var defs=this.getDefs(false);if(!defs){return}var doms=this.getDoms();var that=this;each$1(doms,function(dom){if(dom[that._markLabel]!==MARK_USED){defs.removeChild(dom)}})};Definable.prototype.getSvgProxy=function(displayable){if(displayable instanceof Path){return svgPath}else if(displayable instanceof ZImage){return svgImage}else if(displayable instanceof Text){return svgText}else{return svgPath}};Definable.prototype.getTextSvgElement=function(displayable){return displayable.__textSvgEl};Definable.prototype.getSvgElement=function(displayable){return displayable.__svgEl};function GradientManager(zrId,svgRoot){Definable.call(this,zrId,svgRoot,['linearGradient','radialGradient'],'__gradient_in_use__')}inherits(GradientManager,Definable);GradientManager.prototype.addWithoutUpdate=function(svgElement,displayable){if(displayable&&displayable.style){var that=this;each$1(['fill','stroke'],function(fillOrStroke){if(displayable.style[fillOrStroke]&&(displayable.style[fillOrStroke].type==='linear'||displayable.style[fillOrStroke].type==='radial')){var gradient=displayable.style[fillOrStroke];var defs=that.getDefs(true);var dom;if(gradient._dom){dom=gradient._dom;if(!defs.contains(gradient._dom)){that.addDom(dom)}}else{dom=that.add(gradient)}that.markUsed(displayable);var id=dom.getAttribute('id');svgElement.setAttribute(fillOrStroke,'url(#'+id+')')}})}};GradientManager.prototype.add=function(gradient){var dom;if(gradient.type==='linear'){dom=this.createElement('linearGradient')}else if(gradient.type==='radial'){dom=this.createElement('radialGradient')}else{logError$1('Illegal gradient type.');return null}gradient.id=gradient.id||this.nextId++;dom.setAttribute('id','zr'+this._zrId+'-gradient-'+gradient.id);this.updateDom(gradient,dom);this.addDom(dom);return dom};GradientManager.prototype.update=function(gradient){var that=this;Definable.prototype.update.call(this,gradient,function(){var type=gradient.type;var tagName=gradient._dom.tagName;if(type==='linear'&&tagName==='linearGradient'||type==='radial'&&tagName==='radialGradient'){that.updateDom(gradient,gradient._dom)}else{that.removeDom(gradient);that.add(gradient)}})};GradientManager.prototype.updateDom=function(gradient,dom){if(gradient.type==='linear'){dom.setAttribute('x1',gradient.x);dom.setAttribute('y1',gradient.y);dom.setAttribute('x2',gradient.x2);dom.setAttribute('y2',gradient.y2)}else if(gradient.type==='radial'){dom.setAttribute('cx',gradient.x);dom.setAttribute('cy',gradient.y);dom.setAttribute('r',gradient.r)}else{logError$1('Illegal gradient type.');return}if(gradient.global){dom.setAttribute('gradientUnits','userSpaceOnUse')}else{dom.setAttribute('gradientUnits','objectBoundingBox')}dom.innerHTML='';var colors=gradient.colorStops;for(var i=0,len=colors.length;i-1)){var opacity=parse(color)[3];var hex=toHex(color);stop.setAttribute('stop-color','#'+hex);stop.setAttribute('stop-opacity',opacity)}else{stop.setAttribute('stop-color',colors[i].color)}dom.appendChild(stop)}gradient._dom=dom};GradientManager.prototype.markUsed=function(displayable){if(displayable.style){var gradient=displayable.style.fill;if(gradient&&gradient._dom){Definable.prototype.markUsed.call(this,gradient._dom)}gradient=displayable.style.stroke;if(gradient&&gradient._dom){Definable.prototype.markUsed.call(this,gradient._dom)}}};function ClippathManager(zrId,svgRoot){Definable.call(this,zrId,svgRoot,'clipPath','__clippath_in_use__')}inherits(ClippathManager,Definable);ClippathManager.prototype.update=function(displayable){var svgEl=this.getSvgElement(displayable);if(svgEl){this.updateDom(svgEl,displayable.__clipPaths,false)}var textEl=this.getTextSvgElement(displayable);if(textEl){this.updateDom(textEl,displayable.__clipPaths,true)}this.markUsed(displayable)};ClippathManager.prototype.updateDom=function(parentEl,clipPaths,isText){if(clipPaths&&clipPaths.length>0){var defs=this.getDefs(true);var clipPath=clipPaths[0];var clipPathEl;var id;var dom=isText?'_textDom':'_dom';if(clipPath[dom]){id=clipPath[dom].getAttribute('id');clipPathEl=clipPath[dom];if(!defs.contains(clipPathEl)){defs.appendChild(clipPathEl)}}else{id='zr'+this._zrId+'-clip-'+this.nextId;++this.nextId;clipPathEl=this.createElement('clipPath');clipPathEl.setAttribute('id',id);defs.appendChild(clipPathEl);clipPath[dom]=clipPathEl}var svgProxy=this.getSvgProxy(clipPath);if(clipPath.transform&&clipPath.parent.invTransform&&!isText){var transform=Array.prototype.slice.call(clipPath.transform);mul$1(clipPath.transform,clipPath.parent.invTransform,clipPath.transform);svgProxy.brush(clipPath);clipPath.transform=transform}else{svgProxy.brush(clipPath)}var pathEl=this.getSvgElement(clipPath);clipPathEl.innerHTML='';clipPathEl.appendChild(pathEl.cloneNode());parentEl.setAttribute('clip-path','url(#'+id+')');if(clipPaths.length>1){this.updateDom(clipPathEl,clipPaths.slice(1),isText)}}else{if(parentEl){parentEl.setAttribute('clip-path','none')}}};ClippathManager.prototype.markUsed=function(displayable){var that=this;if(displayable.__clipPaths){each$1(displayable.__clipPaths,function(clipPath){if(clipPath._dom){Definable.prototype.markUsed.call(that,clipPath._dom)}if(clipPath._textDom){Definable.prototype.markUsed.call(that,clipPath._textDom)}})}};function ShadowManager(zrId,svgRoot){Definable.call(this,zrId,svgRoot,['filter'],'__filter_in_use__','_shadowDom')}inherits(ShadowManager,Definable);ShadowManager.prototype.addWithoutUpdate=function(svgElement,displayable){if(displayable&&hasShadow(displayable.style)){var dom;if(displayable._shadowDom){dom=displayable._shadowDom;var defs=this.getDefs(true);if(!defs.contains(displayable._shadowDom)){this.addDom(dom)}}else{dom=this.add(displayable)}this.markUsed(displayable);var id=dom.getAttribute('id');svgElement.style.filter='url(#'+id+')'}};ShadowManager.prototype.add=function(displayable){var dom=this.createElement('filter');displayable._shadowDomId=displayable._shadowDomId||this.nextId++;dom.setAttribute('id','zr'+this._zrId+'-shadow-'+displayable._shadowDomId);this.updateDom(displayable,dom);this.addDom(dom);return dom};ShadowManager.prototype.update=function(svgElement,displayable){var style=displayable.style;if(hasShadow(style)){var that=this;Definable.prototype.update.call(this,displayable,function(){that.updateDom(displayable,displayable._shadowDom)})}else{this.remove(svgElement,displayable)}};ShadowManager.prototype.remove=function(svgElement,displayable){if(displayable._shadowDomId!=null){this.removeDom(svgElement);svgElement.style.filter=''}};ShadowManager.prototype.updateDom=function(displayable,dom){var domChild=dom.getElementsByTagName('feDropShadow');if(domChild.length===0){domChild=this.createElement('feDropShadow')}else{domChild=domChild[0]}var style=displayable.style;var scaleX=displayable.scale?(displayable.scale[0]||1):1;var scaleY=displayable.scale?(displayable.scale[1]||1):1;var offsetX;var offsetY;var blur;var color;if(style.shadowBlur||style.shadowOffsetX||style.shadowOffsetY){offsetX=style.shadowOffsetX||0;offsetY=style.shadowOffsetY||0;blur=style.shadowBlur;color=style.shadowColor}else if(style.textShadowBlur){offsetX=style.textShadowOffsetX||0;offsetY=style.textShadowOffsetY||0;blur=style.textShadowBlur;color=style.textShadowColor}else{this.removeDom(dom,style);return}domChild.setAttribute('dx',offsetX/scaleX);domChild.setAttribute('dy',offsetY/scaleY);domChild.setAttribute('flood-color',color);var stdDx=blur/2/scaleX;var stdDy=blur/2/scaleY;var stdDeviation=stdDx+' '+stdDy;domChild.setAttribute('stdDeviation',stdDeviation);dom.setAttribute('x','-100%');dom.setAttribute('y','-100%');dom.setAttribute('width',Math.ceil(blur/2*200)+'%');dom.setAttribute('height',Math.ceil(blur/2*200)+'%');dom.appendChild(domChild);displayable._shadowDom=dom};ShadowManager.prototype.markUsed=function(displayable){if(displayable._shadowDom){Definable.prototype.markUsed.call(this,displayable._shadowDom)}};function hasShadow(style){return style&&(style.shadowBlur||style.shadowOffsetX||style.shadowOffsetY||style.textShadowBlur||style.textShadowOffsetX||style.textShadowOffsetY)}function parseInt10$2(val){return parseInt(val,10)}function getSvgProxy(el){if(el instanceof Path){return svgPath}else if(el instanceof ZImage){return svgImage}else if(el instanceof Text){return svgText}else{return svgPath}}function checkParentAvailable(parent,child){return child&&parent&&child.parentNode!==parent}function insertAfter(parent,child,prevSibling){if(checkParentAvailable(parent,child)&&prevSibling){var nextSibling=prevSibling.nextSibling;nextSibling?parent.insertBefore(child,nextSibling):parent.appendChild(child)}}function prepend(parent,child){if(checkParentAvailable(parent,child)){var firstChild=parent.firstChild;firstChild?parent.insertBefore(child,firstChild):parent.appendChild(child)}}function remove$1(parent,child){if(child&&parent&&child.parentNode===parent){parent.removeChild(child)}}function getTextSvgElement(displayable){return displayable.__textSvgEl}function getSvgElement(displayable){return displayable.__svgEl}var SVGPainter=function(root,storage,opts,zrId){this.root=root;this.storage=storage;this._opts=opts=extend({},opts||{});var svgDom=createElement('svg');svgDom.setAttribute('xmlns','http://www.w3.org/2000/svg');svgDom.setAttribute('version','1.1');svgDom.setAttribute('baseProfile','full');svgDom.style.cssText='user-select:none;position:absolute;left:0;top:0;';var bgRoot=createElement('g');svgDom.appendChild(bgRoot);var svgRoot=createElement('g');svgDom.appendChild(svgRoot);this.gradientManager=new GradientManager(zrId,svgRoot);this.clipPathManager=new ClippathManager(zrId,svgRoot);this.shadowManager=new ShadowManager(zrId,svgRoot);var viewport=document.createElement('div');viewport.style.cssText='overflow:hidden;position:relative';this._svgDom=svgDom;this._svgRoot=svgRoot;this._backgroundRoot=bgRoot;this._viewport=viewport;root.appendChild(viewport);viewport.appendChild(svgDom);this.resize(opts.width,opts.height);this._visibleList=[]};SVGPainter.prototype={constructor:SVGPainter,getType:function(){return'svg'},getViewportRoot:function(){return this._viewport},getSvgDom:function(){return this._svgDom},getSvgRoot:function(){return this._svgRoot},getViewportRootOffset:function(){var viewportRoot=this.getViewportRoot();if(viewportRoot){return{offsetLeft:viewportRoot.offsetLeft||0,offsetTop:viewportRoot.offsetTop||0}}},refresh:function(){var list=this.storage.getDisplayList(true);this._paintList(list)},setBackgroundColor:function(backgroundColor){if(this._backgroundRoot&&this._backgroundNode){this._backgroundRoot.removeChild(this._backgroundNode)}var bgNode=createElement('rect');bgNode.setAttribute('width',this.getWidth());bgNode.setAttribute('height',this.getHeight());bgNode.setAttribute('x',0);bgNode.setAttribute('y',0);bgNode.setAttribute('id',0);bgNode.style.fill=backgroundColor;this._backgroundRoot.appendChild(bgNode);this._backgroundNode=bgNode},_paintList:function(list){this.gradientManager.markAllUnused();this.clipPathManager.markAllUnused();this.shadowManager.markAllUnused();var svgRoot=this._svgRoot;var visibleList=this._visibleList;var listLen=list.length;var newVisibleList=[];var i;for(i=0;i=0;--i){if(children[i]===el){return true}}return false}}return defs}else{return null}}else{return defs[0]}},resize:function(width,height){var viewport=this._viewport;viewport.style.display='none';var opts=this._opts;width!=null&&(opts.width=width);height!=null&&(opts.height=height);width=this._getSize(0);height=this._getSize(1);viewport.style.display='';if(this._width!==width||this._height!==height){this._width=width;this._height=height;var viewportStyle=viewport.style;viewportStyle.width=width+'px';viewportStyle.height=height+'px';var svgRoot=this._svgDom;svgRoot.setAttribute('width',width);svgRoot.setAttribute('height',height)}if(this._backgroundNode){this._backgroundNode.setAttribute('width',width);this._backgroundNode.setAttribute('height',height)}},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(whIdx){var opts=this._opts;var wh=['width','height'][whIdx];var cwh=['clientWidth','clientHeight'][whIdx];var plt=['paddingLeft','paddingTop'][whIdx];var prb=['paddingRight','paddingBottom'][whIdx];if(opts[wh]!=null&&opts[wh]!=='auto'){return parseFloat(opts[wh])}var root=this.root;var stl=document.defaultView.getComputedStyle(root);return((root[cwh]||parseInt10$2(stl[wh])||parseInt10$2(root.style[wh]))-(parseInt10$2(stl[plt])||0)-(parseInt10$2(stl[prb])||0))|0},dispose:function(){this.root.innerHTML='';this._svgRoot=this._backgroundRoot=this._svgDom=this._backgroundNode=this._viewport=this.storage=null},clear:function(){if(this._viewport){this.root.removeChild(this._viewport)}},toDataURL:function(){this.refresh();var html=encodeURIComponent(this._svgDom.outerHTML.replace(/>\n\r<'));return'data:image/svg+xml;charset=UTF-8,'+html}};function createMethodNotSupport$1(method){return function(){logError$1('In SVG mode painter not support method "'+method+'"')}}each$1(['getLayer','insertLayer','eachLayer','eachBuiltinLayer','eachOtherLayer','getLayers','modLayer','delLayer','clearLayer','pathToImage'],function(name){SVGPainter.prototype[name]=createMethodNotSupport$1(name)});registerPainter('svg',SVGPainter);exports.version=version;exports.dependencies=dependencies;exports.PRIORITY=PRIORITY;exports.init=init;exports.connect=connect;exports.disConnect=disConnect;exports.disconnect=disconnect;exports.dispose=dispose;exports.getInstanceByDom=getInstanceByDom;exports.getInstanceById=getInstanceById;exports.registerTheme=registerTheme;exports.registerPreprocessor=registerPreprocessor;exports.registerProcessor=registerProcessor;exports.registerPostUpdate=registerPostUpdate;exports.registerAction=registerAction;exports.registerCoordinateSystem=registerCoordinateSystem;exports.getCoordinateSystemDimensions=getCoordinateSystemDimensions;exports.registerLayout=registerLayout;exports.registerVisual=registerVisual;exports.registerLoading=registerLoading;exports.extendComponentModel=extendComponentModel;exports.extendComponentView=extendComponentView;exports.extendSeriesModel=extendSeriesModel;exports.extendChartView=extendChartView;exports.setCanvasCreator=setCanvasCreator;exports.registerMap=registerMap;exports.getMap=getMap;exports.dataTool=dataTool;exports.zrender=zrender;exports.number=number;exports.format=format;exports.throttle=throttle;exports.helper=helper;exports.matrix=matrix;exports.vector=vector;exports.color=color;exports.parseGeoJSON=parseGeoJson$1;exports.parseGeoJson=parseGeoJson;exports.util=ecUtil;exports.graphic=graphic$1;exports.List=List;exports.Model=Model;exports.Axis=Axis;exports.env=env$1})));