Angular directive to show an animated spinner (using spin.js)
Copyright (C) 2013, 2014, 2015, Uri Shaked uri@urish.org.
Get both spin.js and angular-spinner
$ bower install spin.js angular-spinner
Include both spin.js and angular-spinner.js in your application.
<scriptsrc="bower_components/spin.js/spin.js"></script><scriptsrc="bower_components/angular-spinner/angular-spinner.js"></script>Add the module angularSpinner as a dependency to your app module:
varmyapp=angular.module('myapp',['angularSpinner']);You can now start using the us-spinner directive to display an animated spinner. For example :
<spanus-spinner></span>You can also pass spinner options, for example:
<spanus-spinner="{radius:30, width:8, length: 16}"></span>Possible configuration options are described in the spin.js homepage.
You can use usSpinnerConfigProvider to configure default options for all spinners globally. Any options passed from a directive still override these.
myapp.config(['usSpinnerConfigProvider',function(usSpinnerConfigProvider){usSpinnerConfigProvider.setDefaults({color: 'blue'});}]);Themes provide named default options for spinners. Any options passed from a directive still override these.
myapp.config(['usSpinnerConfigProvider',function(usSpinnerConfigProvider){usSpinnerConfigProvider.setTheme('bigBlue',{color: 'blue',radius: 20});usSpinnerConfigProvider.setTheme('smallRed',{color: 'red',radius: 6});}]);<spanus-spinnerspinner-theme="smallRed"></span><buttonng-click="startSpin()">Start spinner</button><buttonng-click="stopSpin()">Stop spinner</button><spanus-spinnerspinner-key="spinner-1"></span>The usSpinnerService service let you control spin start and stop :
app.controller('MyController',['$scope','usSpinnerService',function($scope,usSpinnerService){$scope.startSpin=function(){usSpinnerService.spin('spinner-1');}$scope.stopSpin=function(){usSpinnerService.stop('spinner-1');}}]);Note that when you specify a key, the spinner is rendered inactive. You can still render the spinner as active with the spinner-start-active parameter :
<spanus-spinnerspinner-key="spinner-1" spinner-start-active="true"></span>The spinner-key will be used as an identifier (not unique) allowing you to have several spinners controlled by the same key :
<spanus-spinnerspinner-key="spinner-1"></span><spanus-spinnerspinner-key="spinner-2"></span>
... random html code ...
<!-- This spinner will be triggered along with the first "spinner-1" --><spanus-spinnerspinner-key="spinner-1"></span>See online example on Plunker.
Released under the terms of MIT License.
- Fork repo.
npm installbower install- Make your changes, add your tests.
grunt testgrunt buildonce all tests are passing. Commit, push, PR.

