OpenAuth.Net/OpenAuth.Mvc/Content/echarts/chart/force.js

1 line
30 KiB
JavaScript
Raw Normal View History

define("echarts/chart/force",["require","../component/base","./base","../data/Graph","../layout/Force","zrender/shape/Line","zrender/shape/BezierCurve","zrender/shape/Image","../util/shape/Icon","../config","../util/ecData","zrender/tool/util","zrender/config","zrender/tool/vector","../chart"],function(e){"use strict";function t(e,t,o,d,c){var p=this;s.call(this,e,t,o,d,c),r.call(this),this.__nodePositionMap={},this._graph=new l(!0),this._layout=new h,this._layout.onupdate=function(){p._step()},this._steps=1,this.ondragstart=function(){i.apply(p,arguments)},this.ondragend=function(){a.apply(p,arguments)},this.ondrop=function(){},this.shapeHandler.ondragstart=function(){p.isDragstart=!0},this.onmousemove=function(){n.apply(p,arguments)},this.refresh(d)}function i(e){if(this.isDragstart&&e.target){var t=e.target;t.fixed=!0,this.isDragstart=!1,this.zr.on(y.EVENT.MOUSEMOVE,this.onmousemove)}}function n(){this._layout.temperature=.8,this._step()}function a(e,t){if(this.isDragend&&e.target){var i=e.target;i.fixed=!1,t.dragIn=!0,t.needRefresh=!1,this.isDragend=!1,this.zr.un(y.EVENT.MOUSEMOVE,this.onmousemove)}}function o(e,t,i){var n=U.create();return n[0]=(Math.random()-.5)*i+e,n[1]=(Math.random()-.5)*i+t,n}var s=e("../component/base"),r=e("./base"),l=e("../data/Graph"),h=e("../layout/Force"),d=e("zrender/shape/Line"),c=e("zrender/shape/BezierCurve"),p=e("zrender/shape/Image"),m=e("../util/shape/Icon"),u=e("../config"),g=e("../util/ecData"),V=e("zrender/tool/util"),y=e("zrender/config"),U=e("zrender/tool/vector");return t.prototype={constructor:t,type:u.CHART_TYPE_FORCE,_init:function(){var e,t=this.component.legend,i=this.series;this.clear();for(var n=0,a=i.length;a>n;n++){var o=i[n];if(o.type===u.CHART_TYPE_FORCE){if(i[n]=this.reformOption(i[n]),e=i[n].name||"",this.selectedMap[e]=t?t.isSelected(e):!0,!this.selectedMap[e])continue;this.buildMark(n),this._initSerie(o,n);break}}},_getNodeCategory:function(e,t){return e.categories&&e.categories[t.category||0]},_getNodeQueryTarget:function(e,t,i){i=i||"normal";var n=this._getNodeCategory(e,t)||{};return[t.itemStyle&&t.itemStyle[i],n&&n.itemStyle&&n.itemStyle[i],e.itemStyle[i].nodeStyle]},_getEdgeQueryTarget:function(e,t,i){return i=i||"normal",[t.itemStyle&&t.itemStyle[i],e.itemStyle[i].linkStyle]},_initSerie:function(e,t){this._temperature=1,this._graph=e.data?this._getSerieGraphFromDataMatrix(e):this._getSerieGraphFromNodeLinks(e),this._buildLinkShapes(e,t),this._buildNodeShapes(e,t),this.zr.modLayer(this.getZlevelBase(),{panable:e.roam===!0||"move"===e.roam,zoomable:e.roam===!0||"scale"===e.roam}),this._initLayout(e),this._step()},_getSerieGraphFromDataMatrix:function(e){for(var t=[],i=0,n=[],a=0;a<e.matrix.length;a++)n[a]=e.matrix[a].slice();for(var o=e.data||e.nodes,a=0;a<o.length;a++){var s={},r=o[a];for(var h in r)"name"===h?s.id=r.name:s[h]=r[h];var d=this._getNodeCategory(e,r),c=d?d.name:r.name;if(this.selectedMap[c]=this.isSelected(c),this.selectedMap[c])t.push(s),i++;else{n.splice(i,1);for(var p=0;p<n.length;p++)n[p].splice(i,1)}}var m=l.fromMatrix(t,n,!0);return m.eachNode(function(e,t){e.layout={size:e.data.value,mass:0},e.rawIndex=t}),m.eachEdge(function(e){e.layout={weight:e.data.weight}}),m},_getSerieGraphFromNodeLinks:function(e){for(var t=new l(!0),i=e.data||e.nodes,n=0,a=i.length;a>n;n++){var o=i[n];if(o&&!o.ignore){var s=this._getNodeCategory(e,o),r=s?s.name:o.name;if(this.selectedMap[r]=this.isSelected(r),this.selectedMap[r]){var h=t.addNode(o.name,o);h.rawIndex=n}}}for(var n=0,a=e.links.length;a>n;n++){var d=e.links[n],c=d.source,p=d.target;"number"==typeof c&&(c=i[c],c&&(c=c.name)),"number"==typeof p&&(p=i[p],p&&(p=p.name));var m=t.addEdge(c,p,d);m&&(m.rawIndex=n)}return t.eachNode(function(e){var t=e.data.value;if(null==t){t=0;for(var i=0;i<e.edges.length;i++)t+=e.edges[i].data.weight||0}e.layout={size:t,mass:0}}),t.eachEdge(function(e){e.layout={weight:null==e.data.weight?1:e.data.weight}}),t},_initLayout:function(e){var t=this._graph,i=t.nodes.length,n=this.query(e,"minRadius"),a=this.query(e,"maxRadius");this._steps=e.steps||1,this._layout.center=this