@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
39 lines • 15.2 kB
JavaScript
import { Component } from '@angular/core';
import { TenantOptionsService } from '@c8y/client';
import { AlertService, gettext, OptionsService } from '@c8y/ngx-components';
import * as i0 from "@angular/core";
import * as i1 from "@c8y/ngx-components";
import * as i2 from "@c8y/client";
import * as i3 from "@angular/common";
import * as i4 from "@angular/forms";
import * as i5 from "ngx-bootstrap/dropdown";
export class CrlCheckSettingsComponent {
constructor(optionsService, tenantOptionsService, alertService) {
this.optionsService = optionsService;
this.tenantOptionsService = tenantOptionsService;
this.alertService = alertService;
this.crlCheck = { online: false, offline: false };
}
async ngOnInit() {
this.crlCheck = {
offline: (await this.optionsService.getTenantOption('configuration', 'crl.offline.check.enabled', false)),
online: (await this.optionsService.getTenantOption('configuration', 'crl.online.check.enabled', false))
};
}
async updateTenantOption(tenantOption) {
try {
await this.tenantOptionsService.update(tenantOption);
this.alertService.success(gettext('CRL check configuration saved.'));
}
catch (er) {
this.alertService.addServerFailure(er);
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CrlCheckSettingsComponent, deps: [{ token: i1.OptionsService }, { token: i2.TenantOptionsService }, { token: i1.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CrlCheckSettingsComponent, selector: "c8y-crl-check-settings", ngImport: i0, template: "<c8y-action-bar-item [placement]=\"'right'\">\n <div\n class=\"dropdown\"\n dropdown\n [insideClick]=\"true\"\n >\n <button\n class=\"dropdown-toggle c8y-dropdown d-flex a-i-center\"\n title=\"{{ 'CRL check' | translate }}\"\n aria-haspopup=\"true\"\n type=\"button\"\n dropdownToggle\n >\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'check-document'\"\n ></i>\n <span\n class=\"text-truncate\"\n translate\n >\n CRL check\n </span>\n <i\n class=\"m-l-4 text-primary\"\n [c8yIcon]=\"'caret-down'\"\n ></i>\n </button>\n <ul\n class=\"dropdown-menu dropdown-menu-right hidden-xs\"\n data-cy=\"register-device--dropdown\"\n *dropdownMenu\n >\n <ng-container *ngTemplateOutlet=\"dropdown\"></ng-container>\n </ul>\n\n <ul class=\"dropdown-menu dropdown-menu-right visible-xs\">\n <ng-container *ngTemplateOutlet=\"dropdown\"></ng-container>\n </ul>\n\n <ng-template #dropdown>\n <li>\n <label\n class=\"c8y-checkbox d-flex a-i-center\"\n title=\"{{ 'Online`type of checking`' | translate }}\"\n >\n <input\n type=\"checkbox\"\n [(ngModel)]=\"crlCheck.online\"\n (ngModelChange)=\"\n updateTenantOption({\n category: 'configuration',\n key: 'crl.online.check.enabled',\n value: $event\n })\n \"\n />\n <span class=\"m-r-4\"></span>\n {{ 'Online`type of checking`' | translate }}\n </label>\n </li>\n <li>\n <label\n class=\"c8y-checkbox d-flex a-i-center\"\n title=\"{{ 'Offline`type of checking`' | translate }}\"\n >\n <input\n type=\"checkbox\"\n [(ngModel)]=\"crlCheck.offline\"\n (ngModelChange)=\"\n updateTenantOption({\n category: 'configuration',\n key: 'crl.offline.check.enabled',\n value: $event\n })\n \"\n />\n <span class=\"m-r-4\"></span>\n {{ 'Offline`type of checking`' | translate }}\n </label>\n </li>\n </ng-template>\n </div>\n</c8y-action-bar-item>\n", dependencies: [{ kind: "component", type: i1.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i1.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i5.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i5.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "pipe", type: i1.C8yTranslatePipe, name: "translate" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CrlCheckSettingsComponent, decorators: [{
type: Component,
args: [{ selector: 'c8y-crl-check-settings', template: "<c8y-action-bar-item [placement]=\"'right'\">\n <div\n class=\"dropdown\"\n dropdown\n [insideClick]=\"true\"\n >\n <button\n class=\"dropdown-toggle c8y-dropdown d-flex a-i-center\"\n title=\"{{ 'CRL check' | translate }}\"\n aria-haspopup=\"true\"\n type=\"button\"\n dropdownToggle\n >\n <i\n class=\"m-r-4\"\n [c8yIcon]=\"'check-document'\"\n ></i>\n <span\n class=\"text-truncate\"\n translate\n >\n CRL check\n </span>\n <i\n class=\"m-l-4 text-primary\"\n [c8yIcon]=\"'caret-down'\"\n ></i>\n </button>\n <ul\n class=\"dropdown-menu dropdown-menu-right hidden-xs\"\n data-cy=\"register-device--dropdown\"\n *dropdownMenu\n >\n <ng-container *ngTemplateOutlet=\"dropdown\"></ng-container>\n </ul>\n\n <ul class=\"dropdown-menu dropdown-menu-right visible-xs\">\n <ng-container *ngTemplateOutlet=\"dropdown\"></ng-container>\n </ul>\n\n <ng-template #dropdown>\n <li>\n <label\n class=\"c8y-checkbox d-flex a-i-center\"\n title=\"{{ 'Online`type of checking`' | translate }}\"\n >\n <input\n type=\"checkbox\"\n [(ngModel)]=\"crlCheck.online\"\n (ngModelChange)=\"\n updateTenantOption({\n category: 'configuration',\n key: 'crl.online.check.enabled',\n value: $event\n })\n \"\n />\n <span class=\"m-r-4\"></span>\n {{ 'Online`type of checking`' | translate }}\n </label>\n </li>\n <li>\n <label\n class=\"c8y-checkbox d-flex a-i-center\"\n title=\"{{ 'Offline`type of checking`' | translate }}\"\n >\n <input\n type=\"checkbox\"\n [(ngModel)]=\"crlCheck.offline\"\n (ngModelChange)=\"\n updateTenantOption({\n category: 'configuration',\n key: 'crl.offline.check.enabled',\n value: $event\n })\n \"\n />\n <span class=\"m-r-4\"></span>\n {{ 'Offline`type of checking`' | translate }}\n </label>\n </li>\n </ng-template>\n </div>\n</c8y-action-bar-item>\n" }]
}], ctorParameters: () => [{ type: i1.OptionsService }, { type: i2.TenantOptionsService }, { type: i1.AlertService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JsLWNoZWNrLXNldHRpbmdzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RydXN0ZWQtY2VydGlmaWNhdGVzL2NybC9jcmwtY2hlY2stc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vdHJ1c3RlZC1jZXJ0aWZpY2F0ZXMvY3JsL2NybC1jaGVjay1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBaUIsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFNNUUsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUNVLGNBQThCLEVBQzlCLG9CQUEwQyxFQUMxQyxZQUEwQjtRQUYxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUxwQyxhQUFRLEdBQTBDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFNakYsQ0FBQztJQUVKLEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLE9BQU8sRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQ2pELGVBQWUsRUFDZiwyQkFBMkIsRUFDM0IsS0FBSyxDQUNOLENBQVk7WUFDYixNQUFNLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUNoRCxlQUFlLEVBQ2YsMEJBQTBCLEVBQzFCLEtBQUssQ0FDTixDQUFZO1NBQ2QsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsWUFBMkI7UUFDbEQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDOytHQS9CVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qiw4RENSdEMsbXlFQW9GQTs7NEZENUVhLHlCQUF5QjtrQkFKckMsU0FBUzsrQkFDRSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVRlbmFudE9wdGlvbiwgVGVuYW50T3B0aW9uc1NlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIGdldHRleHQsIE9wdGlvbnNTZXJ2aWNlIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1jcmwtY2hlY2stc2V0dGluZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JsLWNoZWNrLXNldHRpbmdzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDcmxDaGVja1NldHRpbmdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY3JsQ2hlY2s6IHsgb25saW5lOiBib29sZWFuOyBvZmZsaW5lOiBib29sZWFuIH0gPSB7IG9ubGluZTogZmFsc2UsIG9mZmxpbmU6IGZhbHNlIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBvcHRpb25zU2VydmljZTogT3B0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZW5hbnRPcHRpb25zU2VydmljZTogVGVuYW50T3B0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jcmxDaGVjayA9IHtcbiAgICAgIG9mZmxpbmU6IChhd2FpdCB0aGlzLm9wdGlvbnNTZXJ2aWNlLmdldFRlbmFudE9wdGlvbjxib29sZWFuPihcbiAgICAgICAgJ2NvbmZpZ3VyYXRpb24nLFxuICAgICAgICAnY3JsLm9mZmxpbmUuY2hlY2suZW5hYmxlZCcsXG4gICAgICAgIGZhbHNlXG4gICAgICApKSBhcyBib29sZWFuLFxuICAgICAgb25saW5lOiAoYXdhaXQgdGhpcy5vcHRpb25zU2VydmljZS5nZXRUZW5hbnRPcHRpb248Ym9vbGVhbj4oXG4gICAgICAgICdjb25maWd1cmF0aW9uJyxcbiAgICAgICAgJ2NybC5vbmxpbmUuY2hlY2suZW5hYmxlZCcsXG4gICAgICAgIGZhbHNlXG4gICAgICApKSBhcyBib29sZWFuXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVRlbmFudE9wdGlvbih0ZW5hbnRPcHRpb246IElUZW5hbnRPcHRpb24pIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy50ZW5hbnRPcHRpb25zU2VydmljZS51cGRhdGUodGVuYW50T3B0aW9uKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoZ2V0dGV4dCgnQ1JMIGNoZWNrIGNvbmZpZ3VyYXRpb24gc2F2ZWQuJykpO1xuICAgIH0gY2F0Y2ggKGVyKSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRTZXJ2ZXJGYWlsdXJlKGVyKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxjOHktYWN0aW9uLWJhci1pdGVtIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkcm9wZG93blwiXG4gICAgZHJvcGRvd25cbiAgICBbaW5zaWRlQ2xpY2tdPVwidHJ1ZVwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZSBjOHktZHJvcGRvd24gZC1mbGV4IGEtaS1jZW50ZXJcIlxuICAgICAgdGl0bGU9XCJ7eyAnQ1JMIGNoZWNrJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGRyb3Bkb3duVG9nZ2xlXG4gICAgPlxuICAgICAgPGlcbiAgICAgICAgY2xhc3M9XCJtLXItNFwiXG4gICAgICAgIFtjOHlJY29uXT1cIidjaGVjay1kb2N1bWVudCdcIlxuICAgICAgPjwvaT5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiXG4gICAgICAgIHRyYW5zbGF0ZVxuICAgICAgPlxuICAgICAgICBDUkwgY2hlY2tcbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxpXG4gICAgICAgIGNsYXNzPVwibS1sLTQgdGV4dC1wcmltYXJ5XCJcbiAgICAgICAgW2M4eUljb25dPVwiJ2NhcmV0LWRvd24nXCJcbiAgICAgID48L2k+XG4gICAgPC9idXR0b24+XG4gICAgPHVsXG4gICAgICBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1yaWdodCBoaWRkZW4teHNcIlxuICAgICAgZGF0YS1jeT1cInJlZ2lzdGVyLWRldmljZS0tZHJvcGRvd25cIlxuICAgICAgKmRyb3Bkb3duTWVudVxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkcm9wZG93blwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG5cbiAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtcmlnaHQgdmlzaWJsZS14c1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRyb3Bkb3duXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC91bD5cblxuICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd24+XG4gICAgICA8bGk+XG4gICAgICAgIDxsYWJlbFxuICAgICAgICAgIGNsYXNzPVwiYzh5LWNoZWNrYm94IGQtZmxleCBhLWktY2VudGVyXCJcbiAgICAgICAgICB0aXRsZT1cInt7ICdPbmxpbmVgdHlwZSBvZiBjaGVja2luZ2AnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3JsQ2hlY2sub25saW5lXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIlxuICAgICAgICAgICAgICB1cGRhdGVUZW5hbnRPcHRpb24oe1xuICAgICAgICAgICAgICAgIGNhdGVnb3J5OiAnY29uZmlndXJhdGlvbicsXG4gICAgICAgICAgICAgICAga2V5OiAnY3JsLm9ubGluZS5jaGVjay5lbmFibGVkJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJGV2ZW50XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtLXItNFwiPjwvc3Bhbj5cbiAgICAgICAgICB7eyAnT25saW5lYHR5cGUgb2YgY2hlY2tpbmdgJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9saT5cbiAgICAgIDxsaT5cbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgY2xhc3M9XCJjOHktY2hlY2tib3ggZC1mbGV4IGEtaS1jZW50ZXJcIlxuICAgICAgICAgIHRpdGxlPVwie3sgJ09mZmxpbmVgdHlwZSBvZiBjaGVja2luZ2AnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY3JsQ2hlY2sub2ZmbGluZVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJcbiAgICAgICAgICAgICAgdXBkYXRlVGVuYW50T3B0aW9uKHtcbiAgICAgICAgICAgICAgICBjYXRlZ29yeTogJ2NvbmZpZ3VyYXRpb24nLFxuICAgICAgICAgICAgICAgIGtleTogJ2NybC5vZmZsaW5lLmNoZWNrLmVuYWJsZWQnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAkZXZlbnRcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tci00XCI+PC9zcGFuPlxuICAgICAgICAgIHt7ICdPZmZsaW5lYHR5cGUgb2YgY2hlY2tpbmdgJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgPC9saT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvYzh5LWFjdGlvbi1iYXItaXRlbT5cbiJdfQ==