@@ -40,7 +40,8 @@ export default class OverlayView<C extends Axis = YAxis> extends View<C> {
4040 }
4141
4242 private _initEvent ( ) : void {
43- const pane = this . getWidget ( ) . getPane ( )
43+ const widget = this . getWidget ( )
44+ const pane = widget . getPane ( )
4445 const paneId = pane . getId ( )
4546 const chart = pane . getChart ( )
4647 const chartStore = chart . getChartStore ( )
@@ -76,6 +77,7 @@ export default class OverlayView<C extends Axis = YAxis> extends View<C> {
7677 ( o , f ) => this . _processOverlayMouseEnterEvent ( o , f , event ) ,
7778 ( o , f ) => this . _processOverlayMouseLeaveEvent ( o , f , event )
7879 )
80+ widget . setForceCursor ( null )
7981 return false
8082 } ) . registerEvent ( 'mouseClickEvent' , event => {
8183 const progressOverlayInfo = chartStore . getProgressOverlayInfo ( )
@@ -115,7 +117,6 @@ export default class OverlayView<C extends Axis = YAxis> extends View<C> {
115117 figureIndex : - 1 ,
116118 figure : null
117119 } ,
118- ( o , f ) => this . _processOverlayClickEvent ( o , f , event ) ,
119120 ( o , f ) => this . _processOverlaySelectedEvent ( o , f , event ) ,
120121 ( o , f ) => this . _processOverlayDeselectedEvent ( o , f , event )
121122 )
@@ -184,18 +185,22 @@ export default class OverlayView<C extends Axis = YAxis> extends View<C> {
184185 if ( overlay !== null ) {
185186 if ( checkOverlayFigureEvent ( 'onPressedMoving' , figure ) ) {
186187 if ( ! overlay . lock ) {
187- if ( ! ( overlay . onPressedMoving ?.( { chart, overlay, figure : figure ?? undefined , ...event } ) ?? false ) ) {
188- const point = this . _coordinateToPoint ( overlay , event )
189- if ( figureType === 'point' ) {
190- overlay . eventPressedPointMove ( point , figureIndex )
191- } else {
192- overlay . eventPressedOtherMove ( point , this . getWidget ( ) . getPane ( ) . getChart ( ) . getChartStore ( ) )
193- }
188+ const point = this . _coordinateToPoint ( overlay , event )
189+ if ( figureType === 'point' ) {
190+ overlay . eventPressedPointMove ( point , figureIndex )
191+ } else {
192+ overlay . eventPressedOtherMove ( point , this . getWidget ( ) . getPane ( ) . getChart ( ) . getChartStore ( ) )
193+ }
194+ if ( overlay . onPressedMoving ?.( { chart, overlay, figure : figure ?? undefined , ...event } ) ?? false ) {
195+ this . getWidget ( ) . setForceCursor ( null )
196+ } else {
197+ this . getWidget ( ) . setForceCursor ( 'pointer' )
194198 }
195199 }
196200 return true
197201 }
198202 }
203+ this . getWidget ( ) . setForceCursor ( null )
199204 return false
200205 } )
201206 }
@@ -234,14 +239,6 @@ export default class OverlayView<C extends Axis = YAxis> extends View<C> {
234239 return false
235240 }
236241
237- private _processOverlayClickEvent ( overlay : OverlayImp , figure : Nullable < OverlayFigure > , event : MouseTouchEvent ) : boolean {
238- if ( ( ! ( overlay . isDrawing ( ) ) ) && checkOverlayFigureEvent ( 'onClick' , figure ) ) {
239- overlay . onClick ?.( { chart : this . getWidget ( ) . getPane ( ) . getChart ( ) , overlay, figure : figure ?? undefined , ...event } )
240- return true
241- }
242- return false
243- }
244-
245242 private _processOverlaySelectedEvent ( overlay : OverlayImp , figure : Nullable < OverlayFigure > , event : MouseTouchEvent ) : boolean {
246243 if ( checkOverlayFigureEvent ( 'onSelected' , figure ) ) {
247244 overlay . onSelected ?.( { chart : this . getWidget ( ) . getPane ( ) . getChart ( ) , overlay, figure : figure ?? undefined , ...event } )
@@ -261,12 +258,21 @@ export default class OverlayView<C extends Axis = YAxis> extends View<C> {
261258 private _figureMouseMoveEvent ( overlay : OverlayImp , figureType : EventOverlayInfoFigureType , figureIndex : number , figure : OverlayFigure ) : MouseTouchEventCallback {
262259 return ( event : MouseTouchEvent ) => {
263260 const pane = this . getWidget ( ) . getPane ( )
261+ const check = ! overlay . isDrawing ( ) && checkOverlayFigureEvent ( 'onMouseMove' , figure )
262+ if ( check ) {
263+ if ( overlay . onMouseMove ?.( { chart : pane . getChart ( ) , overlay, figure, ...event } ) ?? false ) {
264+ this . getWidget ( ) . setForceCursor ( null )
265+ } else {
266+ this . getWidget ( ) . setForceCursor ( 'pointer' )
267+ }
268+ }
269+
264270 pane . getChart ( ) . getChartStore ( ) . setHoverOverlayInfo (
265271 { paneId : pane . getId ( ) , overlay, figureType, figure, figureIndex } ,
266272 ( o , f ) => this . _processOverlayMouseEnterEvent ( o , f , event ) ,
267273 ( o , f ) => this . _processOverlayMouseLeaveEvent ( o , f , event )
268274 )
269- return checkOverlayFigureEvent ( 'onMouseEnter' , figure ) && ! overlay . isDrawing ( )
275+ return check
270276 }
271277 }
272278
@@ -288,13 +294,16 @@ export default class OverlayView<C extends Axis = YAxis> extends View<C> {
288294 return ( event : MouseTouchEvent ) => {
289295 const pane = this . getWidget ( ) . getPane ( )
290296 const paneId = pane . getId ( )
297+ const check = ! overlay . isDrawing ( ) && checkOverlayFigureEvent ( 'onClick' , figure )
298+ if ( check ) {
299+ overlay . onClick ?.( { chart : this . getWidget ( ) . getPane ( ) . getChart ( ) , overlay, figure, ...event } )
300+ }
291301 pane . getChart ( ) . getChartStore ( ) . setClickOverlayInfo (
292302 { paneId, overlay, figureType, figureIndex, figure } ,
293- ( o , f ) => this . _processOverlayClickEvent ( o , f , event ) ,
294303 ( o , f ) => this . _processOverlaySelectedEvent ( o , f , event ) ,
295304 ( o , f ) => this . _processOverlayDeselectedEvent ( o , f , event )
296305 )
297- return checkOverlayFigureEvent ( 'onClick' , figure ) && ! overlay . isDrawing ( )
306+ return check
298307 }
299308 }
300309
0 commit comments