angular-ladda
An angular directive wrapper for Ladda.
Getting started
(1) Get angular-ladda via Bower
$ bower install angular-ladda 
or add bower.json
$ bower install angular-ladda --save 
(2) add css & javascript link to html
...
<link rel="stylesheet" href="bower_components/ladda/dist/ladda-themeless.min.css">
...
<script src="bower_components/ladda/dist/spin.min.js"></script>
<script src="bower_components/ladda/dist/ladda.min.js"></script>
<script src="bower_components/angular-ladda/dist/angular-ladda.min.js"></script>
... 
*!!!Order of .js includes is very important!!!
(3) add 'angular-ladda' to your main module's list of dependencies
var myApp = angular.module('myApp', ['angular-ladda']); 
(4) enjoy!
Quick example
options
use laddaProvider
- style 
  
- expand-left
 - expand-right
 - expand-up
 - expand-down
 - zoom-in
 - zoom-out
 - slide-left
 - slide-right
 - slide-up
 - slide-down
 - contract
 
 
angular.module(xxxx)
  .config(function (laddaProvider) {
    laddaProvider.setOption({ /* optional */
      style: 'expand-left',
      spinnerSize: 35,
      spinnerColor: '#ffffff'
    });
  }) 
controller
  $scope.login = function() {
    // start loading
    $scope.loginLoading = true;
    loginService.login(function() {
      // stop loading
      $scope.loginLoading = false;
    });
  } 
view
basic
<button ladda="loginLoading" ng-click="login()">
  Login
</button> 
change style of effect
<button ladda="loginLoading" ng-click="login()" data-style="expand-left">
  Login
</button> 
change size of spinner
<button ladda="loginLoading" ng-click="login()" data-spinner-size="10">
  Login
</button> 
change color of spinner
<button ladda="loginLoading" ng-click="login()" data-spinner-color="#FF0000">
  Login
</button> 
Browserify support
angular-ladda doesn't work properly with browserify, since it references the Spinner and Ladda libraries, which are not proper AMD modules (and are also not always used as such in angular-ladda's code). In order to make it works with browserify you will need to use browserify-shim.
$ npm install --save browserify-shim 
in your package.json, add the following object:
"dependencies": {
    ...
},
"browserify-shim": {
    "ladda": "global:Ladda",
    "spin.js": "global:Spinner"
} 
require Spinner, Ladda and angular-ladda wherever you usually require external modules (the ordering here is important):
window.Spinner = require('/components/ladda/js/spin');
window.Ladda = require('/components/ladda/js/ladda');
require('/components/angular-ladda/dist/angular-ladda'); 
Using ladda-themeless.min.css
overrides in your bower.json (Thanks @benjamincharity)
{
  "name": "client",
  "version": "0.0.0",
  "dependencies": {
    "ladda": "~0.9.8"
  },
  "overrides": {
      "ladda": {
          "main": [
              "dist/ladda-themeless.min.css"
          ]
      }
  }
}
 
Links
Contributing
- Fork it ( https://github.com/remotty/angular-ladda/fork )
 - Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
 
setup
$ bower install
$ npm install
$ node_modules/protractor/bin/webdriver-manager update
 
test
$ gulp test
 
build
$ gulp