UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

84 lines 7.95 kB
/** * @fileoverview added by tsickle * Generated from: modal.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, ComponentFactoryResolver, } from '@angular/core'; import { ModalComponent } from './modal.component'; import { OverlayContainerRef } from '@duoduo-oba/ng-devui/overlay-container'; import { assign, isUndefined } from 'lodash-es'; export class ModalService { /** * @param {?} componentFactoryResolver * @param {?} overlayContainerRef */ constructor(componentFactoryResolver, overlayContainerRef) { this.componentFactoryResolver = componentFactoryResolver; this.overlayContainerRef = overlayContainerRef; } /** * @param {?} __0 * @return {?} */ open({ id, component, injector, width, data, handler, showAnimate, backdropCloseable, componentFactoryResolver, onClose, beforeHidden, placement = 'center', offsetX, offsetY, bodyScrollable }) { /** @type {?} */ const finalComponentFactoryResolver = componentFactoryResolver || this.componentFactoryResolver; /** @type {?} */ const modalRef = this.overlayContainerRef.createComponent(finalComponentFactoryResolver.resolveComponentFactory(ModalComponent), injector); assign(modalRef.instance, { id, width, showAnimate, beforeHidden, backdropCloseable: isUndefined(backdropCloseable) ? true : backdropCloseable, placement, offsetX, offsetY, bodyScrollable }); /** @type {?} */ const modalContentInstance = modalRef.instance.modalContainerHost.viewContainerRef .createComponent(finalComponentFactoryResolver.resolveComponentFactory(component), 0, injector); assign(modalContentInstance.instance, { data, handler }); modalRef.instance.onHidden = (/** * @return {?} */ () => { if (onClose) { onClose(); } setTimeout((/** * @return {?} */ () => { modalRef.hostView.destroy(); })); }); modalRef.instance.show(); return { modalInstance: modalRef.instance, modalContentInstance: modalContentInstance.instance }; } } ModalService.decorators = [ { type: Injectable } ]; /** @nocollapse */ ModalService.ctorParameters = () => [ { type: ComponentFactoryResolver }, { type: OverlayContainerRef } ]; if (false) { /** * @type {?} * @private */ ModalService.prototype.componentFactoryResolver; /** * @type {?} * @private */ ModalService.prototype.overlayContainerRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWRldnVpL21vZGFsLyIsInNvdXJjZXMiOlsibW9kYWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1Ysd0JBQXdCLEdBRXpCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsTUFBTSxFQUFFLFdBQVcsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUk5QyxNQUFNLE9BQU8sWUFBWTs7Ozs7SUFDdkIsWUFBb0Isd0JBQWtELEVBQzVELG1CQUF3QztRQUQ5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQzVELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDbEQsQ0FBQzs7Ozs7SUFFRCxJQUFJLENBQUMsRUFDSCxFQUFFLEVBQ0YsU0FBUyxFQUNULFFBQVEsRUFDUixLQUFLLEVBQ0wsSUFBSSxFQUNKLE9BQU8sRUFDUCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixPQUFPLEVBQ1AsWUFBWSxFQUNaLFNBQVMsR0FBRyxRQUFRLEVBQ3BCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsY0FBYyxFQUNBOztjQUNSLDZCQUE2QixHQUFHLHdCQUF3QixJQUFJLElBQUksQ0FBQyx3QkFBd0I7O2NBRXpGLFFBQVEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUN2RCw2QkFBNkIsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsRUFDckUsUUFBUSxDQUNUO1FBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDeEIsRUFBRTtZQUNGLEtBQUs7WUFDTCxXQUFXO1lBQ1gsWUFBWTtZQUNaLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQjtZQUM1RSxTQUFTO1lBQ1QsT0FBTztZQUNQLE9BQU87WUFDUCxjQUFjO1NBQ2YsQ0FBQyxDQUFDOztjQUVHLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsZ0JBQWdCO2FBQy9FLGVBQWUsQ0FBQyw2QkFBNkIsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDO1FBQ2pHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUV6RCxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVE7OztRQUFHLEdBQUcsRUFBRTtZQUNoQyxJQUFJLE9BQU8sRUFBRTtnQkFDWCxPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsVUFBVTs7O1lBQUMsR0FBRyxFQUFFO2dCQUNkLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUIsQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLENBQUEsQ0FBQztRQUVGLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFekIsT0FBTztZQUNMLGFBQWEsRUFBRSxRQUFRLENBQUMsUUFBUTtZQUNoQyxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQyxRQUFRO1NBQ3BELENBQUM7SUFDSixDQUFDOzs7WUE1REYsVUFBVTs7OztZQVJULHdCQUF3QjtZQUlqQixtQkFBbUI7Ozs7Ozs7SUFNZCxnREFBMEQ7Ozs7O0lBQ3BFLDJDQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgSW5qZWN0YWJsZSxcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lclJlZiB9IGZyb20gJ25nLWRldnVpL292ZXJsYXktY29udGFpbmVyJztcclxuaW1wb3J0IHthc3NpZ24sIGlzVW5kZWZpbmVkfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBJTW9kYWxPcHRpb25zIH0gZnJvbSAnLi9tb2RhbC50eXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBNb2RhbFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIG92ZXJsYXlDb250YWluZXJSZWY6IE92ZXJsYXlDb250YWluZXJSZWYpIHtcclxuICB9XHJcblxyXG4gIG9wZW4oe1xyXG4gICAgaWQsXHJcbiAgICBjb21wb25lbnQsXHJcbiAgICBpbmplY3RvcixcclxuICAgIHdpZHRoLFxyXG4gICAgZGF0YSxcclxuICAgIGhhbmRsZXIsXHJcbiAgICBzaG93QW5pbWF0ZSxcclxuICAgIGJhY2tkcm9wQ2xvc2VhYmxlLFxyXG4gICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgb25DbG9zZSxcclxuICAgIGJlZm9yZUhpZGRlbixcclxuICAgIHBsYWNlbWVudCA9ICdjZW50ZXInLFxyXG4gICAgb2Zmc2V0WCxcclxuICAgIG9mZnNldFksXHJcbiAgICBib2R5U2Nyb2xsYWJsZVxyXG4gIH06IElNb2RhbE9wdGlvbnMpIHtcclxuICAgIGNvbnN0IGZpbmFsQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyID0gY29tcG9uZW50RmFjdG9yeVJlc29sdmVyIHx8IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xyXG5cclxuICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5vdmVybGF5Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgZmluYWxDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTW9kYWxDb21wb25lbnQpLFxyXG4gICAgICBpbmplY3RvclxyXG4gICAgKTtcclxuICAgIGFzc2lnbihtb2RhbFJlZi5pbnN0YW5jZSwge1xyXG4gICAgICBpZCxcclxuICAgICAgd2lkdGgsXHJcbiAgICAgIHNob3dBbmltYXRlLFxyXG4gICAgICBiZWZvcmVIaWRkZW4sXHJcbiAgICAgIGJhY2tkcm9wQ2xvc2VhYmxlOiBpc1VuZGVmaW5lZChiYWNrZHJvcENsb3NlYWJsZSkgPyB0cnVlIDogYmFja2Ryb3BDbG9zZWFibGUsXHJcbiAgICAgIHBsYWNlbWVudCxcclxuICAgICAgb2Zmc2V0WCxcclxuICAgICAgb2Zmc2V0WSxcclxuICAgICAgYm9keVNjcm9sbGFibGVcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IG1vZGFsQ29udGVudEluc3RhbmNlID0gbW9kYWxSZWYuaW5zdGFuY2UubW9kYWxDb250YWluZXJIb3N0LnZpZXdDb250YWluZXJSZWZcclxuICAgICAgLmNyZWF0ZUNvbXBvbmVudChmaW5hbENvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpLCAwLCBpbmplY3Rvcik7XHJcbiAgICBhc3NpZ24obW9kYWxDb250ZW50SW5zdGFuY2UuaW5zdGFuY2UsIHsgZGF0YSwgaGFuZGxlciB9KTtcclxuXHJcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5vbkhpZGRlbiA9ICgpID0+IHtcclxuICAgICAgaWYgKG9uQ2xvc2UpIHtcclxuICAgICAgICBvbkNsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgbW9kYWxSZWYuaG9zdFZpZXcuZGVzdHJveSgpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgbW9kYWxSZWYuaW5zdGFuY2Uuc2hvdygpO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1vZGFsSW5zdGFuY2U6IG1vZGFsUmVmLmluc3RhbmNlLFxyXG4gICAgICBtb2RhbENvbnRlbnRJbnN0YW5jZTogbW9kYWxDb250ZW50SW5zdGFuY2UuaW5zdGFuY2VcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==