UNPKG

react-cqtoolbox

Version:

[![Travis][build-badge]][build] [![npm package][npm-badge]][npm] [![Coveralls][coveralls-badge]][coveralls]

67 lines (63 loc) 2.17 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = { getMousePosition: function getMousePosition(event) { return { x: event.pageX - (window.scrollX || window.pageXOffset), y: event.pageY - (window.scrollY || window.pageYOffset) }; }, getTouchPosition: function getTouchPosition(event) { return { x: event.touches[0].pageX - (window.scrollX || window.pageXOffset), y: event.touches[0].pageY - (window.scrollY || window.pageYOffset) }; }, pauseEvent: function pauseEvent(event) { event.stopPropagation(); event.preventDefault(); }, addEventsToDocument: function addEventsToDocument(eventMap) { Object.keys(eventMap).forEach(function (key) { document.addEventListener(key, eventMap[key], false); }); }, removeEventsFromDocument: function removeEventsFromDocument(eventMap) { Object.keys(eventMap).forEach(function (key) { document.removeEventListener(key, eventMap[key], false); }); }, targetIsDescendant: function targetIsDescendant(event, parent) { var node = event.target; while (node !== null) { if (node === parent) return true; node = node.parentNode; } return false; }, addEventListenerOnTransitionEnded: function addEventListenerOnTransitionEnded(element, fn) { var eventName = transitionEventNamesFor(element); if (!eventName) return false; element.addEventListener(eventName, fn); return true; }, removeEventListenerOnTransitionEnded: function removeEventListenerOnTransitionEnded(element, fn) { var eventName = transitionEventNamesFor(element); if (!eventName) return false; element.removeEventListener(eventName, fn); return true; } }; var TRANSITIONS = { transition: 'transitionend', OTransition: 'oTransitionEnd', MozTransition: 'transitionend', WebkitTransition: 'webkitTransitionEnd' }; function transitionEventNamesFor(element) { return Object.keys(TRANSITIONS).reduce(function (result, transition) { return !result && element && element.style[transition] !== undefined ? TRANSITIONS[transition] : result; }, null); }