mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-05-22 16:09:37 +08:00
1 line
20 KiB
JavaScript
1 line
20 KiB
JavaScript
![]() |
define("echarts/chart/chord",["require","../component/base","./base","zrender/shape/Text","zrender/shape/Line","zrender/shape/Sector","../util/shape/Ribbon","../util/shape/Icon","zrender/shape/BezierCurve","../config","../util/ecData","zrender/tool/util","zrender/tool/vector","../data/Graph","../layout/Chord","../chart"],function(e){"use strict";function t(e,t,a,o,s){i.call(this,e,t,a,o,s),n.call(this),this.scaleLineLength=4,this.scaleUnitAngle=4,this.refresh(o)}var i=e("../component/base"),n=e("./base"),a=e("zrender/shape/Text"),o=e("zrender/shape/Line"),s=e("zrender/shape/Sector"),r=e("../util/shape/Ribbon"),l=e("../util/shape/Icon"),h=e("zrender/shape/BezierCurve"),d=e("../config"),c=e("../util/ecData"),m=e("zrender/tool/util"),p=e("zrender/tool/vector"),u=e("../data/Graph"),V=e("../layout/Chord");return t.prototype={type:d.CHART_TYPE_CHORD,_init:function(){var e=this.series;this.selectedMap={};for(var t={},i={},n=0,a=e.length;a>n;n++)if(e[n].type===this.type){var o=this.isSelected(e[n].name);this.selectedMap[e[n].name]=o,o&&this.buildMark(n),this.reformOption(e[n]),t[e[n].name]=e[n]}for(var n=0,a=e.length;a>n;n++)if(e[n].type===this.type)if(e[n].insertToSerie){var s=t[e[n].insertToSerie];e[n]._referenceSerie=s}else i[e[n].name]=[e[n]];for(var n=0,a=e.length;a>n;n++)if(e[n].type===this.type&&e[n].insertToSerie){for(var r=e[n]._referenceSerie;r&&r._referenceSerie;)r=r._referenceSerie;i[r.name]&&this.selectedMap[e[n].name]&&i[r.name].push(e[n])}for(var l in i)this._buildChords(i[l]);this.addShapeList()},_getNodeCategory:function(e,t){return e.categories&&e.categories[t.category||0]},_getNodeQueryTarget:function(e,t){var i=this._getNodeCategory(e,t);return[t,i,e]},_getEdgeQueryTarget:function(e,t,i){return i=i||"normal",[t.itemStyle&&t.itemStyle[i],e.itemStyle[i].chordStyle]},_buildChords:function(e){for(var t=[],i=e[0],n=function(e){return e.layout.size>0},a=0;a<e.length;a++){var o=e[a];if(this.selectedMap[o.name]){var s;o.data&&o.matrix?s=this._getSerieGraphFromDataMatrix(o,i):o.nodes&&o.links&&(s=this._getSerieGraphFromNodeLinks(o,i)),s.filterNode(n,this),t.push(s),s.__serie=o}}if(t.length){var r=t[0];if(!i.ribbonType){var l=i.minRadius,h=i.maxRadius,d=1/0,c=-1/0;r.eachNode(function(e){c=Math.max(e.layout.size,c),d=Math.min(e.layout.size,d)});var m=(h-l)/(c-d);r.eachNode(function(e){var t=this._getNodeQueryTarget(i,e),n=this.query(t,"symbolSize");e.layout.size=c===d?n||d:n||(e.layout.size-d)*m+l},this)}var p=new V;p.clockWise=i.clockWise,p.startAngle=i.startAngle*Math.PI/180,p.clockWise||(p.startAngle=-p.startAngle),p.padding=i.padding*Math.PI/180,p.sort=i.sort,p.sortSub=i.sortSub,p.directed=i.ribbonType,p.run(t);var u=this.query(i,"itemStyle.normal.label.show");if(i.ribbonType){this._buildSectors(i,0,r,i,t),u&&this._buildLabels(i,0,r,i,t);for(var a=0,U=0;a<e.length;a++)this.selectedMap[e[a].name]&&this._buildRibbons(e,a,t[U++],i);i.showScale&&this._buildScales(i,0,r)}else{this._buildNodeIcons(i,0,r,i,t),u&&this._buildLabels(i,0,r,i,t);for(var a=0,U=0;a<e.length;a++)this.selectedMap[e[a].name]&&this._buildEdgeCurves(e,a,t[U++],i,r)}this._initHoverHandler(e,t)}},_getSerieGraphFromDataMatrix:function(e,t){for(var i=[],n=0,a=[],o=0;o<e.matrix.length;o++)a[o]=e.matrix[o].slice();for(var s=e.data||e.nodes,o=0;o<s.length;o++){var r={},l=s[o];l.rawIndex=o;for(var h in l)"name"===h?r.id=l.name:r[h]=l[h];var d=this._getNodeCategory(t,l),c=d?d.name:l.name;if(this.selectedMap[c]=this.isSelected(c),this.selectedMap[c])i.push(r),n++;else{a.splice(n,1);for(var m=0;m<a.length;m++)a[m].splice(n,1)}}var p=u.fromMatrix(i,a,!0);return p.eachNode(function(e){e.layout={size:e.data.outValue},e.rawIndex=e.data.rawIndex}),p.eachEdge(function(e){e.layout={weight:e.data.weight}}),p},_getSerieGraphFromNodeLinks:function(e,t){for(var i=new u(!0),n=e.data||e.nodes,a=0,o=n.length;o>a;a++){var s=n[a];if(s&&!s.ignore){var r=this._getNodeCategory(t,s),l=r?r.name:s.name;if(this.selectedMap[l]=this.isSelected(l),this.selectedMap[l]){var h=i.addNode(s.name,s);h.rawIndex=a}}}for(var a=0,o=e.links.length;o>a;a++){var d=e.links[a],c=d.source,m=d.target;"n
|