@ngx-performance-ui/ui
Version:
Ngx Performance UI - UI
104 lines • 8.65 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ComponentFactoryResolver, ViewChild, ViewContainerRef, ChangeDetectionStrategy, ChangeDetectorRef, } from '@angular/core';
import { Actions, ofActionDispatched } from '@ngxs/store';
import { ToasterComponent } from './toaster.component';
import { DomSanitizer } from '@angular/platform-browser';
import { isNullOrUndefined } from 'util';
import { take } from 'rxjs/operators';
import { ToasterShow } from '../../actions';
export class ToasterContainerComponent {
/**
* @param {?} actions
* @param {?} cdRef
* @param {?} sanitizer
* @param {?} resolver
*/
constructor(actions, cdRef, sanitizer, resolver) {
this.actions = actions;
this.cdRef = cdRef;
this.sanitizer = sanitizer;
this.resolver = resolver;
}
/**
* @return {?}
*/
ngOnInit() {
this.actions.pipe(ofActionDispatched(ToasterShow)).subscribe((/**
* @param {?} action
* @return {?}
*/
(action) => {
this.create(action.payload);
}));
}
/**
* @param {?} payload
* @return {?}
*/
create(payload) {
/** @type {?} */
const factory = this.resolver.resolveComponentFactory(ToasterComponent);
/** @type {?} */
const component = this.container.createComponent(factory);
component.instance.body = payload.body ? this.sanitizer.bypassSecurityTrustHtml(payload.body) : '';
component.instance.header = payload.header;
component.instance.closeOnClick = isNullOrUndefined(payload.closeOnClick) ? true : payload.closeOnClick;
component.instance.type = payload.type || 'primary';
component.instance.timeout = payload.timeout || 5000;
this.cdRef.detectChanges();
component.instance.destroy.pipe(take(1)).subscribe((/**
* @param {?} _
* @return {?}
*/
_ => {
component.destroy();
}));
}
}
ToasterContainerComponent.decorators = [
{ type: Component, args: [{
selector: 'p-toaster-container',
template: `
<div class="toast-container"><ng-container #container></ng-container></div>
`,
changeDetection: ChangeDetectionStrategy.OnPush
}] }
];
/** @nocollapse */
ToasterContainerComponent.ctorParameters = () => [
{ type: Actions },
{ type: ChangeDetectorRef },
{ type: DomSanitizer },
{ type: ComponentFactoryResolver }
];
ToasterContainerComponent.propDecorators = {
container: [{ type: ViewChild, args: ['container', { read: ViewContainerRef },] }]
};
if (false) {
/** @type {?} */
ToasterContainerComponent.prototype.container;
/**
* @type {?}
* @private
*/
ToasterContainerComponent.prototype.actions;
/**
* @type {?}
* @private
*/
ToasterContainerComponent.prototype.cdRef;
/**
* @type {?}
* @private
*/
ToasterContainerComponent.prototype.sanitizer;
/**
* @type {?}
* @private
*/
ToasterContainerComponent.prototype.resolver;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5neC1wZXJmb3JtYW5jZS11aS91aS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RvYXN0ZXIvdG9hc3Rlci1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUV4QixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVTVDLE1BQU0sT0FBTyx5QkFBeUI7Ozs7Ozs7SUFHcEMsWUFDVSxPQUFnQixFQUNoQixLQUF3QixFQUN4QixTQUF1QixFQUN2QixRQUFrQztRQUhsQyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7SUFDekMsQ0FBQzs7OztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVM7Ozs7UUFBQyxDQUFDLE1BQW1CLEVBQUUsRUFBRTtZQUNuRixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLE9BQXNCOztjQUNyQixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQzs7Y0FDakUsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUN6RCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25HLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDM0MsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDeEcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUM7UUFDcEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUM7UUFFckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUUzQixTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JELFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7OztZQXJDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsUUFBUSxFQUFFOztHQUVUO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzs7O1lBZFEsT0FBTztZQUZkLGlCQUFpQjtZQUlWLFlBQVk7WUFUbkIsd0JBQXdCOzs7d0JBdUJ2QixTQUFTLFNBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFOzs7O0lBQWxELDhDQUFnRjs7Ozs7SUFHOUUsNENBQXdCOzs7OztJQUN4QiwwQ0FBZ0M7Ozs7O0lBQ2hDLDhDQUErQjs7Ozs7SUFDL0IsNkNBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIE9uSW5pdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZBY3Rpb25EaXNwYXRjaGVkIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgVG9hc3RlckNvbXBvbmVudCB9IGZyb20gJy4vdG9hc3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvYXN0ZXJTaG93IH0gZnJvbSAnLi4vLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBUb2FzdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncC10b2FzdGVyLWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInRvYXN0LWNvbnRhaW5lclwiPjxuZy1jb250YWluZXIgI2NvbnRhaW5lcj48L25nLWNvbnRhaW5lcj48L2Rpdj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aW9uczogQWN0aW9ucyxcbiAgICBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWN0aW9ucy5waXBlKG9mQWN0aW9uRGlzcGF0Y2hlZChUb2FzdGVyU2hvdykpLnN1YnNjcmliZSgoYWN0aW9uOiBUb2FzdGVyU2hvdykgPT4ge1xuICAgICAgdGhpcy5jcmVhdGUoYWN0aW9uLnBheWxvYWQpO1xuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlKHBheWxvYWQ6IFRvYXN0ZXIuU3RhdGUpIHtcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShUb2FzdGVyQ29tcG9uZW50KTtcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XG4gICAgY29tcG9uZW50Lmluc3RhbmNlLmJvZHkgPSBwYXlsb2FkLmJvZHkgPyB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwYXlsb2FkLmJvZHkpIDogJyc7XG4gICAgY29tcG9uZW50Lmluc3RhbmNlLmhlYWRlciA9IHBheWxvYWQuaGVhZGVyO1xuICAgIGNvbXBvbmVudC5pbnN0YW5jZS5jbG9zZU9uQ2xpY2sgPSBpc051bGxPclVuZGVmaW5lZChwYXlsb2FkLmNsb3NlT25DbGljaykgPyB0cnVlIDogcGF5bG9hZC5jbG9zZU9uQ2xpY2s7XG4gICAgY29tcG9uZW50Lmluc3RhbmNlLnR5cGUgPSBwYXlsb2FkLnR5cGUgfHwgJ3ByaW1hcnknO1xuICAgIGNvbXBvbmVudC5pbnN0YW5jZS50aW1lb3V0ID0gcGF5bG9hZC50aW1lb3V0IHx8IDUwMDA7XG5cbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgIGNvbXBvbmVudC5pbnN0YW5jZS5kZXN0cm95LnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgY29tcG9uZW50LmRlc3Ryb3koKTtcbiAgICB9KTtcbiAgfVxufVxuIl19