@@ -288,7 +288,7 @@ export class ODSChartsPopover {
288
288
style . textContent = DEFAULT_NONE_CSS ;
289
289
document . head . appendChild ( style ) ;
290
290
}
291
- const popoverOptions = { } ;
291
+ const popoverOptions : any = { } ;
292
292
const tooltipTrigger : 'xAxis' | 'yAxis' | 'grid' = this . getTooltipTrigger ( dataOptions , themeOptions ) ;
293
293
this . enterable = ! ! dataOptions && ! ! dataOptions . tooltip && ! ! dataOptions . tooltip . enterable ;
294
294
@@ -386,7 +386,7 @@ export class ODSChartsPopover {
386
386
hideDelay : 0 ,
387
387
appendTo : 'body' ,
388
388
renderMode : 'html' ,
389
- className : `ods-charts-popover ods-charts-enterable-${ this . enterable ? 'true' : 'false' } ods-charts-mode- ${ this . mode } ${ ODSChartsItemCSSDefinition . getClasses ( cssTheme . popover ?. odsChartsPopover ) } ` ,
389
+ className : `ods-charts-popover ods-charts-enterable-${ this . enterable ? 'true' : 'false' } ${ ODSChartsItemCSSDefinition . getClasses ( cssTheme . popover ?. odsChartsPopover ) } ` ,
390
390
axisPointer : {
391
391
type : this . popoverConfig . axisPointer ,
392
392
} ,
@@ -454,15 +454,21 @@ export class ODSChartsPopover {
454
454
} ) ;
455
455
}
456
456
457
+ if ( popoverOptions ?. tooltip ?. formatter ) {
458
+ popoverOptions . tooltip . formatter . IsOdsChartsFormatter = true ;
459
+ }
460
+
457
461
// We have to delete any default formatter as it is incompatible with externalizePopover feature
458
462
if ( dataOptions ?. tooltip ?. formatter ) {
459
- dataOptions . tooltip = cloneDeepObject ( dataOptions . tooltip ) ;
460
- // But if no formatter has been provided through the popoverDefinition,
461
- // we will use the Apache ECharts config
462
- if ( ! this . popoverDefinition . getPopupContentValue ) {
463
- const formatter = dataOptions . tooltip . formatter ;
464
- this . popoverDefinition = cloneDeepObject ( this . popoverDefinition ) ;
465
- this . popoverDefinition . getPopupContentValue = ( tooltipElement : ODSChartsPopoverItem ) => formatter ( [ tooltipElement ] ) ;
463
+ if ( ! dataOptions . tooltip . formatter . IsOdsChartsFormatter ) {
464
+ dataOptions . tooltip = cloneDeepObject ( dataOptions . tooltip ) ;
465
+ // But if no formatter has been provided through the popoverDefinition,
466
+ // we will use the Apache ECharts config
467
+ if ( ! this . popoverDefinition . getPopupContentValue ) {
468
+ const formatter = dataOptions . tooltip . formatter ;
469
+ this . popoverDefinition = cloneDeepObject ( this . popoverDefinition ) ;
470
+ this . popoverDefinition . getPopupContentValue = ( tooltipElement : ODSChartsPopoverItem ) => formatter ( [ tooltipElement ] ) ;
471
+ }
466
472
}
467
473
delete dataOptions . tooltip . formatter ;
468
474
}
0 commit comments