touch-events
Advanced tools
Comparing version 0.0.3 to 0.0.4
{ | ||
"name": "touch-events", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "Touch events using PEP", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
@@ -45,13 +45,19 @@ # Touch Events | ||
```javascript | ||
eventListener.addEventListener('wheel', callback:Function); | ||
eventListener.addEventListener('tap', callback:Function); | ||
eventListener.addEventListener('dragstart', callback:Function); | ||
eventListener.addEventListener('drag', callback:Function); | ||
eventListener.addEventListener('dragend', callback:Function); | ||
eventListener.addEventListener('seconddragstart', callback:Function); | ||
eventListener.addEventListener('seconddrag', callback:Function); | ||
eventListener.addEventListener('seconddragend', callback:Function); | ||
eventListener.addEventListener('multitouchstart', callback:Function); | ||
eventListener.addEventListener('multitouch', callback:Function); | ||
eventListener.addEventListener('multitouchend', callback:Function); | ||
// gesture regonizers | ||
eventListener.addEventListener('wheel', callback: Function); | ||
eventListener.addEventListener('tap', callback: Function); | ||
eventListener.addEventListener('dragstart', callback: Function); | ||
eventListener.addEventListener('drag', callback: Function); | ||
eventListener.addEventListener('dragend', callback: Function); | ||
eventListener.addEventListener('seconddragstart', callback: Function); | ||
eventListener.addEventListener('seconddrag', callback: Function); | ||
eventListener.addEventListener('seconddragend', callback: Function); | ||
eventListener.addEventListener('multitouchstart', callback: Function); | ||
eventListener.addEventListener('multitouch', callback: Function); | ||
eventListener.addEventListener('multitouchend', callback: Function); | ||
// original touch events | ||
eventListener.addEventListener('pointerdown', callback: Function); | ||
eventListener.addEventListener('pointermove', callback: Function); | ||
eventListener.addEventListener('pointerup', callback: Function); | ||
``` | ||
@@ -62,3 +68,3 @@ | ||
```javascript | ||
touchEvents.setConfig(config:Object) | ||
touchEvents.setConfig(config: Object) | ||
@@ -65,0 +71,0 @@ config = { |
@@ -19,3 +19,4 @@ import 'pepjs'; | ||
export default function createListener(DOMNode) { | ||
const listener = listeners.find(_listener => _listener.DOMNode === DOMNode); | ||
// Check if already listening to DOM Node | ||
const listener = listeners.find(listener => listener.DOMNode === DOMNode); | ||
if (listener) return listener.DOMNode; | ||
@@ -59,3 +60,3 @@ | ||
if (!listener) return; | ||
if (!listener) break; | ||
@@ -67,12 +68,8 @@ const pointer = { event, start: event, preEvents: [event], listener }; | ||
const type = `${listener.state.currentEvent}end`; | ||
if (listener.state.currentEvent === 'drag') { | ||
listener.eventDispatcher.dispatchEvent({ | ||
type: `${listener.state.currentEvent}end`, | ||
event: events[0] | ||
}); | ||
const [event] = events; | ||
listener.eventDispatcher.dispatchEvent({ type, event }); | ||
} else { | ||
listener.eventDispatcher.dispatchEvent({ | ||
type: `${listener.state.currentEvent}end`, | ||
events | ||
}); | ||
listener.eventDispatcher.dispatchEvent({ type, events }); | ||
} | ||
@@ -100,3 +97,3 @@ } | ||
// this can happen when a pointer started outside a known dom node | ||
if (!pointer) return; | ||
if (!pointer) break; | ||
@@ -156,3 +153,3 @@ // update pointer | ||
// this can happen when a pointer started outside the screen | ||
if (!pointer) return; | ||
if (!pointer) break; | ||
@@ -215,2 +212,5 @@ // update pointer | ||
} | ||
const listener = listeners.find(({ DOMNode }) => DOMNode === event.target); | ||
if (listener) listener.eventDispatcher.dispatchEvent(event); | ||
} | ||
@@ -224,2 +224,6 @@ | ||
for (const listener of listeners) { | ||
if (['drag', 'seconddrag', 'multitouch'].includes(listener.state.currentEvent)) { | ||
listener.eventDispatcher.dispatchEvent({ type: `${listener.state.currentEvent}end`, event }); | ||
} | ||
listener.state = { | ||
@@ -235,5 +239,6 @@ currentEvent: 'idle', | ||
window.addEventListener('pointerup', eventRegonizer); | ||
window.addEventListener('pointerover', eventRegonizer); | ||
window.addEventListener('pointerout', eventRegonizer); | ||
window.addEventListener('pointerleave', eventRegonizer); | ||
window.addEventListener('pointercancel', eventRegonizer); | ||
window.addEventListener('contextmenu', eventRegonizer); | ||
window.addEventListener('blur', onblur); | ||
@@ -245,6 +250,7 @@ | ||
window.removeEventListener('pointerup', eventRegonizer); | ||
window.removeEventListener('pointerover', eventRegonizer); | ||
window.removeEventListener('pointerout', eventRegonizer); | ||
window.removeEventListener('pointerleave', eventRegonizer); | ||
window.removeEventListener('pointercancel', eventRegonizer); | ||
window.removeEventListener('contextmenu', eventRegonizer); | ||
window.removeEventListener('blur', onblur); | ||
} |
14131
263
73