@addapptables/notifier
Version:
Material notifier library for angular
113 lines • 7.57 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable, ApplicationRef, Inject, Injector, ComponentFactoryResolver } from '@angular/core';
import { NotifierContainerService } from './notifier-container.service';
import { DOCUMENT } from '@angular/common';
import { DomPortalOutlet } from '@angular/cdk/portal';
import { NOTIFIER } from '../constants';
/** @type {?} */
var nextUniqueId = 0;
var NotifierPortalService = /** @class */ (function () {
function NotifierPortalService(_notifierContainerService, _document, _injector, _componentFactoryResolver) {
this._notifierContainerService = _notifierContainerService;
this._document = _document;
this._injector = _injector;
this._componentFactoryResolver = _componentFactoryResolver;
}
/**
* @return {?}
*/
NotifierPortalService.prototype.create = /**
* @return {?}
*/
function () {
/** @type {?} */
var pane = this._createPaneElement();
/** @type {?} */
var portal = this._createPortalOutlet(pane);
return portal;
};
/**
* @private
* @param {?} pane
* @return {?}
*/
NotifierPortalService.prototype._createPortalOutlet = /**
* @private
* @param {?} pane
* @return {?}
*/
function (pane) {
if (!this._appRef) {
this._appRef = this._injector.get(ApplicationRef);
}
return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector);
};
/**
* @private
* @return {?}
*/
NotifierPortalService.prototype._createPaneElement = /**
* @private
* @return {?}
*/
function () {
/** @type {?} */
var pane = this._document.createElement('div');
pane.id = "" + (NOTIFIER + nextUniqueId++);
this._notifierContainerService.getContainerElement().appendChild(pane);
return pane;
};
Object.defineProperty(NotifierPortalService.prototype, "getLastUniqueId", {
get: /**
* @return {?}
*/
function () {
return "" + (NOTIFIER + (nextUniqueId - 1));
},
enumerable: true,
configurable: true
});
NotifierPortalService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
NotifierPortalService.ctorParameters = function () { return [
{ type: NotifierContainerService },
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
{ type: Injector },
{ type: ComponentFactoryResolver }
]; };
return NotifierPortalService;
}());
export { NotifierPortalService };
if (false) {
/**
* @type {?}
* @private
*/
NotifierPortalService.prototype._appRef;
/**
* @type {?}
* @private
*/
NotifierPortalService.prototype._notifierContainerService;
/**
* @type {?}
* @private
*/
NotifierPortalService.prototype._document;
/**
* @type {?}
* @private
*/
NotifierPortalService.prototype._injector;
/**
* @type {?}
* @private
*/
NotifierPortalService.prototype._componentFactoryResolver;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpZXItcG9ydGFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRkYXBwdGFibGVzL25vdGlmaWVyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL25vdGlmaWVyLXBvcnRhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7SUFFcEMsWUFBWSxHQUFHLENBQUM7QUFFcEI7SUFLRSwrQkFDVSx5QkFBbUQsRUFDakMsU0FBYyxFQUNoQyxTQUFtQixFQUNuQix5QkFBbUQ7UUFIbkQsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFLO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtJQUN6RCxDQUFDOzs7O0lBRUwsc0NBQU07OztJQUFOOztZQUNRLElBQUksR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7O1lBQ2hDLE1BQU0sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO1FBQzdDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Ozs7OztJQUVPLG1EQUFtQjs7Ozs7SUFBM0IsVUFBNEIsSUFBaUI7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBaUIsY0FBYyxDQUFDLENBQUM7U0FDbkU7UUFDRCxPQUFPLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakcsQ0FBQzs7Ozs7SUFFTyxrREFBa0I7Ozs7SUFBMUI7O1lBQ1EsSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUNoRCxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQUcsUUFBUSxHQUFHLFlBQVksRUFBRSxDQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLG1CQUFtQixFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHNCQUFJLGtEQUFlOzs7O1FBQW5CO1lBQ0UsT0FBTyxNQUFHLFFBQVEsR0FBRyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBRSxDQUFDO1FBQzVDLENBQUM7OztPQUFBOztnQkFsQ0YsVUFBVTs7OztnQkFQRix3QkFBd0I7Z0RBYzVCLE1BQU0sU0FBQyxRQUFRO2dCQWZ5QixRQUFRO2dCQUFFLHdCQUF3Qjs7SUEyQy9FLDRCQUFDO0NBQUEsQUFuQ0QsSUFtQ0M7U0FsQ1kscUJBQXFCOzs7Ozs7SUFFaEMsd0NBQWdDOzs7OztJQUc5QiwwREFBMkQ7Ozs7O0lBQzNELDBDQUF3Qzs7Ozs7SUFDeEMsMENBQTJCOzs7OztJQUMzQiwwREFBMkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBBcHBsaWNhdGlvblJlZiwgSW5qZWN0LCBJbmplY3RvciwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb3RpZmllckNvbnRhaW5lclNlcnZpY2UgfSBmcm9tICcuL25vdGlmaWVyLWNvbnRhaW5lci5zZXJ2aWNlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERvbVBvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgTk9USUZJRVIgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vdGlmaWVyUG9ydGFsU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBfYXBwUmVmOiBBcHBsaWNhdGlvblJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9ub3RpZmllckNvbnRhaW5lclNlcnZpY2U6IE5vdGlmaWVyQ29udGFpbmVyU2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogYW55LFxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICApIHsgfVxuXG4gIGNyZWF0ZSgpIHtcbiAgICBjb25zdCBwYW5lID0gdGhpcy5fY3JlYXRlUGFuZUVsZW1lbnQoKTtcbiAgICBjb25zdCBwb3J0YWwgPSB0aGlzLl9jcmVhdGVQb3J0YWxPdXRsZXQocGFuZSk7XG4gICAgcmV0dXJuIHBvcnRhbDtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVBvcnRhbE91dGxldChwYW5lOiBIVE1MRWxlbWVudCk6IERvbVBvcnRhbE91dGxldCB7XG4gICAgaWYgKCF0aGlzLl9hcHBSZWYpIHtcbiAgICAgIHRoaXMuX2FwcFJlZiA9IHRoaXMuX2luamVjdG9yLmdldDxBcHBsaWNhdGlvblJlZj4oQXBwbGljYXRpb25SZWYpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IERvbVBvcnRhbE91dGxldChwYW5lLCB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIHRoaXMuX2FwcFJlZiwgdGhpcy5faW5qZWN0b3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlUGFuZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIGNvbnN0IHBhbmUgPSB0aGlzLl9kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBwYW5lLmlkID0gYCR7Tk9USUZJRVIgKyBuZXh0VW5pcXVlSWQrK31gO1xuICAgIHRoaXMuX25vdGlmaWVyQ29udGFpbmVyU2VydmljZS5nZXRDb250YWluZXJFbGVtZW50KCkuYXBwZW5kQ2hpbGQocGFuZSk7XG4gICAgcmV0dXJuIHBhbmU7XG4gIH1cblxuICBnZXQgZ2V0TGFzdFVuaXF1ZUlkKCkge1xuICAgIHJldHVybiBgJHtOT1RJRklFUiArIChuZXh0VW5pcXVlSWQgLSAxKX1gO1xuICB9XG59XG4iXX0=