@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
29 lines • 7.22 kB
JavaScript
import { Component, inject } from '@angular/core';
import { MessageBannerService } from './message-banner.service';
import { filter, shareReplay, startWith, switchMap, take } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "../../common/icon.directive";
import * as i2 from "@angular/common";
import * as i3 from "../../i18n/c8y-translate.pipe";
import * as i4 from "../../common/markdown-to-html.pipe";
export class MessageBannerComponent {
constructor() {
this.messageBannerService = inject(MessageBannerService);
}
ngOnInit() {
this.settings$ = this.messageBannerService.settings$().pipe(shareReplay(1));
this.showBanner$ = this.settings$.pipe(filter(Boolean), take(1), switchMap(settings => {
return this.messageBannerService.showBanner$.pipe(startWith(settings?.messageBannerEnabled));
}));
}
dismiss() {
this.messageBannerService.dismiss();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessageBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MessageBannerComponent, selector: "c8y-message-banner", ngImport: i0, template: "<ng-container *ngIf=\"settings$ | async as settings\">\n <div *ngIf=\"showBanner$ | async\">\n <div\n class=\"alert d-flex\"\n [class]=\"'alert-' + settings.messageBannerType\"\n >\n <span\n class=\"flex-grow\"\n [innerHTML]=\"settings.messageBannerContent | translate | markdownToHtml | async\"\n ></span>\n <button\n class=\"close a-s-start\"\n [attr.aria-label]=\"'Close' | translate\"\n type=\"button\"\n (click)=\"dismiss()\"\n >\n <i\n c8yIcon=\"times\"\n aria-hidden=\"true\"\n ></i>\n <span class=\"sr-only\">Close</span>\n </button>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.MarkdownToHtmlPipe, name: "markdownToHtml" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MessageBannerComponent, decorators: [{
type: Component,
args: [{ selector: 'c8y-message-banner', template: "<ng-container *ngIf=\"settings$ | async as settings\">\n <div *ngIf=\"showBanner$ | async\">\n <div\n class=\"alert d-flex\"\n [class]=\"'alert-' + settings.messageBannerType\"\n >\n <span\n class=\"flex-grow\"\n [innerHTML]=\"settings.messageBannerContent | translate | markdownToHtml | async\"\n ></span>\n <button\n class=\"close a-s-start\"\n [attr.aria-label]=\"'Close' | translate\"\n type=\"button\"\n (click)=\"dismiss()\"\n >\n <i\n c8yIcon=\"times\"\n aria-hidden=\"true\"\n ></i>\n <span class=\"sr-only\">Close</span>\n </button>\n </div>\n </div>\n</ng-container>\n" }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1iYW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29yZS9ib290c3RyYXAvbWVzc2FnZS1iYW5uZXIvbWVzc2FnZS1iYW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29yZS9ib290c3RyYXAvbWVzc2FnZS1iYW5uZXIvbWVzc2FnZS1iYW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBTWpGLE1BQU0sT0FBTyxzQkFBc0I7SUFKbkM7UUFPVSx5QkFBb0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztLQW1CN0Q7SUFqQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNwQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUMvQyxTQUFTLENBQUMsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQzFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdEMsQ0FBQzsrR0FyQlUsc0JBQXNCO21HQUF0QixzQkFBc0IsMERDVm5DLG1zQkF5QkE7OzRGRGZhLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDRSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlQmFubmVyU2V0dGluZ3MgfSBmcm9tICcuL21lc3NhZ2UtYmFubmVyLm1vZGVsJztcbmltcG9ydCB7IE1lc3NhZ2VCYW5uZXJTZXJ2aWNlIH0gZnJvbSAnLi9tZXNzYWdlLWJhbm5lci5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktbWVzc2FnZS1iYW5uZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS1iYW5uZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VCYW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBzZXR0aW5ncyQ6IE9ic2VydmFibGU8UGFydGlhbDxNZXNzYWdlQmFubmVyU2V0dGluZ3M+PjtcbiAgc2hvd0Jhbm5lciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIHByaXZhdGUgbWVzc2FnZUJhbm5lclNlcnZpY2UgPSBpbmplY3QoTWVzc2FnZUJhbm5lclNlcnZpY2UpO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dGluZ3MkID0gdGhpcy5tZXNzYWdlQmFubmVyU2VydmljZS5zZXR0aW5ncyQoKS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcblxuICAgIHRoaXMuc2hvd0Jhbm5lciQgPSB0aGlzLnNldHRpbmdzJC5waXBlKFxuICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcChzZXR0aW5ncyA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VCYW5uZXJTZXJ2aWNlLnNob3dCYW5uZXIkLnBpcGUoXG4gICAgICAgICAgc3RhcnRXaXRoKHNldHRpbmdzPy5tZXNzYWdlQmFubmVyRW5hYmxlZClcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGRpc21pc3MoKSB7XG4gICAgdGhpcy5tZXNzYWdlQmFubmVyU2VydmljZS5kaXNtaXNzKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzZXR0aW5ncyQgfCBhc3luYyBhcyBzZXR0aW5nc1wiPlxuICA8ZGl2ICpuZ0lmPVwic2hvd0Jhbm5lciQgfCBhc3luY1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYWxlcnQgZC1mbGV4XCJcbiAgICAgIFtjbGFzc109XCInYWxlcnQtJyArIHNldHRpbmdzLm1lc3NhZ2VCYW5uZXJUeXBlXCJcbiAgICA+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImZsZXgtZ3Jvd1wiXG4gICAgICAgIFtpbm5lckhUTUxdPVwic2V0dGluZ3MubWVzc2FnZUJhbm5lckNvbnRlbnQgfCB0cmFuc2xhdGUgfCBtYXJrZG93blRvSHRtbCB8IGFzeW5jXCJcbiAgICAgID48L3NwYW4+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiY2xvc2UgYS1zLXN0YXJ0XCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQ2xvc2UnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJkaXNtaXNzKClcIlxuICAgICAgPlxuICAgICAgICA8aVxuICAgICAgICAgIGM4eUljb249XCJ0aW1lc1wiXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPjwvaT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Q2xvc2U8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==