UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

50 lines 9.95 kB
import { Component, Input } from '@angular/core'; import { BsModalRef } from 'ngx-bootstrap/modal'; import { MultipleLnsConnectorService } from './multiple-lns-connector.service'; import { saveAs } from 'file-saver'; import { AlertService, gettext } from '@c8y/ngx-components'; import { TranslateService } from '@ngx-translate/core'; import * as i0 from "@angular/core"; import * as i1 from "ngx-bootstrap/modal"; import * as i2 from "./multiple-lns-connector.service"; import * as i3 from "@c8y/ngx-components"; import * as i4 from "@ngx-translate/core"; export class ConnectionInfoWithDownloadCsvComponent { constructor(modal, connectorService, alertService, translateService) { this.modal = modal; this.connectorService = connectorService; this.alertService = alertService; this.translateService = translateService; } dismiss() { this.modal.hide(); } async download() { const url = `/service/${this.appData.contextPath}${this.messageData.attrs.URL}`; const res = await this.connectorService.download(url); if (res && res.status === 200) { const streamData = await res.blob(); saveAs(streamData, this.translateService.instant(gettext('{{ connectionName }} - devices.csv'), { connectionName: this.connectionName })); } else { this.alertService.danger(gettext('A server error occurred.')); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConnectionInfoWithDownloadCsvComponent, deps: [{ token: i1.BsModalRef }, { token: i2.MultipleLnsConnectorService }, { token: i3.AlertService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConnectionInfoWithDownloadCsvComponent, selector: "connection-info-with-download-csv", inputs: { messageData: "messageData", appData: "appData", modalTitle: "modalTitle", connectionName: "connectionName" }, ngImport: i0, template: "<div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"c8y-prompt alert alert-danger\">\n <h3 class=\"m-b-16\">\n <i class=\"dlt-c8y-icon-exclamation-circle\"></i>\n <span>{{ modalTitle | translate }}</span>\n </h3>\n <p class=\"text-break-word\">\n {{ messageData.message | translate }}\n </p>\n <br>\n <span class=\"btn-default\" (click)=\"download()\">{{\n 'Click the link to download the file with the affected devices.' | translate\n }}</span>\n <div class=\"alert-footer\">\n <button\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"dismiss()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n </div>\n </div>\n </div>\n</div>", dependencies: [{ kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConnectionInfoWithDownloadCsvComponent, decorators: [{ type: Component, args: [{ selector: 'connection-info-with-download-csv', template: "<div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <div class=\"c8y-prompt alert alert-danger\">\n <h3 class=\"m-b-16\">\n <i class=\"dlt-c8y-icon-exclamation-circle\"></i>\n <span>{{ modalTitle | translate }}</span>\n </h3>\n <p class=\"text-break-word\">\n {{ messageData.message | translate }}\n </p>\n <br>\n <span class=\"btn-default\" (click)=\"download()\">{{\n 'Click the link to download the file with the affected devices.' | translate\n }}</span>\n <div class=\"alert-footer\">\n <button\n title=\"{{ 'Cancel' | translate }}\"\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"dismiss()\"\n >\n {{ 'Cancel' | translate }}\n </button>\n </div>\n </div>\n </div>\n</div>" }] }], ctorParameters: () => [{ type: i1.BsModalRef }, { type: i2.MultipleLnsConnectorService }, { type: i3.AlertService }, { type: i4.TranslateService }], propDecorators: { messageData: [{ type: Input }], appData: [{ type: Input }], modalTitle: [{ type: Input }], connectionName: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1pbmZvLXdpdGgtZG93bmxvYWQtY3N2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb3RvY29sLWxwd2FuL211bHRpcGxlLWxucy1jb25uZWN0b3JzL2Nvbm5lY3Rpb24taW5mby13aXRoLWRvd25sb2FkLWNzdi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm90b2NvbC1scHdhbi9tdWx0aXBsZS1sbnMtY29ubmVjdG9ycy9jb25uZWN0aW9uLWluZm8td2l0aC1kb3dubG9hZC1jc3YuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBTXZELE1BQU0sT0FBTyxzQ0FBc0M7SUFNakQsWUFDVSxLQUFpQixFQUNqQixnQkFBNkMsRUFDN0MsWUFBMEIsRUFDMUIsZ0JBQWtDO1FBSGxDLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUE2QjtRQUM3QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3pDLENBQUM7SUFFSixPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLEdBQUcsR0FBRyxZQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0RCxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQzlCLE1BQU0sVUFBVSxHQUFHLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3BDLE1BQU0sQ0FDSixVQUFVLEVBQ1YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0NBQW9DLENBQUMsRUFBRTtnQkFDM0UsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO2FBQ3BDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDOytHQS9CVSxzQ0FBc0M7bUdBQXRDLHNDQUFzQyxpTUNabkQsZzFCQTBCTTs7NEZEZE8sc0NBQXNDO2tCQUpsRCxTQUFTOytCQUNFLG1DQUFtQzttTEFJcEMsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnNNb2RhbFJlZiB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgTXVsdGlwbGVMbnNDb25uZWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi9tdWx0aXBsZS1sbnMtY29ubmVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgc2F2ZUFzIH0gZnJvbSAnZmlsZS1zYXZlcic7XG5pbXBvcnQgeyBJQXBwbGljYXRpb24gfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY29ubmVjdGlvbi1pbmZvLXdpdGgtZG93bmxvYWQtY3N2JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nvbm5lY3Rpb24taW5mby13aXRoLWRvd25sb2FkLWNzdi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvbkluZm9XaXRoRG93bmxvYWRDc3ZDb21wb25lbnQge1xuICBASW5wdXQoKSBtZXNzYWdlRGF0YTogYW55O1xuICBASW5wdXQoKSBhcHBEYXRhOiBJQXBwbGljYXRpb247XG4gIEBJbnB1dCgpIG1vZGFsVGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgY29ubmVjdGlvbk5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG1vZGFsOiBCc01vZGFsUmVmLFxuICAgIHByaXZhdGUgY29ubmVjdG9yU2VydmljZTogTXVsdGlwbGVMbnNDb25uZWN0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBkaXNtaXNzKCkge1xuICAgIHRoaXMubW9kYWwuaGlkZSgpO1xuICB9XG5cbiAgYXN5bmMgZG93bmxvYWQoKSB7XG4gICAgY29uc3QgdXJsID0gYC9zZXJ2aWNlLyR7dGhpcy5hcHBEYXRhLmNvbnRleHRQYXRofSR7dGhpcy5tZXNzYWdlRGF0YS5hdHRycy5VUkx9YDtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmNvbm5lY3RvclNlcnZpY2UuZG93bmxvYWQodXJsKTtcbiAgICBpZiAocmVzICYmIHJlcy5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgY29uc3Qgc3RyZWFtRGF0YSA9IGF3YWl0IHJlcy5ibG9iKCk7XG4gICAgICBzYXZlQXMoXG4gICAgICAgIHN0cmVhbURhdGEsXG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGdldHRleHQoJ3t7IGNvbm5lY3Rpb25OYW1lIH19IC0gZGV2aWNlcy5jc3YnKSwge1xuICAgICAgICAgIGNvbm5lY3Rpb25OYW1lOiB0aGlzLmNvbm5lY3Rpb25OYW1lXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5kYW5nZXIoZ2V0dGV4dCgnQSBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQuJykpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZ1wiPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjOHktcHJvbXB0IGFsZXJ0IGFsZXJ0LWRhbmdlclwiPlxuICAgICAgPGgzIGNsYXNzPVwibS1iLTE2XCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZGx0LWM4eS1pY29uLWV4Y2xhbWF0aW9uLWNpcmNsZVwiPjwvaT5cbiAgICAgICAgPHNwYW4+e3sgbW9kYWxUaXRsZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDwvaDM+XG4gICAgICA8cCBjbGFzcz1cInRleHQtYnJlYWstd29yZFwiPlxuICAgICAgICB7eyBtZXNzYWdlRGF0YS5tZXNzYWdlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L3A+XG4gICAgICA8YnI+XG4gICAgICA8c3BhbiBjbGFzcz1cImJ0bi1kZWZhdWx0XCIgKGNsaWNrKT1cImRvd25sb2FkKClcIj57e1xuICAgICAgICAnQ2xpY2sgdGhlIGxpbmsgdG8gZG93bmxvYWQgdGhlIGZpbGUgd2l0aCB0aGUgYWZmZWN0ZWQgZGV2aWNlcy4nIHwgdHJhbnNsYXRlXG4gICAgICB9fTwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhbGVydC1mb290ZXJcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHRpdGxlPVwie3sgJ0NhbmNlbCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgICAgICAoY2xpY2spPVwiZGlzbWlzcygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdDYW5jZWwnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19