Skip to content

lfguerreiro/ng4-loading-spinner

 
 

Repository files navigation

ng4-loading-spinner

Angular 4 custom async loading spinner with two simple methods for your asychronous calls. Custom loading template & loading text inputs are also available.

support support David license

Docs Link

Link to ng4-loading-spinner

Default Spinner Example

Open Plunker

Custom Template Example

Open Plunker

Installation

npm i ng4-loading-spinner --save

Description

You can override the css for your customized spinner. You can also configure your own threshold to show spinner only for more expensive processes! Supports latest Angular v5.x Supports latest Angular cli v1.5.x

Usage

Import module to your application master module

import { Ng4LoadingSpinnerModule } from 'ng4-loading-spinner';

Make an import entry as shown below

imports: [ Ng4LoadingSpinnerModule.forRoot() ]

Include spinner component to your root level component.

<ng4-loading-spinner> </ng4-loading-spinner>

Import Ng4LoadingSpinnerService to the component where you want to show the spinner.

import { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';

Inject dependancy

    constructor(
        private spinnerService: Ng4LoadingSpinnerService
    ) { }

Use show() method to display the loading spinner.

this.spinnerService.show();

Use hide() method to hide the loading spinner once the processing is done.

this.spinnerService.hide();

Example

    this.spinnerService.show();
    this.http.get(GLOBAL['CONFIG_URL'])
        .subscribe(data => {
            this.spinnerService.hide();
        });

Custom template

[template] : Accepts HTML which generates the loading spinner. You can apply additional css to design your own spinner, or can just pass *.gif image to show the loading spinner.

[loadingText] : Accepts a string to display the text while the loading process.

[zIndex] : Accepts a z-index css property for loading text.

[threshold] : Accepts time in milliseconds for threshold through which you can conditionally show the spinner only for expensive calls. Default is 500 ms.

default [loadingText] text would be blank.

app.component.html : both are optional if not provided default would be shown.

<ng4-loading-spinner [threshold]="2000" [template]="template" [loadingText]="'Please wait...'" [zIndex]="9999"></ng4-loading-spinner>

[threshold]="2000" : This will show the loading bar for the only processes which will take time more 2 secs.

app.component.ts

template: string =`<img src="http://pa1.narvii.com/5722/2c617cd9674417d272084884b61e4bb7dd5f0b15_hq.gif" />`

License

MIT © Amit Mahida

About

Angular 4 custom async loading spinner.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 41.7%
  • TypeScript 28.9%
  • CSS 25.3%
  • HTML 4.1%