diff --git a/packages/x6/src/graph/graph.ts b/packages/x6/src/graph/graph.ts index a552f0bee01..aa9655d633b 100644 --- a/packages/x6/src/graph/graph.ts +++ b/packages/x6/src/graph/graph.ts @@ -15,6 +15,7 @@ import { TooltipAccessor } from './tooltip-accessor' import { RubberbandAccessor } from './rubberband-accessor' import { CollapseAccessor } from './collapse-accessor' import { KeyboardAccessor } from './keyboard-accessor' +import { MouseWheelAccessor } from './mousewheel-accessor' import { GuideAccessor } from './guide-accessor' import { GridAccessor } from './grid-accessor' import { PageBreakAccessor } from './pagebreak-accessor' @@ -130,6 +131,7 @@ export interface Graph RetrievalAccessor, ConnectionAccessor, ValidationAccessor, + MouseWheelAccessor, RubberbandAccessor {} util.applyMixins( @@ -157,4 +159,5 @@ util.applyMixins( ConnectionAccessor, ValidationAccessor, RubberbandAccessor, + MouseWheelAccessor, ) diff --git a/packages/x6/src/graph/mousewheel-accessor.ts b/packages/x6/src/graph/mousewheel-accessor.ts new file mode 100644 index 00000000000..d703b93b103 --- /dev/null +++ b/packages/x6/src/graph/mousewheel-accessor.ts @@ -0,0 +1,22 @@ +import { BaseGraph } from './base-graph' + +export class MouseWheelAccessor extends BaseGraph { + isMouseWheelEnabled() { + return this.mouseWheelHandler.isEnabled() + } + + enableMouseWheel() { + this.mouseWheelHandler.enable() + return this + } + + disableMouseWheel() { + this.mouseWheelHandler.disable() + return this + } + + toggleMouseWheel() { + this.mouseWheelHandler.toggleEnadled() + return this + } +} diff --git a/packages/x6/src/handler/mousewheel/handler.ts b/packages/x6/src/handler/mousewheel/handler.ts index c99766df65c..68605522bbe 100644 --- a/packages/x6/src/handler/mousewheel/handler.ts +++ b/packages/x6/src/handler/mousewheel/handler.ts @@ -35,11 +35,13 @@ export class MouseWheelHandler extends BaseHandler { } enable() { + this.graph.options.wheel.enabled = true DomEvent.addWheelListener(this.handler, this.graph.container) super.enable() } disable() { + this.graph.options.wheel.enabled = false DomEvent.removeWheelListener(this.handler, this.graph.container) super.disable() }