cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
47 lines (46 loc) • 1.99 kB
JavaScript
import { extend } from "../../../../zrender/lib/core/util.mjs";
function normalize(a) {
if (!(a instanceof Array)) {
a = [a, a];
}
return a;
}
function graphEdgeVisual(ecModel) {
ecModel.eachSeriesByType("graph", function(seriesModel) {
var graph = seriesModel.getGraph();
var edgeData = seriesModel.getEdgeData();
var symbolType = normalize(seriesModel.get("edgeSymbol"));
var symbolSize = normalize(seriesModel.get("edgeSymbolSize"));
edgeData.setVisual("fromSymbol", symbolType && symbolType[0]);
edgeData.setVisual("toSymbol", symbolType && symbolType[1]);
edgeData.setVisual("fromSymbolSize", symbolSize && symbolSize[0]);
edgeData.setVisual("toSymbolSize", symbolSize && symbolSize[1]);
edgeData.setVisual("style", seriesModel.getModel("lineStyle").getLineStyle());
edgeData.each(function(idx) {
var itemModel = edgeData.getItemModel(idx);
var edge = graph.getEdgeByIndex(idx);
var symbolType2 = normalize(itemModel.getShallow("symbol", true));
var symbolSize2 = normalize(itemModel.getShallow("symbolSize", true));
var style = itemModel.getModel("lineStyle").getLineStyle();
var existsStyle = edgeData.ensureUniqueItemVisual(idx, "style");
extend(existsStyle, style);
switch (existsStyle.stroke) {
case "source": {
var nodeStyle = edge.node1.getVisual("style");
existsStyle.stroke = nodeStyle && nodeStyle.fill;
break;
}
case "target": {
var nodeStyle = edge.node2.getVisual("style");
existsStyle.stroke = nodeStyle && nodeStyle.fill;
break;
}
}
symbolType2[0] && edge.setVisual("fromSymbol", symbolType2[0]);
symbolType2[1] && edge.setVisual("toSymbol", symbolType2[1]);
symbolSize2[0] && edge.setVisual("fromSymbolSize", symbolSize2[0]);
symbolSize2[1] && edge.setVisual("toSymbolSize", symbolSize2[1]);
});
});
}
export { graphEdgeVisual as default };