MCPcopy Index your code
hub / github.com/tdewolff/minify / createGraphFromNodeEdge

Function createGraphFromNodeEdge

_benchmarks/sample_echarts.js:58672–58739  ·  view source on GitHub ↗
(nodes, edges, seriesModel, directed, beforeLink)

Source from the content-addressed store, hash-verified

58670 mixin(GraphEdge, createGraphDataProxyMixin('hostGraph', 'edgeData'));
58671
58672 function createGraphFromNodeEdge(nodes, edges, seriesModel, directed, beforeLink) {
58673 // ??? TODO
58674 // support dataset?
58675 var graph = new Graph(directed);
58676
58677 for (var i = 0; i < nodes.length; i++) {
58678 graph.addNode(retrieve( // Id, name, dataIndex
58679 nodes[i].id, nodes[i].name, i), i);
58680 }
58681
58682 var linkNameList = [];
58683 var validEdges = [];
58684 var linkCount = 0;
58685
58686 for (var i = 0; i < edges.length; i++) {
58687 var link = edges[i];
58688 var source = link.source;
58689 var target = link.target; // addEdge may fail when source or target not exists
58690
58691 if (graph.addEdge(source, target, linkCount)) {
58692 validEdges.push(link);
58693 linkNameList.push(retrieve(convertOptionIdName(link.id, null), source + ' > ' + target));
58694 linkCount++;
58695 }
58696 }
58697
58698 var coordSys = seriesModel.get('coordinateSystem');
58699 var nodeData;
58700
58701 if (coordSys === 'cartesian2d' || coordSys === 'polar') {
58702 nodeData = createListFromArray(nodes, seriesModel);
58703 } else {
58704 var coordSysCtor = CoordinateSystemManager.get(coordSys);
58705 var coordDimensions = coordSysCtor ? coordSysCtor.dimensions || [] : []; // FIXME: Some geo do not need `value` dimenson, whereas `calendar` needs
58706 // `value` dimension, but graph need `value` dimension. It's better to
58707 // uniform this behavior.
58708
58709 if (indexOf(coordDimensions, 'value') < 0) {
58710 coordDimensions.concat(['value']);
58711 }
58712
58713 var dimensionNames = createDimensions(nodes, {
58714 coordDimensions: coordDimensions
58715 });
58716 nodeData = new List(dimensionNames, seriesModel);
58717 nodeData.initData(nodes);
58718 }
58719
58720 var edgeData = new List(['value'], seriesModel);
58721 edgeData.initData(validEdges, linkNameList);
58722 beforeLink && beforeLink(nodeData, edgeData);
58723 linkList({
58724 mainData: nodeData,
58725 struct: graph,
58726 structAttr: 'graph',
58727 datas: {
58728 node: nodeData,
58729 edge: edgeData

Callers 1

sample_echarts.jsFile · 0.85

Calls 7

retrieveFunction · 0.85
convertOptionIdNameFunction · 0.85
createListFromArrayFunction · 0.85
createDimensionsFunction · 0.85
beforeLinkFunction · 0.85
linkListFunction · 0.85
indexOfFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…