@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
87 lines • 8.56 kB
JavaScript
/**
* @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';
var ModalService = /** @class */ (function () {
function ModalService(componentFactoryResolver, overlayContainerRef) {
this.componentFactoryResolver = componentFactoryResolver;
this.overlayContainerRef = overlayContainerRef;
}
/**
* @param {?} __0
* @return {?}
*/
ModalService.prototype.open = /**
* @param {?} __0
* @return {?}
*/
function (_a) {
var id = _a.id, component = _a.component, injector = _a.injector, width = _a.width, data = _a.data, handler = _a.handler, showAnimate = _a.showAnimate, backdropCloseable = _a.backdropCloseable, componentFactoryResolver = _a.componentFactoryResolver, onClose = _a.onClose, beforeHidden = _a.beforeHidden, _b = _a.placement, placement = _b === void 0 ? 'center' : _b, offsetX = _a.offsetX, offsetY = _a.offsetY, bodyScrollable = _a.bodyScrollable;
/** @type {?} */
var finalComponentFactoryResolver = componentFactoryResolver || this.componentFactoryResolver;
/** @type {?} */
var modalRef = this.overlayContainerRef.createComponent(finalComponentFactoryResolver.resolveComponentFactory(ModalComponent), injector);
assign(modalRef.instance, {
id: id,
width: width,
showAnimate: showAnimate,
beforeHidden: beforeHidden,
backdropCloseable: isUndefined(backdropCloseable) ? true : backdropCloseable,
placement: placement,
offsetX: offsetX,
offsetY: offsetY,
bodyScrollable: bodyScrollable
});
/** @type {?} */
var modalContentInstance = modalRef.instance.modalContainerHost.viewContainerRef
.createComponent(finalComponentFactoryResolver.resolveComponentFactory(component), 0, injector);
assign(modalContentInstance.instance, { data: data, handler: handler });
modalRef.instance.onHidden = (/**
* @return {?}
*/
function () {
if (onClose) {
onClose();
}
setTimeout((/**
* @return {?}
*/
function () {
modalRef.hostView.destroy();
}));
});
modalRef.instance.show();
return {
modalInstance: modalRef.instance,
modalContentInstance: modalContentInstance.instance
};
};
ModalService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
ModalService.ctorParameters = function () { return [
{ type: ComponentFactoryResolver },
{ type: OverlayContainerRef }
]; };
return ModalService;
}());
export { ModalService };
if (false) {
/**
* @type {?}
* @private
*/
ModalService.prototype.componentFactoryResolver;
/**
* @type {?}
* @private
*/
ModalService.prototype.overlayContainerRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLWRldnVpL21vZGFsLyIsInNvdXJjZXMiOlsibW9kYWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1Ysd0JBQXdCLEdBRXpCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUMsTUFBTSxFQUFFLFdBQVcsRUFBQyxNQUFNLFdBQVcsQ0FBQztBQUc5QztJQUVFLHNCQUFvQix3QkFBa0QsRUFDNUQsbUJBQXdDO1FBRDlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDNUQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUNsRCxDQUFDOzs7OztJQUVELDJCQUFJOzs7O0lBQUosVUFBSyxFQWdCVztZQWZkLFVBQUUsRUFDRix3QkFBUyxFQUNULHNCQUFRLEVBQ1IsZ0JBQUssRUFDTCxjQUFJLEVBQ0osb0JBQU8sRUFDUCw0QkFBVyxFQUNYLHdDQUFpQixFQUNqQixzREFBd0IsRUFDeEIsb0JBQU8sRUFDUCw4QkFBWSxFQUNaLGlCQUFvQixFQUFwQix5Q0FBb0IsRUFDcEIsb0JBQU8sRUFDUCxvQkFBTyxFQUNQLGtDQUFjOztZQUVSLDZCQUE2QixHQUFHLHdCQUF3QixJQUFJLElBQUksQ0FBQyx3QkFBd0I7O1lBRXpGLFFBQVEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUN2RCw2QkFBNkIsQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsRUFDckUsUUFBUSxDQUNUO1FBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDeEIsRUFBRSxJQUFBO1lBQ0YsS0FBSyxPQUFBO1lBQ0wsV0FBVyxhQUFBO1lBQ1gsWUFBWSxjQUFBO1lBQ1osaUJBQWlCLEVBQUUsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1lBQzVFLFNBQVMsV0FBQTtZQUNULE9BQU8sU0FBQTtZQUNQLE9BQU8sU0FBQTtZQUNQLGNBQWMsZ0JBQUE7U0FDZixDQUFDLENBQUM7O1lBRUcsb0JBQW9CLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0I7YUFDL0UsZUFBZSxDQUFDLDZCQUE2QixDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUM7UUFDakcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksTUFBQSxFQUFFLE9BQU8sU0FBQSxFQUFFLENBQUMsQ0FBQztRQUV6RCxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVE7OztRQUFHO1lBQzNCLElBQUksT0FBTyxFQUFFO2dCQUNYLE9BQU8sRUFBRSxDQUFDO2FBQ1g7WUFDRCxVQUFVOzs7WUFBQztnQkFDVCxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzlCLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFBLENBQUM7UUFFRixRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXpCLE9BQU87WUFDTCxhQUFhLEVBQUUsUUFBUSxDQUFDLFFBQVE7WUFDaEMsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUMsUUFBUTtTQUNwRCxDQUFDO0lBQ0osQ0FBQzs7Z0JBNURGLFVBQVU7Ozs7Z0JBUlQsd0JBQXdCO2dCQUlqQixtQkFBbUI7O0lBaUU1QixtQkFBQztDQUFBLEFBN0RELElBNkRDO1NBNURZLFlBQVk7Ozs7OztJQUNYLGdEQUEwRDs7Ozs7SUFDcEUsMkNBQWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBJbmplY3RhYmxlLFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb21wb25lbnRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPdmVybGF5Q29udGFpbmVyUmVmIH0gZnJvbSAnbmctZGV2dWkvb3ZlcmxheS1jb250YWluZXInO1xyXG5pbXBvcnQge2Fzc2lnbiwgaXNVbmRlZmluZWR9IGZyb20gJ2xvZGFzaC1lcyc7XHJcbmltcG9ydCB7IElNb2RhbE9wdGlvbnMgfSBmcm9tICcuL21vZGFsLnR5cGVzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgb3ZlcmxheUNvbnRhaW5lclJlZjogT3ZlcmxheUNvbnRhaW5lclJlZikge1xyXG4gIH1cclxuXHJcbiAgb3Blbih7XHJcbiAgICBpZCxcclxuICAgIGNvbXBvbmVudCxcclxuICAgIGluamVjdG9yLFxyXG4gICAgd2lkdGgsXHJcbiAgICBkYXRhLFxyXG4gICAgaGFuZGxlcixcclxuICAgIHNob3dBbmltYXRlLFxyXG4gICAgYmFja2Ryb3BDbG9zZWFibGUsXHJcbiAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBvbkNsb3NlLFxyXG4gICAgYmVmb3JlSGlkZGVuLFxyXG4gICAgcGxhY2VtZW50ID0gJ2NlbnRlcicsXHJcbiAgICBvZmZzZXRYLFxyXG4gICAgb2Zmc2V0WSxcclxuICAgIGJvZHlTY3JvbGxhYmxlXHJcbiAgfTogSU1vZGFsT3B0aW9ucykge1xyXG4gICAgY29uc3QgZmluYWxDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfHwgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XHJcblxyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm92ZXJsYXlDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICBmaW5hbENvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNb2RhbENvbXBvbmVudCksXHJcbiAgICAgIGluamVjdG9yXHJcbiAgICApO1xyXG4gICAgYXNzaWduKG1vZGFsUmVmLmluc3RhbmNlLCB7XHJcbiAgICAgIGlkLFxyXG4gICAgICB3aWR0aCxcclxuICAgICAgc2hvd0FuaW1hdGUsXHJcbiAgICAgIGJlZm9yZUhpZGRlbixcclxuICAgICAgYmFja2Ryb3BDbG9zZWFibGU6IGlzVW5kZWZpbmVkKGJhY2tkcm9wQ2xvc2VhYmxlKSA/IHRydWUgOiBiYWNrZHJvcENsb3NlYWJsZSxcclxuICAgICAgcGxhY2VtZW50LFxyXG4gICAgICBvZmZzZXRYLFxyXG4gICAgICBvZmZzZXRZLFxyXG4gICAgICBib2R5U2Nyb2xsYWJsZVxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgbW9kYWxDb250ZW50SW5zdGFuY2UgPSBtb2RhbFJlZi5pbnN0YW5jZS5tb2RhbENvbnRhaW5lckhvc3Qudmlld0NvbnRhaW5lclJlZlxyXG4gICAgICAuY3JlYXRlQ29tcG9uZW50KGZpbmFsQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCksIDAsIGluamVjdG9yKTtcclxuICAgIGFzc2lnbihtb2RhbENvbnRlbnRJbnN0YW5jZS5pbnN0YW5jZSwgeyBkYXRhLCBoYW5kbGVyIH0pO1xyXG5cclxuICAgIG1vZGFsUmVmLmluc3RhbmNlLm9uSGlkZGVuID0gKCkgPT4ge1xyXG4gICAgICBpZiAob25DbG9zZSkge1xyXG4gICAgICAgIG9uQ2xvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICBtb2RhbFJlZi5ob3N0Vmlldy5kZXN0cm95KCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5zaG93KCk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbW9kYWxJbnN0YW5jZTogbW9kYWxSZWYuaW5zdGFuY2UsXHJcbiAgICAgIG1vZGFsQ29udGVudEluc3RhbmNlOiBtb2RhbENvbnRlbnRJbnN0YW5jZS5pbnN0YW5jZVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19