UNPKG

ngx-toast-notifications

Version:
158 lines 11.6 kB
/** * @fileoverview added by tsickle * Generated from: toast-container.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { ApplicationRef, ComponentFactoryResolver, Inject, Injectable, Injector, RendererFactory2 } from '@angular/core'; import { DOCUMENT } from '@angular/common'; import { ToastContainerComponent } from './toast-container/toast-container.component'; /** @type {?} */ var TOAST_CONTAINER_CLASS_NAME = 'toast-container'; var ToastContainerService = /** @class */ (function () { function ToastContainerService(rendererFactory, _document, _factoryResolver, _appRef, _injector) { this._document = _document; this._factoryResolver = _factoryResolver; this._appRef = _appRef; this._injector = _injector; this._renderer = rendererFactory.createRenderer(null, null); } Object.defineProperty(ToastContainerService.prototype, "ref", { get: /** * @return {?} */ function () { if (!this._componentRef) { this._attach(); } return this._componentRef; }, enumerable: true, configurable: true }); Object.defineProperty(ToastContainerService.prototype, "containerElement", { get: /** * @private * @return {?} */ function () { if (!this._containerElement) { this._containerElement = this._renderer.createElement('div'); this._renderer.addClass(this._containerElement, TOAST_CONTAINER_CLASS_NAME); this._renderer.appendChild(this._document.body, this._containerElement); } return this._containerElement; }, enumerable: true, configurable: true }); /** * @return {?} */ ToastContainerService.prototype.ngOnDestroy = /** * @return {?} */ function () { this._detach(); this._destroyContainer(); }; /** * @private * @return {?} */ ToastContainerService.prototype._attach = /** * @private * @return {?} */ function () { this._detach(); /** @type {?} */ var componentFactory = this._factoryResolver.resolveComponentFactory(ToastContainerComponent); this._componentRef = componentFactory.create(this._injector); /** @type {?} */ var hostView = (/** @type {?} */ (this._componentRef.hostView)); this._appRef.attachView(hostView); /** @type {?} */ var rootNode = (/** @type {?} */ (hostView.rootNodes[0])); this._renderer.appendChild(this.containerElement, rootNode); }; /** * @private * @return {?} */ ToastContainerService.prototype._detach = /** * @private * @return {?} */ function () { if (this._componentRef) { this._appRef.detachView(this._componentRef.hostView); this._componentRef.destroy(); this._componentRef = null; } }; /** * @private * @return {?} */ ToastContainerService.prototype._destroyContainer = /** * @private * @return {?} */ function () { if (this._containerElement && this._containerElement.parentNode) { this._renderer.removeChild(this._containerElement.parentNode, this._containerElement); this._containerElement = null; } }; ToastContainerService.decorators = [ { type: Injectable } ]; /** @nocollapse */ ToastContainerService.ctorParameters = function () { return [ { type: RendererFactory2 }, { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }, { type: ComponentFactoryResolver }, { type: ApplicationRef }, { type: Injector } ]; }; return ToastContainerService; }()); export { ToastContainerService }; if (false) { /** * @type {?} * @private */ ToastContainerService.prototype._renderer; /** * @type {?} * @private */ ToastContainerService.prototype._containerElement; /** * @type {?} * @private */ ToastContainerService.prototype._componentRef; /** * @type {?} * @private */ ToastContainerService.prototype._document; /** * @type {?} * @private */ ToastContainerService.prototype._factoryResolver; /** * @type {?} * @private */ ToastContainerService.prototype._appRef; /** * @type {?} * @private */ ToastContainerService.prototype._injector; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtY29udGFpbmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtdG9hc3Qtbm90aWZpY2F0aW9ucy8iLCJzb3VyY2VzIjpbInRvYXN0LWNvbnRhaW5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFHeEIsTUFBTSxFQUNOLFVBQVUsRUFDVixRQUFRLEVBR1IsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7SUFFaEYsMEJBQTBCLEdBQUcsaUJBQWlCO0FBRXBEO0lBT0UsK0JBQ0UsZUFBaUMsRUFDUCxTQUFjLEVBQ2hDLGdCQUEwQyxFQUMxQyxPQUF1QixFQUN2QixTQUFtQjtRQUhELGNBQVMsR0FBVCxTQUFTLENBQUs7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUEwQjtRQUMxQyxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBRTNCLElBQUksQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELHNCQUFJLHNDQUFHOzs7O1FBQVA7WUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2hCO1lBQ0QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzVCLENBQUM7OztPQUFBO0lBRUQsc0JBQVksbURBQWdCOzs7OztRQUE1QjtZQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLDBCQUEwQixDQUFDLENBQUM7Z0JBQzVFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3pFO1lBQ0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDaEMsQ0FBQzs7O09BQUE7Ozs7SUFFRCwyQ0FBVzs7O0lBQVg7UUFDRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7OztJQUVPLHVDQUFPOzs7O0lBQWY7UUFDRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7O1lBQ1QsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLHVCQUF1QixDQUFDO1FBQy9GLElBQUksQ0FBQyxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzs7WUFDdkQsUUFBUSxHQUFHLG1CQUFBLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUF3QjtRQUNwRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7WUFDNUIsUUFBUSxHQUFHLG1CQUFBLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQWU7UUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlELENBQUM7Ozs7O0lBRU8sdUNBQU87Ozs7SUFBZjtRQUNFLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDM0I7SUFDSCxDQUFDOzs7OztJQUVPLGlEQUFpQjs7OztJQUF6QjtRQUNFLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN0RixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7Z0JBN0RGLFVBQVU7Ozs7Z0JBUFQsZ0JBQWdCO2dEQWdCYixNQUFNLFNBQUMsUUFBUTtnQkF4QmxCLHdCQUF3QjtnQkFEeEIsY0FBYztnQkFNZCxRQUFROztJQXdFViw0QkFBQztDQUFBLEFBOURELElBOERDO1NBN0RZLHFCQUFxQjs7Ozs7O0lBRWhDLDBDQUE2Qjs7Ozs7SUFDN0Isa0RBQXVDOzs7OztJQUN2Qyw4Q0FBNkQ7Ozs7O0lBSTNELDBDQUF3Qzs7Ozs7SUFDeEMsaURBQWtEOzs7OztJQUNsRCx3Q0FBK0I7Ozs7O0lBQy9CLDBDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXBwbGljYXRpb25SZWYsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbWJlZGRlZFZpZXdSZWYsXHJcbiAgSW5qZWN0LFxyXG4gIEluamVjdGFibGUsXHJcbiAgSW5qZWN0b3IsXHJcbiAgT25EZXN0cm95LFxyXG4gIFJlbmRlcmVyMixcclxuICBSZW5kZXJlckZhY3RvcnkyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgVG9hc3RDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LWNvbnRhaW5lci90b2FzdC1jb250YWluZXIuY29tcG9uZW50JztcclxuXHJcbmNvbnN0IFRPQVNUX0NPTlRBSU5FUl9DTEFTU19OQU1FID0gJ3RvYXN0LWNvbnRhaW5lcic7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBUb2FzdENvbnRhaW5lclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyO1xyXG4gIHByaXZhdGUgX2NvbnRhaW5lckVsZW1lbnQ6IEhUTUxFbGVtZW50O1xyXG4gIHByaXZhdGUgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFRvYXN0Q29udGFpbmVyQ29tcG9uZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICByZW5kZXJlckZhY3Rvcnk6IFJlbmRlcmVyRmFjdG9yeTIsXHJcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSBfZmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIF9hcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICkge1xyXG4gICAgdGhpcy5fcmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVmKCk6IENvbXBvbmVudFJlZjxUb2FzdENvbnRhaW5lckNvbXBvbmVudD4ge1xyXG4gICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYpIHtcclxuICAgICAgdGhpcy5fYXR0YWNoKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgY29udGFpbmVyRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICBpZiAoIXRoaXMuX2NvbnRhaW5lckVsZW1lbnQpIHtcclxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudCA9IHRoaXMuX3JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG4gICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9jb250YWluZXJFbGVtZW50LCBUT0FTVF9DT05UQUlORVJfQ0xBU1NfTkFNRSk7XHJcbiAgICAgIHRoaXMuX3JlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuX2RvY3VtZW50LmJvZHksIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2RldGFjaCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveUNvbnRhaW5lcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYXR0YWNoKCkge1xyXG4gICAgdGhpcy5fZGV0YWNoKCk7XHJcbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fZmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRvYXN0Q29udGFpbmVyQ29tcG9uZW50KTtcclxuICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRoaXMuX2luamVjdG9yKTtcclxuICAgIGNvbnN0IGhvc3RWaWV3ID0gdGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+O1xyXG4gICAgdGhpcy5fYXBwUmVmLmF0dGFjaFZpZXcoaG9zdFZpZXcpO1xyXG4gICAgY29uc3Qgcm9vdE5vZGUgPSBob3N0Vmlldy5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICB0aGlzLl9yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lckVsZW1lbnQsIHJvb3ROb2RlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RldGFjaCgpIHtcclxuICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYpIHtcclxuICAgICAgdGhpcy5fYXBwUmVmLmRldGFjaFZpZXcodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Rlc3Ryb3lDb250YWluZXIoKSB7XHJcbiAgICBpZiAodGhpcy5fY29udGFpbmVyRWxlbWVudCAmJiB0aGlzLl9jb250YWluZXJFbGVtZW50LnBhcmVudE5vZGUpIHtcclxuICAgICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5fY29udGFpbmVyRWxlbWVudC5wYXJlbnROb2RlLCB0aGlzLl9jb250YWluZXJFbGVtZW50KTtcclxuICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudCA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==