UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

64 lines 14.6 kB
import { Component } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { CoreModule, gettext } from '@c8y/ngx-components'; import { ReportDashboardModule } from '@c8y/ngx-components/report-dashboard'; import { ContextDashboardService } from '@c8y/ngx-components/context-dashboard'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/ngx-components/context-dashboard"; import * as i2 from "@angular/forms"; import * as i3 from "@c8y/ngx-components"; export class CreateNewReportModalComponent { constructor(contextDashboardService) { this.contextDashboardService = contextDashboardService; this.reportName = ''; this.labels = { cancel: gettext('Cancel'), ok: gettext('Send') }; this.result = new Promise((resolve, reject) => { this._resolve = resolve; this._reject = reject; }); this.styling = { themeClass: 'dashboard-theme-light', headerClass: 'panel-title-regular' }; this.DEFAULT_DASHBOARD_ICON = 'th'; this.DEFAULT_DASHBOARD_PRIORITY = 5000; this.DEFAULT_DASHBOARD_MARGIN = 12; } async save() { const dashboard = { name: this.reportName, icon: this.DEFAULT_DASHBOARD_ICON, c8y_IsNavigatorNode: null, priority: this.DEFAULT_DASHBOARD_PRIORITY, description: '', widgetMargin: this.DEFAULT_DASHBOARD_MARGIN, classes: { [this.styling.headerClass]: true }, widgetClasses: { [this.styling.headerClass]: true } }; try { const { name, icon, c8y_IsNavigatorNode, priority, description } = dashboard; const report = (await this.contextDashboardService.createReport({ name, icon, c8y_IsNavigatorNode, priority, description })).data; await this.contextDashboardService.create(dashboard, undefined, `${this.contextDashboardService.REPORT_PARTIAL_NAME}${report.id}`); this._resolve(report); } catch (ex) { this._reject(ex); } } cancel() { this._reject(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateNewReportModalComponent, deps: [{ token: i1.ContextDashboardService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CreateNewReportModalComponent, isStandalone: true, selector: "c8y-create-new-report-modal", ngImport: i0, template: "<c8y-modal\n [title]=\"'Create new report with widget' | translate\"\n [headerClasses]=\"'dialog-header'\"\n [disabled]=\"reportName === ''\"\n (onDismiss)=\"cancel()\"\n (onClose)=\"save()\"\n [labels]=\"labels\"\n>\n <ng-container c8y-modal-title>\n <span c8yIcon=\"c8y-reports\"></span>\n </ng-container>\n\n <p class=\"text-center bg-component text-balance sticky-top p-l-24 p-r-24 p-t-8 p-b-8 separator-bottom\">\n {{' Create a new report with the Data points graph widget using the current configuration.' | translate}}\n </p>\n <div class=\"p-24 p-t-8\">\n <c8y-form-group>\n <label\n for=\"reportName\"\n translate\n >\n Report name\n </label>\n <input\n class=\"form-control\"\n id=\"reportName\"\n placeholder=\"{{ 'e.g. My data point Report' }}\"\n name=\"name\"\n type=\"text\"\n autocomplete=\"off\"\n required\n [(ngModel)]=\"reportName\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n </div>\n</c8y-modal>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i3.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "component", type: i3.ModalComponent, selector: "c8y-modal", inputs: ["disabled", "close", "dismiss", "title", "body", "customFooter", "headerClasses", "labels"], outputs: ["onDismiss", "onClose"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "component", type: i3.MessagesComponent, selector: "c8y-messages", inputs: ["show", "defaults", "helpMessage"] }, { kind: "directive", type: i3.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "ngmodule", type: ReportDashboardModule }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateNewReportModalComponent, decorators: [{ type: Component, args: [{ selector: 'c8y-create-new-report-modal', standalone: true, imports: [ReactiveFormsModule, CoreModule, ReportDashboardModule], template: "<c8y-modal\n [title]=\"'Create new report with widget' | translate\"\n [headerClasses]=\"'dialog-header'\"\n [disabled]=\"reportName === ''\"\n (onDismiss)=\"cancel()\"\n (onClose)=\"save()\"\n [labels]=\"labels\"\n>\n <ng-container c8y-modal-title>\n <span c8yIcon=\"c8y-reports\"></span>\n </ng-container>\n\n <p class=\"text-center bg-component text-balance sticky-top p-l-24 p-r-24 p-t-8 p-b-8 separator-bottom\">\n {{' Create a new report with the Data points graph widget using the current configuration.' | translate}}\n </p>\n <div class=\"p-24 p-t-8\">\n <c8y-form-group>\n <label\n for=\"reportName\"\n translate\n >\n Report name\n </label>\n <input\n class=\"form-control\"\n id=\"reportName\"\n placeholder=\"{{ 'e.g. My data point Report' }}\"\n name=\"name\"\n type=\"text\"\n autocomplete=\"off\"\n required\n [(ngModel)]=\"reportName\"\n />\n <c8y-messages></c8y-messages>\n </c8y-form-group>\n </div>\n</c8y-modal>\n" }] }], ctorParameters: () => [{ type: i1.ContextDashboardService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW5ldy1yZXBvcnQtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZGF0YXBvaW50LWV4cGxvcmVyL3ZpZXcvY3JlYXRlLW5ldy1yZXBvcnQtbW9kYWwvY3JlYXRlLW5ldy1yZXBvcnQtbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vZGF0YXBvaW50LWV4cGxvcmVyL3ZpZXcvY3JlYXRlLW5ldy1yZXBvcnQtbW9kYWwvY3JlYXRlLW5ldy1yZXBvcnQtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBZSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQVNoRixNQUFNLE9BQU8sNkJBQTZCO0lBbUJ4QyxZQUFvQix1QkFBZ0Q7UUFBaEQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQWxCcEUsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixXQUFNLEdBQWdCLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFFekUsV0FBTSxHQUFHLElBQUksT0FBTyxDQUFpQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztZQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztRQUVILFlBQU8sR0FBRztZQUNSLFVBQVUsRUFBRSx1QkFBdUI7WUFDbkMsV0FBVyxFQUFFLHFCQUFxQjtTQUNuQyxDQUFDO1FBRU8sMkJBQXNCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLCtCQUEwQixHQUFHLElBQUksQ0FBQztRQUNsQyw2QkFBd0IsR0FBRyxFQUFFLENBQUM7SUFHZ0MsQ0FBQztJQUV4RSxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sU0FBUyxHQUFHO1lBQ2hCLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVTtZQUNyQixJQUFJLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtZQUNqQyxtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsMEJBQTBCO1lBQ3pDLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLElBQUksQ0FBQyx3QkFBd0I7WUFDM0MsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRTtZQUM3QyxhQUFhLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFO1NBQ3BELENBQUM7UUFDRixJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsU0FBUyxDQUFDO1lBQzdFLE1BQU0sTUFBTSxHQUFHLENBQ2IsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDO2dCQUM5QyxJQUFJO2dCQUNKLElBQUk7Z0JBQ0osbUJBQW1CO2dCQUNuQixRQUFRO2dCQUNSLFdBQVc7YUFDZSxDQUFDLENBQzlCLENBQUMsSUFBSSxDQUFDO1lBRVAsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUN2QyxTQUFTLEVBQ1QsU0FBUyxFQUNULEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FDbEUsQ0FBQztZQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsQ0FBQztRQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQixDQUFDOytHQTFEVSw2QkFBNkI7bUdBQTdCLDZCQUE2Qix1RkNiMUMsNGlDQXFDQSwyQ0QxQlksbUJBQW1CLG1uQkFBRSxVQUFVLCtrQ0FBRSxxQkFBcUI7OzRGQUVyRCw2QkFBNkI7a0JBTnpDLFNBQVM7K0JBQ0UsNkJBQTZCLGNBRTNCLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvcmVNb2R1bGUsIGdldHRleHQsIE1vZGFsTGFiZWxzIH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBSZXBvcnREYXNoYm9hcmRNb2R1bGUgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL3JlcG9ydC1kYXNoYm9hcmQnO1xuaW1wb3J0IHsgQ29udGV4dERhc2hib2FyZFNlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2NvbnRleHQtZGFzaGJvYXJkJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktY3JlYXRlLW5ldy1yZXBvcnQtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLW5ldy1yZXBvcnQtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgQ29yZU1vZHVsZSwgUmVwb3J0RGFzaGJvYXJkTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBDcmVhdGVOZXdSZXBvcnRNb2RhbENvbXBvbmVudCB7XG4gIHJlcG9ydE5hbWUgPSAnJztcbiAgbGFiZWxzOiBNb2RhbExhYmVscyA9IHsgY2FuY2VsOiBnZXR0ZXh0KCdDYW5jZWwnKSwgb2s6IGdldHRleHQoJ1NlbmQnKSB9O1xuXG4gIHJlc3VsdCA9IG5ldyBQcm9taXNlPElNYW5hZ2VkT2JqZWN0PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgdGhpcy5fcmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgdGhpcy5fcmVqZWN0ID0gcmVqZWN0O1xuICB9KTtcblxuICBzdHlsaW5nID0ge1xuICAgIHRoZW1lQ2xhc3M6ICdkYXNoYm9hcmQtdGhlbWUtbGlnaHQnLFxuICAgIGhlYWRlckNsYXNzOiAncGFuZWwtdGl0bGUtcmVndWxhcidcbiAgfTtcblxuICByZWFkb25seSBERUZBVUxUX0RBU0hCT0FSRF9JQ09OID0gJ3RoJztcbiAgcmVhZG9ubHkgREVGQVVMVF9EQVNIQk9BUkRfUFJJT1JJVFkgPSA1MDAwO1xuICByZWFkb25seSBERUZBVUxUX0RBU0hCT0FSRF9NQVJHSU4gPSAxMjtcbiAgcHJpdmF0ZSBfcmVzb2x2ZTogKHZhbHVlOiBJTWFuYWdlZE9iamVjdCkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRleHREYXNoYm9hcmRTZXJ2aWNlOiBDb250ZXh0RGFzaGJvYXJkU2VydmljZSkge31cblxuICBhc3luYyBzYXZlKCkge1xuICAgIGNvbnN0IGRhc2hib2FyZCA9IHtcbiAgICAgIG5hbWU6IHRoaXMucmVwb3J0TmFtZSxcbiAgICAgIGljb246IHRoaXMuREVGQVVMVF9EQVNIQk9BUkRfSUNPTixcbiAgICAgIGM4eV9Jc05hdmlnYXRvck5vZGU6IG51bGwsXG4gICAgICBwcmlvcml0eTogdGhpcy5ERUZBVUxUX0RBU0hCT0FSRF9QUklPUklUWSxcbiAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgIHdpZGdldE1hcmdpbjogdGhpcy5ERUZBVUxUX0RBU0hCT0FSRF9NQVJHSU4sXG4gICAgICBjbGFzc2VzOiB7IFt0aGlzLnN0eWxpbmcuaGVhZGVyQ2xhc3NdOiB0cnVlIH0sXG4gICAgICB3aWRnZXRDbGFzc2VzOiB7IFt0aGlzLnN0eWxpbmcuaGVhZGVyQ2xhc3NdOiB0cnVlIH1cbiAgICB9O1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IG5hbWUsIGljb24sIGM4eV9Jc05hdmlnYXRvck5vZGUsIHByaW9yaXR5LCBkZXNjcmlwdGlvbiB9ID0gZGFzaGJvYXJkO1xuICAgICAgY29uc3QgcmVwb3J0ID0gKFxuICAgICAgICBhd2FpdCB0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLmNyZWF0ZVJlcG9ydCh7XG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBpY29uLFxuICAgICAgICAgIGM4eV9Jc05hdmlnYXRvck5vZGUsXG4gICAgICAgICAgcHJpb3JpdHksXG4gICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgfSBhcyBQYXJ0aWFsPElNYW5hZ2VkT2JqZWN0PilcbiAgICAgICkuZGF0YTtcblxuICAgICAgYXdhaXQgdGhpcy5jb250ZXh0RGFzaGJvYXJkU2VydmljZS5jcmVhdGUoXG4gICAgICAgIGRhc2hib2FyZCxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICBgJHt0aGlzLmNvbnRleHREYXNoYm9hcmRTZXJ2aWNlLlJFUE9SVF9QQVJUSUFMX05BTUV9JHtyZXBvcnQuaWR9YFxuICAgICAgKTtcblxuICAgICAgdGhpcy5fcmVzb2x2ZShyZXBvcnQpO1xuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICB0aGlzLl9yZWplY3QoZXgpO1xuICAgIH1cbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLl9yZWplY3QoKTtcbiAgfVxufVxuIiwiPGM4eS1tb2RhbFxuICBbdGl0bGVdPVwiJ0NyZWF0ZSBuZXcgcmVwb3J0IHdpdGggd2lkZ2V0JyB8IHRyYW5zbGF0ZVwiXG4gIFtoZWFkZXJDbGFzc2VzXT1cIidkaWFsb2ctaGVhZGVyJ1wiXG4gIFtkaXNhYmxlZF09XCJyZXBvcnROYW1lID09PSAnJ1wiXG4gIChvbkRpc21pc3MpPVwiY2FuY2VsKClcIlxuICAob25DbG9zZSk9XCJzYXZlKClcIlxuICBbbGFiZWxzXT1cImxhYmVsc1wiXG4+XG4gIDxuZy1jb250YWluZXIgYzh5LW1vZGFsLXRpdGxlPlxuICAgIDxzcGFuIGM4eUljb249XCJjOHktcmVwb3J0c1wiPjwvc3Bhbj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPHAgY2xhc3M9XCJ0ZXh0LWNlbnRlciBiZy1jb21wb25lbnQgdGV4dC1iYWxhbmNlIHN0aWNreS10b3AgcC1sLTI0IHAtci0yNCBwLXQtOCBwLWItOCBzZXBhcmF0b3ItYm90dG9tXCI+XG4gICB7eycgQ3JlYXRlIGEgbmV3IHJlcG9ydCB3aXRoIHRoZSBEYXRhIHBvaW50cyBncmFwaCB3aWRnZXQgdXNpbmcgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbi4nIHwgdHJhbnNsYXRlfX1cbiAgPC9wPlxuICA8ZGl2IGNsYXNzPVwicC0yNCBwLXQtOFwiPlxuICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgIDxsYWJlbFxuICAgICAgICBmb3I9XCJyZXBvcnROYW1lXCJcbiAgICAgICAgdHJhbnNsYXRlXG4gICAgICAgID5cbiAgICAgICAgUmVwb3J0IG5hbWVcbiAgICAgIDwvbGFiZWw+XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICBpZD1cInJlcG9ydE5hbWVcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdlLmcuIE15IGRhdGEgcG9pbnQgUmVwb3J0JyB9fVwiXG4gICAgICAgIG5hbWU9XCJuYW1lXCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICByZXF1aXJlZFxuICAgICAgICBbKG5nTW9kZWwpXT1cInJlcG9ydE5hbWVcIlxuICAgICAgLz5cbiAgICAgIDxjOHktbWVzc2FnZXM+PC9jOHktbWVzc2FnZXM+XG4gICAgPC9jOHktZm9ybS1ncm91cD5cbiAgPC9kaXY+XG48L2M4eS1tb2RhbD5cbiJdfQ==