Giter VIP home page Giter VIP logo

angular-spinner's Introduction

angular-spinner

Angular directive to show an animated spinner (using spin.js) Cloned by Black Pear 3/4/2023

Copyright (C) 2013, 2014, 2015, 2016, 2017 Uri Shaked, Islam Attrash and contributors

Build Status Coverage Status

Usage

Get angular-spinner

  • via npm: by running $ npm install angular-spinner from your console

Include angular-spinner.js in your application.

import 'angular-spinner';

OR:

require('angular-spinner');

OR by picking one of the following files (minified/not-minified):

<script src="node_modules/angular-spinner/dist/angular-spinner.js"></script>
<script src="node_modules/angular-spinner/dist/angular-spinner.min.js"></script>

Add the module angularSpinner as a dependency to your app module:

var myapp = angular.module('myapp', ['angularSpinner']);

You can now start using the us-spinner directive to display an animated spinner. For example :

<span us-spinner></span>

You can also pass spinner options, for example:

<span us-spinner="{radius:30, width:8, length: 16}"></span>

Possible configuration options are described in the spin.js homepage.

You can direct the spinner to start and stop based on a scope expression, for example:

<span us-spinner="{radius:30, width:8, length: 16}" spinner-on="showSpinner"></span>

Configuring default spinner options

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

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});
}]);
<span us-spinner spinner-theme="smallRed"></span>

Using the usSpinnerService to control spinners

<button ng-click="startSpin()">Start spinner</button>
<button ng-click="stopSpin()">Stop spinner</button>

<span us-spinner spinner-key="spinner-1"></span>

The usSpinnerService service let you control spin start and stop by key. Whenever the key is not specified all the spinner will be affected (Start/Stop all spinners):

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 :

<span us-spinner spinner-key="spinner-1" spinner-start-active="true"></span>

spinner-start-active is ignored if spinner-on is specified.

The spinner-key will be used as an identifier (not unique) allowing you to have several spinners controlled by the same key :

<span us-spinner spinner-key="spinner-1"></span>
<span us-spinner spinner-key="spinner-2"></span>

... random html code ...

<!-- This spinner will be triggered along with the first "spinner-1" -->
<span us-spinner spinner-key="spinner-1"></span>

Example

See online example on Plunker.

License

Released under the terms of MIT License.

Contributing

  1. Fork repo.
  2. npm i
  3. Make your changes, add your tests.
  4. npm run test
  5. npm run build once all tests are passing. Commit, push, PR.

angular-spinner's People

Contributors

djehring avatar

Watchers

Kevin Johnston avatar  avatar Dunmail avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.