ngx-modialog-11
Version:
Modal / Dialog for Angular
64 lines • 7.54 kB
JavaScript
import { ANALYZE_FOR_ENTRY_COMPONENTS, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { EVENT_MANAGER_PLUGINS } from '@angular/platform-browser';
import { DOMOutsideEventPlugin, DOMOverlayRenderer } from './providers/index';
import { OverlayRenderer } from './models/tokens';
import { CSSBackdrop, CSSDialogContainer } from './components/index';
import { Overlay, ModalOverlay, OverlayDialogBoundary, OverlayTarget } from './overlay/index';
export class ModalModule {
/**
* Returns a ModalModule pre-loaded with a list of dynamically inserted components.
* Since dynamic components are not analysed by the angular compiler they must register manually
* using entryComponents, this is an easy way to do it.
* @param entryComponents A list of dynamically inserted components (dialog's).
*/
static withComponents(entryComponents) {
return {
ngModule: ModalModule,
providers: [
{ provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: entryComponents, multi: true }
]
};
}
/**
* Returns a NgModule for use in the root Module.
* @param entryComponents A list of dynamically inserted components (dialog's).
*/
static forRoot(entryComponents) {
return {
ngModule: ModalModule,
providers: [
{ provide: OverlayRenderer, useClass: DOMOverlayRenderer },
{ provide: EVENT_MANAGER_PLUGINS, useClass: DOMOutsideEventPlugin, multi: true },
{ provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: entryComponents || [], multi: true }
]
};
}
}
ModalModule.decorators = [
{ type: NgModule, args: [{
declarations: [
ModalOverlay,
CSSBackdrop,
CSSDialogContainer,
OverlayDialogBoundary,
OverlayTarget
],
imports: [CommonModule],
exports: [
CSSBackdrop,
CSSDialogContainer,
OverlayDialogBoundary,
OverlayTarget
],
providers: [
Overlay
],
entryComponents: [
ModalOverlay,
CSSBackdrop,
CSSDialogContainer
]
},] }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1vZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tb2RpYWxvZy0xMS9zcmMvbGliL25neC1tb2RpYWxvZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBNkIsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckUsT0FBTyxFQUNMLE9BQU8sRUFDUCxZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLGFBQWEsRUFDZCxNQUFNLGlCQUFpQixDQUFDO0FBMEJ6QixNQUFNLE9BQU8sV0FBVztJQUV0Qjs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsZUFBeUM7UUFDN0QsT0FBTztZQUNMLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLFNBQVMsRUFBRTtnQkFDVCxFQUFDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7YUFDaEY7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBMEM7UUFDdkQsT0FBTztZQUNMLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLFNBQVMsRUFBRTtnQkFDVCxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFDO2dCQUN4RCxFQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQztnQkFDOUUsRUFBQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsUUFBUSxFQUFFLGVBQWUsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQzthQUN0RjtTQUNGLENBQUM7SUFDSixDQUFDOzs7WUF0REYsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsa0JBQWtCO29CQUNsQixxQkFBcUI7b0JBQ3JCLGFBQWE7aUJBQ2Q7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixPQUFPLEVBQUU7b0JBQ1AsV0FBVztvQkFDWCxrQkFBa0I7b0JBQ2xCLHFCQUFxQjtvQkFDckIsYUFBYTtpQkFDZDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsT0FBTztpQkFDUjtnQkFDRCxlQUFlLEVBQUU7b0JBQ2YsWUFBWTtvQkFDWixXQUFXO29CQUNYLGtCQUFrQjtpQkFDbkI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFOQUxZWkVfRk9SX0VOVFJZX0NPTVBPTkVOVFMsIE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEVWRU5UX01BTkFHRVJfUExVR0lOUyB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuaW1wb3J0IHsgRE9NT3V0c2lkZUV2ZW50UGx1Z2luLCBET01PdmVybGF5UmVuZGVyZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9pbmRleCc7XHJcbmltcG9ydCB7IE92ZXJsYXlSZW5kZXJlciB9IGZyb20gJy4vbW9kZWxzL3Rva2Vucyc7XHJcbmltcG9ydCB7IENTU0JhY2tkcm9wLCBDU1NEaWFsb2dDb250YWluZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5kZXgnO1xyXG5pbXBvcnQge1xyXG4gIE92ZXJsYXksXHJcbiAgTW9kYWxPdmVybGF5LFxyXG4gIE92ZXJsYXlEaWFsb2dCb3VuZGFyeSxcclxuICBPdmVybGF5VGFyZ2V0XHJcbn0gZnJvbSAnLi9vdmVybGF5L2luZGV4JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBNb2RhbE92ZXJsYXksXHJcbiAgICBDU1NCYWNrZHJvcCxcclxuICAgIENTU0RpYWxvZ0NvbnRhaW5lcixcclxuICAgIE92ZXJsYXlEaWFsb2dCb3VuZGFyeSxcclxuICAgIE92ZXJsYXlUYXJnZXRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIENTU0JhY2tkcm9wLFxyXG4gICAgQ1NTRGlhbG9nQ29udGFpbmVyLFxyXG4gICAgT3ZlcmxheURpYWxvZ0JvdW5kYXJ5LFxyXG4gICAgT3ZlcmxheVRhcmdldFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBPdmVybGF5XHJcbiAgXSxcclxuICBlbnRyeUNvbXBvbmVudHM6IFtcclxuICAgIE1vZGFsT3ZlcmxheSxcclxuICAgIENTU0JhY2tkcm9wLFxyXG4gICAgQ1NTRGlhbG9nQ29udGFpbmVyXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxNb2R1bGUge1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGEgTW9kYWxNb2R1bGUgcHJlLWxvYWRlZCB3aXRoIGEgbGlzdCBvZiBkeW5hbWljYWxseSBpbnNlcnRlZCBjb21wb25lbnRzLlxyXG4gICAqIFNpbmNlIGR5bmFtaWMgY29tcG9uZW50cyBhcmUgbm90IGFuYWx5c2VkIGJ5IHRoZSBhbmd1bGFyIGNvbXBpbGVyIHRoZXkgbXVzdCByZWdpc3RlciBtYW51YWxseVxyXG4gICAqIHVzaW5nIGVudHJ5Q29tcG9uZW50cywgdGhpcyBpcyBhbiBlYXN5IHdheSB0byBkbyBpdC5cclxuICAgKiBAcGFyYW0gZW50cnlDb21wb25lbnRzIEEgbGlzdCBvZiBkeW5hbWljYWxseSBpbnNlcnRlZCBjb21wb25lbnRzIChkaWFsb2cncykuXHJcbiAgICovXHJcbiAgc3RhdGljIHdpdGhDb21wb25lbnRzKGVudHJ5Q29tcG9uZW50czogQXJyYXk8VHlwZTxhbnk+IHwgYW55W10+KTogTW9kdWxlV2l0aFByb3ZpZGVyczxhbnk+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBNb2RhbE1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge3Byb3ZpZGU6IEFOQUxZWkVfRk9SX0VOVFJZX0NPTVBPTkVOVFMsIHVzZVZhbHVlOiBlbnRyeUNvbXBvbmVudHMsIG11bHRpOiB0cnVlfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBhIE5nTW9kdWxlIGZvciB1c2UgaW4gdGhlIHJvb3QgTW9kdWxlLlxyXG4gICAqIEBwYXJhbSBlbnRyeUNvbXBvbmVudHMgQSBsaXN0IG9mIGR5bmFtaWNhbGx5IGluc2VydGVkIGNvbXBvbmVudHMgKGRpYWxvZydzKS5cclxuICAgKi9cclxuICBzdGF0aWMgZm9yUm9vdChlbnRyeUNvbXBvbmVudHM/OiBBcnJheTxUeXBlPGFueT4gfCBhbnlbXT4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPGFueT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IE1vZGFsTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7cHJvdmlkZTogT3ZlcmxheVJlbmRlcmVyLCB1c2VDbGFzczogRE9NT3ZlcmxheVJlbmRlcmVyfSxcclxuICAgICAgICB7cHJvdmlkZTogRVZFTlRfTUFOQUdFUl9QTFVHSU5TLCB1c2VDbGFzczogRE9NT3V0c2lkZUV2ZW50UGx1Z2luLCBtdWx0aTogdHJ1ZX0sXHJcbiAgICAgICAge3Byb3ZpZGU6IEFOQUxZWkVfRk9SX0VOVFJZX0NPTVBPTkVOVFMsIHVzZVZhbHVlOiBlbnRyeUNvbXBvbmVudHMgfHwgW10sIG11bHRpOiB0cnVlfVxyXG4gICAgICBdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=