UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

103 lines 11 kB
/** * @fileoverview added by tsickle * Generated from: dialog.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'; import { ModalContainerComponent } from './modal-container.component'; export class DialogService { /** * @param {?} componentFactoryResolver * @param {?} overlayContainerRef */ constructor(componentFactoryResolver, overlayContainerRef) { this.componentFactoryResolver = componentFactoryResolver; this.overlayContainerRef = overlayContainerRef; } /** * @param {?} __0 * @return {?} */ open({ id, width, backdropCloseable, maxHeight, showAnimate, title, content, html, data, buttons, injector, componentFactoryResolver, beforeHidden, onClose, dialogtype = 'standard', showCloseBtn = true, draggable = true, 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, // set backdropCloseable default value "true" when not passing it backdropCloseable: isUndefined(backdropCloseable) ? true : backdropCloseable, draggable, placement, offsetX, offsetY, bodyScrollable }); /** @type {?} */ const modalContainerRef = modalRef.instance.modalContainerHost.viewContainerRef .createComponent(finalComponentFactoryResolver.resolveComponentFactory(ModalContainerComponent), 0, injector); assign(modalContainerRef.instance, { title, buttons, maxHeight, dialogtype, showCloseBtn }); if (typeof content === 'string') { assign(modalContainerRef.instance, { content, html }); } else { this.contentRef = modalContainerRef.instance.modalContentHost.viewContainerRef .createComponent(finalComponentFactoryResolver.resolveComponentFactory(content)); assign(this.contentRef.instance, { data }, dialogtype); } modalContainerRef.instance.onClose = (/** * @return {?} */ () => { modalRef.instance.hide(); }); modalRef.instance.onHidden = (/** * @return {?} */ () => { if (onClose) { onClose(); } setTimeout((/** * @return {?} */ () => { modalRef.hostView.destroy(); })); }); modalRef.instance.show(); return { modalInstance: modalRef.instance, modalContentInstance: this.contentRef ? this.contentRef.instance : null, }; } } DialogService.decorators = [ { type: Injectable } ]; /** @nocollapse */ DialogService.ctorParameters = () => [ { type: ComponentFactoryResolver }, { type: OverlayContainerRef } ]; if (false) { /** @type {?} */ DialogService.prototype.contentRef; /** * @type {?} * @private */ DialogService.prototype.componentFactoryResolver; /** * @type {?} * @private */ DialogService.prototype.overlayContainerRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1kZXZ1aS9tb2RhbC8iLCJzb3VyY2VzIjpbImRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVix3QkFBd0IsR0FFekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxNQUFNLEVBQUUsV0FBVyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRTlDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR3BFLE1BQU0sT0FBTyxhQUFhOzs7OztJQUd4QixZQUFvQix3QkFBa0QsRUFDbEQsbUJBQXdDO1FBRHhDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUM1RCxDQUFDOzs7OztJQUVELElBQUksQ0FBQyxFQUNILEVBQUUsRUFDRixLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFJLEVBQ0osSUFBSSxFQUNKLE9BQU8sRUFDUCxRQUFRLEVBQ1Isd0JBQXdCLEVBQ3hCLFlBQVksRUFDWixPQUFPLEVBQ1AsVUFBVSxHQUFHLFVBQVUsRUFDdkIsWUFBWSxHQUFHLElBQUksRUFDbkIsU0FBUyxHQUFHLElBQUksRUFDaEIsU0FBUyxHQUFHLFFBQVEsRUFDcEIsT0FBTyxFQUNQLE9BQU8sRUFDUCxjQUFjLEVBQ0M7O2NBQ1QsNkJBQTZCLEdBQUcsd0JBQXdCLElBQUksSUFBSSxDQUFDLHdCQUF3Qjs7Y0FFekYsUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQ3ZELDZCQUE2QixDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxFQUNyRSxRQUFRLENBQ1Q7UUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUN4QixFQUFFO1lBQ0YsS0FBSztZQUNMLFdBQVc7WUFDWCxZQUFZOztZQUVaLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQjtZQUM1RSxTQUFTO1lBQ1QsU0FBUztZQUNULE9BQU87WUFDUCxPQUFPO1lBQ1AsY0FBYztTQUNmLENBQUMsQ0FBQzs7Y0FFRyxpQkFBaUIsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQjthQUM1RSxlQUFlLENBQUMsNkJBQTZCLENBQUMsdUJBQXVCLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDO1FBQy9HLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztRQUUxRixJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQixNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQjtpQkFDM0UsZUFBZSxDQUFDLDZCQUE2QixDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbkYsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDdEQ7UUFFRCxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTzs7O1FBQUcsR0FBRyxFQUFFO1lBQ3hDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFBLENBQUM7UUFFRixRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVE7OztRQUFHLEdBQUcsRUFBRTtZQUNoQyxJQUFJLE9BQU8sRUFBRTtnQkFDWCxPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsVUFBVTs7O1lBQUMsR0FBRyxFQUFFO2dCQUNkLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDOUIsQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLENBQUEsQ0FBQztRQUVGLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFekIsT0FBTztZQUNMLGFBQWEsRUFBRSxRQUFRLENBQUMsUUFBUTtZQUNoQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUN4RSxDQUFDO0lBQ0osQ0FBQzs7O1lBbEZGLFVBQVU7Ozs7WUFUVCx3QkFBd0I7WUFJbEIsbUJBQW1COzs7O0lBT3pCLG1DQUE4Qjs7Ozs7SUFFbEIsaURBQTBEOzs7OztJQUMxRCw0Q0FBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEluamVjdGFibGUsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNb2RhbENvbXBvbmVudH0gZnJvbSAnLi9tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge092ZXJsYXlDb250YWluZXJSZWZ9IGZyb20gJ25nLWRldnVpL292ZXJsYXktY29udGFpbmVyJztcclxuaW1wb3J0IHthc3NpZ24sIGlzVW5kZWZpbmVkfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQge0lEaWFsb2dPcHRpb25zfSBmcm9tICcuL21vZGFsLnR5cGVzJztcclxuaW1wb3J0IHtNb2RhbENvbnRhaW5lckNvbXBvbmVudH0gZnJvbSAnLi9tb2RhbC1jb250YWluZXIuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xyXG4gIGNvbnRlbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgb3ZlcmxheUNvbnRhaW5lclJlZjogT3ZlcmxheUNvbnRhaW5lclJlZikge1xyXG4gIH1cclxuXHJcbiAgb3Blbih7XHJcbiAgICBpZCxcclxuICAgIHdpZHRoLFxyXG4gICAgYmFja2Ryb3BDbG9zZWFibGUsXHJcbiAgICBtYXhIZWlnaHQsXHJcbiAgICBzaG93QW5pbWF0ZSxcclxuICAgIHRpdGxlLFxyXG4gICAgY29udGVudCxcclxuICAgIGh0bWwsXHJcbiAgICBkYXRhLFxyXG4gICAgYnV0dG9ucyxcclxuICAgIGluamVjdG9yLFxyXG4gICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgYmVmb3JlSGlkZGVuLFxyXG4gICAgb25DbG9zZSxcclxuICAgIGRpYWxvZ3R5cGUgPSAnc3RhbmRhcmQnLFxyXG4gICAgc2hvd0Nsb3NlQnRuID0gdHJ1ZSxcclxuICAgIGRyYWdnYWJsZSA9IHRydWUsXHJcbiAgICBwbGFjZW1lbnQgPSAnY2VudGVyJyxcclxuICAgIG9mZnNldFgsXHJcbiAgICBvZmZzZXRZLFxyXG4gICAgYm9keVNjcm9sbGFibGVcclxuICB9OiBJRGlhbG9nT3B0aW9ucykge1xyXG4gICAgY29uc3QgZmluYWxDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgPSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfHwgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI7XHJcblxyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm92ZXJsYXlDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICBmaW5hbENvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNb2RhbENvbXBvbmVudCksXHJcbiAgICAgIGluamVjdG9yXHJcbiAgICApO1xyXG4gICAgYXNzaWduKG1vZGFsUmVmLmluc3RhbmNlLCB7XHJcbiAgICAgIGlkLFxyXG4gICAgICB3aWR0aCxcclxuICAgICAgc2hvd0FuaW1hdGUsXHJcbiAgICAgIGJlZm9yZUhpZGRlbixcclxuICAgICAgLy8gc2V0IGJhY2tkcm9wQ2xvc2VhYmxlIGRlZmF1bHQgdmFsdWUgXCJ0cnVlXCIgd2hlbiBub3QgcGFzc2luZyBpdFxyXG4gICAgICBiYWNrZHJvcENsb3NlYWJsZTogaXNVbmRlZmluZWQoYmFja2Ryb3BDbG9zZWFibGUpID8gdHJ1ZSA6IGJhY2tkcm9wQ2xvc2VhYmxlLFxyXG4gICAgICBkcmFnZ2FibGUsXHJcbiAgICAgIHBsYWNlbWVudCxcclxuICAgICAgb2Zmc2V0WCxcclxuICAgICAgb2Zmc2V0WSxcclxuICAgICAgYm9keVNjcm9sbGFibGVcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IG1vZGFsQ29udGFpbmVyUmVmID0gbW9kYWxSZWYuaW5zdGFuY2UubW9kYWxDb250YWluZXJIb3N0LnZpZXdDb250YWluZXJSZWZcclxuICAgICAgLmNyZWF0ZUNvbXBvbmVudChmaW5hbENvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShNb2RhbENvbnRhaW5lckNvbXBvbmVudCksIDAsIGluamVjdG9yKTtcclxuICAgIGFzc2lnbihtb2RhbENvbnRhaW5lclJlZi5pbnN0YW5jZSwge3RpdGxlLCBidXR0b25zLCBtYXhIZWlnaHQsIGRpYWxvZ3R5cGUsIHNob3dDbG9zZUJ0bn0pO1xyXG5cclxuICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgYXNzaWduKG1vZGFsQ29udGFpbmVyUmVmLmluc3RhbmNlLCB7Y29udGVudCwgaHRtbH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jb250ZW50UmVmID0gbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2UubW9kYWxDb250ZW50SG9zdC52aWV3Q29udGFpbmVyUmVmXHJcbiAgICAgICAgLmNyZWF0ZUNvbXBvbmVudChmaW5hbENvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb250ZW50KSk7XHJcbiAgICAgIGFzc2lnbih0aGlzLmNvbnRlbnRSZWYuaW5zdGFuY2UsIHtkYXRhfSwgZGlhbG9ndHlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbW9kYWxDb250YWluZXJSZWYuaW5zdGFuY2Uub25DbG9zZSA9ICgpID0+IHtcclxuICAgICAgbW9kYWxSZWYuaW5zdGFuY2UuaGlkZSgpO1xyXG4gICAgfTtcclxuXHJcbiAgICBtb2RhbFJlZi5pbnN0YW5jZS5vbkhpZGRlbiA9ICgpID0+IHtcclxuICAgICAgaWYgKG9uQ2xvc2UpIHtcclxuICAgICAgICBvbkNsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgbW9kYWxSZWYuaG9zdFZpZXcuZGVzdHJveSgpO1xyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgbW9kYWxSZWYuaW5zdGFuY2Uuc2hvdygpO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1vZGFsSW5zdGFuY2U6IG1vZGFsUmVmLmluc3RhbmNlLFxyXG4gICAgICBtb2RhbENvbnRlbnRJbnN0YW5jZTogdGhpcy5jb250ZW50UmVmID8gdGhpcy5jb250ZW50UmVmLmluc3RhbmNlIDogbnVsbCxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==