UNPKG

ng-devui

Version:

DevUI components based on Angular

65 lines 9.58 kB
import { ComponentFactoryResolver, Injectable } from '@angular/core'; import { OverlayContainerRef } from 'ng-devui/overlay-container'; import { assign, isUndefined } from 'lodash-es'; import { DrawerComponent } from './drawer.component'; import * as i0 from "@angular/core"; import * as i1 from "ng-devui/overlay-container"; export class DrawerService { constructor(overlayContainerRef, componentFactoryResolver) { this.overlayContainerRef = overlayContainerRef; this.componentFactoryResolver = componentFactoryResolver; } open({ drawerContentComponent, injector, componentFactoryResolver, id, zIndex, width, fullScreen, // @deprecated data, isCover, clickDoms, onClose, afterOpened, backdropCloseable, escKeyCloseable, beforeHidden, destroyOnHide = true, position = 'right', bodyScrollable = true, showAnimation = true, contentTemplate, resizable = false }) { const componentFactoryResolver_ = componentFactoryResolver || this.componentFactoryResolver; const drawerRef = this.overlayContainerRef.createComponent(componentFactoryResolver_.resolveComponentFactory(DrawerComponent), injector); assign(drawerRef.instance, { id, width, zIndex, isCover, clickDoms, fullScreen, beforeHidden, afterOpened, escKeyCloseable, position, backdropCloseable: isUndefined(backdropCloseable) ? true : backdropCloseable, bodyScrollable, showAnimation, contentTemplate, resizable }); let drawerContentRef; if (drawerContentComponent) { drawerContentRef = drawerRef.instance.drawerContentHost.viewContainerRef.createComponent(componentFactoryResolver_.resolveComponentFactory(drawerContentComponent), 0, injector); assign(drawerContentRef.instance, data); } drawerRef.instance.onHidden = () => { if (onClose) { onClose(); } if (destroyOnHide) { setTimeout(() => { drawerRef.hostView.destroy(); }); } }; drawerRef.instance.destroy = () => { if (!destroyOnHide && drawerRef.instance.animateState === 'void') { drawerRef.hostView.destroy(); } }; drawerRef.instance.show(); return { drawerInstance: drawerRef.instance, drawerContentInstance: drawerContentRef ? drawerContentRef.instance : null }; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerService, deps: [{ token: i1.OverlayContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DrawerService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.OverlayContainerRef }, { type: i0.ComponentFactoryResolver }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9kZXZ1aS9kcmF3ZXIvZHJhd2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUlyRCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUNVLG1CQUF3QyxFQUN4Qyx3QkFBa0Q7UUFEbEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO0lBQ3hELENBQUM7SUFFTCxJQUFJLENBQUMsRUFDSCxzQkFBc0IsRUFDdEIsUUFBUSxFQUNSLHdCQUF3QixFQUN4QixFQUFFLEVBQ0YsTUFBTSxFQUNOLEtBQUssRUFDTCxVQUFVLEVBQUUsY0FBYztJQUMxQixJQUFJLEVBQ0osT0FBTyxFQUNQLFNBQVMsRUFDVCxPQUFPLEVBQ1AsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsWUFBWSxFQUNaLGFBQWEsR0FBRyxJQUFJLEVBQ3BCLFFBQVEsR0FBRyxPQUFPLEVBQ2xCLGNBQWMsR0FBRyxJQUFJLEVBQ3JCLGFBQWEsR0FBRyxJQUFJLEVBQ3BCLGVBQWUsRUFDZixTQUFTLEdBQUcsS0FBSyxFQUNGO1FBQ2YsTUFBTSx5QkFBeUIsR0FBRyx3QkFBd0IsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDNUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FDeEQseUJBQXlCLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLEVBQ2xFLFFBQVEsQ0FDVCxDQUFDO1FBQ0YsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7WUFDekIsRUFBRTtZQUNGLEtBQUs7WUFDTCxNQUFNO1lBQ04sT0FBTztZQUNQLFNBQVM7WUFDVCxVQUFVO1lBQ1YsWUFBWTtZQUNaLFdBQVc7WUFDWCxlQUFlO1lBQ2YsUUFBUTtZQUNSLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQjtZQUM1RSxjQUFjO1lBQ2QsYUFBYTtZQUNiLGVBQWU7WUFDZixTQUFTO1NBQ1YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxnQkFBZ0IsQ0FBQztRQUNyQixJQUFJLHNCQUFzQixFQUFFLENBQUM7WUFDM0IsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQ3RGLHlCQUF5QixDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixDQUFDLEVBQ3pFLENBQUMsRUFDRCxRQUFRLENBQ1QsQ0FBQztZQUNGLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLEdBQUcsRUFBRTtZQUNqQyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNaLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUNELElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ2xCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxhQUFhLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ2pFLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDL0IsQ0FBQztRQUNILENBQUMsQ0FBQztRQUVGLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsT0FBTztZQUNMLGNBQWMsRUFBRSxTQUFTLENBQUMsUUFBUTtZQUNsQyxxQkFBcUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQzNFLENBQUM7SUFDSixDQUFDOytHQXBGVSxhQUFhO21IQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXlDb250YWluZXJSZWYgfSBmcm9tICduZy1kZXZ1aS9vdmVybGF5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBhc3NpZ24sIGlzVW5kZWZpbmVkIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IERyYXdlckNvbXBvbmVudCB9IGZyb20gJy4vZHJhd2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJRHJhd2VyT3BlblJlc3VsdCwgSURyYXdlck9wdGlvbnMgfSBmcm9tICcuL2RyYXdlci50eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEcmF3ZXJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvdmVybGF5Q29udGFpbmVyUmVmOiBPdmVybGF5Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgKSB7IH1cblxuICBvcGVuKHtcbiAgICBkcmF3ZXJDb250ZW50Q29tcG9uZW50LFxuICAgIGluamVjdG9yLFxuICAgIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBpZCxcbiAgICB6SW5kZXgsXG4gICAgd2lkdGgsXG4gICAgZnVsbFNjcmVlbiwgLy8gQGRlcHJlY2F0ZWRcbiAgICBkYXRhLFxuICAgIGlzQ292ZXIsXG4gICAgY2xpY2tEb21zLFxuICAgIG9uQ2xvc2UsXG4gICAgYWZ0ZXJPcGVuZWQsXG4gICAgYmFja2Ryb3BDbG9zZWFibGUsXG4gICAgZXNjS2V5Q2xvc2VhYmxlLFxuICAgIGJlZm9yZUhpZGRlbixcbiAgICBkZXN0cm95T25IaWRlID0gdHJ1ZSxcbiAgICBwb3NpdGlvbiA9ICdyaWdodCcsXG4gICAgYm9keVNjcm9sbGFibGUgPSB0cnVlLFxuICAgIHNob3dBbmltYXRpb24gPSB0cnVlLFxuICAgIGNvbnRlbnRUZW1wbGF0ZSxcbiAgICByZXNpemFibGUgPSBmYWxzZVxuICB9OiBJRHJhd2VyT3B0aW9ucyk6IElEcmF3ZXJPcGVuUmVzdWx0IHtcbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJfID0gY29tcG9uZW50RmFjdG9yeVJlc29sdmVyIHx8IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xuICAgIGNvbnN0IGRyYXdlclJlZiA9IHRoaXMub3ZlcmxheUNvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJfLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KERyYXdlckNvbXBvbmVudCksXG4gICAgICBpbmplY3RvclxuICAgICk7XG4gICAgYXNzaWduKGRyYXdlclJlZi5pbnN0YW5jZSwge1xuICAgICAgaWQsXG4gICAgICB3aWR0aCxcbiAgICAgIHpJbmRleCxcbiAgICAgIGlzQ292ZXIsXG4gICAgICBjbGlja0RvbXMsXG4gICAgICBmdWxsU2NyZWVuLFxuICAgICAgYmVmb3JlSGlkZGVuLFxuICAgICAgYWZ0ZXJPcGVuZWQsXG4gICAgICBlc2NLZXlDbG9zZWFibGUsXG4gICAgICBwb3NpdGlvbixcbiAgICAgIGJhY2tkcm9wQ2xvc2VhYmxlOiBpc1VuZGVmaW5lZChiYWNrZHJvcENsb3NlYWJsZSkgPyB0cnVlIDogYmFja2Ryb3BDbG9zZWFibGUsXG4gICAgICBib2R5U2Nyb2xsYWJsZSxcbiAgICAgIHNob3dBbmltYXRpb24sXG4gICAgICBjb250ZW50VGVtcGxhdGUsXG4gICAgICByZXNpemFibGVcbiAgICB9KTtcblxuICAgIGxldCBkcmF3ZXJDb250ZW50UmVmO1xuICAgIGlmIChkcmF3ZXJDb250ZW50Q29tcG9uZW50KSB7XG4gICAgICBkcmF3ZXJDb250ZW50UmVmID0gZHJhd2VyUmVmLmluc3RhbmNlLmRyYXdlckNvbnRlbnRIb3N0LnZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJfLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGRyYXdlckNvbnRlbnRDb21wb25lbnQpLFxuICAgICAgICAwLFxuICAgICAgICBpbmplY3RvclxuICAgICAgKTtcbiAgICAgIGFzc2lnbihkcmF3ZXJDb250ZW50UmVmLmluc3RhbmNlLCBkYXRhKTtcbiAgICB9XG5cbiAgICBkcmF3ZXJSZWYuaW5zdGFuY2Uub25IaWRkZW4gPSAoKSA9PiB7XG4gICAgICBpZiAob25DbG9zZSkge1xuICAgICAgICBvbkNsb3NlKCk7XG4gICAgICB9XG4gICAgICBpZiAoZGVzdHJveU9uSGlkZSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBkcmF3ZXJSZWYuaG9zdFZpZXcuZGVzdHJveSgpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZHJhd2VyUmVmLmluc3RhbmNlLmRlc3Ryb3kgPSAoKSA9PiB7XG4gICAgICBpZiAoIWRlc3Ryb3lPbkhpZGUgJiYgZHJhd2VyUmVmLmluc3RhbmNlLmFuaW1hdGVTdGF0ZSA9PT0gJ3ZvaWQnKSB7XG4gICAgICAgIGRyYXdlclJlZi5ob3N0Vmlldy5kZXN0cm95KCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGRyYXdlclJlZi5pbnN0YW5jZS5zaG93KCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRyYXdlckluc3RhbmNlOiBkcmF3ZXJSZWYuaW5zdGFuY2UsXG4gICAgICBkcmF3ZXJDb250ZW50SW5zdGFuY2U6IGRyYXdlckNvbnRlbnRSZWYgPyBkcmF3ZXJDb250ZW50UmVmLmluc3RhbmNlIDogbnVsbFxuICAgIH07XG4gIH1cbn1cbiJdfQ==