UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

2 lines (1 loc) 5.42 kB
"use strict";require("../../echarts/lib/echarts.js");var e=require("../../echarts/lib/util/number.js"),t=require("./liquidFillShape.js"),a=require("../../echarts/lib/export/api.js"),r=require("../../echarts/lib/animation/basicTransition.js"),i=require("../../zrender/lib/graphic/Group.js"),l=require("../../echarts/lib/util/states.js"),n=require("../../echarts/lib/export/api/helper.js"),s=require("../../zrender/lib/graphic/shape/Rect.js"),h=require("../../zrender/lib/graphic/Text.js"),u=require("../../zrender/lib/graphic/CompoundPath.js"),o=require("../../echarts/lib/util/graphic.js"),d=require("../../zrender/lib/core/BoundingRect.js"),p=require("../../echarts/lib/util/symbol.js"),g=require("../../zrender/lib/graphic/shape/Circle.js"),c=e.parsePercent;function v(e){return e&&0===e.indexOf("path://")}a.extendChartView({type:"liquidFill",render:function(e,a,y){var m=this,f=this.group;f.removeAll();var b=e.getData(),w=b.getItemModel(0),x=w.get("center"),P=w.get("radius"),S=y.getWidth(),q=y.getHeight(),M=Math.min(S,q),j=0,I=0,C=e.get("outline.show");C&&(j=e.get("outline.borderDistance"),I=c(e.get("outline.itemStyle.borderWidth"),M));var L,z,E,T=c(x[0],S),A=c(x[1],q),k=!1,F=e.get("shape");("container"===F?(k=!0,z=[(L=[S/2,q/2])[0]-I/2,L[1]-I/2],E=[c(j,S),c(j,q)],P=[Math.max(z[0]-E[0],0),Math.max(z[1]-E[1],0)]):(z=(L=c(P,M)/2)-I/2,E=c(j,M),P=Math.max(z-E,0)),C)&&(R().style.lineWidth=I,f.add(R()));var G=k?0:T-P,_=k?0:A-P,O=null;f.add(function(){var t=N(P);t.setStyle(e.getModel("backgroundStyle").getItemStyle()),t.style.fill=null,t.z2=5;var a=N(P);a.setStyle(e.getModel("backgroundStyle").getItemStyle()),a.style.stroke=null;var r=new i.default;return r.add(t),r.add(a),r}());var W=this._data,B=[];function N(e,t){if(F){if(v(F)){var a=o.makePath(F.slice(7),{}),r=a.getBoundingRect(),i=r.width,l=r.height;i>l?(l*=2*e/i,i=2*e):(i*=2*e/l,l=2*e);var n=t?0:T-i/2,s=t?0:A-l/2;return a=o.makePath(F.slice(7),{},new d.default(n,s,i,l)),t&&(a.x=-i/2,a.y=-l/2),a}if(k){var h=t?-e[0]:T-e[0],u=t?-e[1]:A-e[1];return p.createSymbol("rect",h,u,2*e[0],2*e[1])}h=t?-e:T-e,u=t?-e:A-e;return"pin"===F?u+=e:"arrow"===F&&(u-=e),p.createSymbol(F,h,u,2*e,2*e)}return new g.default({shape:{cx:t?0:T,cy:t?0:A,r:e}})}function R(){var t=N(L);return t.style.fill=null,t.setStyle(e.getModel("outline.itemStyle").getItemStyle()),t}function Y(a,r,i){var n=k?P[0]:P,s=k?q/2:P,h=b.getItemModel(a),u=h.getModel("itemStyle"),o=h.get("phase"),d=c(h.get("amplitude"),2*s),p=c(h.get("waveLength"),2*n),g=s-b.get("value",a)*s*2;o=i?i.shape.phase:"auto"===o?a*Math.PI/4:o;var v=u.getItemStyle();if(!v.fill){var y=e.get("color"),m=a%y.length;v.fill=y[m]}var f=2*n,w=new t.default({shape:{waveLength:p,radius:n,radiusY:s,cx:f,cy:0,waterLevel:g,amplitude:d,phase:o,inverse:r},style:v,x:T,y:A});w.shape._waterLevel=g;var x=h.getModel("emphasis.itemStyle").getItemStyle();x.lineWidth=0,w.ensureState("emphasis").style=x,l.enableHoverEmphasis(w);var S=N(P,!0);return S.setStyle({fill:"white"}),w.setClipPath(S),w}function D(e,t,a){var r=b.getItemModel(e),i=r.get("period"),l=r.get("direction"),n=b.get("value",e),s=r.get("phase");s=a?a.shape.phase:"auto"===s?e*Math.PI/4:s;var h,u,o=0;"auto"===i?(h=5e3,o=0===(u=b.count())?h:h*(.2+(u-e)/u*.8)):o="function"==typeof i?i(n,e):i;var d=0;"right"===l||null==l?d=Math.PI:"left"===l?d=-Math.PI:"none"===l&&(d=0),"none"!==l&&r.get("waveAnimation")&&t.animate("shape",!0).when(0,{phase:s}).when(o/2,{phase:d+s}).when(o,{phase:2*d+s}).during((function(){O&&O.dirty(!0)})).start()}b.diff(W).add((function(t){var a=Y(t,!1),i=a.shape.waterLevel;a.shape.waterLevel=k?q/2:P,r.initProps(a,{shape:{waterLevel:i}},e),a.z2=2,D(t,a,null),f.add(a),b.setItemGraphicEl(t,a),B.push(a)})).update((function(t,a){for(var i=W.getItemGraphicEl(a),l=Y(t,!1,i),n={},s=["amplitude","cx","cy","phase","radius","radiusY","waterLevel","waveLength"],h=0;h<s.length;++h){var u=s[h];l.shape.hasOwnProperty(u)&&(n[u]=l.shape[u])}var o={},d=["fill","opacity","shadowBlur","shadowColor"];for(h=0;h<d.length;++h){u=d[h];l.style.hasOwnProperty(u)&&(o[u]=l.style[u])}k&&(n.radiusY=q/2),r.updateProps(i,{shape:n,x:l.x,y:l.y},e),e.isUniversalTransitionEnabled&&e.isUniversalTransitionEnabled()?r.updateProps(i,{style:o},e):i.useStyle(o);var p=i.getClipPath(),g=l.getClipPath();i.setClipPath(l.getClipPath()),i.shape.inverse=l.inverse,p&&g&&m._shape===F&&!v(F)&&r.updateProps(g,{shape:p.shape},e,{isFrom:!0}),D(t,i,i),f.add(i),b.setItemGraphicEl(t,i),B.push(i)})).remove((function(e){var t=W.getItemGraphicEl(e);f.remove(t)})).execute(),w.get("label.show")&&f.add(function(t){var a=w.getModel("label");function r(){var t=e.getFormattedLabel(0,"normal"),a=100*b.get("value",0),r=b.getName(0)||e.name;return isNaN(a)||(r=a.toFixed(0)+"%"),null==t?r:t}var l={z2:10,shape:{x:G,y:_,width:2*(k?P[0]:P),height:2*(k?P[1]:P)},style:{fill:"transparent"},textConfig:{position:a.get("position")||"inside"},silent:!0},o={style:{text:r(),textAlign:a.get("align"),textVerticalAlign:a.get("baseline")}};Object.assign(o.style,n.createTextStyle(a));var d=new s.default(l),p=new s.default(l);p.disableLabelAnimation=!0,d.disableLabelAnimation=!0;var g=new h.default(o),c=new h.default(o);d.setTextContent(g),p.setTextContent(c);var v=a.get("insideColor");c.style.fill=v;var y=new i.default;y.add(d),y.add(p);var m=N(P,!0);return(O=new u.default({shape:{paths:t},x:T,y:A})).setClipPath(m),p.setClipPath(O),y}(B)),this._shape=F,this._data=b},dispose:function(){}});