UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

54 lines 7.47 kB
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==