Skip to content

A lightweight Angular library to add a loading spinner to your Angular Material buttons. ๐Ÿ™Š

License

Notifications You must be signed in to change notification settings

dkreider/ngx-loading-buttons

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation


npm npm npm bundle size (minified + gzip) ngx-loading-buttons PRs All Contributors npm

A lightweight Angular library to add a loading spinner to your Angular Material buttons.

Installation

ng add ngx-loading-buttons

Usage

Import the NgxLoadingButtonsModule into your AppModule. You can configure it as shown below:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { NgxLoadingButtonsModule } from 'ngx-loading-buttons';

import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent    
  ],
  imports: [
    BrowserModule,
    NgxLoadingButtonsModule,
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

And last of all, add it to your <button> element like this.

<button mat-raised-button [mtBasicSpinner]="true">Basic</button>

You can also hide the button's text like this.

<button mat-raised-button [mtBasicSpinner]="true" [hideText]="true">Basic</button>

A "real-world component" would likely look like this.

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  saving: boolean = false;

  save(): void {
    this.saving = true;
    // Juggle 5 hens while wiggling your toes and other magic... ๐Ÿคก
  }


}

And our template file.

<button mat-raised-button [mtBasicSpinner]="saving" (click)="save()">Basic</button>

Add our styles to yours

@import 'ngx-loading-buttons/styles';

Issues ๐Ÿ›

Found a bug? Want to request a feature? Confused? Or wanna simply comment on how useful this library is?

Open an issue here.

Contributors โœจ

Thanks goes to these wonderful people (emoji key):


Daniel Kreider

๐Ÿ’ป

Totto

๐Ÿ’ป

Raphaรซl Balet

๐Ÿ’ป

Arthur Ming

๐Ÿ’ป

Thomas Renger

๐Ÿ’ป

mixer904

๐Ÿ’ป

Fabien Wautriche

๐Ÿ›

tux1337

๐Ÿ›

Milรกn Nรฉmeth

๐Ÿ›

Adrien

๐Ÿ›

This project follows the all-contributors specification.

Contributions of any kind welcome!

Credits