@bmat/angular-dialog-service
TypeScript icon, indicating that this package has built-in type declarations

7.1.0-beta.3 • Public • Published

@bmat/angular-dialog-service

This module provides a service to create dialogs with a dialog style.

Creating dialogs

The main piece is the Angular service DialogService. This service provide a method

open(
    embedComp: ComponentType<T> | TemplateRef<T>,
    options: Partial<OpenDialogOption<E>> = {},
  ): DialogRef<T, E>

Calling this method will create the dialog and return a DialogRef object:

export class DialogRef<CLOSE extends any = any, DATA extends any = any> {
  public readonly data: DATA;
  public readonly close: (value: CLOSE) => void;
  public readonly valueChanges$: Observable<DialogAction<CLOSE>>;
  public readonly dismiss: () => void;

  public componentInstance: ComponentType<DATA> | null = null;
}

The DialogRef is injected in the created element and can be used to close (semantically close the dialog and send a result message) and dismiss (close and do not send a message, like for example clicking a backdrop).

valueChanges$ streams the events Open, Close and Dismiss with the related payload

Adding dialog components

Dialog components, not TemplateRef, need to be added to a NgModule.entryComponents as they are dynamically created.

Readme

Keywords

none

Package Sidebar

Install

npm i @bmat/angular-dialog-service

Weekly Downloads

4

Version

7.1.0-beta.3

License

none

Unpacked Size

243 kB

Total Files

35

Last publish

Collaborators

  • dogmatico