UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

41 lines 12.3 kB
import { Component } from '@angular/core'; import { C8yJSONSchema, gettext } from '@c8y/ngx-components'; import { ExtensibleDeviceRegistrationService } from './extensible-device-registration.service'; import { BsModalRef } from 'ngx-bootstrap/modal'; import * as i0 from "@angular/core"; import * as i1 from "ngx-bootstrap/modal"; import * as i2 from "@c8y/ngx-components"; import * as i3 from "./extensible-device-registration.service"; import * as i4 from "@angular/common"; import * as i5 from "./extensible-device-registration-stepper.component"; export class ExtensibleDeviceRegistrationModalComponent { constructor(bsModalRef, jsonschema, registrationService) { this.bsModalRef = bsModalRef; this.jsonschema = jsonschema; this.registrationService = registrationService; this.labels = []; } async ngOnInit() { const { title, pages } = await this.registrationService .getSchema(this.contextPath) .catch(error => { this.loadingErrorMessage = error?.message || gettext('Cannot fetch a form definition from the microservice.'); return { title: gettext('Error') }; }); this.title = title; this.pages = pages?.map((step) => { this.labels.push(step.title); return [this.jsonschema.toFieldConfig(step)]; }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExtensibleDeviceRegistrationModalComponent, deps: [{ token: i1.BsModalRef }, { token: i2.C8yJSONSchema }, { token: i3.ExtensibleDeviceRegistrationService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ExtensibleDeviceRegistrationModalComponent, selector: "extensible-device-registration-modal", ngImport: i0, template: "<c8y-modal\n [title]=\"title | translate\"\n [headerClasses]=\"'dialog-header'\"\n [customFooter]=\"true\"\n>\n <ng-container c8y-modal-title>\n <span class=\"c8y-icon c8y-icon-device-connect\"></span>\n </ng-container>\n <ng-container *ngIf=\"pages as steps; else loadingOrError\">\n <c8y-extensible-device-registration-stepper\n c8y-modal-body\n [steps]=\"steps\"\n [labels]=\"labels\"\n [contextPath]=\"contextPath\"\n ></c8y-extensible-device-registration-stepper>\n </ng-container>\n <ng-template #loadingOrError>\n <ng-container *ngIf=\"loadingErrorMessage; else loading\">\n <c8y-operation-result\n class=\"lead text-regular\"\n type=\"error\"\n text=\"{{ loadingErrorMessage | translate }}\"\n [size]=\"84\"\n [vertical]=\"true\"\n data-cy=\"error\"\n ></c8y-operation-result>\n <div class=\"modal-footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Close' | translate }}\"\n type=\"button\"\n (click)=\"bsModalRef.hide()\"\n >\n {{ 'Close' | translate }}\n </button>\n </div>\n </ng-container>\n <ng-template #loading>\n <div class=\"modal-header modal-header-info text-center\">\n <c8y-loading\n class=\"text-center\"\n layout=\"application\"\n [message]=\"'Loading the registration form definition\u2026' | translate\"\n ></c8y-loading>\n </div>\n </ng-template>\n </ng-template>\n</c8y-modal>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i2.OperationResultComponent, selector: "c8y-operation-result", inputs: ["text", "vertical", "size", "type"] }, { kind: "component", type: i2.ModalComponent, selector: "c8y-modal", inputs: ["disabled", "close", "dismiss", "title", "body", "customFooter", "headerClasses", "labels"], outputs: ["onDismiss", "onClose"] }, { kind: "component", type: i5.ExtensibleDeviceRegistrationStepperComponent, selector: "c8y-extensible-device-registration-stepper", inputs: ["contextPath", "labels", "steps"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ExtensibleDeviceRegistrationModalComponent, decorators: [{ type: Component, args: [{ selector: 'extensible-device-registration-modal', template: "<c8y-modal\n [title]=\"title | translate\"\n [headerClasses]=\"'dialog-header'\"\n [customFooter]=\"true\"\n>\n <ng-container c8y-modal-title>\n <span class=\"c8y-icon c8y-icon-device-connect\"></span>\n </ng-container>\n <ng-container *ngIf=\"pages as steps; else loadingOrError\">\n <c8y-extensible-device-registration-stepper\n c8y-modal-body\n [steps]=\"steps\"\n [labels]=\"labels\"\n [contextPath]=\"contextPath\"\n ></c8y-extensible-device-registration-stepper>\n </ng-container>\n <ng-template #loadingOrError>\n <ng-container *ngIf=\"loadingErrorMessage; else loading\">\n <c8y-operation-result\n class=\"lead text-regular\"\n type=\"error\"\n text=\"{{ loadingErrorMessage | translate }}\"\n [size]=\"84\"\n [vertical]=\"true\"\n data-cy=\"error\"\n ></c8y-operation-result>\n <div class=\"modal-footer\">\n <button\n class=\"btn btn-default\"\n title=\"{{ 'Close' | translate }}\"\n type=\"button\"\n (click)=\"bsModalRef.hide()\"\n >\n {{ 'Close' | translate }}\n </button>\n </div>\n </ng-container>\n <ng-template #loading>\n <div class=\"modal-header modal-header-info text-center\">\n <c8y-loading\n class=\"text-center\"\n layout=\"application\"\n [message]=\"'Loading the registration form definition\u2026' | translate\"\n ></c8y-loading>\n </div>\n </ng-template>\n </ng-template>\n</c8y-modal>\n" }] }], ctorParameters: () => [{ type: i1.BsModalRef }, { type: i2.C8yJSONSchema }, { type: i3.ExtensibleDeviceRegistrationService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaWJsZS1kZXZpY2UtcmVnaXN0cmF0aW9uLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3JlZ2lzdGVyLWRldmljZS9leHRlbnNpYmxlL3NpbmdsZS9leHRlbnNpYmxlLWRldmljZS1yZWdpc3RyYXRpb24tbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcmVnaXN0ZXItZGV2aWNlL2V4dGVuc2libGUvc2luZ2xlL2V4dGVuc2libGUtZGV2aWNlLXJlZ2lzdHJhdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFJL0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBTWpELE1BQU0sT0FBTywwQ0FBMEM7SUFPckQsWUFDUyxVQUFzQixFQUNyQixVQUF5QixFQUN6QixtQkFBd0Q7UUFGekQsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFlO1FBQ3pCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUM7UUFObEUsV0FBTSxHQUFhLEVBQUUsQ0FBQztJQU9uQixDQUFDO0lBRUosS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUF1QyxNQUFNLElBQUksQ0FBQyxtQkFBbUI7YUFDeEYsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDM0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2IsSUFBSSxDQUFDLG1CQUFtQjtnQkFDdEIsS0FBSyxFQUFFLE9BQU8sSUFBSSxPQUFPLENBQUMsdURBQXVELENBQUMsQ0FBQztZQUNyRixPQUFPO2dCQUNMLEtBQUssRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO2FBQ3hCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQWlCLEVBQUUsRUFBRTtZQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBc0IsQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E1QlUsMENBQTBDO21HQUExQywwQ0FBMEMsNEVDWnZELDJnREFnREE7OzRGRHBDYSwwQ0FBMEM7a0JBSnRELFNBQVM7K0JBQ0Usc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEM4eUpTT05TY2hlbWEsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IEV4dGVuc2libGVEZXZpY2VSZWdpc3RyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9leHRlbnNpYmxlLWRldmljZS1yZWdpc3RyYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlbnNpYmxlRGV2aWNlUmVnaXN0cmF0aW9uU2NoZW1hIH0gZnJvbSAnLi9leHRlbnNpYmxlLWRldmljZS1yZWdpc3RyYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgSlNPTlNjaGVtYTcgfSBmcm9tICdqc29uLXNjaGVtYSc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdleHRlbnNpYmxlLWRldmljZS1yZWdpc3RyYXRpb24tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJ2V4dGVuc2libGUtZGV2aWNlLXJlZ2lzdHJhdGlvbi1tb2RhbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRXh0ZW5zaWJsZURldmljZVJlZ2lzdHJhdGlvbk1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgbG9hZGluZ0Vycm9yTWVzc2FnZTogc3RyaW5nO1xuICBwYWdlczogRm9ybWx5RmllbGRDb25maWdbXVtdO1xuICBsYWJlbHM6IHN0cmluZ1tdID0gW107XG4gIGNvbnRleHRQYXRoOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGJzTW9kYWxSZWY6IEJzTW9kYWxSZWYsXG4gICAgcHJpdmF0ZSBqc29uc2NoZW1hOiBDOHlKU09OU2NoZW1hLFxuICAgIHByaXZhdGUgcmVnaXN0cmF0aW9uU2VydmljZTogRXh0ZW5zaWJsZURldmljZVJlZ2lzdHJhdGlvblNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHsgdGl0bGUsIHBhZ2VzIH06IEV4dGVuc2libGVEZXZpY2VSZWdpc3RyYXRpb25TY2hlbWEgPSBhd2FpdCB0aGlzLnJlZ2lzdHJhdGlvblNlcnZpY2VcbiAgICAgIC5nZXRTY2hlbWEodGhpcy5jb250ZXh0UGF0aClcbiAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZ0Vycm9yTWVzc2FnZSA9XG4gICAgICAgICAgZXJyb3I/Lm1lc3NhZ2UgfHwgZ2V0dGV4dCgnQ2Fubm90IGZldGNoIGEgZm9ybSBkZWZpbml0aW9uIGZyb20gdGhlIG1pY3Jvc2VydmljZS4nKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0aXRsZTogZ2V0dGV4dCgnRXJyb3InKVxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgdGhpcy50aXRsZSA9IHRpdGxlO1xuICAgIHRoaXMucGFnZXMgPSBwYWdlcz8ubWFwKChzdGVwOiBKU09OU2NoZW1hNykgPT4ge1xuICAgICAgdGhpcy5sYWJlbHMucHVzaChzdGVwLnRpdGxlKTtcbiAgICAgIHJldHVybiBbdGhpcy5qc29uc2NoZW1hLnRvRmllbGRDb25maWcoc3RlcCkgYXMgRm9ybWx5RmllbGRDb25maWddO1xuICAgIH0pO1xuICB9XG59XG4iLCI8Yzh5LW1vZGFsXG4gIFt0aXRsZV09XCJ0aXRsZSB8IHRyYW5zbGF0ZVwiXG4gIFtoZWFkZXJDbGFzc2VzXT1cIidkaWFsb2ctaGVhZGVyJ1wiXG4gIFtjdXN0b21Gb290ZXJdPVwidHJ1ZVwiXG4+XG4gIDxuZy1jb250YWluZXIgYzh5LW1vZGFsLXRpdGxlPlxuICAgIDxzcGFuIGNsYXNzPVwiYzh5LWljb24gYzh5LWljb24tZGV2aWNlLWNvbm5lY3RcIj48L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicGFnZXMgYXMgc3RlcHM7IGVsc2UgbG9hZGluZ09yRXJyb3JcIj5cbiAgICA8Yzh5LWV4dGVuc2libGUtZGV2aWNlLXJlZ2lzdHJhdGlvbi1zdGVwcGVyXG4gICAgICBjOHktbW9kYWwtYm9keVxuICAgICAgW3N0ZXBzXT1cInN0ZXBzXCJcbiAgICAgIFtsYWJlbHNdPVwibGFiZWxzXCJcbiAgICAgIFtjb250ZXh0UGF0aF09XCJjb250ZXh0UGF0aFwiXG4gICAgPjwvYzh5LWV4dGVuc2libGUtZGV2aWNlLXJlZ2lzdHJhdGlvbi1zdGVwcGVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNsb2FkaW5nT3JFcnJvcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZ0Vycm9yTWVzc2FnZTsgZWxzZSBsb2FkaW5nXCI+XG4gICAgICA8Yzh5LW9wZXJhdGlvbi1yZXN1bHRcbiAgICAgICAgY2xhc3M9XCJsZWFkIHRleHQtcmVndWxhclwiXG4gICAgICAgIHR5cGU9XCJlcnJvclwiXG4gICAgICAgIHRleHQ9XCJ7eyBsb2FkaW5nRXJyb3JNZXNzYWdlIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgW3NpemVdPVwiODRcIlxuICAgICAgICBbdmVydGljYWxdPVwidHJ1ZVwiXG4gICAgICAgIGRhdGEtY3k9XCJlcnJvclwiXG4gICAgICA+PC9jOHktb3BlcmF0aW9uLXJlc3VsdD5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgICAgICB0aXRsZT1cInt7ICdDbG9zZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIChjbGljayk9XCJic01vZGFsUmVmLmhpZGUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyAnQ2xvc2UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBtb2RhbC1oZWFkZXItaW5mbyB0ZXh0LWNlbnRlclwiPlxuICAgICAgICA8Yzh5LWxvYWRpbmdcbiAgICAgICAgICBjbGFzcz1cInRleHQtY2VudGVyXCJcbiAgICAgICAgICBsYXlvdXQ9XCJhcHBsaWNhdGlvblwiXG4gICAgICAgICAgW21lc3NhZ2VdPVwiJ0xvYWRpbmcgdGhlIHJlZ2lzdHJhdGlvbiBmb3JtIGRlZmluaXRpb27igKYnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPjwvYzh5LWxvYWRpbmc+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuPC9jOHktbW9kYWw+XG4iXX0=