UNPKG

visjs-network

Version:

A dynamic, browser-based network visualization library.

67 lines (58 loc) 1.88 kB
/** * 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 }