$swipe
service in module ngTouch
Description
The $swipe service is a service that abstracts the messier details of hold-and-drag swipe behavior, to make implementing swipe-related directives more convenient.
Requires the ngTouch module to be installed.
$swipe is used by the ngSwipeLeft and ngSwipeRight directives in ngTouch, and by ngCarousel in a separate component.
Usage
The $swipe service is an object with a single method: bind. bind takes an element which is to be watched for swipes, and an object with four handler functions. See the documentation for bind below.
Methods
The main method of $swipe. It takes an element to be watched for swipe motions, and an object containing event handlers.
The four events are start, move, end, and cancel. start, move, and end receive as a parameter a coordinates object of the form { x: 150, y: 310 }.
start is called on either mousedown or touchstart. After this event, $swipe is watching for touchmove or mousemove events. These events are ignored until the total distance moved in either dimension exceeds a small threshold.
Once this threshold is exceeded, either the horizontal or vertical delta is greater. - If the horizontal distance is greater, this is a swipe and move and end events follow. - If the vertical distance is greater, this is a scroll, and we let the browser take over. A cancel event is sent.
move is called on mousemove and touchmove after the above logic has determined that a swipe is in progress.
end is called when a swipe is successfully completed with a touchend or mouseup.
cancel is called either on a touchcancel from the browser, or when we begin scrolling as described above.
