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

Method render

src/chart/sankey/SankeyView.ts:128–368  ·  view source on GitHub ↗
(seriesModel: SankeySeriesModel, ecModel: GlobalModel, api: ExtensionAPI)

Source from the content-addressed store, hash-verified

126 }
127
128 render(seriesModel: SankeySeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
129 const graph = seriesModel.getGraph();
130 const mainGroup = this._mainGroup;
131 const layoutInfo = seriesModel.layoutInfo;
132 // view width
133 const width = layoutInfo.width;
134 // view height
135 const height = layoutInfo.height;
136 const nodeData = seriesModel.getData();
137 const edgeData = seriesModel.getData('edge');
138 const orient = seriesModel.get('orient');
139
140 mainGroup.removeAll();
141
142 mainGroup.x = layoutInfo.x;
143 mainGroup.y = layoutInfo.y;
144
145 this._updateViewCoordSys(seriesModel, api);
146
147 updateRoamControllerSimply(
148 seriesModel,
149 api,
150 this._controller,
151 createIsInSelfByPointerCheckerEl(mainGroup),
152 null,
153 );
154
155 // generate a bezire Curve for each edge
156 graph.eachEdge(function (edge) {
157 const curve = new SankeyPath();
158 const ecData = getECData(curve);
159 ecData.dataIndex = edge.dataIndex;
160 ecData.seriesIndex = seriesModel.seriesIndex;
161 ecData.dataType = 'edge';
162 const edgeModel = edge.getModel<SankeyEdgeItemOption>();
163 const lineStyleModel = edgeModel.getModel('lineStyle');
164 const curvature = lineStyleModel.get('curveness');
165 const n1Layout = edge.node1.getLayout();
166 const node1Model = edge.node1.getModel<SankeyNodeItemOption>();
167 const dragX1 = node1Model.get('localX');
168 const dragY1 = node1Model.get('localY');
169 const n2Layout = edge.node2.getLayout();
170 const node2Model = edge.node2.getModel<SankeyNodeItemOption>();
171 const dragX2 = node2Model.get('localX');
172 const dragY2 = node2Model.get('localY');
173 const edgeLayout = edge.getLayout();
174 let x1: number;
175 let y1: number;
176 let x2: number;
177 let y2: number;
178 let cpx1: number;
179 let cpy1: number;
180 let cpx2: number;
181 let cpy2: number;
182
183 curve.shape.extent = Math.max(1, edgeLayout.dy);
184 curve.shape.orient = orient;
185

Callers

nothing calls this directly

Calls 15

_updateViewCoordSysMethod · 0.95
getLabelStatesModelsFunction · 0.90
setLabelStyleFunction · 0.90
setStatesStylesFromModelFunction · 0.90
toggleHoverEmphasisFunction · 0.90
applyCurveStyleFunction · 0.85
eachEdgeMethod · 0.80
setShapeMethod · 0.80
getItemStyleMethod · 0.80
setItemGraphicElMethod · 0.80

Tested by

no test coverage detected