Skip to content

Angular 2+ directive for user swipe event handling

License

MickL/angular-swipe-directive

 
 

Repository files navigation

Angular Swipe

A lightweight Angular directive to detect swipes on touchscreen devices.

Installation

npm install ng-swipe --save

Usage

Import SwipeModule to your module:

import { SwipeModule } from 'ng-swipe';

@NgModule({
  imports: [
    SwipeModule
  ],
})

Add ngSwipe directive to your DOM element and listen to swipeMove or swipeEnd events that are emitted when swipe happens on this element.
Both events correspond to SwipeEvent interface, which contains two fields:
direction: 'y' | 'x' - defines swipe direction
distance: number - defines swipe length in pixels

import { SwipeEvent } from 'ng-swipe';

@Component({
  selector: 'app',
  template: `
    <div 
      ngSwipe 
      (swipeMove)="onSwipeMove($event)" 
      (swipeEnd)="onSwipeEnd($event)"
    >My test element for swipe</div>
  `
})
export class AppComponent {
  onSwipeMove(event: SwipeEvent) {
    console.log(`swipe direction: ${event.direction}`);
    console.log(`swipe distance: ${event.distance}`);
  }
  onSwipeEnd(event: SwipeEvent) {
    console.log(`swipe direction: ${event.direction}`);
    console.log(`swipe distance: ${event.distance}`);
  }  
}

Swipe direction

All four swipe directions(right, left, up, down) can be easily detected by filtering events by direction and distance fields in consumer component e.g. right swipe will have direction === 'x' and distance > 0.

About

Angular 2+ directive for user swipe event handling

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 88.1%
  • JavaScript 8.0%
  • HTML 3.3%
  • CSS 0.6%