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

Method manuallyShowTip

src/component/tooltip/TooltipView.ts:292–387  ·  view source on GitHub ↗

* Show tip manually by * dispatchAction({ * type: 'showTip', * x: 10, * y: 10 * }); * Or * dispatchAction({ * type: 'showTip', * seriesIndex: 0, * dataIndex or dataIndexInside or name * }); * * TODO Batch

(
        tooltipModel: TooltipModel,
        ecModel: GlobalModel,
        api: ExtensionAPI,
        payload: ShowTipPayload
    )

Source from the content-addressed store, hash-verified

290 * TODO Batch
291 */
292 manuallyShowTip(
293 tooltipModel: TooltipModel,
294 ecModel: GlobalModel,
295 api: ExtensionAPI,
296 payload: ShowTipPayload
297 ) {
298 if (payload.from === this.uid || env.node || !api.getDom()) {
299 return;
300 }
301
302 const dispatchAction = makeDispatchAction(payload, api);
303
304 // Reset ticket
305 this._ticket = '';
306
307 // When triggered from axisPointer.
308 const dataByCoordSys = payload.dataByCoordSys;
309
310 const cmptRef = findComponentReference(payload, ecModel, api);
311
312 if (cmptRef) {
313 const rect = cmptRef.el.getBoundingRect().clone();
314 rect.applyTransform(cmptRef.el.transform);
315 this._tryShow({
316 offsetX: rect.x + rect.width / 2,
317 offsetY: rect.y + rect.height / 2,
318 target: cmptRef.el,
319 position: payload.position,
320 // When manully trigger, the mouse is not on the el, so we'd better to
321 // position tooltip on the bottom of the el and display arrow is possible.
322 positionDefault: 'bottom'
323 }, dispatchAction);
324 }
325 else if (payload.tooltip && payload.x != null && payload.y != null) {
326 const el = proxyRect as unknown as ECElement;
327 el.x = payload.x;
328 el.y = payload.y;
329 el.update();
330 getECData(el).tooltipConfig = {
331 name: null,
332 option: payload.tooltip
333 };
334 // Manually show tooltip while view is not using zrender elements.
335 this._tryShow({
336 offsetX: payload.x,
337 offsetY: payload.y,
338 target: el
339 }, dispatchAction);
340 }
341 else if (dataByCoordSys) {
342 this._tryShow({
343 offsetX: payload.x,
344 offsetY: payload.y,
345 position: payload.position,
346 dataByCoordSys: dataByCoordSys,
347 tooltipOption: payload.tooltipOption
348 }, dispatchAction);
349 }

Callers 1

_keepShowMethod · 0.80

Calls 11

_tryShowMethod · 0.95
_manuallyAxisShowTipMethod · 0.95
findComponentReferenceFunction · 0.85
findPointFromSeriesFunction · 0.85
getDomMethod · 0.80
dispatchActionMethod · 0.80
makeDispatchActionFunction · 0.70
updateMethod · 0.65
getZrMethod · 0.65
cloneMethod · 0.45
getBoundingRectMethod · 0.45

Tested by

no test coverage detected