ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
76 lines • 5.69 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
import { ComponentPortal } from '@angular/cdk/portal';
export class PopupService {
/**
* @param {?} _overlay
*/
constructor(_overlay) {
this._overlay = _overlay;
this.overlay = null;
this.overlayRef = null;
this.currentServiceName = null;
this.serviceArray = [];
this.overlay = this._overlay;
}
/**
* @param {?} component
* @param {?=} childInjector
* @param {?=} hasBackdrop
* @param {?=} positionStrategy
* @return {?}
*/
showPopup(component, childInjector, hasBackdrop, positionStrategy = this.overlay
.position()
.global()
.centerVertically()
.centerHorizontally()) {
/** @type {?} */
let overlayConfig = new OverlayConfig();
overlayConfig.hasBackdrop = hasBackdrop;
overlayConfig.positionStrategy = positionStrategy;
this.overlayRef = this.overlay.create(overlayConfig);
this.overlayRef.backdropClick().subscribe((/**
* @return {?}
*/
() => {
this.hidePopup();
}));
return this.overlayRef.attach(new ComponentPortal(component, undefined, childInjector));
}
/**
* @return {?}
*/
hidePopup() {
if (this.overlayRef) {
this.overlayRef.dispose();
}
}
}
PopupService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] },
{ type: Injectable }
];
/** @nocollapse */
PopupService.ctorParameters = () => [
{ type: Overlay }
];
if (false) {
/** @type {?} */
PopupService.prototype.overlay;
/** @type {?} */
PopupService.prototype.overlayRef;
/** @type {?} */
PopupService.prototype.currentServiceName;
/** @type {?} */
PopupService.prototype.serviceArray;
/** @type {?} */
PopupService.prototype._overlay;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQtbW9iaWxlLyIsInNvdXJjZXMiOlsiY29yZS9zZXJ2aWNlcy9wb3B1cC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUEwQixNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBc0MsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLdEQsTUFBTSxPQUFPLFlBQVk7Ozs7SUFNdkIsWUFBbUIsUUFBaUI7UUFBakIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUxwQyxZQUFPLEdBQVksSUFBSSxDQUFDO1FBQ3hCLGVBQVUsR0FBZSxJQUFJLENBQUM7UUFDOUIsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQzFCLGlCQUFZLEdBQVEsRUFBRSxDQUFDO1FBR3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUMvQixDQUFDOzs7Ozs7OztJQUVELFNBQVMsQ0FDUCxTQUFTLEVBQ1QsYUFBd0IsRUFDeEIsV0FBcUIsRUFDckIsbUJBQTJDLElBQUksQ0FBQyxPQUFPO1NBQ3BELFFBQVEsRUFBRTtTQUNWLE1BQU0sRUFBRTtTQUNSLGdCQUFnQixFQUFFO1NBQ2xCLGtCQUFrQixFQUFFOztZQUVuQixhQUFhLEdBQUcsSUFBSSxhQUFhLEVBQUU7UUFDdkMsYUFBYSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDeEMsYUFBYSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQ2xELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUU7WUFDN0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsRUFBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGVBQWUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7OztZQXRDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7WUFDQSxVQUFVOzs7O1lBTEYsT0FBTzs7OztJQU9kLCtCQUF3Qjs7SUFDeEIsa0NBQThCOztJQUM5QiwwQ0FBMEI7O0lBQzFCLG9DQUF1Qjs7SUFFWCxnQ0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmLCBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQb3B1cFNlcnZpY2Uge1xuICBvdmVybGF5OiBPdmVybGF5ID0gbnVsbDtcbiAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiA9IG51bGw7XG4gIGN1cnJlbnRTZXJ2aWNlTmFtZSA9IG51bGw7XG4gIHNlcnZpY2VBcnJheTogYW55ID0gW107XG5cbiAgY29uc3RydWN0b3IocHVibGljIF9vdmVybGF5OiBPdmVybGF5KSB7XG4gICAgdGhpcy5vdmVybGF5ID0gdGhpcy5fb3ZlcmxheTtcbiAgfVxuXG4gIHNob3dQb3B1cChcbiAgICBjb21wb25lbnQsXG4gICAgY2hpbGRJbmplY3Rvcj86IEluamVjdG9yLFxuICAgIGhhc0JhY2tkcm9wPzogYm9vbGVhbixcbiAgICBwb3NpdGlvblN0cmF0ZWd5OiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmdsb2JhbCgpXG4gICAgICAuY2VudGVyVmVydGljYWxseSgpXG4gICAgICAuY2VudGVySG9yaXpvbnRhbGx5KClcbiAgKTogQ29tcG9uZW50UmVmPGFueT4ge1xuICAgIGxldCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoKTtcbiAgICBvdmVybGF5Q29uZmlnLmhhc0JhY2tkcm9wID0gaGFzQmFja2Ryb3A7XG4gICAgb3ZlcmxheUNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5ID0gcG9zaXRpb25TdHJhdGVneTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xuICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaGlkZVBvcHVwKCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IENvbXBvbmVudFBvcnRhbChjb21wb25lbnQsIHVuZGVmaW5lZCwgY2hpbGRJbmplY3RvcikpO1xuICB9XG5cbiAgaGlkZVBvcHVwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgfVxuICB9XG59XG4iXX0=