ui/Touchable
Application support for gestures.
Members
Section titled “Members ”Touchable Higher-Order Component
Section titled “Touchable   Higher-Order Component ”A higher-order component that provides a consistent set of pointer events -- onDown, onUp,
and onTap -- across mouse and touch interfaces along with support for common gestures including
onFlick, onDragStart, onDrag, onDragEnd, onHoldStart, onHold, onHoldEnd,
onPinchStart, onPinch, and onPinchEnd.
Note: This HoC passes a number of props to the wrapped component that should be passed to the
main DOM node or consumed by the wrapped component.
Configuration
activeProp
Section titled “activeProp”Configures the prop name to pass the active state to the wrapped component
Default: nullProperties added to wrapped component
disabled
Section titled “disabled”Disables the component.
Default: falsedragConfig
Section titled “dragConfig”Instance-specific overrides of the drag configuration.
flickConfig
Section titled “flickConfig”Instance-specific overrides of the flick configuration.
holdConfig
Section titled “holdConfig”Instance-specific overrides of the hold configuration.
noResume
Section titled “noResume”Prevents resuming the touch events and gestures when re-entering the component.
Default: falseonDown
Section titled “onDown”Event handler for 'down' pointer events.
onDrag
Section titled “onDrag”Event handler for a drag gesture.
Event payload includes:
type- Type of event,'onDrag'x- Horizontal position of the drag, relative to the viewporty- Vertical position of the drag, relative to the viewport
onDragEnd
Section titled “onDragEnd”Event handler for the end of a drag gesture.
Event payload includes:
type- Type of event,'onDragEnd'
onDragStart
Section titled “onDragStart”Event handler for the start of a drag gesture.
Event payload includes:
type- Type of event,'onDragStart'x- Horizontal position of the drag, relative to the viewporty- Vertical position of the drag, relative to the viewport
onFlick
Section titled “onFlick”Event handler for a flick gesture.
Event payload includes:
type- Type of event,'onFlick'direction- Primary direction of the flick, either'horizontal'or'vertical'velocity- Velocity of flickvelocityX- Velocity of flick along te horizontal axisvelocityY- Velocity of flick along te vertical axis
onHold
Section titled “onHold”Event handler for hold pulse events.
Event payload includes:
type- Type of event,'onHold'time- Time, in milliseconds, since the hold began
onHoldEnd
Section titled “onHoldEnd”Event handler for the end of hold events.
Event payload includes:
type- Type of event,'onHoldEnd'time- Time, in milliseconds, since the hold began
onHoldStart
Section titled “onHoldStart”Event handler for hold events.
Event payload includes:
type- Type of event,'onHoldStart'name- The name of the hold as configured in the events listtime- Time, in milliseconds, configured for this hold which may vary slightly from time since the hold began
onMove
Section titled “onMove”Event handler for 'move' pointer events.
onPinch
Section titled “onPinch”Event handler for a pinch gesture.
Event payload includes:
type- Type of event,'onPinch'scale- The scale factor, calculated from the distance while pinching. The default value is 1.0. The value would be a number between pinchConfig.minScale and pinchConfig.maxScale.coords- The coordinates array of the touch point, relative to the viewport
onPinchEnd
Section titled “onPinchEnd”Event handler for the end of a pinch gesture.
Event payload includes:
type- Type of event,'onPinchEnd'
onPinchStart
Section titled “onPinchStart”Event handler for the start of a pinch gesture.
Event payload includes:
type- Type of event,'onPinchStart'coords- The coordinates array of the touch point, relative to the viewport
Event handler for 'tap' pointer events.
Event handler for 'up' pointer events.
pinchConfig
Section titled “pinchConfig”Instance-specific overrides of the pinch configuration.
configure Function
Section titled “configure   Function ”configure( cfg ) → undefinedConfigures the global gesture configuration for the application.
Example:
// Updates the `maxMoves`, `moveTolerance`, and `frequency` configurations while retaining the
// current value of all other configurations
configure({
flick: {
maxMoves: 10
},
hold: {
moveTolerance: 32,
frequency: 400
}
});Each type of gesture has its own set of configuration properties grouped within a separate object keyed by the name of the gesture. Partial configurations may be passed and will be merged with the current configuration.
drag
boxSizing- The part of the component's box model is used as the bounds of the constraint. Only applies whenglobalisfalse.'border-box'- the default, includes the padding and border but excludes the margin.'content-box'- excludes the padding, border, and margin.
global- Whentrue, drag gestures will continue when leaving the bounds of the component or blurring the component.moveTolerance- The number of pixels from the start position of the drag that the pointer may move before cancelling the drag. Defaults to16.
flick
maxDuration- The amount of time, in milliseconds, to complete a flick gesture before it is cancelled. Defaults to 250.maxMoves- The number of moves tracked to determine if a flick occurred. Defaults to5.minVelocity- The minimum threshold, measured as the change in pixels over the change in time per move, that must be exceeded to generate aonFlickevent.
hold
cancelOnMove- Whentrue, the hold is cancelled when moving beyond themoveTolerance. Defaults tofalseglobal- Whentrue, hold gestures will continue when leaving the bounds of the component or blurring the component.moveTolerance- The number of pixels from the start position of the hold that the pointer may move before cancelling the hold. Ignored whencancelOnMoveisfalse. Defaults to16.frequency- The time, in milliseconds, to poll for hold events. Defaults to200.events- An array ofonHoldStartevents which each contain anameandtime. Thetimecontrols the amount of time that must pass before thisonHoldStartevent is fired and should be a multiple offrequency.
pinch
boxSizing- The part of the component's box model is used as the bounds of the constraint. Only applies whenglobalisfalse.'border-box'- the default, includes the padding and border but excludes the margin.'content-box'- excludes the padding, border, and margin.
global- Whentrue, pinch gestures will continue when leaving the bounds of the component or blurring the component.maxScale- The maximum scale value. Defaults to4.minScale- The minimum scale value. Defaults to0.5.moveTolerance- The distance difference from the previous distance that the pointer may move before cancelling the scaling. Defaults to16.
1 Param
- cfg Object
A partial or complete configuration object
Returns
- undefined