MCPcopy
hub / github.com/apache/echarts / addEdge

Method addEdge

src/data/Graph.ts:108–148  ·  view source on GitHub ↗

* Add a new edge

(n1: GraphNode | number | string, n2: GraphNode | number | string, dataIndex?: number)

Source from the content-addressed store, hash-verified

106 * Add a new edge
107 */
108 addEdge(n1: GraphNode | number | string, n2: GraphNode | number | string, dataIndex?: number) {
109 const nodesMap = this._nodesMap;
110 const edgesMap = this._edgesMap;
111
112 // PENDING
113 if (zrUtil.isNumber(n1)) {
114 n1 = this.nodes[n1];
115 }
116 if (zrUtil.isNumber(n2)) {
117 n2 = this.nodes[n2];
118 }
119
120 if (!(n1 instanceof GraphNode)) {
121 n1 = nodesMap[generateNodeKey(n1)];
122 }
123 if (!(n2 instanceof GraphNode)) {
124 n2 = nodesMap[generateNodeKey(n2)];
125 }
126 if (!n1 || !n2) {
127 return;
128 }
129
130 const key = n1.id + '-' + n2.id;
131
132 const edge = new GraphEdge(n1, n2, dataIndex);
133 edge.hostGraph = this;
134
135 if (this._directed) {
136 n1.outEdges.push(edge);
137 n2.inEdges.push(edge);
138 }
139 n1.edges.push(edge);
140 if (n1 !== n2) {
141 n2.edges.push(edge);
142 }
143
144 this.edges.push(edge);
145 edgesMap[key] = edge;
146
147 return edge;
148 };
149
150 /**
151 * Get edge by data index

Callers 2

createGraphFromNodeEdgeFunction · 0.95
cloneMethod · 0.95

Calls 1

generateNodeKeyFunction · 0.85

Tested by

no test coverage detected