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

Method render

src/chart/treemap/TreemapView.ts:170–220  ·  view source on GitHub ↗

* @override

(
        seriesModel: TreemapSeriesModel,
        ecModel: GlobalModel,
        api: ExtensionAPI,
        payload: TreemapZoomToNodePayload | TreemapRenderPayload | TreemapMovePayload | TreemapRootToNodePayload
    )

Source from the content-addressed store, hash-verified

168 * @override
169 */
170 render(
171 seriesModel: TreemapSeriesModel,
172 ecModel: GlobalModel,
173 api: ExtensionAPI,
174 payload: TreemapZoomToNodePayload | TreemapRenderPayload | TreemapMovePayload | TreemapRootToNodePayload
175 ) {
176 const models = ecModel.findComponents({
177 mainType: 'series', subType: 'treemap', query: payload
178 });
179 if (indexOf(models, seriesModel) < 0) {
180 return;
181 }
182
183 this.seriesModel = seriesModel;
184 this.api = api;
185 this.ecModel = ecModel;
186
187 const types = ['treemapZoomToNode', 'treemapRootToNode'];
188 const targetInfo = helper
189 .retrieveTargetInfo(payload, types, seriesModel);
190 const payloadType = payload && payload.type;
191 const layoutInfo = seriesModel.layoutInfo;
192 const isInit = !this._oldTree;
193 const thisStorage = this._storage;
194
195 // Mark new root when action is treemapRootToNode.
196 const reRoot = (payloadType === 'treemapRootToNode' && targetInfo && thisStorage)
197 ? {
198 rootNodeGroup: thisStorage.nodeGroup[targetInfo.node.getRawIndex()],
199 direction: (payload as TreemapRootToNodePayload).direction
200 }
201 : null;
202
203 const containerGroup = this._giveContainerGroup(layoutInfo);
204 const hasAnimation = seriesModel.get('animation');
205
206 const renderResult = this._doRender(containerGroup, seriesModel, reRoot);
207 (
208 hasAnimation && !isInit && (
209 !payloadType
210 || payloadType === 'treemapZoomToNode'
211 || payloadType === 'treemapRootToNode'
212 )
213 )
214 ? this._doAnimation(containerGroup, renderResult, seriesModel, reRoot)
215 : renderResult.renderFinally();
216
217 this._resetController(api);
218
219 this._renderBreadcrumb(seriesModel, api, targetInfo);
220 }
221
222 private _giveContainerGroup(layoutInfo: LayoutRect) {
223 let containerGroup = this._containerGroup;

Callers

nothing calls this directly

Calls 9

_giveContainerGroupMethod · 0.95
_doRenderMethod · 0.95
_doAnimationMethod · 0.95
_resetControllerMethod · 0.95
_renderBreadcrumbMethod · 0.95
findComponentsMethod · 0.80
renderFinallyMethod · 0.80
getRawIndexMethod · 0.65
getMethod · 0.45

Tested by

no test coverage detected