0.2.0 • Published 10 years ago

angular-vibrator v0.2.0

Weekly downloads
4
License
MIT
Repository
github
Last release
10 years ago

Angular Vibrator

####Angular Vibrator is an angular wrapper for the vibration API

You want to use the vibration API on your Angular application? You're at the right place.

Installation

via bower:

$ bower install angular-vibrator

via npm:

$ npm install angular-vibrator

Usage

1 - Include the vibrator as a dependency for your app.

angular.module('yourApp', ['angular-vibrator'])

2 - Use vibrator service as a dependency in your controller

 .controller('VibrationsCtrl', ['$scope', 'vibrator', function($scope, vibrator){

   $scope.vibrate = function(duration) {
     vibrator.vibrate(duration);
   };
 }]);

3 - Bind it to the view (optional)

  <body ng-app="VibratorDemo" ng-controller="VibrationsCtrl">
    <!-- some html ... -->
    <input type="text" ng-model="duration">
    <button ng-click="vibrate(duration)">
      Click me (I'll vibrate for {{duration}} ms)
    </button>
    <!-- some html ... -->
  </body>

Configuration

Choose your own sequences

By default the sequences are already defined. But if you want to change it/adapt it to your need you can do it easily:

 angular.module('yourApp', ['angular-vibrator'])
   .config(['vibratorProvider', function(vibratorProvider) {
     // Define your own sequences
     var sequences = {
       default: 900,
       twice: [200, 100, 300],
       long: 2500
     };

     vibratorProvider.setSequences(sequences);
  }])

Checkout the example folder for more informations/tips.

Error Handling

Angular Vibrator includes error handling through broadcast messages sent from the $rootScope. This way you can, in your application, easily catch these errors and do whatever you want with it.

Here is how you can implement this:

 angular.module('yourApp', ['angular-vibrator'])
   .controller('VibrationsCtrl', ['$scope', function($scope){

     $scope.$on('vibrator:unsupportedBrowser', function() {
      console.log('Do whatever you want like display a warning on the page');
     });
   }]);

License

Licensed under the MIT license

Cyril F - Web developer