@addapptables/notifier
Version:
Material notifier library for angular
93 lines • 6.88 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Subject } from 'rxjs';
import { filter, take } from 'rxjs/operators';
export class NotifierRef {
/**
* @param {?} component
* @param {?} portal
* @param {?} document
* @param {?} id
*/
constructor(component, portal, document, id) {
this._afterClose = new Subject();
this._component = component;
this._portal = portal;
this._component._id = id;
this._document = document;
this._component._close.subscribe(this.close.bind(this));
}
/**
* @return {?}
*/
get component() {
return this._component;
}
/**
* @return {?}
*/
afterClosed() {
return this._afterClose.asObservable();
}
/**
* @return {?}
*/
close() {
this._component._animationStateChanged.pipe(filter((/**
* @param {?} x
* @return {?}
*/
x => x.phaseName === 'done')), take(1))
.subscribe((/**
* @return {?}
*/
() => {
this._afterClose.next(this._component._id);
this._afterClose.complete();
this._destroyPortal();
}));
this._component.startExitAnimation();
}
/**
* @param {?} style
* @return {?}
*/
changedStyle(style) {
this._component._style = style;
}
/**
* @private
* @return {?}
*/
_destroyPortal() {
/** @type {?} */
const componentContainer = this._document.getElementById(this._component._id);
this._portal.detach();
componentContainer && componentContainer.parentNode.removeChild(componentContainer);
}
}
if (false) {
/**
* @type {?}
* @private
*/
NotifierRef.prototype._component;
/**
* @type {?}
* @private
*/
NotifierRef.prototype._portal;
/**
* @type {?}
* @private
*/
NotifierRef.prototype._document;
/**
* @type {?}
* @private
*/
NotifierRef.prototype._afterClose;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpZXItcmVmLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFkZGFwcHRhYmxlcy9ub3RpZmllci8iLCJzb3VyY2VzIjpbImxpYi9ub3RpZmllci1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxNQUFNLE9BQU8sV0FBVzs7Ozs7OztJQVVwQixZQUNJLFNBQTRCLEVBQzVCLE1BQXVCLEVBQ3ZCLFFBQXNCLEVBQ3RCLEVBQVU7UUFORyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFRakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7Ozs7SUFFRCxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQzs7OztJQUVELFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQzs7OztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FDdkMsTUFBTTs7OztRQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxNQUFNLEVBQUMsRUFDbkMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWO2FBQ0ksU0FBUzs7O1FBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztRQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzs7OztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDOzs7OztJQUVPLGNBQWM7O2NBQ1osa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7UUFDN0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixrQkFBa0IsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEYsQ0FBQztDQUVKOzs7Ozs7SUFwREcsaUNBQStDOzs7OztJQUUvQyw4QkFBMEM7Ozs7O0lBRTFDLGdDQUF5Qzs7Ozs7SUFFekMsa0NBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm90aWZpZXJDb21wb25lbnQgfSBmcm9tICcuL25vdGlmaWVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvbVBvcnRhbE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmllclJlZiB7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29tcG9uZW50OiBOb3RpZmllckNvbXBvbmVudDtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wb3J0YWw6IERvbVBvcnRhbE91dGxldDtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudDogSFRNTERvY3VtZW50O1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2FmdGVyQ2xvc2UgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgY29tcG9uZW50OiBOb3RpZmllckNvbXBvbmVudCxcclxuICAgICAgICBwb3J0YWw6IERvbVBvcnRhbE91dGxldCxcclxuICAgICAgICBkb2N1bWVudDogSFRNTERvY3VtZW50LFxyXG4gICAgICAgIGlkOiBzdHJpbmdcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuX2NvbXBvbmVudCA9IGNvbXBvbmVudDtcclxuICAgICAgICB0aGlzLl9wb3J0YWwgPSBwb3J0YWw7XHJcbiAgICAgICAgdGhpcy5fY29tcG9uZW50Ll9pZCA9IGlkO1xyXG4gICAgICAgIHRoaXMuX2RvY3VtZW50ID0gZG9jdW1lbnQ7XHJcbiAgICAgICAgdGhpcy5fY29tcG9uZW50Ll9jbG9zZS5zdWJzY3JpYmUodGhpcy5jbG9zZS5iaW5kKHRoaXMpKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgY29tcG9uZW50KCk6IE5vdGlmaWVyQ29tcG9uZW50IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50O1xyXG4gICAgfVxyXG5cclxuICAgIGFmdGVyQ2xvc2VkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FmdGVyQ2xvc2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xvc2UoKSB7XHJcbiAgICAgICAgdGhpcy5fY29tcG9uZW50Ll9hbmltYXRpb25TdGF0ZUNoYW5nZWQucGlwZShcclxuICAgICAgICAgICAgZmlsdGVyKHggPT4geC5waGFzZU5hbWUgPT09ICdkb25lJyksXHJcbiAgICAgICAgICAgIHRha2UoMSlcclxuICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWZ0ZXJDbG9zZS5uZXh0KHRoaXMuX2NvbXBvbmVudC5faWQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWZ0ZXJDbG9zZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZGVzdHJveVBvcnRhbCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9jb21wb25lbnQuc3RhcnRFeGl0QW5pbWF0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlZFN0eWxlKHN0eWxlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9jb21wb25lbnQuX3N0eWxlID0gc3R5bGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZGVzdHJveVBvcnRhbCgpIHtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRDb250YWluZXIgPSB0aGlzLl9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLl9jb21wb25lbnQuX2lkKTtcclxuICAgICAgICB0aGlzLl9wb3J0YWwuZGV0YWNoKCk7XHJcbiAgICAgICAgY29tcG9uZW50Q29udGFpbmVyICYmIGNvbXBvbmVudENvbnRhaW5lci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGNvbXBvbmVudENvbnRhaW5lcik7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==