You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're using @visx/zoom for a project to zoom/pan a combined visualisation of charts. Basically, it's a list of bar charts which can be scrolled. Additionally, the view can be zoomed/panned.
So, to overcome the shared interaction of the scroll wheel to scroll or zoom the view, we would like to use the control-key as key modifier to enable the zooming/panning. As the control-key is used by @use-gesture to trigger the pinch-event, we need to modify the settings used by @visx/zoom to initialise useGesture:
useGesture({onDragStart: ({ event })=>{if(!(eventinstanceofKeyboardEvent))dragStart(event);},onDrag: ({ event, pinching, cancel })=>{if(pinching){cancel();dragEnd();}elseif(!(eventinstanceofKeyboardEvent)){dragMove(event);}},onDragEnd: dragEnd,onPinch: handlePinch,onWheel: ({ event, active, pinching })=>{if(// Outside of Safari, the wheel event is fired together with the pinch eventpinching||// currently onWheelEnd emits one final wheel event which causes 2x scale// updates for the last tick. ensuring that the gesture is active avoids this!active){return;}handleWheel(event);},},{target: containerRef,eventOptions: {passive: false},drag: {filterTaps: true}},);
So, I would like to suggest to enable the customisation of the useGesture-options as well as the event handlers (e.g. handleWheel) through adding additional properties to the Zoom-component, so that we can provide custom handlers/options.
So I ended up accepting a createGestureHandlers prop because I figured out people using this would most likely need access to the ProvidedZoom<ElementType> object in order to use some of its properties
We're using @visx/zoom for a project to zoom/pan a combined visualisation of charts. Basically, it's a list of bar charts which can be scrolled. Additionally, the view can be zoomed/panned.
So, to overcome the shared interaction of the scroll wheel to scroll or zoom the view, we would like to use the control-key as key modifier to enable the zooming/panning. As the control-key is used by @use-gesture to trigger the pinch-event, we need to modify the settings used by @visx/zoom to initialise useGesture:
So, I would like to suggest to enable the customisation of the useGesture-options as well as the event handlers (e.g.
handleWheel
) through adding additional properties to the Zoom-component, so that we can provide custom handlers/options.Basically doing something like:
The text was updated successfully, but these errors were encountered: