@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
56 lines • 11.6 kB
JavaScript
import { Component, ViewChild } from '@angular/core';
import { Subject } from 'rxjs';
import { Status } from '../../../common/status.model';
import { gettext } from '../../../i18n/gettext';
import { ConfirmModalComponent } from '../../../modal/modal-confirm.component';
import { CookieBannerService } from '../cookie-banner.service';
import * as i0 from "@angular/core";
import * as i1 from "../cookie-banner.service";
import * as i2 from "@angular/forms";
import * as i3 from "@angular/common";
import * as i4 from "../../../modal/modal-confirm.component";
import * as i5 from "../../../i18n/c8y-translate.pipe";
import * as i6 from "../../../common/humanize.pipe";
export class CookieBannerPreferencesModalComponent {
constructor(cookieBannerService) {
this.cookieBannerService = cookieBannerService;
this.closeSubject = new Subject();
this.title = gettext('Cookie preferences');
this.labels = { ok: gettext('Save settings'), cancel: gettext('Cancel') };
this.status = Status.INFO;
}
ngOnInit() {
this.configCookiePreferencesList = this.cookieBannerService.transformCookiePreferencesToList(this.configCookiePreferences);
}
async ngAfterViewInit() {
try {
await this.modalRef.result;
this.onClose();
}
catch (error) {
this.onDismiss();
}
}
onClose() {
const cookiePref = this.cookieBannerService.transformCookiePreferencesListToCookiePreferences(this.configCookiePreferencesList);
this.closeSubject.next(cookiePref);
this.closeSubject.complete();
}
onDismiss() {
this.closeSubject.next(undefined);
this.closeSubject.complete();
}
getCookieDescription(cookieType) {
return this.cookieBannerService.getCookieDescription(cookieType);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CookieBannerPreferencesModalComponent, deps: [{ token: i1.CookieBannerService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CookieBannerPreferencesModalComponent, selector: "c8y-cookie-banner-preferences-modal", viewQueries: [{ propertyName: "modalRef", first: true, predicate: ["modalRef"], descendants: true }], ngImport: i0, template: "<c8y-confirm-modal [title]=\"title\" [status]=\"status\" [labels]=\"labels\" #modalRef>\n\n <div *ngFor=\"let item of configCookiePreferencesList\" class=\"row p-t-8 p-b-8 separator-top\">\n <div class=\"col-xs-2\">\n <div class=\"text-center\">\n <label class=\"c8y-switch\">\n <input\n name=\"{{ item.name }}\"\n type=\"checkbox\"\n [(ngModel)]=\"item.value\"\n [disabled]=\"item.isReadonly\"\n />\n <span></span>\n </label>\n </div>\n </div>\n <div class=\"col-xs-10\">\n <h4 class=\"text-medium\">\n {{ item.name | translate | humanize }}\n </h4>\n <p>\n {{ getCookieDescription(item.name) | translate }}\n </p>\n </div>\n </div>\n</c8y-confirm-modal>\n", dependencies: [{ kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.ConfirmModalComponent, selector: "c8y-confirm-modal", inputs: ["title", "body", "confirmOptions", "status", "labels"] }, { kind: "pipe", type: i5.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i6.HumanizePipe, name: "humanize" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CookieBannerPreferencesModalComponent, decorators: [{
type: Component,
args: [{ selector: 'c8y-cookie-banner-preferences-modal', template: "<c8y-confirm-modal [title]=\"title\" [status]=\"status\" [labels]=\"labels\" #modalRef>\n\n <div *ngFor=\"let item of configCookiePreferencesList\" class=\"row p-t-8 p-b-8 separator-top\">\n <div class=\"col-xs-2\">\n <div class=\"text-center\">\n <label class=\"c8y-switch\">\n <input\n name=\"{{ item.name }}\"\n type=\"checkbox\"\n [(ngModel)]=\"item.value\"\n [disabled]=\"item.isReadonly\"\n />\n <span></span>\n </label>\n </div>\n </div>\n <div class=\"col-xs-10\">\n <h4 class=\"text-medium\">\n {{ item.name | translate | humanize }}\n </h4>\n <p>\n {{ getCookieDescription(item.name) | translate }}\n </p>\n </div>\n </div>\n</c8y-confirm-modal>\n" }]
}], ctorParameters: () => [{ type: i1.CookieBannerService }], propDecorators: { modalRef: [{
type: ViewChild,
args: ['modalRef', { static: false }]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLWJhbm5lci1wcmVmZXJlbmNlcy1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb3JlL2Jvb3RzdHJhcC9jb29raWUtYmFubmVyL2Nvb2tpZS1iYW5uZXItcHJlZmVyZW5jZXMtbW9kYWwvY29va2llLWJhbm5lci1wcmVmZXJlbmNlcy1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9jb3JlL2Jvb3RzdHJhcC9jb29raWUtYmFubmVyL2Nvb2tpZS1iYW5uZXItcHJlZmVyZW5jZXMtbW9kYWwvY29va2llLWJhbm5lci1wcmVmZXJlbmNlcy1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQWMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBTS9ELE1BQU0sT0FBTyxxQ0FBcUM7SUFTaEQsWUFBb0IsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFQNUQsaUJBQVksR0FBK0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN6RCxVQUFLLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdEMsV0FBTSxHQUFnQixFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2xGLFdBQU0sR0FBZSxNQUFNLENBQUMsSUFBSSxDQUFDO0lBSThCLENBQUM7SUFFaEUsUUFBUTtRQUNOLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0NBQWdDLENBQzFGLElBQUksQ0FBQyx1QkFBdUIsQ0FDN0IsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZTtRQUNuQixJQUFJLENBQUM7WUFDSCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNqQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLFVBQVUsR0FDZCxJQUFJLENBQUMsbUJBQW1CLENBQUMsaURBQWlELENBQ3hFLElBQUksQ0FBQywyQkFBMkIsQ0FDakMsQ0FBQztRQUVKLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxVQUFtRDtRQUN0RSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDOytHQTNDVSxxQ0FBcUM7bUdBQXJDLHFDQUFxQyxpTENibEQsa3lCQTBCQTs7NEZEYmEscUNBQXFDO2tCQUpqRCxTQUFTOytCQUNFLHFDQUFxQzt3RkFJTCxRQUFRO3NCQUFqRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RhdHVzLCBTdGF0dXNUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3N0YXR1cy5tb2RlbCc7XG5pbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnLi4vLi4vLi4vaTE4bi9nZXR0ZXh0JztcbmltcG9ydCB7IENvbmZpcm1Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGFsL21vZGFsLWNvbmZpcm0uY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsTGFiZWxzIH0gZnJvbSAnLi4vLi4vLi4vc2VsZWN0LW1vZGFsL3NlbGVjdC1tb2RhbC5tb2RlbCc7XG5pbXBvcnQgeyBDb29raWUsIENvb2tpZVByZWZlcmVuY2VzIH0gZnJvbSAnLi4vY29va2llLWJhbm5lci5tb2RlbCc7XG5pbXBvcnQgeyBDb29raWVCYW5uZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29va2llLWJhbm5lci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWNvb2tpZS1iYW5uZXItcHJlZmVyZW5jZXMtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29va2llLWJhbm5lci1wcmVmZXJlbmNlcy1tb2RhbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llQmFubmVyUHJlZmVyZW5jZXNNb2RhbENvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ21vZGFsUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pIG1vZGFsUmVmOiBDb25maXJtTW9kYWxDb21wb25lbnQ7XG4gIGNsb3NlU3ViamVjdDogU3ViamVjdDxDb29raWVQcmVmZXJlbmNlcz4gPSBuZXcgU3ViamVjdCgpO1xuICB0aXRsZSA9IGdldHRleHQoJ0Nvb2tpZSBwcmVmZXJlbmNlcycpO1xuICBsYWJlbHM6IE1vZGFsTGFiZWxzID0geyBvazogZ2V0dGV4dCgnU2F2ZSBzZXR0aW5ncycpLCBjYW5jZWw6IGdldHRleHQoJ0NhbmNlbCcpIH07XG4gIHN0YXR1czogU3RhdHVzVHlwZSA9IFN0YXR1cy5JTkZPO1xuICBjb25maWdDb29raWVQcmVmZXJlbmNlczogQ29va2llUHJlZmVyZW5jZXM7XG4gIGNvbmZpZ0Nvb2tpZVByZWZlcmVuY2VzTGlzdDogQ29va2llW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb29raWVCYW5uZXJTZXJ2aWNlOiBDb29raWVCYW5uZXJTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29uZmlnQ29va2llUHJlZmVyZW5jZXNMaXN0ID0gdGhpcy5jb29raWVCYW5uZXJTZXJ2aWNlLnRyYW5zZm9ybUNvb2tpZVByZWZlcmVuY2VzVG9MaXN0KFxuICAgICAgdGhpcy5jb25maWdDb29raWVQcmVmZXJlbmNlc1xuICAgICk7XG4gIH1cblxuICBhc3luYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMubW9kYWxSZWYucmVzdWx0O1xuICAgICAgdGhpcy5vbkNsb3NlKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMub25EaXNtaXNzKCk7XG4gICAgfVxuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICBjb25zdCBjb29raWVQcmVmOiBDb29raWVQcmVmZXJlbmNlcyA9XG4gICAgICB0aGlzLmNvb2tpZUJhbm5lclNlcnZpY2UudHJhbnNmb3JtQ29va2llUHJlZmVyZW5jZXNMaXN0VG9Db29raWVQcmVmZXJlbmNlcyhcbiAgICAgICAgdGhpcy5jb25maWdDb29raWVQcmVmZXJlbmNlc0xpc3RcbiAgICAgICk7XG5cbiAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KGNvb2tpZVByZWYpO1xuICAgIHRoaXMuY2xvc2VTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cblxuICBvbkRpc21pc3MoKSB7XG4gICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCh1bmRlZmluZWQpO1xuICAgIHRoaXMuY2xvc2VTdWJqZWN0LmNvbXBsZXRlKCk7XG4gIH1cblxuICBnZXRDb29raWVEZXNjcmlwdGlvbihjb29raWVUeXBlOiAncmVxdWlyZWQnIHwgJ2Z1bmN0aW9uYWwnIHwgJ21hcmtldGluZycpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvb2tpZUJhbm5lclNlcnZpY2UuZ2V0Q29va2llRGVzY3JpcHRpb24oY29va2llVHlwZSk7XG4gIH1cbn1cbiIsIjxjOHktY29uZmlybS1tb2RhbCBbdGl0bGVdPVwidGl0bGVcIiBbc3RhdHVzXT1cInN0YXR1c1wiIFtsYWJlbHNdPVwibGFiZWxzXCIgI21vZGFsUmVmPlxuXG4gIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29uZmlnQ29va2llUHJlZmVyZW5jZXNMaXN0XCIgY2xhc3M9XCJyb3cgcC10LTggcC1iLTggc2VwYXJhdG9yLXRvcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMlwiPlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImM4eS1zd2l0Y2hcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIG5hbWU9XCJ7eyBpdGVtLm5hbWUgfX1cIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXRlbS5pc1JlYWRvbmx5XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2wteHMtMTBcIj5cbiAgICAgIDxoNCBjbGFzcz1cInRleHQtbWVkaXVtXCI+XG4gICAgICAgIHt7IGl0ZW0ubmFtZSB8IHRyYW5zbGF0ZSB8IGh1bWFuaXplIH19XG4gICAgICA8L2g0PlxuICAgICAgPHA+XG4gICAgICAgIHt7IGdldENvb2tpZURlc2NyaXB0aW9uKGl0ZW0ubmFtZSkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2M4eS1jb25maXJtLW1vZGFsPlxuIl19