2.0.1 • Published 4 years ago

a8-modal v2.0.1

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

a4-modal

Angular 4 Modal

How-To

Install

npm install a4-modal

app.module.ts

  1. Add ModalModule to imports of the app.module.ts.
...
import { ModalModule } from 'a4-modal';
...

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    ...,
    ModalModule,
    ...
  ],
  ...
})

app.component.ts

  1. Add viewContainerRef: ViewContainerRef to the constructor of app.component.ts.
...
import { ViewContainerRef } from '@angular/core';
...

constructor(private viewContainerRef: ViewContainerRef) { }

your.component.ts

  1. Add modalService: ModalService to the constructor of your component.
constructor(private modalService: ModalService) { }
  1. Invoking the modal can be done by using the service as shown below.
this.modalService.open(MyModalContentComponent)
    .then(p=> console.log(p)) // the result of the modal
    .catch(p=> console.error(p)); // when route changes
  1. MyModalContentComponent will be dynamically created by the modal service. You will need to add MyModalContentComponent to the entryComponents in your module.
@NgModule({
    imports: [
        ...
    ],
    declarations: [
        ...
    ],
    providers: [
        ...
    ],
    entryComponents: [
        MyModalContentComponent
    ]

my-modal.component.ts

  1. The service will automatically inject the modal component into your component.
  2. Add the following code to your modal component.
...
import { ModalComponent, IModal } from 'a4-modal';
...

export class MyModalComponent implements IModal {
    ...
    modal: ModalComponent;
    ...

    closeModal() {
        this.modal.close();
    }

    ...
}