@@ -191,7 +191,10 @@ export default class OverlayView<C extends Axis = YAxis> extends View<C> {
191191 } else {
192192 overlay . eventPressedOtherMove ( point , this . getWidget ( ) . getPane ( ) . getChart ( ) . getChartStore ( ) )
193193 }
194- if ( overlay . onPressedMoving ?.( { chart, overlay, figure : figure ?? undefined , ...event } ) ?? false ) {
194+ let prevented = false
195+ overlay . onPressedMoving ?.( { chart, overlay, figure : figure ?? undefined , ...event , preventDefault : ( ) => { prevented = true } } )
196+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- ignore
197+ if ( prevented ) {
195198 this . getWidget ( ) . setForceCursor ( null )
196199 } else {
197200 this . getWidget ( ) . setForceCursor ( 'pointer' )
@@ -260,7 +263,10 @@ export default class OverlayView<C extends Axis = YAxis> extends View<C> {
260263 const pane = this . getWidget ( ) . getPane ( )
261264 const check = ! overlay . isDrawing ( ) && checkOverlayFigureEvent ( 'onMouseMove' , figure )
262265 if ( check ) {
263- if ( overlay . onMouseMove ?.( { chart : pane . getChart ( ) , overlay, figure, ...event } ) ?? false ) {
266+ let prevented = false
267+ overlay . onMouseMove ?.( { chart : pane . getChart ( ) , overlay, figure, ...event , preventDefault : ( ) => { prevented = true } } )
268+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- ignore
269+ if ( prevented ) {
264270 this . getWidget ( ) . setForceCursor ( null )
265271 } else {
266272 this . getWidget ( ) . setForceCursor ( 'pointer' )
@@ -320,7 +326,10 @@ export default class OverlayView<C extends Axis = YAxis> extends View<C> {
320326 private _figureMouseRightClickEvent ( overlay : OverlayImp , _figureType : EventOverlayInfoFigureType , _figureIndex : number , figure : OverlayFigure ) : MouseTouchEventCallback {
321327 return ( event : MouseTouchEvent ) => {
322328 if ( checkOverlayFigureEvent ( 'onRightClick' , figure ) ) {
323- if ( ! ( overlay . onRightClick ?.( { chart : this . getWidget ( ) . getPane ( ) . getChart ( ) , overlay, figure, ...event } ) ?? false ) ) {
329+ let prevented = false
330+ overlay . onRightClick ?.( { chart : this . getWidget ( ) . getPane ( ) . getChart ( ) , overlay, figure, ...event , preventDefault : ( ) => { prevented = true } } )
331+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- ignore
332+ if ( ! prevented ) {
324333 this . getWidget ( ) . getPane ( ) . getChart ( ) . getChartStore ( ) . removeOverlay ( overlay )
325334 }
326335 return ! overlay . isDrawing ( )
0 commit comments