ladda-angular
Version:
Ladda button directive for angularjs
98 lines (77 loc) • 2.98 kB
Markdown




Angularjs directive for [Ladda](http://lab.hakim.se/ladda/) button *`( <300 bytes )`* by [@hakimel](https://twitter.com/hakimel)
Demo
---
[](http://sachinchoolur.github.io/ladda-angular/)
You can also check live demo on [codepen](http://codepen.io/sachinchoolur/pen/ogxpOZ)
How to use
---
You can Install ladda-angular using the [Bower](http://bower.io) package manager.
```sh
$ bower install ladda-angular --save
```
You can also find ladda-angular on [npm](http://npmjs.org).
```sh
$ npm install ladda-angular
```
For more information about how to create ladda button please refer [ladda](https://github.com/hakimel/Ladda) button repository.
add the Following code into your document.
``` html
<script src="path/ladda-angular.min.js"></script>
```
Add `ladda` dependency to your module
``` javascript
var myApp = angular.module("app", ["ladda"]);
```
Add directive `ladda-button` with your normal ladda button.
``` html
<button ladda-button="laddaLoading" data-style="expand-right" class="ladda-button"><span class="ladda-label">Submit</span>
```
Directive attribute should be a scope variable with value true or false or number.
* `true` >> To start loading.
* `false` >> To stop loading.
* `number` >> To set progress value.
``` javascript
app.controller('laddaDemoCtrl', function ($scope, $interval, $timeout) {
// Example without progress Bar
$scope.showLoading = function () {
// Set ladda loading true
// Loading spinner will be shown;
$scope.laddaLoading = true;
$timeout(function () {
// Set ladda loading false after 3 Seconds.
// Loading spinner will be hidden;
$scope.laddaLoading = false;
}, 3000);
};
// Example without progress Bar
$scope.loadingWithProgress = function () {
// Set progress 0;
$scope.laddaLoadingBar = 0;
// Run in every 30 milliseconds
var interval = $interval(function () {
// Increment by 1;
$scope.laddaLoadingBar++;
if ($scope.laddaLoadingBar >= 100) {
// Cancel interval if progress is 100
$interval.cancel(interval);
//Set ladda loading false
$scope.laddaLoadingBar = false;
}
}, 30);
};
});
```