@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
54 lines • 7.47 kB
JavaScript
import { Component, Input, ViewChild, ContentChild } from '@angular/core';
import { AlertService } from './alert.service';
import { AlertDetailsComponent } from './alert-details.component';
import * as i0 from "@angular/core";
import * as i1 from "./alert.service";
/**
* Alert component allows creating alert with complex view.
*/
export class AlertComponent {
/**
* @ignore
*/
constructor(alertService) {
this.alertService = alertService;
}
/**
* AlertComponent adds new alert to collection stored in alertService after view init.
*/
ngAfterViewInit() {
if (!this.containDetailsComponent) {
this.detailedData = null;
}
this.viewInitTimeout = setTimeout(() => this.alertService.add(this));
}
/**
* AlertComponent removes alert from collection stored in alertService on destroy component.
*/
ngOnDestroy() {
clearTimeout(this.viewInitTimeout);
this.alertService.remove(this);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlertComponent, deps: [{ token: i1.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AlertComponent, selector: "c8y-alert", inputs: { type: "type", onDetail: "onDetail", onClose: "onClose" }, queries: [{ propertyName: "containDetailsComponent", first: true, predicate: AlertDetailsComponent, descendants: true }], viewQueries: [{ propertyName: "detailedData", first: true, predicate: ["detailedData"], descendants: true }, { propertyName: "text", first: true, predicate: ["text"], descendants: true }], ngImport: i0, template: "<ng-template #text>\r\n <ng-content select=\"c8y-alert-text\"></ng-content>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n<ng-template #detailedData>\r\n <ng-content select=\"c8y-alert-details\"></ng-content>\r\n</ng-template>" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlertComponent, decorators: [{
type: Component,
args: [{ selector: 'c8y-alert', template: "<ng-template #text>\r\n <ng-content select=\"c8y-alert-text\"></ng-content>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n<ng-template #detailedData>\r\n <ng-content select=\"c8y-alert-details\"></ng-content>\r\n</ng-template>" }]
}], ctorParameters: () => [{ type: i1.AlertService }], propDecorators: { type: [{
type: Input
}], onDetail: [{
type: Input
}], onClose: [{
type: Input
}], detailedData: [{
type: ViewChild,
args: ['detailedData', { static: false }]
}], text: [{
type: ViewChild,
args: ['text', { static: false }]
}], containDetailsComponent: [{
type: ContentChild,
args: [AlertDetailsComponent, { static: false }]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9hbGVydC9hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFFbEU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sY0FBYztJQStCekI7O09BRUc7SUFDSCxZQUFtQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFFakQ7O09BRUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUM7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7K0dBcERVLGNBQWM7bUdBQWQsY0FBYywwS0F3QlgscUJBQXFCLDZPQ3JDckMsNE9BTWM7OzRGRE9ELGNBQWM7a0JBSjFCLFNBQVM7K0JBQ0UsV0FBVztpRkFPWixJQUFJO3NCQUFaLEtBQUs7Z0JBSUcsUUFBUTtzQkFBaEIsS0FBSztnQkFJRyxPQUFPO3NCQUFmLEtBQUs7Z0JBSXdDLFlBQVk7c0JBQXpELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJTixJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBS3BDLHVCQUF1QjtzQkFEdEIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgSW5wdXQsIFZpZXdDaGlsZCwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJy4vYWxlcnQubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IEFsZXJ0RGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vYWxlcnQtZGV0YWlscy5jb21wb25lbnQnO1xuXG4vKipcbiAqIEFsZXJ0IGNvbXBvbmVudCBhbGxvd3MgY3JlYXRpbmcgYWxlcnQgd2l0aCBjb21wbGV4IHZpZXcuXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWFsZXJ0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FsZXJ0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWxlcnQge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIGFsZXJ0LlxuICAgKi9cbiAgQElucHV0KCkgdHlwZTogJ3N1Y2Nlc3MnIHwgJ3dhcm5pbmcnIHwgJ2RhbmdlcicgfCAnaW5mbycgfCAnc3lzdGVtJztcbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGNhbGwgaWYgdXNlciBjbGlja3Mgb24gdGhlIGRldGFpbCBidXR0b24uXG4gICAqL1xuICBASW5wdXQoKSBvbkRldGFpbDogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGNhbGwgaWYgdXNlciBjbGlja3Mgb24gdGhlIGNsb3NlIGJ1dHRvbi5cbiAgICovXG4gIEBJbnB1dCgpIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBEZXRhaWxlZCBpbmZvcm1hdGlvbiB0byBkaXNwbGF5LlxuICAgKi9cbiAgQFZpZXdDaGlsZCgnZGV0YWlsZWREYXRhJywgeyBzdGF0aWM6IGZhbHNlIH0pIGRldGFpbGVkRGF0YTtcbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHRlbXBsYXRlUmVmIHRvIGRpc3BsYXkgbWVzc2FnZS5cbiAgICovXG4gIEBWaWV3Q2hpbGQoJ3RleHQnLCB7IHN0YXRpYzogZmFsc2UgfSkgdGV4dDtcbiAgLyoqXG4gICAqIENvbnRlbnQgb2YgQWxlcnREZXRhaWxzQ29tcG9uZW50IGlzIGRpc3BsYXllZCBhcyBhbGVydERldGFpbHMuXG4gICAqL1xuICBAQ29udGVudENoaWxkKEFsZXJ0RGV0YWlsc0NvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIGNvbnRhaW5EZXRhaWxzQ29tcG9uZW50OiBBbGVydERldGFpbHNDb21wb25lbnQ7XG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIHZpZXdJbml0VGltZW91dDtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHVibGljIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlKSB7fVxuXG4gIC8qKlxuICAgKiBBbGVydENvbXBvbmVudCBhZGRzIG5ldyBhbGVydCB0byBjb2xsZWN0aW9uIHN0b3JlZCBpbiBhbGVydFNlcnZpY2UgYWZ0ZXIgdmlldyBpbml0LlxuICAgKi9cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICghdGhpcy5jb250YWluRGV0YWlsc0NvbXBvbmVudCkge1xuICAgICAgdGhpcy5kZXRhaWxlZERhdGEgPSBudWxsO1xuICAgIH1cbiAgICB0aGlzLnZpZXdJbml0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hbGVydFNlcnZpY2UuYWRkKHRoaXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGVydENvbXBvbmVudCByZW1vdmVzIGFsZXJ0IGZyb20gY29sbGVjdGlvbiBzdG9yZWQgaW4gYWxlcnRTZXJ2aWNlIG9uIGRlc3Ryb3kgY29tcG9uZW50LlxuICAgKi9cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMudmlld0luaXRUaW1lb3V0KTtcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5yZW1vdmUodGhpcyk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdGV4dD5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCJjOHktYWxlcnQtdGV4dFwiPjwvbmctY29udGVudD5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjZGV0YWlsZWREYXRhPlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImM4eS1hbGVydC1kZXRhaWxzXCI+PC9uZy1jb250ZW50PlxyXG48L25nLXRlbXBsYXRlPiJdfQ==