ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
67 lines (66 loc) • 5.05 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Injectable, ViewContainerRef } from '@angular/core';
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
import { ComponentPortal } from '@angular/cdk/portal';
export class PopupService {
/**
* @param {?} _overlay
* @param {?} _viewContainerRef
*/
constructor(_overlay, _viewContainerRef) {
this._overlay = _overlay;
this._viewContainerRef = _viewContainerRef;
PopupService.viewContainerRef = this._viewContainerRef;
PopupService.overlay = this._overlay;
}
/**
* @param {?} component
* @param {?=} childInjector
* @return {?}
*/
static showPopup(component, childInjector) {
/** @type {?} */
let overlayConfig = new OverlayConfig();
overlayConfig.hasBackdrop = true;
PopupService.overlayRef = PopupService.overlay.create(overlayConfig);
PopupService.overlayRef.backdropClick().subscribe(() => {
PopupService.overlayRef.dispose();
});
PopupService.overlayRef.attach(new ComponentPortal(component, PopupService.viewContainerRef, childInjector));
}
/**
* @return {?}
*/
static hidePopup() {
if (PopupService.overlayRef) {
PopupService.overlayRef.dispose();
}
}
}
PopupService.viewContainerRef = null;
PopupService.overlay = null;
PopupService.overlayRef = null;
PopupService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
PopupService.ctorParameters = () => [
{ type: Overlay },
{ type: ViewContainerRef }
];
if (false) {
/** @type {?} */
PopupService.viewContainerRef;
/** @type {?} */
PopupService.overlay;
/** @type {?} */
PopupService.overlayRef;
/** @type {?} */
PopupService.prototype._overlay;
/** @type {?} */
PopupService.prototype._viewContainerRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQtbW9iaWxlLyIsInNvdXJjZXMiOlsiY29yZS9zZXJ2aWNlcy9wb3B1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3RELE1BQU07Ozs7O0lBS0osWUFDUyxVQUNBO1FBREEsYUFBUSxHQUFSLFFBQVE7UUFDUixzQkFBaUIsR0FBakIsaUJBQWlCO1FBRXhCLFlBQVksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDdkQsWUFBWSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0tBQ3RDOzs7Ozs7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxhQUF3Qjs7UUFDbEQsSUFBSSxhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUN4QyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUNqQyxZQUFZLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JFLFlBQVksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNyRCxZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ25DLENBQUMsQ0FBQztRQUVILFlBQVksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksZUFBZSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztLQUM5Rzs7OztJQUVELE1BQU0sQ0FBQyxTQUFTO1FBQ2QsSUFBSSxZQUFZLENBQUMsVUFBVSxFQUFFO1lBQzNCLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDbkM7S0FDRjs7Z0NBM0IyQyxJQUFJO3VCQUN0QixJQUFJOzBCQUNFLElBQUk7O1lBSnJDLFVBQVU7Ozs7WUFIRixPQUFPO1lBRGUsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBvcHVwU2VydmljZSB7XG4gIHN0YXRpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmID0gbnVsbDtcbiAgc3RhdGljIG92ZXJsYXk6IE92ZXJsYXkgPSBudWxsO1xuICBzdGF0aWMgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIF9vdmVybGF5OiBPdmVybGF5LFxuICAgIHB1YmxpYyBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICBQb3B1cFNlcnZpY2Uudmlld0NvbnRhaW5lclJlZiA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWY7XG4gICAgUG9wdXBTZXJ2aWNlLm92ZXJsYXkgPSB0aGlzLl9vdmVybGF5O1xuICB9XG5cbiAgc3RhdGljIHNob3dQb3B1cChjb21wb25lbnQsIGNoaWxkSW5qZWN0b3I/OiBJbmplY3Rvcik6IHZvaWQge1xuICAgIGxldCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoKTtcbiAgICBvdmVybGF5Q29uZmlnLmhhc0JhY2tkcm9wID0gdHJ1ZTtcbiAgICBQb3B1cFNlcnZpY2Uub3ZlcmxheVJlZiA9IFBvcHVwU2VydmljZS5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgICBQb3B1cFNlcnZpY2Uub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIFBvcHVwU2VydmljZS5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICB9KTtcblxuICAgIFBvcHVwU2VydmljZS5vdmVybGF5UmVmLmF0dGFjaChuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgUG9wdXBTZXJ2aWNlLnZpZXdDb250YWluZXJSZWYsIGNoaWxkSW5qZWN0b3IpKTtcbiAgfVxuXG4gIHN0YXRpYyBoaWRlUG9wdXAoKTogdm9pZCB7XG4gICAgaWYgKFBvcHVwU2VydmljZS5vdmVybGF5UmVmKSB7XG4gICAgICBQb3B1cFNlcnZpY2Uub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=