/**
|
|
* Register a touch event, taking place before a gesture
|
|
* @param {Hammer} hammer A hammer instance
|
|
* @param {function} callback Callback, called as callback(event)
|
|
*/
|
|
exports.onTouch = function (hammer, callback) {
|
|
callback.inputHandler = function (event) {
|
|
if (event.isFirst) {
|
|
callback(event);
|
|
}
|
|
};
|
|
|
|
hammer.on('hammer.input', callback.inputHandler);
|
|
};
|
|
|
|
/**
|
|
* Register a release event, taking place after a gesture
|
|
* @param {Hammer} hammer A hammer instance
|
|
* @param {function} callback Callback, called as callback(event)
|
|
* @returns {*}
|
|
*/
|
|
exports.onRelease = function (hammer, callback) {
|
|
callback.inputHandler = function (event) {
|
|
if (event.isFinal) {
|
|
callback(event);
|
|
}
|
|
};
|
|
|
|
return hammer.on('hammer.input', callback.inputHandler);
|
|
};
|
|
|
|
|
|
/**
|
|
* Unregister a touch event, taking place before a gesture
|
|
* @param {Hammer} hammer A hammer instance
|
|
* @param {function} callback Callback, called as callback(event)
|
|
*/
|
|
exports.offTouch = function (hammer, callback) {
|
|
hammer.off('hammer.input', callback.inputHandler);
|
|
};
|
|
|
|
/**
|
|
* Unregister a release event, taking place before a gesture
|
|
* @param {Hammer} hammer A hammer instance
|
|
* @param {function} callback Callback, called as callback(event)
|
|
*/
|
|
exports.offRelease = exports.offTouch;
|
|
|
|
/**
|
|
* Hack the PinchRecognizer such that it doesn't prevent default behavior
|
|
* for vertical panning.
|
|
*
|
|
* Yeah ... this is quite a hack ... see https://github.com/hammerjs/hammer.js/issues/932
|
|
*
|
|
* @param {Hammer.Pinch} pinchRecognizer
|
|
* @return {Hammer.Pinch} returns the pinchRecognizer
|
|
*/
|
|
exports.disablePreventDefaultVertically = function (pinchRecognizer) {
|
|
var TOUCH_ACTION_PAN_Y = 'pan-y';
|
|
|
|
pinchRecognizer.getTouchAction = function() {
|
|
// default method returns [TOUCH_ACTION_NONE]
|
|
return [TOUCH_ACTION_PAN_Y];
|
|
};
|
|
|
|
return pinchRecognizer;
|
|
};
|