reports-hyper74
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.2.0.
51 lines • 7.46 kB
JavaScript
import { Injectable } from '@angular/core';
import { HttpParams } from "@angular/common/http";
import * as XLSX from 'xlsx';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
export class ReportsService {
constructor(httpClient) {
this.httpClient = httpClient;
}
loadGroups(url) {
return this.httpClient.get(url);
}
listReportsByGroupId(url, groupId) {
return this.httpClient.get(`${url}/${groupId}`);
}
getReportWithFilters(url, reportId) {
return this.httpClient.get(`${url}/${reportId}`);
}
executeReport(url, query) {
// console.log('query', query);
const params = new HttpParams()
.set('pageNum', `${query.pageNum}`)
.set('pageSize', `${query.pageSize}`);
return this.httpClient.post(`${url}/${query.reportId}`, query.data, { params });
}
exportAsExcelFile(json, excelFileName) {
const header = json; // columns name
const wscols = [];
for (let i = 0; i < header.length; i++) { // columns length added
wscols.push({ wch: header[i].length + 5 });
}
// const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);
const table_elt = document.getElementById("excelDataTable");
console.log('tabke_elt', table_elt);
const workbook = XLSX.utils.table_to_book(table_elt);
console.log('workBook', workbook);
const ws = workbook.Sheets["Sheet1"];
XLSX.utils.sheet_add_aoa(ws, [["Created " + new Date().toISOString()]], { origin: -1 });
ws["!cols"] = wscols;
XLSX.writeFile(workbook, excelFileName + ".xlsx");
}
}
ReportsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReportsService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
ReportsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReportsService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: ReportsService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy9zcmMvbGliL3JlcG9ydHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBYSxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQzs7O0FBSzdCLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDMUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQVcsRUFBRSxPQUFlO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBVyxFQUFFLFFBQWdCO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ25DLCtCQUErQjtRQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTthQUM1QixHQUFHLENBQUMsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2xDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBR00saUJBQWlCLENBQUMsSUFBVyxFQUFFLGFBQXFCO1FBQ3pELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLGVBQWU7UUFDcEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUcsdUJBQXVCO1lBQ2hFLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUMsQ0FBQyxDQUFBO1NBQ3pDO1FBQ0Qsb0VBQW9FO1FBQ3BFLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1RCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBQyxRQUFRLENBQUMsQ0FBQTtRQUNoQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUN0RixFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLGFBQWEsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs0R0F6Q1UsY0FBYztnSEFBZCxjQUFjLGNBRmIsTUFBTTs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge0h0dHBDbGllbnQsIEh0dHBQYXJhbXN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0c1NlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge1xuICB9XG5cbiAgbG9hZEdyb3Vwcyh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQodXJsKTtcbiAgfVxuXG4gIGxpc3RSZXBvcnRzQnlHcm91cElkKHVybDogc3RyaW5nLCBncm91cElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3VybH0vJHtncm91cElkfWApO1xuICB9XG5cbiAgZ2V0UmVwb3J0V2l0aEZpbHRlcnModXJsOiBzdHJpbmcsIHJlcG9ydElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3VybH0vJHtyZXBvcnRJZH1gKTtcbiAgfVxuXG4gIGV4ZWN1dGVSZXBvcnQodXJsOiBzdHJpbmcsIHF1ZXJ5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdxdWVyeScsIHF1ZXJ5KTtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpXG4gICAgICAuc2V0KCdwYWdlTnVtJywgYCR7cXVlcnkucGFnZU51bX1gKVxuICAgICAgLnNldCgncGFnZVNpemUnLCBgJHtxdWVyeS5wYWdlU2l6ZX1gKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoYCR7dXJsfS8ke3F1ZXJ5LnJlcG9ydElkfWAsIHF1ZXJ5LmRhdGEsIHtwYXJhbXN9KTtcbiAgfVxuXG5cbiAgcHVibGljIGV4cG9ydEFzRXhjZWxGaWxlKGpzb246IGFueVtdLCBleGNlbEZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBoZWFkZXIgPSBqc29uOyAvLyBjb2x1bW5zIG5hbWVcbiAgICBjb25zdCB3c2NvbHMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhlYWRlci5sZW5ndGg7IGkrKykgeyAgLy8gY29sdW1ucyBsZW5ndGggYWRkZWRcbiAgICAgIHdzY29scy5wdXNoKHt3Y2g6IGhlYWRlcltpXS5sZW5ndGggKyA1fSlcbiAgICB9XG4gICAgLy8gY29uc3Qgd29ya3NoZWV0OiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChqc29uKTtcbiAgICBjb25zdCB0YWJsZV9lbHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImV4Y2VsRGF0YVRhYmxlXCIpO1xuICAgIGNvbnNvbGUubG9nKCd0YWJrZV9lbHQnLCB0YWJsZV9lbHQpO1xuICAgIGNvbnN0IHdvcmtib29rID0gWExTWC51dGlscy50YWJsZV90b19ib29rKHRhYmxlX2VsdCk7XG4gICAgY29uc29sZS5sb2coJ3dvcmtCb29rJyx3b3JrYm9vaylcbiAgICBjb25zdCB3cyA9IHdvcmtib29rLlNoZWV0c1tcIlNoZWV0MVwiXTtcbiAgICBYTFNYLnV0aWxzLnNoZWV0X2FkZF9hb2Eod3MsIFtbXCJDcmVhdGVkIFwiICsgbmV3IERhdGUoKS50b0lTT1N0cmluZygpXV0sIHtvcmlnaW46IC0xfSk7XG4gICAgd3NbXCIhY29sc1wiXSA9IHdzY29scztcbiAgICBYTFNYLndyaXRlRmlsZSh3b3JrYm9vaywgZXhjZWxGaWxlTmFtZSArIFwiLnhsc3hcIik7XG4gIH1cblxufVxuIl19