UNPKG

ngx-modialog-11

Version:
42 lines 6.63 kB
export function unsupportedDropInError(dropInName) { return new Error(`Unsupported Drop-In ${dropInName}`); } export class Modal { constructor(overlay) { this.overlay = overlay; } alert() { throw unsupportedDropInError('alert'); } prompt() { throw unsupportedDropInError('prompt'); } confirm() { throw unsupportedDropInError('confirm'); } /** * Opens a modal window inside an existing component. * @param content The content to display, either string, template ref or a component. * @param config Additional settings. */ open(content, config) { config = config || {}; const dialogs = this.overlay.open(config, this.constructor); if (dialogs.length > 1) { console.warn(`Attempt to open more then 1 overlay detected. Multiple modal copies are not supported at the moment, only the first viewContainer will display.`); } // TODO: Currently supporting 1 view container, hence working on dialogs[0]. // upgrade to multiple containers. return this.create(dialogs[0], content); } createBackdrop(dialogRef, BackdropComponent) { return dialogRef.overlayRef.instance.addComponent(BackdropComponent); } createContainer(dialogRef, ContainerComponent, content) { const nodes = dialogRef.overlayRef.instance.getProjectables(content); return dialogRef.overlayRef.instance.addComponent(ContainerComponent, nodes); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbW9kaWFsb2ctMTEvc3JjL2xpYi9wcm92aWRlcnMvbW9kYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFVBQWtCO0lBQ3ZELE9BQU8sSUFBSSxLQUFLLENBQUMsdUJBQXVCLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVELE1BQU0sT0FBZ0IsS0FBSztJQUN6QixZQUFtQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQ25DLENBQUM7SUFHRCxLQUFLO1FBQ0gsTUFBTSxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxDQUFDLE9BQXlCLEVBQUUsTUFBc0I7UUFDcEQsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFTLENBQUM7UUFDN0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1RCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUM7O2lEQUU4QixDQUFDLENBQUM7U0FDOUM7UUFDRCw2RUFBNkU7UUFDN0UseUNBQXlDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQVVTLGNBQWMsQ0FBSSxTQUF5QixFQUFFLGlCQUEyQjtRQUNoRixPQUFPLFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBSSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFUyxlQUFlLENBQ3ZCLFNBQXlCLEVBQ3pCLGtCQUE0QixFQUM1QixPQUF5QjtRQUV6QixNQUFNLEtBQUssR0FBVSxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUUsT0FBTyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUksa0JBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEYsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSAnLi4vb3ZlcmxheS9pbmRleCc7XHJcbmltcG9ydCB7IENsYXNzIH0gZnJvbSAnLi4vZnJhbWV3b3JrL3V0aWxzJztcclxuaW1wb3J0IHsgT3ZlcmxheUNvbmZpZywgQ29udGFpbmVyQ29udGVudCB9IGZyb20gJy4uL21vZGVscy90b2tlbnMnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICcuLi9tb2RlbHMvZGlhbG9nLXJlZic7XHJcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxpbmdDb250ZXh0QnVpbGRlciB9IGZyb20gJy4uL21vZGVscy9vdmVybGF5LWNvbnRleHQnO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHVuc3VwcG9ydGVkRHJvcEluRXJyb3IoZHJvcEluTmFtZTogc3RyaW5nKTogRXJyb3Ige1xyXG4gIHJldHVybiBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIERyb3AtSW4gJHtkcm9wSW5OYW1lfWApO1xyXG59XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTW9kYWwge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvdmVybGF5OiBPdmVybGF5KSB7XHJcbiAgfVxyXG5cclxuXHJcbiAgYWxlcnQoKTogTW9kYWxDb250cm9sbGluZ0NvbnRleHRCdWlsZGVyPGFueT4ge1xyXG4gICAgdGhyb3cgdW5zdXBwb3J0ZWREcm9wSW5FcnJvcignYWxlcnQnKTtcclxuICB9XHJcblxyXG4gIHByb21wdCgpOiBNb2RhbENvbnRyb2xsaW5nQ29udGV4dEJ1aWxkZXI8YW55PiB7XHJcbiAgICB0aHJvdyB1bnN1cHBvcnRlZERyb3BJbkVycm9yKCdwcm9tcHQnKTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm0oKTogTW9kYWxDb250cm9sbGluZ0NvbnRleHRCdWlsZGVyPGFueT4ge1xyXG4gICAgdGhyb3cgdW5zdXBwb3J0ZWREcm9wSW5FcnJvcignY29uZmlybScpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT3BlbnMgYSBtb2RhbCB3aW5kb3cgaW5zaWRlIGFuIGV4aXN0aW5nIGNvbXBvbmVudC5cclxuICAgKiBAcGFyYW0gY29udGVudCBUaGUgY29udGVudCB0byBkaXNwbGF5LCBlaXRoZXIgc3RyaW5nLCB0ZW1wbGF0ZSByZWYgb3IgYSBjb21wb25lbnQuXHJcbiAgICogQHBhcmFtIGNvbmZpZyBBZGRpdGlvbmFsIHNldHRpbmdzLlxyXG4gICAqL1xyXG4gIG9wZW4oY29udGVudDogQ29udGFpbmVyQ29udGVudCwgY29uZmlnPzogT3ZlcmxheUNvbmZpZyk6IERpYWxvZ1JlZjxhbnk+IHtcclxuICAgIGNvbmZpZyA9IGNvbmZpZyB8fCB7fSBhcyBhbnk7XHJcbiAgICBjb25zdCBkaWFsb2dzID0gdGhpcy5vdmVybGF5Lm9wZW4oY29uZmlnLCB0aGlzLmNvbnN0cnVjdG9yKTtcclxuXHJcbiAgICBpZiAoZGlhbG9ncy5sZW5ndGggPiAxKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihgQXR0ZW1wdCB0byBvcGVuIG1vcmUgdGhlbiAxIG92ZXJsYXkgZGV0ZWN0ZWQuXHJcbiAgICAgIE11bHRpcGxlIG1vZGFsIGNvcGllcyBhcmUgbm90IHN1cHBvcnRlZCBhdCB0aGUgbW9tZW50LFxyXG4gICAgICBvbmx5IHRoZSBmaXJzdCB2aWV3Q29udGFpbmVyIHdpbGwgZGlzcGxheS5gKTtcclxuICAgIH1cclxuICAgIC8vIFRPRE86ICBDdXJyZW50bHkgc3VwcG9ydGluZyAxIHZpZXcgY29udGFpbmVyLCBoZW5jZSB3b3JraW5nIG9uIGRpYWxvZ3NbMF0uXHJcbiAgICAvLyAgICAgICAgdXBncmFkZSB0byBtdWx0aXBsZSBjb250YWluZXJzLlxyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKGRpYWxvZ3NbMF0sIGNvbnRlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQSBIb29rIHRoYXQgZW5hYmxlcyBkZXJpdmVkIGNsYXNzZXMgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIG92ZXJsYXkuXHJcbiAgICogQHBhcmFtIGRpYWxvZ1JlZlxyXG4gICAqIEBwYXJhbSB0eXBlXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZShkaWFsb2dSZWY6IERpYWxvZ1JlZjxhbnk+LCB0eXBlOiBDb250YWluZXJDb250ZW50KTogRGlhbG9nUmVmPGFueT47XHJcblxyXG5cclxuICBwcm90ZWN0ZWQgY3JlYXRlQmFja2Ryb3A8VD4oZGlhbG9nUmVmOiBEaWFsb2dSZWY8YW55PiwgQmFja2Ryb3BDb21wb25lbnQ6IENsYXNzPFQ+KTogQ29tcG9uZW50UmVmPFQ+IHtcclxuICAgIHJldHVybiBkaWFsb2dSZWYub3ZlcmxheVJlZi5pbnN0YW5jZS5hZGRDb21wb25lbnQ8VD4oQmFja2Ryb3BDb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGNyZWF0ZUNvbnRhaW5lcjxUPihcclxuICAgIGRpYWxvZ1JlZjogRGlhbG9nUmVmPGFueT4sXHJcbiAgICBDb250YWluZXJDb21wb25lbnQ6IENsYXNzPFQ+LFxyXG4gICAgY29udGVudDogQ29udGFpbmVyQ29udGVudCk6IENvbXBvbmVudFJlZjxUPiB7XHJcblxyXG4gICAgY29uc3Qgbm9kZXM6IGFueVtdID0gZGlhbG9nUmVmLm92ZXJsYXlSZWYuaW5zdGFuY2UuZ2V0UHJvamVjdGFibGVzKGNvbnRlbnQpO1xyXG4gICAgcmV0dXJuIGRpYWxvZ1JlZi5vdmVybGF5UmVmLmluc3RhbmNlLmFkZENvbXBvbmVudDxUPihDb250YWluZXJDb21wb25lbnQsIG5vZGVzKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==