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

Function buildTooltipModel

src/component/tooltip/TooltipView.ts:1071–1111  ·  view source on GitHub ↗

* From top to bottom. (the last one should be globalTooltipModel);

(
    modelCascade: TooltipModelOptionCascade[],
    globalTooltipModel: TooltipModel,
    defaultTooltipOption?: CommonTooltipOption<unknown>
)

Source from the content-addressed store, hash-verified

1069 * From top to bottom. (the last one should be globalTooltipModel);
1070 */
1071function buildTooltipModel(
1072 modelCascade: TooltipModelOptionCascade[],
1073 globalTooltipModel: TooltipModel,
1074 defaultTooltipOption?: CommonTooltipOption<unknown>
1075): Model<TooltipOption & ComponentItemTooltipOption<unknown>> {
1076 // Last is always tooltip model.
1077 const ecModel = globalTooltipModel.ecModel;
1078 let resultModel: Model<TooltipOption & ComponentItemTooltipOption<unknown>>;
1079
1080 if (defaultTooltipOption) {
1081 resultModel = new Model(defaultTooltipOption, ecModel, ecModel);
1082 resultModel = new Model(globalTooltipModel.option, resultModel, ecModel);
1083 }
1084 else {
1085 resultModel = globalTooltipModel as Model<TooltipOption & ComponentItemTooltipOption<unknown>>;
1086 }
1087
1088 for (let i = modelCascade.length - 1; i >= 0; i--) {
1089 let tooltipOpt = modelCascade[i];
1090 if (tooltipOpt) {
1091 if (tooltipOpt instanceof Model) {
1092 tooltipOpt = (tooltipOpt as Model<TooltipableOption>).get('tooltip', true);
1093 }
1094 // In each data item tooltip can be simply write:
1095 // {
1096 // value: 10,
1097 // tooltip: 'Something you need to know'
1098 // }
1099 if (isString(tooltipOpt)) {
1100 tooltipOpt = {
1101 formatter: tooltipOpt
1102 };
1103 }
1104 if (tooltipOpt) {
1105 resultModel = new Model(tooltipOpt, resultModel, ecModel);
1106 }
1107 }
1108 }
1109
1110 return resultModel as Model<TooltipOption & ComponentItemTooltipOption<unknown>>;
1111}
1112
1113function makeDispatchAction(payload: ShowTipPayload | HideTipPayload, api: ExtensionAPI) {
1114 return payload.dispatchAction || bind(api.dispatchAction, api);

Callers 4

_manuallyAxisShowTipMethod · 0.85
_showAxisTooltipMethod · 0.85

Calls 1

getMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…