I created this plunker http://plnkr.co/edit/s8p2KtW8YnPqU557J78k?p=preview demonstrating what I would consider the most basic way to leverage hammerjs and its gesture events from within angular2 & typescript as an external library.
_.each( this.actors, function(actor){
var myElement = document.getElementById(actor.id);
myElement.style.backgroundColor = actor.color;
var hammertime = new window.Hammer(myElement);
hammertime.on('panright', function(ev) {
var target = ev.target;
var actorName = target.getAttribute('data-actor');
console.log("pan actorName: ", actorName);
});
hammertime.on('tap', function(ev) {
var target = ev.target;
var actorName = target.getAttribute('data-actor');
console.log("tap actorName: ", actorName);
});
hammertime.on('swipe', function(ev) {
var target = ev.target;
var actorName = target.getAttribute('data-actor');
console.log("swipe actorName: ", actorName);
});
});
I can see tap and pan events but not the swipe events. Any ideas why? For my purposes, I can simply treat panleft or panright as a swipeleft or swiperight event but its strange that the swipe events don't seem to be captured consistently like pan.