1.0.1 • Published 4 years ago

ngx-bootstrap-dialog v1.0.1

Weekly downloads
5
License
MIT
Repository
github
Last release
4 years ago

Ngx Bootstrap Dialog

Simple and customizable dialogs for Angular built on top of NG Bootstrap.

Build Status Coverage Status

Demo

Please check the demos:

Dialog Alert Dialog Confirm

Getting started

Install dependency:

The only dependency is @ng-bootstrap/ng-bootstrap. Basically you can install it with:

ng add @ng-bootstrap/ng-bootstrap

For more informations, please check the offical documentation.

Install:

npm install ngx-bootstrap-dialog --save

Import module:

//...
import { NgxBootstrapDialogModule } from 'ngx-bootstrap-dialog';
//....

@NgModule({
  declarations: [AppComponent],
  imports: [
    //...
    NgxBootstrapDialogModule
    //...
  ],
  bootstrap: [AppComponent],
})
export class AppModule {}

Inject/Use NgxBootstrapDialogService:

//...
import { NgxBootstrapDialogService } from 'ngx-bootstrap-dialog';
//....

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
})
export class AppComponent {
  constructor(private dialog: NgxBootstrapDialogService) {}

  openDialogAlert() {
    this.dialog.alert({
      title: 'Title',
      message: 'Lorem ipsum!',
    });
  }

  openDialogConfirm() {
    this.dialog.confirm({
      title: 'Title',
      message: 'Lorem ipsum?',
    });
  }
}

Method Alert:

The method opens a new alert dialog with the supplied options and return a promise. These options will be merged with the default options (see the values in table below);

  alert(options: NgxBootstrapDialogAlertOptions): Promise<any>

The promise is resolved by clicking the confirm button and rejected when the dialog is dismissed.

    this.dialog.alert({
      title: 'Title',
      message: 'Lorem ipsum!',
    })
    .then(() => console.log('Confimed!'))
    .catch(() => console.log('Dismissed!'));

Alert options and default values (NgxBootstrapDialogOptions):

OptionTypeDefault valueDescription
titlestring''Alert title
messagestring''Message title
confirmButtonLabelstring'Confirm'Button confirm label
confirmButtonClassstring'btn btn-primary'Button confirm css class
showConfirmButtonbooleantrueShow confirm button
cancelButtonLabelstring'Cancel'Button cancel label
cancelButtonClassstring'btn btn-secondary'Button cancel css class
showCancelButtonbooleanfalseShow cancel button
showCloseButtonbooleanfalseShow close button
ngbModalOptionsNgbModalOptionsnullOptions available for NgbModal.open() method see NgbModalOptions

Method Confirm:

The method opens a new confirm dialog with the supplied options and return a promise. These options will be merged with the default options (see the values in table below);

  confirm(options: NgxBootstrapDialogAlertOptions): Promise<any>

The promise is resolved by clicking the confirm button and rejected by clicking the cancel button or when the dialog is dismissed.

    this.dialog.confirm({
      title: 'Title',
      message: 'Lorem ipsum!',
    })
    .then(() => console.log('Confimed!'))
    .catch(() => console.log('Canceled or dismissed!'));

Confirm options and default values (NgxBootstrapDialogOptions):

OptionTypeDefault valueDescription
titlestring''Alert title
messagestring''Message title
confirmButtonLabelstring'Confirm'Button confirm label
confirmButtonClassstring'btn btn-primary'Button confirm css class
showConfirmButtonbooleantrueShow confirm button
cancelButtonLabelstring'Cancel'Button cancel label
cancelButtonClassstring'btn btn-secondary'Button cancel css class
showCancelButtonbooleantrueShow cancel button
showCloseButtonbooleanfalseShow close button
ngbModalOptionsNgbModalOptionsnullOptions available for NgbModal.open() method see NgbModalOptions

Global config

The global config can be adjusted by providing a value for NGX_BOOTSTRAP_ALERT_DEFAULT_OPTIONS and NGX_BOOTSTRAP_CONFIRM_DEFAULT_OPTIONS in your application's root module. These options will be merged with the respective default options.

//...
import { NgxBootstrapDialogModule } from 'ngx-bootstrap-dialog';
import {
  NGX_BOOTSTRAP_ALERT_DEFAULT_OPTIONS,
  NGX_BOOTSTRAP_CONFIRM_DEFAULT_OPTIONS,
} from 'ngx-bootstrap-dialog';

//....

@NgModule({
  declarations: [AppComponent],
  imports: [
    //...
    NgxBootstrapDialogModule
    //...
  ],
  providers: [
    {
      provide: NGX_BOOTSTRAP_ALERT_DEFAULT_OPTIONS,
      useValue: { confirmButtonClass: 'btn btn-danger' },
    },
    {
      provide: NGX_BOOTSTRAP_CONFIRM_DEFAULT_OPTIONS,
      useValue: { confirmButtonText: 'CONFIRM' },
    },
  ],
  bootstrap: [AppComponent],
})
export class AppModule {}