UNPKG

cione-comp-lib

Version:

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

55 lines (54 loc) 1.7 kB
import "../../../../echarts/lib/echarts.mjs"; import Graph from "../../../../echarts/lib/data/Graph.mjs"; import linkSeriesData from "../../../../echarts/lib/data/helper/linkSeriesData.mjs"; import retrieve from "../../util/retrieve.mjs"; import { createDimensions } from "../../../../echarts/lib/data/helper/createDimensions.mjs"; import SeriesData from "../../../../echarts/lib/data/SeriesData.mjs"; function createGraphFromNodeEdge(nodes, edges, hostModel, directed, beforeLink) { var graph = new Graph(directed); for (var i = 0; i < nodes.length; i++) { graph.addNode(retrieve.firstNotNull( nodes[i].id, nodes[i].name, i ), i); } var linkNameList = []; var validEdges = []; var linkCount = 0; for (var i = 0; i < edges.length; i++) { var link = edges[i]; var source = link.source; var target = link.target; if (graph.addEdge(source, target, linkCount)) { validEdges.push(link); linkNameList.push(retrieve.firstNotNull(link.id, source + " > " + target)); linkCount++; } } var nodeData; var dimensionNames = createDimensions(nodes, { coordDimensions: ["value"] }); nodeData = new SeriesData(dimensionNames, hostModel); nodeData.initData(nodes); var edgeData = new SeriesData(["value"], hostModel); edgeData.initData(validEdges, linkNameList); beforeLink && beforeLink(nodeData, edgeData); linkSeriesData({ mainData: nodeData, struct: graph, structAttr: "graph", datas: { node: nodeData, edge: edgeData }, datasAttr: { node: "data", edge: "edgeData" } }); graph.update(); return graph; } export { createGraphFromNodeEdge as default };