UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

95 lines 9.2 kB
/** * @fileoverview added by tsickle * Generated from: drawer.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ComponentFactoryResolver, Injectable } from '@angular/core'; import { assign, isUndefined } from 'lodash-es'; import { OverlayContainerRef } from '@duoduo-oba/ng-devui/overlay-container'; import { DrawerComponent } from './drawer.component'; export class DrawerService { /** * @param {?} overlayContainerRef * @param {?} componentFactoryResolver */ constructor(overlayContainerRef, componentFactoryResolver) { this.overlayContainerRef = overlayContainerRef; this.componentFactoryResolver = componentFactoryResolver; } /** * @param {?} __0 * @return {?} */ open({ drawerContentComponent, injector, componentFactoryResolver, id, width, fullScreen, data, isCover, clickDoms, onClose, afterOpened, backdropCloseable, escKeyCloseable, beforeHidden, destroyOnHide = true, position = 'right', bodyScrollable }) { /** @type {?} */ const componentFactoryResolver_ = componentFactoryResolver || this.componentFactoryResolver; /** @type {?} */ const drawerRef = this.overlayContainerRef.createComponent(componentFactoryResolver_.resolveComponentFactory(DrawerComponent), injector); assign(drawerRef.instance, { id, width, isCover, clickDoms, fullScreen, beforeHidden, afterOpened, escKeyCloseable, position, backdropCloseable: isUndefined(backdropCloseable) ? true : backdropCloseable, bodyScrollable }); /** @type {?} */ const drawerContentRef = drawerRef.instance.drawerContentHost.viewContainerRef.createComponent(componentFactoryResolver_.resolveComponentFactory(drawerContentComponent), 0, injector); assign(drawerContentRef.instance, data); drawerRef.instance.onHidden = (/** * @return {?} */ () => { if (onClose) { onClose(); } if (destroyOnHide) { setTimeout((/** * @return {?} */ () => { drawerRef.hostView.destroy(); })); } }); drawerRef.instance.destroy = (/** * @return {?} */ () => { if (!destroyOnHide && drawerRef.instance.animateState === 'void') { drawerRef.hostView.destroy(); } }); drawerRef.instance.show(); return { drawerInstance: drawerRef.instance, drawerContentInstance: drawerContentRef.instance }; } } DrawerService.decorators = [ { type: Injectable } ]; /** @nocollapse */ DrawerService.ctorParameters = () => [ { type: OverlayContainerRef }, { type: ComponentFactoryResolver } ]; if (false) { /** * @type {?} * @private */ DrawerService.prototype.overlayContainerRef; /** * @type {?} * @private */ DrawerService.prototype.componentFactoryResolver; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1kZXZ1aS9kcmF3ZXIvIiwic291cmNlcyI6WyJkcmF3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSXJELE1BQU0sT0FBTyxhQUFhOzs7OztJQUN4QixZQUNVLG1CQUF3QyxFQUN4Qyx3QkFBa0Q7UUFEbEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO0lBQ3pELENBQUM7Ozs7O0lBRUosSUFBSSxDQUFDLEVBQ0gsc0JBQXNCLEVBQ3RCLFFBQVEsRUFDUix3QkFBd0IsRUFDeEIsRUFBRSxFQUNGLEtBQUssRUFDTCxVQUFVLEVBQ1YsSUFBSSxFQUNKLE9BQU8sRUFDUCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLFlBQVksRUFDWixhQUFhLEdBQUcsSUFBSSxFQUNwQixRQUFRLEdBQUcsT0FBTyxFQUNsQixjQUFjLEVBQ0M7O2NBQ1QseUJBQXlCLEdBQUcsd0JBQXdCLElBQUksSUFBSSxDQUFDLHdCQUF3Qjs7Y0FDckYsU0FBUyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQ3hELHlCQUF5QixDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxFQUNsRSxRQUFRLENBQ1Q7UUFDRCxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUN6QixFQUFFO1lBQ0YsS0FBSztZQUNMLE9BQU87WUFDUCxTQUFTO1lBQ1QsVUFBVTtZQUNWLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLFFBQVE7WUFDUixpQkFBaUIsRUFBRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7WUFDNUUsY0FBYztTQUNmLENBQUMsQ0FBQzs7Y0FFRyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FDNUYseUJBQXlCLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLENBQUMsRUFDekUsQ0FBQyxFQUNELFFBQVEsQ0FDVDtRQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFeEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFROzs7UUFBRyxHQUFHLEVBQUU7WUFDakMsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELElBQUksYUFBYSxFQUFFO2dCQUNqQixVQUFVOzs7Z0JBQUMsR0FBRyxFQUFFO29CQUNkLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQy9CLENBQUMsRUFBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUEsQ0FBQztRQUVGLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTzs7O1FBQUcsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxhQUFhLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEtBQUssTUFBTSxFQUFFO2dCQUNoRSxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQzlCO1FBQ0gsQ0FBQyxDQUFBLENBQUM7UUFFRixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLE9BQU87WUFDTCxjQUFjLEVBQUUsU0FBUyxDQUFDLFFBQVE7WUFDbEMscUJBQXFCLEVBQUUsZ0JBQWdCLENBQUMsUUFBUTtTQUNqRCxDQUFDO0lBQ0osQ0FBQzs7O1lBMUVGLFVBQVU7Ozs7WUFKRixtQkFBbUI7WUFGbkIsd0JBQXdCOzs7Ozs7O0lBUzdCLDRDQUFnRDs7Ozs7SUFDaEQsaURBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGFzc2lnbiwgaXNVbmRlZmluZWQgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBPdmVybGF5Q29udGFpbmVyUmVmIH0gZnJvbSAnbmctZGV2dWkvb3ZlcmxheS1jb250YWluZXInO1xyXG5pbXBvcnQgeyBEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuL2RyYXdlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJRHJhd2VyT3BlblJlc3VsdCwgSURyYXdlck9wdGlvbnMgfSBmcm9tICcuL2RyYXdlci50eXBlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEcmF3ZXJTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgb3ZlcmxheUNvbnRhaW5lclJlZjogT3ZlcmxheUNvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxuICApIHt9XHJcblxyXG4gIG9wZW4oe1xyXG4gICAgZHJhd2VyQ29udGVudENvbXBvbmVudCxcclxuICAgIGluamVjdG9yLFxyXG4gICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgaWQsXHJcbiAgICB3aWR0aCxcclxuICAgIGZ1bGxTY3JlZW4sXHJcbiAgICBkYXRhLFxyXG4gICAgaXNDb3ZlcixcclxuICAgIGNsaWNrRG9tcyxcclxuICAgIG9uQ2xvc2UsXHJcbiAgICBhZnRlck9wZW5lZCxcclxuICAgIGJhY2tkcm9wQ2xvc2VhYmxlLFxyXG4gICAgZXNjS2V5Q2xvc2VhYmxlLFxyXG4gICAgYmVmb3JlSGlkZGVuLFxyXG4gICAgZGVzdHJveU9uSGlkZSA9IHRydWUsXHJcbiAgICBwb3NpdGlvbiA9ICdyaWdodCcsXHJcbiAgICBib2R5U2Nyb2xsYWJsZVxyXG4gIH06IElEcmF3ZXJPcHRpb25zKTogSURyYXdlck9wZW5SZXN1bHQge1xyXG4gICAgY29uc3QgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXyA9IGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB8fCB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjtcclxuICAgIGNvbnN0IGRyYXdlclJlZiA9IHRoaXMub3ZlcmxheUNvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXHJcbiAgICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcl8ucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRHJhd2VyQ29tcG9uZW50KSxcclxuICAgICAgaW5qZWN0b3JcclxuICAgICk7XHJcbiAgICBhc3NpZ24oZHJhd2VyUmVmLmluc3RhbmNlLCB7XHJcbiAgICAgIGlkLFxyXG4gICAgICB3aWR0aCxcclxuICAgICAgaXNDb3ZlcixcclxuICAgICAgY2xpY2tEb21zLFxyXG4gICAgICBmdWxsU2NyZWVuLFxyXG4gICAgICBiZWZvcmVIaWRkZW4sXHJcbiAgICAgIGFmdGVyT3BlbmVkLFxyXG4gICAgICBlc2NLZXlDbG9zZWFibGUsXHJcbiAgICAgIHBvc2l0aW9uLFxyXG4gICAgICBiYWNrZHJvcENsb3NlYWJsZTogaXNVbmRlZmluZWQoYmFja2Ryb3BDbG9zZWFibGUpID8gdHJ1ZSA6IGJhY2tkcm9wQ2xvc2VhYmxlLFxyXG4gICAgICBib2R5U2Nyb2xsYWJsZVxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgZHJhd2VyQ29udGVudFJlZiA9IGRyYXdlclJlZi5pbnN0YW5jZS5kcmF3ZXJDb250ZW50SG9zdC52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChcclxuICAgICAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXy5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShkcmF3ZXJDb250ZW50Q29tcG9uZW50KSxcclxuICAgICAgMCxcclxuICAgICAgaW5qZWN0b3JcclxuICAgICk7XHJcbiAgICBhc3NpZ24oZHJhd2VyQ29udGVudFJlZi5pbnN0YW5jZSwgZGF0YSk7XHJcblxyXG4gICAgZHJhd2VyUmVmLmluc3RhbmNlLm9uSGlkZGVuID0gKCkgPT4ge1xyXG4gICAgICBpZiAob25DbG9zZSkge1xyXG4gICAgICAgIG9uQ2xvc2UoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZGVzdHJveU9uSGlkZSkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgZHJhd2VyUmVmLmhvc3RWaWV3LmRlc3Ryb3koKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBkcmF3ZXJSZWYuaW5zdGFuY2UuZGVzdHJveSA9ICgpID0+IHtcclxuICAgICAgaWYgKCFkZXN0cm95T25IaWRlICYmIGRyYXdlclJlZi5pbnN0YW5jZS5hbmltYXRlU3RhdGUgPT09ICd2b2lkJykge1xyXG4gICAgICAgIGRyYXdlclJlZi5ob3N0Vmlldy5kZXN0cm95KCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgZHJhd2VyUmVmLmluc3RhbmNlLnNob3coKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGRyYXdlckluc3RhbmNlOiBkcmF3ZXJSZWYuaW5zdGFuY2UsXHJcbiAgICAgIGRyYXdlckNvbnRlbnRJbnN0YW5jZTogZHJhd2VyQ29udGVudFJlZi5pbnN0YW5jZVxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19