Skip to content

Commit e66b486

Browse files
committed
opt: opt overlay event
1 parent 9e19055 commit e66b486

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

src/component/Overlay.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ export interface OverlayEvent<E> extends Partial<MouseTouchEvent> {
8989
chart: Chart
9090
}
9191

92-
export type OverlayEventCallback<E> = (event: OverlayEvent<E>) => boolean
92+
export type OverlayEventCallback<E> = (event: OverlayEvent<E>) => void
9393

9494
export type OverlayCreateFiguresCallback<E> = (params: OverlayCreateFiguresCallbackParams<E>) => OverlayFigure | OverlayFigure[]
9595

src/view/OverlayView.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)