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

Method _showSeriesItemTooltip

src/component/tooltip/TooltipView.ts:659–738  ·  view source on GitHub ↗
(
        e: TryShowParams,
        dispatcher: ECElement,
        dispatchAction: ExtensionAPI['dispatchAction']
    )

Source from the content-addressed store, hash-verified

657 }
658
659 private _showSeriesItemTooltip(
660 e: TryShowParams,
661 dispatcher: ECElement,
662 dispatchAction: ExtensionAPI['dispatchAction']
663 ) {
664 const ecModel = this._ecModel;
665 const ecData = getECData(dispatcher);
666 // Use dataModel in element if possible
667 // Used when mouseover on a element like markPoint or edge
668 // In which case, the data is not main data in series.
669 const seriesIndex = ecData.seriesIndex;
670 const seriesModel = ecModel.getSeriesByIndex(seriesIndex);
671
672 // For example, graph link.
673 const dataModel = ecData.dataModel || seriesModel;
674 const dataIndex = ecData.dataIndex;
675 const dataType = ecData.dataType;
676 const data = dataModel.getData(dataType);
677 const renderMode = this._renderMode;
678
679 const positionDefault = e.positionDefault;
680 const tooltipModel = buildTooltipModel(
681 [
682 data.getItemModel<TooltipableOption>(dataIndex),
683 dataModel,
684 seriesModel && (seriesModel.coordinateSystem || {}).model as Model<TooltipableOption>
685 ],
686 this._tooltipModel,
687 positionDefault ? { position: positionDefault } : null
688 );
689
690 const tooltipTrigger = tooltipModel.get('trigger');
691 if (tooltipTrigger != null && tooltipTrigger !== 'item') {
692 return;
693 }
694
695 const params = dataModel.getDataParams(dataIndex, dataType);
696 const markupStyleCreator = new TooltipMarkupStyleCreator();
697 // Pre-create marker style for makers. Users can assemble richText
698 // text in `formatter` callback and use those markers style.
699 params.marker = markupStyleCreator.makeTooltipMarker(
700 'item', convertToColorString(params.color), renderMode
701 );
702
703 const seriesTooltipResult = normalizeTooltipFormatResult(
704 dataModel.formatTooltip(dataIndex, false, dataType)
705 );
706 const orderMode = tooltipModel.get('order');
707 const valueFormatter = tooltipModel.get('valueFormatter');
708 const frag = seriesTooltipResult.frag;
709 const markupText = frag ? buildTooltipMarkup(
710 valueFormatter ? extend({ valueFormatter }, frag) : frag,
711 markupStyleCreator,
712 renderMode,
713 orderMode,
714 ecModel.get('useUTC'),
715 tooltipModel.get('textStyle')
716 )

Callers 1

_tryShowMethod · 0.95

Calls 15

makeTooltipMarkerMethod · 0.95
_showOrMoveMethod · 0.95
_showTooltipContentMethod · 0.95
convertToColorStringFunction · 0.90
buildTooltipMarkupFunction · 0.90
buildTooltipModelFunction · 0.85
extendFunction · 0.85
getSeriesByIndexMethod · 0.80
getItemModelMethod · 0.80
getDataMethod · 0.65
getDataParamsMethod · 0.65

Tested by

no test coverage detected