(
e: TryShowParams,
dispatcher: ECElement,
dispatchAction: ExtensionAPI['dispatchAction']
)
| 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 | ) |
no test coverage detected