UNPKG

@ciri/ngx-popup

Version:

An angular popup component that can customize animation.

164 lines 10.4 kB
/** * @fileoverview added by tsickle * Generated from: lib/overlay/overlay-helper.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, ApplicationRef, ComponentFactoryResolver, Injector, Inject } from '@angular/core'; import { OverlayComponent } from './overlay.component'; import { DOCUMENT } from '@angular/common'; import { Subscription } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; /** * @record */ export function OverlayOptions() { } if (false) { /** @type {?} */ OverlayOptions.prototype.opacity; /** @type {?|undefined} */ OverlayOptions.prototype.zIndex; /** @type {?|undefined} */ OverlayOptions.prototype.onClick; /** @type {?|undefined} */ OverlayOptions.prototype.getContainer; } /** * \@dynamic */ var OverlayHelper = /** @class */ (function () { function OverlayHelper(appRef, cfr, injector, document) { this.appRef = appRef; this.cfr = cfr; this.injector = injector; this.document = document; } /** * @param {?} options * @return {?} */ OverlayHelper.prototype.open = /** * @param {?} options * @return {?} */ function (options) { /** @type {?} */ var opts = Object.assign(this.getDefaultOptions(), options); var opacity = opts.opacity, zIndex = opts.zIndex, getContainer = opts.getContainer; /** @type {?} */ var factory = this.cfr.resolveComponentFactory(OverlayComponent); /** @type {?} */ var componentRef = factory.create(this.injector); this.appRef.attachView(componentRef.hostView); var nativeElement = componentRef.location.nativeElement; /** @type {?} */ var container = getContainer(); container.insertBefore(nativeElement, container.firstChild); /** @type {?} */ var inst = componentRef.instance; inst.opacity = opacity; inst.zIndex = zIndex; inst.visible = true; this.setListener(componentRef, opts); return (/** * @return {?} */ function () { inst.visible = false; }); }; /** * @private * @return {?} */ OverlayHelper.prototype.getDefaultOptions = /** * @private * @return {?} */ function () { return { opacity: 0.5, getContainer: (/** * @return {?} */ function () { return document.body; }) }; }; /** * @private * @param {?} componentRef * @param {?} opts * @return {?} */ OverlayHelper.prototype.setListener = /** * @private * @param {?} componentRef * @param {?} opts * @return {?} */ function (componentRef, opts) { /** @type {?} */ var inst = componentRef.instance; /** @type {?} */ var subs = new Subscription(); var onClick = opts.onClick; subs.add(inst.afterClose.subscribe((/** * @return {?} */ function () { componentRef.destroy(); }))); if (onClick) { subs.add(inst.clickOverlay.subscribe((/** * @return {?} */ function () { onClick(); }))); } componentRef.onDestroy((/** * @return {?} */ function () { subs.unsubscribe(); })); }; OverlayHelper.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ OverlayHelper.ctorParameters = function () { return [ { type: ApplicationRef }, { type: ComponentFactoryResolver }, { type: Injector }, { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] } ]; }; /** @nocollapse */ OverlayHelper.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function OverlayHelper_Factory() { return new OverlayHelper(i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.DOCUMENT)); }, token: OverlayHelper, providedIn: "root" }); return OverlayHelper; }()); export { OverlayHelper }; if (false) { /** * @type {?} * @private */ OverlayHelper.prototype.appRef; /** * @type {?} * @private */ OverlayHelper.prototype.cfr; /** * @type {?} * @private */ OverlayHelper.prototype.injector; /** * @type {?} * @private */ OverlayHelper.prototype.document; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1oZWxwZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2lyaS9uZ3gtcG9wdXAvIiwic291cmNlcyI6WyJsaWIvb3ZlcmxheS9vdmVybGF5LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixRQUFRLEVBQ1IsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBOzs7Ozs7QUFFbkMsb0NBS0M7OztJQUpDLGlDQUFlOztJQUNmLGdDQUFlOztJQUNmLGlDQUFvQjs7SUFDcEIsc0NBQWdDOzs7OztBQUlsQztJQUlFLHVCQUNVLE1BQXNCLEVBQ3RCLEdBQTZCLEVBQzdCLFFBQWtCLEVBQ0EsUUFBa0I7UUFIcEMsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBMEI7UUFDN0IsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNBLGFBQVEsR0FBUixRQUFRLENBQVU7SUFDM0MsQ0FBQzs7Ozs7SUFFSiw0QkFBSTs7OztJQUFKLFVBQUssT0FBdUI7O1lBQ3BCLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLE9BQU8sQ0FBQztRQUNyRCxJQUFBLHNCQUFPLEVBQUUsb0JBQU0sRUFBRSxnQ0FBWTs7WUFFL0IsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLENBQUM7O1lBQzVELFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBRXJDLElBQUEsbURBQWE7O1lBQ2YsU0FBUyxHQUFHLFlBQVksRUFBRTtRQUNoQyxTQUFTLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUE7O1lBRXJELElBQUksR0FBRyxZQUFZLENBQUMsUUFBUTtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQTtRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtRQUVuQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUVwQzs7O1FBQU87WUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtRQUN0QixDQUFDLEVBQUE7SUFDSCxDQUFDOzs7OztJQUVPLHlDQUFpQjs7OztJQUF6QjtRQUNFLE9BQU87WUFDTCxPQUFPLEVBQUUsR0FBRztZQUNaLFlBQVk7OztZQUFFLGNBQU0sT0FBQSxRQUFRLENBQUMsSUFBSSxFQUFiLENBQWEsQ0FBQTtTQUNsQyxDQUFBO0lBQ0gsQ0FBQzs7Ozs7OztJQUVPLG1DQUFXOzs7Ozs7SUFBbkIsVUFBb0IsWUFBNEMsRUFBRSxJQUFvQjs7WUFDOUUsSUFBSSxHQUFHLFlBQVksQ0FBQyxRQUFROztZQUM1QixJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUU7UUFDdkIsSUFBQSxzQkFBTztRQUVmLElBQUksQ0FBQyxHQUFHLENBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTOzs7UUFBQztZQUN4QixZQUFZLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDeEIsQ0FBQyxFQUFDLENBQ0gsQ0FBQTtRQUNELElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FDTixJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVM7OztZQUFDO2dCQUMxQixPQUFPLEVBQUUsQ0FBQTtZQUNYLENBQUMsRUFBQyxDQUNILENBQUE7U0FDRjtRQUVELFlBQVksQ0FBQyxTQUFTOzs7UUFBQztZQUNyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDcEIsQ0FBQyxFQUFDLENBQUE7SUFDSixDQUFDOztnQkEvREYsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFwQkMsY0FBYztnQkFDZCx3QkFBd0I7Z0JBQ3hCLFFBQVE7Z0JBd0I4QixRQUFRLHVCQUEzQyxNQUFNLFNBQUMsUUFBUTs7O3dCQTVCcEI7Q0FvRkMsQUFoRUQsSUFnRUM7U0E3RFksYUFBYTs7Ozs7O0lBRXRCLCtCQUE4Qjs7Ozs7SUFDOUIsNEJBQXFDOzs7OztJQUNyQyxpQ0FBMEI7Ozs7O0lBQzFCLGlDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIEFwcGxpY2F0aW9uUmVmLFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdG9yLFxuICBJbmplY3QsXG4gIENvbXBvbmVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4vb3ZlcmxheS5jb21wb25lbnQnXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcmxheU9wdGlvbnMge1xuICBvcGFjaXR5OiBudW1iZXJcbiAgekluZGV4PzogbnVtYmVyXG4gIG9uQ2xpY2s/OiAoKSA9PiB2b2lkXG4gIGdldENvbnRhaW5lcj86ICgpID0+IEhUTUxFbGVtZW50XG59XG5cbi8qKiBAZHluYW1pYyAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgT3ZlcmxheUhlbHBlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIGNmcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50XG4gICkge31cblxuICBvcGVuKG9wdGlvbnM6IE92ZXJsYXlPcHRpb25zKSB7XG4gICAgY29uc3Qgb3B0cyA9IE9iamVjdC5hc3NpZ24odGhpcy5nZXREZWZhdWx0T3B0aW9ucygpLCBvcHRpb25zKVxuICAgIGNvbnN0IHsgb3BhY2l0eSwgekluZGV4LCBnZXRDb250YWluZXIgfSA9IG9wdHNcblxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNmci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShPdmVybGF5Q29tcG9uZW50KVxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpXG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpXG5cbiAgICBjb25zdCB7IG5hdGl2ZUVsZW1lbnQgfSA9IGNvbXBvbmVudFJlZi5sb2NhdGlvblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGdldENvbnRhaW5lcigpXG4gICAgY29udGFpbmVyLmluc2VydEJlZm9yZShuYXRpdmVFbGVtZW50LCBjb250YWluZXIuZmlyc3RDaGlsZClcblxuICAgIGNvbnN0IGluc3QgPSBjb21wb25lbnRSZWYuaW5zdGFuY2VcbiAgICBpbnN0Lm9wYWNpdHkgPSBvcGFjaXR5XG4gICAgaW5zdC56SW5kZXggPSB6SW5kZXhcbiAgICBpbnN0LnZpc2libGUgPSB0cnVlXG5cbiAgICB0aGlzLnNldExpc3RlbmVyKGNvbXBvbmVudFJlZiwgb3B0cylcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpbnN0LnZpc2libGUgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGVmYXVsdE9wdGlvbnMoKTogT3ZlcmxheU9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICBvcGFjaXR5OiAwLjUsXG4gICAgICBnZXRDb250YWluZXI6ICgpID0+IGRvY3VtZW50LmJvZHlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldExpc3RlbmVyKGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPE92ZXJsYXlDb21wb25lbnQ+LCBvcHRzOiBPdmVybGF5T3B0aW9ucykge1xuICAgIGNvbnN0IGluc3QgPSBjb21wb25lbnRSZWYuaW5zdGFuY2VcbiAgICBjb25zdCBzdWJzID0gbmV3IFN1YnNjcmlwdGlvbigpXG4gICAgY29uc3QgeyBvbkNsaWNrIH0gPSBvcHRzXG5cbiAgICBzdWJzLmFkZChcbiAgICAgIGluc3QuYWZ0ZXJDbG9zZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpXG4gICAgICB9KVxuICAgIClcbiAgICBpZiAob25DbGljaykge1xuICAgICAgc3Vicy5hZGQoXG4gICAgICAgIGluc3QuY2xpY2tPdmVybGF5LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgb25DbGljaygpXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfVxuXG4gICAgY29tcG9uZW50UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICBzdWJzLnVuc3Vic2NyaWJlKClcbiAgICB9KVxuICB9XG59XG4iXX0=