@sachin9822/reports-lib 0.0.81 → 0.0.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.mjs +34 -143
- package/esm2020/lib/services/report.service.mjs +2 -4
- package/esm2020/lib/shared/export.service.mjs +189 -58
- package/fesm2015/sachin9822-reports-lib.mjs +238 -214
- package/fesm2015/sachin9822-reports-lib.mjs.map +1 -1
- package/fesm2020/sachin9822-reports-lib.mjs +221 -201
- package/fesm2020/sachin9822-reports-lib.mjs.map +1 -1
- package/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.d.ts +1 -1
- package/lib/services/report.service.d.ts +0 -2
- package/lib/shared/export.service.d.ts +18 -5
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sachin9822-reports-lib.mjs","sources":["../../../projects/reports-lib/src/lib/reports-lib.service.ts","../../../projects/reports-lib/src/lib/reports-lib.component.ts","../../../projects/reports-lib/src/lib/shared/export.service.ts","../../../projects/reports-lib/src/lib/services/report.service.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.html","../../../projects/reports-lib/src/lib/reports-lib-routing.module.ts","../../../projects/reports-lib/src/lib/reports-lib.module.ts","../../../projects/reports-lib/src/public-api.ts","../../../projects/reports-lib/src/sachin9822-reports-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportsLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-reports-lib',\r\n template: `\r\n <p>\r\n reports-lib works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class ReportsLibComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport jsPDF from 'jspdf';\nimport 'jspdf-autotable';\nimport * as ExcelJS from 'exceljs';\nimport * as FileSaver from 'file-saver';\n\n\ndeclare module 'jspdf' {\n interface jsPDF {\n autoTable: (options: any) => jsPDF;\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExportService {\n\n constructor() { }\n\n\n \n\n exportToPdf(headers: string[], rows: any[][], doc: jsPDF, startY: number, fileName: string): void {\n const columnStyles: { [key: number]: any } = {};\n headers.forEach((_, i) => {\n columnStyles[i] = { cellWidth: 'auto' };\n });\n\n doc.autoTable({\n head: [headers],\n body: rows,\n startY: startY,\n theme: 'grid',\n headStyles: {\n fillColor: [220, 220, 220],\n textColor: 0,\n fontStyle: 'bold',\n fontSize: 9,\n halign: 'center',\n },\n bodyStyles: {\n fontSize: 8,\n fillColor: [255, 255, 255],\n textColor: [0, 0, 0],\n },\n styles: {\n cellPadding: 2,\n overflow: 'linebreak',\n minCellHeight: 6,\n },\n columnStyles: columnStyles,\n });\n\n doc.save(fileName);\n }\n\n\n\n\n\n exportToExcel(\n headers: string[],\n rows: any[][],\n worksheet: ExcelJS.Worksheet,\n workbook: ExcelJS.Workbook,\n fileName: string\n ): void {\n // Add header row\n const headerRow = worksheet.addRow(headers);\n headerRow.font = { bold: true };\n headerRow.fill = {\n type: 'pattern',\n pattern: 'solid',\n fgColor: { argb: 'D9D9D9' }\n };\n headerRow.alignment = { vertical: 'middle', horizontal: 'center' };\n headerRow.border = {\n top: { style: 'thin' }, bottom: { style: 'thin' },\n left: { style: 'thin' }, right: { style: 'thin' }\n };\n\n const dataStartRow = worksheet.lastRow!.number + 1;\n\n // Add data rows\n rows.forEach(rowData => {\n const dataRow = worksheet.addRow(rowData);\n dataRow.border = {\n top: { style: 'thin' }, bottom: { style: 'thin' },\n left: { style: 'thin' }, right: { style: 'thin' }\n };\n });\n\n const totalColumns = headers.length;\n\n // Auto-width for each column\n for (let i = 1; i <= totalColumns; i++) {\n let maxLength = 5;\n const headerVal = headerRow.getCell(i).value?.toString() ?? '';\n maxLength = Math.max(maxLength, headerVal.length);\n\n for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow!.number; rowNum++) {\n const cell = worksheet.getRow(rowNum).getCell(i);\n const val = cell.value ? cell.value.toString() : '';\n maxLength = Math.max(maxLength, val.length);\n }\n\n worksheet.getColumn(i).width = maxLength + 2;\n }\n\n // Export as Excel file\n workbook.xlsx.writeBuffer().then(buffer => {\n const blob = new Blob([buffer], {\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n });\n FileSaver.saveAs(blob, fileName);\n });\n }\n\n\n\n\n\n\n exportToCsv(\n headers: string[],\n rows: string[][],\n metadata: string[][] = [],\n fileName: string\n ): void {\n // Combine metadata + blank line + headers + data\n const csvContent = [...metadata, [], headers, ...rows]\n .map(e => e.join(','))\n .join('\\n');\n\n this.downloadFile(csvContent, fileName, 'text/csv');\n }\n\n private downloadFile(data: string, filename: string, type: string): void {\n const blob = new Blob([data], { type });\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n\n\n\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\nimport { AccGlDetailsEnquiryReportModel } from '../models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel';\nimport { Observable, throwError } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n\n\n private serviceUrl: string;\n private AccGlDetailsEnquiryReportUrl: string;\n private systemReportUrl = '/api/v1/CompanyConfiguration/SystemReports';\n\n\n\n constructor(private http: HttpClient, private errorHandler: ErrorHandler, private injector: Injector) {\n this.serviceUrl = \"https://4xplus-local.xpressmoney.tech:8752\";\n this.AccGlDetailsEnquiryReportUrl = \"/api/v1/Report/AccGlDetailsEnquiryReport\";\n\n }\n\n\n\n\n\n public getAccGLDetailsReport(formattedDate: string | undefined, dateType: string, sysCompanyCode: string, sysUserId: string, companyName: string): Observable<AccGlDetailsEnquiryReportModel> {\n\n\n if (formattedDate) {\n const apiPath = `${this.serviceUrl}${this.AccGlDetailsEnquiryReportUrl}/GetAccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;\n return this.http.get<AccGlDetailsEnquiryReportModel>(apiPath);\n } else {\n\n const exampleDate = new Date().toLocaleDateString('en-GB');\n const message = `Invalid Date Format!\\nDate should be in dd/MM/yyyy format.\\nFor example: ${exampleDate} as day/month/year.`; //\\nNote : Year cannot be greater than 9999\n\n\n return throwError(() => new Error(message));\n }\n }\n\n\n\n\n public getUserNameFromSessionStorage(): string {\n let fossilUserName = sessionStorage.getItem('fossilusername');\n let ezremitusername = sessionStorage.getItem('ezremitusername');\n\n if (fossilUserName) {\n return fossilUserName.replace(/^\"(.*)\"$/, '$1');\n } else {\n return ezremitusername.replace(/^\"(.*)\"$/, '$1');\n }\n\n\n }\n\n\n}\n","import { Component, ErrorHandler, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { AccGlDetailsEnquiryReportModel } from '../../models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel';\r\nimport { ColDef, ColumnApi, GridApi, GridReadyEvent } from 'ag-grid-community';\r\nimport { formatDate } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport jsPDF from 'jspdf';\r\nimport 'jspdf-autotable';\r\n\r\nimport * as ExcelJS from 'exceljs';\r\nimport { ExportService } from '../../shared/export.service';\r\n\r\n\r\ndeclare module 'jspdf' {\r\n interface jsPDF {\r\n autoTable: (options: any) => jsPDF;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-acc-gl-details-enquiry-report',\r\n templateUrl: './acc-gl-details-enquiry-report.component.html',\r\n styleUrls: ['./acc-gl-details-enquiry-report.component.scss'],\r\n\r\n})\r\nexport class AccGlDetailsEnquiryReportComponent implements OnInit {\r\n\r\n\r\n searchText: string = '';\r\n gridApi: GridApi<any>;\r\n gridColumnApi!: ColumnApi;\r\n selectedExportOption: string = 'excel';\r\n pageSize: number = 15;\r\n svgLoader: SafeHtml = '';\r\n loading: boolean = false;\r\n dataReady: boolean = false;\r\n dateTypeFilter: number = 1;\r\n dateType: any;\r\n sysCompanyCode: any;\r\n sysUserId: any;\r\n companyName: any;\r\n reportUser: any;\r\n reportTime: any;\r\n date: any;\r\n currentReportFormattedDate: any\r\n accGlDetailsEnquiryReportModel: AccGlDetailsEnquiryReportModel;\r\n rowData = [];\r\n\r\n\r\n defaultColDef: ColDef = {\r\n resizable: true,\r\n sortable: false,\r\n minWidth: 40,\r\n suppressSizeToFit: false\r\n };\r\n\r\n columnDefs: ColDef[] = [\r\n { headerName: 'Journal ID', field: 'journalID', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 91, tooltipField: 'journalID' },\r\n { headerName: 'Trans No', field: 'transactionNo', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell-transaction', minWidth: 71, tooltipField: 'transactionNo' },\r\n { headerName: 'Trans Code', field: 'transactionCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 61, tooltipField: 'transactionCode' },\r\n { headerName: 'Journal Type', field: 'journalType', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 74, tooltipField: 'journalType' },\r\n { headerName: 'Posting Date', field: 'postingDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 69, tooltipValueGetter: (params) => this.formatDate(params) },\r\n { headerName: 'Value Date', field: 'valueDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatDate(params), },\r\n { headerName: 'Description', field: 'description', flex: 4.8, cellClass: 'description-cell', minWidth: 119, wrapText: true, autoHeight: true, cellStyle: { 'line-height': '1.2' }, tooltipField: 'description' },\r\n { headerName: 'Account Code', field: 'accountCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 73, tooltipField: 'accountCode' },\r\n { headerName: 'Ccy', field: 'currency', flex: 0.8, cellClass: 'ag-left-cols-cell', minWidth: 35, tooltipField: 'currency' },\r\n { headerName: 'Rate', field: 'rate', flex: 1.3, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxDebit', field: 'forexDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Debit', field: 'localDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxCredit', field: 'forexCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Credit', field: 'localCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n\r\n\r\n ];\r\n\r\n\r\n constructor(private exportService: ExportService, private reportService: ReportService, private http: HttpClient, private sanitizer: DomSanitizer, private errorHandler: ErrorHandler, private injector: Injector) {\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.http.get('assets/svg-loaders/tail-spin.svg', { responseType: 'text' }).subscribe(svg => {\r\n this.svgLoader = this.sanitizer.bypassSecurityTrustHtml(svg);\r\n })\r\n\r\n const today = new Date();\r\n this.date = formatDate(new Date(today), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n public getAccGLDetailsReport() {\r\n\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n this.loading = true;\r\n this.dataReady = false;\r\n this.pageSize = 15;\r\n this.selectedExportOption = 'excel';\r\n this.sysCompanyCode = 'BH';\r\n this.sysUserId = this.reportService.getUserNameFromSessionStorage();\r\n this.companyName = \"Xpress Money\"\r\n\r\n if (this.dateTypeFilter == 1) {\r\n this.dateType = 'VD';\r\n } else {\r\n this.dateType = 'PD';\r\n }\r\n\r\n this.reportService.getAccGLDetailsReport(this.convertToDateFromDatepicker(), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)\r\n .subscribe(data => {\r\n this.accGlDetailsEnquiryReportModel = data;\r\n if (this.accGlDetailsEnquiryReportModel) {\r\n\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n this.companyName = this.accGlDetailsEnquiryReportModel.companyName;\r\n const userName = this.accGlDetailsEnquiryReportModel.reportUser;\r\n this.reportUser = userName.toLowerCase();\r\n const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;\r\n this.reportTime = formatDate(rawDate, 'dd/MM/yyyy hh:mm a', 'en-US');\r\n this.currentReportFormattedDate = formatDate(this.convertToDateFromDatepicker(), 'dd/MM/yyyy', 'en-US')\r\n this.loading = false;\r\n this.dataReady = true;\r\n\r\n }\r\n }, error => {\r\n\r\n this.loading = false;\r\n if (typeof error === 'function') {\r\n error = error();\r\n }\r\n\r\n const globalErrorHandler = this.injector.get(ErrorHandler);\r\n globalErrorHandler.handleError(error);\r\n });\r\n }\r\n\r\n public formatDate(params: any): string {\r\n return formatDate(new Date(params.value), 'dd/MM/yyyy', 'en-US');\r\n }\r\n\r\n convertToDateFromDatepicker(): string | undefined {\r\n\r\n try {\r\n const [day, month, year] = this.date.split('/');\r\n\r\n if (year > 9999) {\r\n return undefined;\r\n }\r\n\r\n const dateFromUser = new Date(`${year}-${month}-${day}`);\r\n const formattedDateForService = dateFromUser.toISOString().split('T')[0];\r\n return formattedDateForService;\r\n } catch (error) {\r\n\r\n this.loading = false;\r\n return undefined;\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n onDateChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n const selectedDate = input.value;\r\n this.date = formatDate(new Date(selectedDate), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n onEnterKey(event: Event) {\r\n const keyboardEvent = event as KeyboardEvent;\r\n keyboardEvent.preventDefault();\r\n\r\n if (keyboardEvent.target instanceof HTMLElement) {\r\n keyboardEvent.target.blur();\r\n }\r\n }\r\n\r\n\r\n onEnterhandleExport(event: Event) {\r\n this.onEnterKey(event);\r\n this.handleExport();\r\n }\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n onPageSizeChanged() {\r\n if (this.gridApi) {\r\n this.gridApi.paginationSetPageSize(this.pageSize);\r\n }\r\n }\r\n\r\n getRowHeight(params: any): number {\r\n const description = params.data?.description || '';\r\n if (description.length > 50) {\r\n return 40;\r\n }\r\n return 20;\r\n }\r\n\r\n formatNumber(params: any): string {\r\n if (params.value == null) return '';\r\n\r\n const field = params.colDef.field;\r\n\r\n if (field === 'rate') {\r\n return Number(params.value).toFixed(8);\r\n }\r\n\r\n return Number(params.value).toFixed(3);\r\n }\r\n\r\n\r\n\r\n onSearch(): void {\r\n const normalize = (str: any): string =>\r\n str?.toString()\r\n .toLowerCase()\r\n .replace(/,/g, '') // remove commas\r\n .replace(/\\s+/g, ' ') // normalize all spaces to one\r\n .replace(/[\\u200B-\\u200D\\uFEFF]/g, '') // remove invisible chars\r\n .trim();\r\n\r\n const search = normalize(this.searchText);\r\n\r\n if (search) {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.filter(item =>\r\n Object.values(item).some(value =>\r\n normalize(value).includes(search)\r\n )\r\n );\r\n } else {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n }\r\n }\r\n\r\n\r\n\r\n handleExport(): void {\r\n switch (this.selectedExportOption) {\r\n case 'excel':\r\n this.exportToExcel();\r\n break;\r\n case 'pdf':\r\n this.exportToPdf();\r\n break;\r\n case 'csv':\r\n this.exportToCsv();\r\n break;\r\n default:\r\n alert('Please select an export format.');\r\n }\r\n }\r\n\r\n\r\n\r\n // call common exports methods from export service \r\n exportToPdf(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n const doc = new jsPDF({\r\n orientation: 'landscape',\r\n unit: 'mm',\r\n format: [400, 210]\r\n });\r\n\r\n const pageWidth = doc.internal.pageSize.width;\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n doc.setFontSize(15);\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(title, 15, 15);\r\n\r\n const infoY = 25;\r\n const leftMargin = 15;\r\n const lineHeight = 7;\r\n const infoLines = [\r\n [`Report User:`, this.reportUser],\r\n [`Report Time:`, this.reportTime],\r\n [`Search Criteria`, ''],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}:`, this.currentReportFormattedDate],\r\n ];\r\n\r\n doc.setFontSize(10);\r\n infoLines.forEach(([label, value], i) => {\r\n const y = infoY + i * lineHeight;\r\n if (label === 'Search Criteria') {\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n const textWidth = doc.getTextWidth(label);\r\n doc.setDrawColor(0);\r\n doc.setLineWidth(0.5);\r\n doc.line(leftMargin, y + 1, leftMargin + textWidth, y + 1);\r\n } else {\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n const labelWidth = doc.getTextWidth(label + ' ');\r\n doc.setFont('helvetica', 'normal');\r\n doc.text(value, leftMargin + labelWidth, y);\r\n }\r\n });\r\n\r\n // Table headers and rows\r\n const filteredColumns = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') ||\r\n col.field?.toLowerCase().includes('srno') ||\r\n col.field?.toLowerCase().includes('serial'))\r\n );\r\n\r\n const headers = ['Sr No', ...filteredColumns.map(col => col.headerName || col.field!)];\r\n\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumns.map(col => {\r\n let value = row[col.field!];\r\n if (col.field && col.field.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n return [index + 1, ...rowData];\r\n });\r\n\r\n const startY = infoY + infoLines.length * lineHeight + 5;\r\n const fileName = 'ACC-GL-Details-Enquiry-Report.pdf';\r\n\r\n // Call reusable service\r\n this.exportService.exportToPdf(headers, rows, doc, startY, fileName);\r\n }\r\n\r\n exportToExcel(): void {\r\n const data = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n if (!data.length) return;\r\n\r\n const workbook = new ExcelJS.Workbook();\r\n const worksheet = workbook.addWorksheet('ACC-GL-Details-Enquiry-Report');\r\n\r\n const filteredColumnDefs = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n const totalColumns = filteredColumnDefs.length + 1;\r\n\r\n // Title\r\n const titleRow = worksheet.addRow([`${this.companyName} - General Ledger Account Details Enquiry`]);\r\n titleRow.font = { bold: true, size: 14 };\r\n worksheet.mergeCells(`A${titleRow.number}:${String.fromCharCode(64 + totalColumns)}${titleRow.number}`);\r\n worksheet.addRow([]);\r\n\r\n // Metadata\r\n const meta: [string, string][] = [\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', ''],\r\n [`${this.dateType === 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n ];\r\n\r\n meta.forEach(([label, value]) => {\r\n const row = worksheet.addRow([]);\r\n const cell = row.getCell(1);\r\n\r\n const isSearchCriteria = label.toLowerCase().includes('search criteria');\r\n\r\n cell.value = {\r\n richText: [\r\n {\r\n text: `${label}: `,\r\n font: {\r\n bold: true,\r\n underline: isSearchCriteria ? true : undefined\r\n }\r\n },\r\n {\r\n text: value ?? '',\r\n font: { bold: false }\r\n }\r\n ]\r\n };\r\n\r\n worksheet.mergeCells(`A${row.number}:${String.fromCharCode(64 + totalColumns)}${row.number}`);\r\n });\r\n\r\n worksheet.addRow([]);\r\n\r\n // Prepare headers and rows\r\n const headers = ['Sr. No.', ...filteredColumnDefs.map(col => col.headerName || col.field!)];\r\n\r\n const rows = data.map((row, index) => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n rowData.unshift(index + 1);\r\n return rowData;\r\n });\r\n\r\n const fileName = 'ACC-GL-Details-Enquiry-Report.xlsx';\r\n\r\n // Call reusable service\r\n this.exportService.exportToExcel(headers, rows, worksheet, workbook, fileName);\r\n }\r\n\r\n exportToCsv(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n let metadata: string[][] | undefined;\r\n\r\n try {\r\n metadata = [\r\n ['Report Title', `${this.companyName} - General Ledger Account Details Enquiry`],\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n [`Search Criteria - ${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n ];\r\n } catch (err) {\r\n window.alert(`Error while binding data: ${err}`);\r\n return;\r\n }\r\n\r\n const filteredColumnDefs = this.columnDefs.filter(\r\n col => !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n const headers = ['Sr No', ...filteredColumnDefs.map(col => col.headerName || col.field)];\r\n\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return (value ?? '').toString();\r\n });\r\n\r\n return [(index + 1).toString(), ...rowData];\r\n });\r\n\r\n const fileName = 'ACC-GL-Details-Enquiry-Report.csv';\r\n\r\n this.exportService.exportToCsv(headers, rows, metadata, fileName);\r\n }\r\n\r\n\r\n\r\n}\r\n","<h6 class=\"Breadcrumb\">\r\n <a class=\"BreadCrumbLink\" [routerLink]=\"['/reports']\">\r\n <h1>Reports</h1>\r\n </a>\r\n <a href=\"BreadCrumbLink\"></a>\r\n <span class=\"BreadCrumbArrow\"></span>\r\n <a class=\"BreadCrumbLink\">\r\n <h2 style=\"font-weight: bold !important; color: black !important;\">ACC GL Details Enquiry</h2>\r\n </a>\r\n</h6>\r\n\r\n<div class=\"bootstrap-scope \" style=\"margin-bottom: 0px;\">\r\n <div class=\"main-container\">\r\n <div class=\"form-container\">\r\n <form class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <label for=\"dateTypeFilter\" class=\"compact-label\">Date Type</label>\r\n <select class=\"form-select form-control w-auto compact-input\" name=\"dateTypeFilter\"\r\n [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\r\n <option [ngValue]=\"1\">Value Date</option>\r\n <option [ngValue]=\"2\">Posting Date</option>\r\n </select>\r\n </div>\r\n <div class=\"d-flex align-items-center gap-2\" style=\"margin-left: 20px;\">\r\n <label for=\"date\" class=\"compact-label\">Date</label>\r\n <div class=\"date-picker-wrapper\">\r\n <input type=\"text\" class=\"form-control date-picker-input-1\" name=\"date\" [(ngModel)]=\"date\" id=\"date\"\r\n placeholder=\"dd/MM/yyyy\" (keydown.enter)=\"onEnterKey($event)\" />\r\n <input type=\"date\" class=\"form-control date-picker-input-2\" (change)=\"onDateChange($event)\"\r\n (keydown.enter)=\"onEnterKey($event)\" />\r\n </div>\r\n </div>\r\n <div>\r\n <button class=\"btn-primary\" type=\"submit\" style=\"font-size: 12px !important;\"\r\n (click)=\"getAccGLDetailsReport()\">\r\n View Report\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <hr style=\"color: gray; margin-bottom: 0px;\" />\r\n <div class=\"report-loader\" *ngIf=\"loading && svgLoader\" [innerHTML]=\"svgLoader\"></div>\r\n\r\n <div class=\"report-container\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n <div class=\"main-report\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n <h1 class=\"title\">General Ledger Account DetailsEnquiry</h1>\r\n <div class=\"report-content\">\r\n <div class=\"left-section\">\r\n <div class=\"labels\">\r\n <p><b>Company</b></p>\r\n <p><b>{{ dateType ==\r\n 'VD' ? 'Value Date' : 'Posting Date' }}</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ companyName }}</p>\r\n <p>: {{currentReportFormattedDate}}</p>\r\n </div>\r\n </div>\r\n <div class=\"right-section\">\r\n <div class=\"labels\">\r\n <p><b>Report User</b></p>\r\n <p><b>Report Time</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ reportUser }}</p>\r\n <p>: {{ reportTime }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center mt-3 mb-3 flex-wrap\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex justify-content-end align-items-center\">\r\n <input type=\"text\" [(ngModel)]=\"searchText\" name=\"searchText\" (ngModelChange)=\"onSearch()\"\r\n class=\"form-control custom-search-class\" placeholder=\"Search...\"\r\n style=\"width: 190px; height: 20px; color: black; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; \" />\r\n <button type=\"button\" class=\"btn btn-sm p-0\" (click)=\"onSearch()\"\r\n style=\"height: 32px; width: 36px; background-color: #0081c6; border-top-left-radius: 0px !important; border-bottom-left-radius: 0px !important;\">\r\n <img src=\"assets/images/Search.svg\" alt=\"Search\"\r\n style=\"max-height: 70%; max-width: 70%; height: 17px; width: 17px; object-fit: contain;\" />\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <select class=\"form-select w-auto form-control compact-input\" name=\"selectedExportOption\"\r\n id=\"selectedExportOption\" [(ngModel)]=\"selectedExportOption\"\r\n (keydown.enter)=\"onEnterhandleExport($event)\">\r\n <option value='csv'>CSV</option>\r\n <option value='excel'>Excel</option>\r\n <option value='pdf'>PDF</option>\r\n </select>\r\n <button type=\"button\" class=\"btn-primary\" style=\"font-size: 12px !important;\"\r\n (click)=\"handleExport()\">Export</button>\r\n </div>\r\n </div>\r\n\r\n <div style=\"position: relative;\">\r\n <div class=\"d-flex align-items-center gap-2\"\r\n style=\"position: absolute; left: 10px; bottom: 5.5px; z-index: 1; background: transparent; padding-right: 10px; align-items: center; justify-content: center; \">\r\n <select class=\"form-select custom-height w-auto\" id=\"pageSize\" [(ngModel)]=\"pageSize\"\r\n (change)=\"onPageSizeChanged()\">\r\n <option [ngValue]=\"10\">10</option>\r\n <option [ngValue]=\"15\">15</option>\r\n <option [ngValue]=\"20\">20</option>\r\n <option [ngValue]=\"30\">30</option>\r\n <option [ngValue]=\"50\">50</option>\r\n <option [ngValue]=\"100\">100</option>\r\n <option [ngValue]=\"200\">200</option>\r\n <option [ngValue]=\"accGlDetailsEnquiryReportModel?.journalVoucherEntries?.length\">All</option>\r\n </select>\r\n <label\r\n style=\"font-weight: 600;font-size: 11px !important; margin: 0px !important; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; align-items: center; justify-content: center;\"\r\n for=\"pageSize\">Entries\r\n Per Page</label>\r\n </div>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine compact-grid\" style=\"width: 100%; font-weight: 500; height: 390px;\"\r\n [rowData]=\"rowData\" [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\"\r\n [rowHeight]=\"20\" [headerHeight]=\"24\" [pagination]=\"true\" [domLayout]=\"'normal'\"\r\n [paginationPageSize]=\"pageSize\" [suppressHorizontalScroll]=\"false\" [suppressRowHoverHighlight]=\"false\"\r\n [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\r\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\r\n </ag-grid-angular>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule({})\r\nexport class ReportsLibRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { ReportsLibComponent } from './reports-lib.component';\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { ReportsLibRoutingModule } from './reports-lib-routing.module';\r\nimport { OAuthModule } from 'angular-oauth2-oidc';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ReportsLibComponent,\r\n\r\n AccGlDetailsEnquiryReportComponent\r\n ],\r\n imports: [\r\n AgGridModule,\r\n ReportsLibRoutingModule,\r\n CommonModule,\r\n NgIdleModule.forRoot(),\r\n OAuthModule.forRoot(),\r\n FormsModule,\r\n RouterModule\r\n\r\n ],\r\n providers: [],\r\n exports: [\r\n ReportsLibComponent,\r\n AccGlDetailsEnquiryReportComponent\r\n ]\r\n})\r\nexport class ReportsLibModule { }\r\n","/*\r\n * Public API Surface of reports-lib\r\n */\r\n\r\n\r\n\r\nexport * from './lib/reports-lib.service';\r\nexport * from './lib/reports-lib.component';\r\nexport * from './lib/reports-lib.module';\r\nexport * from './lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ExportService","i2.ReportService","i3"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"sachin9822-reports-lib.mjs","sources":["../../../projects/reports-lib/src/lib/reports-lib.service.ts","../../../projects/reports-lib/src/lib/reports-lib.component.ts","../../../projects/reports-lib/src/lib/shared/export.service.ts","../../../projects/reports-lib/src/lib/services/report.service.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.html","../../../projects/reports-lib/src/lib/reports-lib-routing.module.ts","../../../projects/reports-lib/src/lib/reports-lib.module.ts","../../../projects/reports-lib/src/public-api.ts","../../../projects/reports-lib/src/sachin9822-reports-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportsLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-reports-lib',\r\n template: `\r\n <p>\r\n reports-lib works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class ReportsLibComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport jsPDF from 'jspdf';\nimport 'jspdf-autotable';\nimport * as ExcelJS from 'exceljs';\nimport * as FileSaver from 'file-saver';\n\n\ndeclare module 'jspdf' {\n interface jsPDF {\n autoTable: (options: any) => jsPDF;\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExportService {\n\n private readonly pdfFontSize = 10;\n private readonly pdfLineHeight = 7;\n private readonly pdfLeftMargin = 15;\n private logoBase64: string | undefined;\n\n constructor() {\n this.loadImageAsBase64('assets/images/XMLogo.png').then(base64 => {\n this.logoBase64 = base64;\n });\n }\n\n // ------------------------ Utility ------------------------\n private loadImageAsBase64(imagePath: string): Promise<string> {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.src = imagePath;\n\n img.onload = () => {\n const scale = 6;\n const canvas = document.createElement('canvas');\n canvas.width = img.width * scale;\n canvas.height = img.height * scale;\n\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.scale(scale, scale);\n ctx.drawImage(img, 0, 0);\n const base64 = canvas.toDataURL('image/png', 1.0); // 1.0 = highest quality\n resolve(base64);\n } else {\n reject('Failed to get canvas context.');\n }\n };\n\n img.onerror = () => reject('Failed to load image: ' + imagePath);\n });\n }\n\n formatDate(value: any): string {\n const date = new Date(value);\n return isNaN(date.getTime()) ? '' :\n `${date.getDate().toString().padStart(2, '0')}/${(date.getMonth() + 1).toString().padStart(2, '0')}/${date.getFullYear()}`;\n }\n formatDateTime(date: Date): string {\n return `${date.getDate().toString().padStart(2, '0')}/` +\n `${(date.getMonth() + 1).toString().padStart(2, '0')}/` +\n `${date.getFullYear()} ` +\n `${date.getHours().toString().padStart(2, '0')}:` +\n `${date.getMinutes().toString().padStart(2, '0')}`;\n }\n\n generateReportMetadata(metadata: [string, string][]): [string, string][] {\n return metadata.filter(([_, value]) => value !== undefined && value !== null);\n }\n\n prepareExportTable(data: any[], columnDefs: any[], options: {\n excludeFields?: string[],\n currencyFields?: string[]\n } = {}): { headers: string[], rows: any[][] } {\n const { excludeFields = ['srno', 'serial', 'action'], currencyFields = [] } = options;\n\n const filteredColumns = columnDefs.filter(col =>\n col.field &&\n !excludeFields.some(ex => col.field.toLowerCase().includes(ex)) &&\n !excludeFields.some(ex => col.headerName?.toLowerCase().includes(ex))\n );\n\n const headers = ['Sr No', ...filteredColumns.map(col => col.headerName || col.field)];\n\n const rows = data.map((row, index) => {\n const rowData = filteredColumns.map(col => {\n let value = row[col.field];\n const fieldName = col.field?.toLowerCase() || '';\n\n // Handle various date field names\n if (\n (fieldName.includes('date') ||\n fieldName.includes('businessdate')) &&\n value\n ) {\n value = this.formatDate(value);\n }\n\n // Format currency fields\n if (currencyFields.includes(col.field) && value != null) {\n value = parseFloat(value).toFixed(3);\n }\n return value ?? '';\n });\n return [index + 1, ...rowData];\n });\n return { headers, rows };\n }\n\n // ------------------------ PDF Universal ------------------------\n async exportToPdfUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): Promise<void> {\n const doc = new jsPDF({ orientation: 'landscape', unit: 'mm', format: [400, 210] });\n\n const logoWidth = 38.4, logoHeight = 17.5, logoX = 15, logoY = 10;\n const pageWidth = doc.internal.pageSize.width;\n const titleY = 18;\n\n if (this.logoBase64) {\n doc.addImage(this.logoBase64, 'PNG', logoX, logoY, logoWidth, logoHeight);\n }\n\n doc.setFontSize(15);\n doc.setFont('helvetica', 'bold');\n doc.text(title, pageWidth / 2, titleY, { align: 'center' });\n\n let currentY = titleY + 14;\n doc.setFontSize(this.pdfFontSize);\n metadata.forEach(([label, value], i) => {\n const y = currentY + i * this.pdfLineHeight;\n doc.setFont('helvetica', 'bold');\n doc.text(label, this.pdfLeftMargin, y);\n const labelWidth = doc.getTextWidth(label + ' ');\n doc.setFont('helvetica', 'normal');\n doc.text(value, this.pdfLeftMargin + labelWidth, y);\n });\n currentY += metadata.length * this.pdfLineHeight + 5;\n\n const columnStyles: { [key: number]: any } = {};\n headers.forEach((_, i) => columnStyles[i] = { cellWidth: 'auto' });\n\n doc.autoTable({\n head: [headers],\n body: rows,\n startY: currentY,\n theme: 'grid',\n headStyles: {\n fillColor: [220, 220, 220], textColor: 0,\n fontStyle: 'bold', fontSize: 9, halign: 'center',\n },\n bodyStyles: { fontSize: 8, fillColor: [255, 255, 255], textColor: [0, 0, 0] },\n styles: { cellPadding: 2, overflow: 'linebreak', minCellHeight: 6 },\n columnStyles\n });\n\n doc.save(fileName);\n }\n\n // ------------------------ Excel Universal ------------------------\n exportToExcelUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): void {\n const workbook = new ExcelJS.Workbook();\n const worksheet = workbook.addWorksheet(title);\n\n let currentRow = 1;\n\n // Add image if available\n if (this.logoBase64) {\n const base64Data = this.logoBase64.replace(/^data:image\\/\\w+;base64,/, '');\n const imageId = workbook.addImage({\n base64: base64Data,\n extension: 'png',\n });\n\n // Place image at top-left (e.g., A1:C4)\n worksheet.addImage(imageId, {\n tl: { col: 0, row: 0 },\n ext: { width: 145, height: 66 },\n editAs: 'oneCell'\n });\n }\n\n // Add title aligned in middle horizontally (merged across all columns)\n const titleRow = worksheet.getRow(currentRow);\n titleRow.getCell(4).value = title;\n titleRow.getCell(4).font = { bold: true, size: 16 };\n titleRow.getCell(4).alignment = { vertical: 'middle', horizontal: 'left' };\n\n const titleMergeEnd = String.fromCharCode(64 + headers.length);\n worksheet.mergeCells(`D${currentRow}:${titleMergeEnd}${currentRow}`);\n currentRow += 3; // Move past image space\n\n // Add metadata\n metadata.forEach(([label, value]) => {\n const row = worksheet.getRow(currentRow++);\n const cell = row.getCell(1);\n cell.value = {\n richText: [\n { text: `${label}: `, font: { bold: true } },\n { text: value ?? '', font: { bold: false } }\n ]\n };\n worksheet.mergeCells(`A${row.number}:${String.fromCharCode(64 + headers.length)}${row.number}`);\n });\n\n worksheet.addRow([]);\n currentRow++;\n\n // Add table header row\n const headerRow = worksheet.getRow(currentRow++);\n headers.forEach((header, i) => {\n const cell = headerRow.getCell(i + 1);\n cell.value = header;\n cell.font = { bold: true };\n cell.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'D9D9D9' } };\n cell.alignment = { vertical: 'middle', horizontal: 'center' };\n cell.border = {\n top: { style: 'thin' },\n bottom: { style: 'thin' },\n left: { style: 'thin' },\n right: { style: 'thin' }\n };\n });\n\n const dataStartRow = currentRow;\n rows.forEach(rowData => {\n const row = worksheet.getRow(currentRow++);\n rowData.forEach((value, i) => {\n const cell = row.getCell(i + 1);\n cell.value = value;\n cell.border = {\n top: { style: 'thin' },\n bottom: { style: 'thin' },\n left: { style: 'thin' },\n right: { style: 'thin' }\n };\n });\n });\n\n // Auto column widths\n for (let i = 1; i <= headers.length; i++) {\n let maxLength = headers[i - 1].length;\n for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow!.number; rowNum++) {\n const val = worksheet.getRow(rowNum).getCell(i).value?.toString() || '';\n maxLength = Math.max(maxLength, val.length);\n }\n worksheet.getColumn(i).width = maxLength + 2;\n }\n\n workbook.xlsx.writeBuffer().then(buffer => {\n const blob = new Blob([buffer], {\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n });\n FileSaver.saveAs(blob, fileName);\n });\n }\n\n\n // ------------------------ CSV Universal ------------------------\n exportToCsvUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): void {\n const metaRows = metadata.map(([k, v]) => [`${k}: ${v}`]);\n const csvContent = [\n [title],\n ...metaRows,\n [],\n headers,\n ...rows.map(row => row.map(value => `\"${value}\"`))\n ].map(e => e.join(',')).join('\\n');\n\n this.downloadFile(csvContent, fileName, 'text/csv');\n }\n\n private downloadFile(data: string, filename: string, type: string): void {\n const blob = new Blob([data], { type });\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\nimport { AccGlDetailsEnquiryReportModel } from '../models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel';\nimport { Observable, throwError } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n private serviceUrl: string;\n\n constructor(private http: HttpClient, private errorHandler: ErrorHandler, private injector: Injector) {\n this.serviceUrl = \"https://4xplus-local.xpressmoney.tech:8752\";\n }\n\n public getAccGLDetailsReport(formattedDate: string | undefined, dateType: string, sysCompanyCode: string, sysUserId: string, companyName: string): Observable<AccGlDetailsEnquiryReportModel> {\n if (formattedDate) {\n const apiPath = `${this.serviceUrl}/api/v1/Report/AccGlDetailsEnquiryReport/GetAccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;\n return this.http.get<AccGlDetailsEnquiryReportModel>(apiPath);\n } else {\n\n const exampleDate = new Date().toLocaleDateString('en-GB');\n const message = `Invalid Date Format!\\nDate should be in dd/MM/yyyy format.\\nFor example: ${exampleDate} as day/month/year.`; //\\nNote : Year cannot be greater than 9999\n return throwError(() => new Error(message));\n }\n }\n\n public getUserNameFromSessionStorage() : string {\n let fossilUserName = sessionStorage.getItem('fossilusername');\n let ezremitusername = sessionStorage.getItem('ezremitusername');\n\n if (fossilUserName) {\n return fossilUserName.replace(/^\"(.*)\"$/, '$1');\n } else {\n return ezremitusername.replace(/^\"(.*)\"$/, '$1');\n }\n }\n}\n","import { Component, ErrorHandler, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { AccGlDetailsEnquiryReportModel } from '../../models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel';\r\nimport { ColDef, ColumnApi, GridApi, GridReadyEvent } from 'ag-grid-community';\r\nimport { formatDate } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport 'jspdf-autotable';\r\nimport { ExportService } from '../../shared/export.service';\r\n\r\n\r\ndeclare module 'jspdf' {\r\n interface jsPDF {\r\n autoTable: (options: any) => jsPDF;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-acc-gl-details-enquiry-report',\r\n templateUrl: './acc-gl-details-enquiry-report.component.html',\r\n styleUrls: ['./acc-gl-details-enquiry-report.component.scss'],\r\n\r\n})\r\nexport class AccGlDetailsEnquiryReportComponent implements OnInit {\r\n\r\n\r\n searchText: string = '';\r\n gridApi: GridApi<any>;\r\n gridColumnApi!: ColumnApi;\r\n selectedExportOption: string = 'excel';\r\n pageSize: number = 15;\r\n svgLoader: SafeHtml = '';\r\n loading: boolean = false;\r\n dataReady: boolean = false;\r\n dateTypeFilter: number = 1;\r\n dateType: any;\r\n sysCompanyCode: any;\r\n sysUserId: any;\r\n companyName: any;\r\n reportUser: any;\r\n reportTime: any;\r\n date: any;\r\n currentReportFormattedDate: any\r\n accGlDetailsEnquiryReportModel: AccGlDetailsEnquiryReportModel;\r\n rowData = [];\r\n\r\n\r\n defaultColDef: ColDef = {\r\n resizable: true,\r\n sortable: false,\r\n minWidth: 40,\r\n suppressSizeToFit: false\r\n };\r\n\r\n columnDefs: ColDef[] = [\r\n { headerName: 'Journal ID', field: 'journalID', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 91, tooltipField: 'journalID' },\r\n { headerName: 'Trans No', field: 'transactionNo', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell-transaction', minWidth: 71, tooltipField: 'transactionNo' },\r\n { headerName: 'Trans Code', field: 'transactionCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 61, tooltipField: 'transactionCode' },\r\n { headerName: 'Journal Type', field: 'journalType', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 74, tooltipField: 'journalType' },\r\n { headerName: 'Posting Date', field: 'postingDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 69, tooltipValueGetter: (params) => this.formatDate(params) },\r\n { headerName: 'Value Date', field: 'valueDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatDate(params), },\r\n { headerName: 'Description', field: 'description', flex: 4.8, cellClass: 'description-cell', minWidth: 119, wrapText: true, autoHeight: true, cellStyle: { 'line-height': '1.2' }, tooltipField: 'description' },\r\n { headerName: 'Account Code', field: 'accountCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 73, tooltipField: 'accountCode' },\r\n { headerName: 'Ccy', field: 'currency', flex: 0.8, cellClass: 'ag-left-cols-cell', minWidth: 35, tooltipField: 'currency' },\r\n { headerName: 'Rate', field: 'rate', flex: 1.3, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxDebit', field: 'forexDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Debit', field: 'localDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxCredit', field: 'forexCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Credit', field: 'localCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n\r\n\r\n ];\r\n\r\n\r\n constructor(private exportService: ExportService, private reportService: ReportService, private http: HttpClient, private sanitizer: DomSanitizer, private errorHandler: ErrorHandler, private injector: Injector) {\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.http.get('assets/svg-loaders/tail-spin.svg', { responseType: 'text' }).subscribe(svg => {\r\n this.svgLoader = this.sanitizer.bypassSecurityTrustHtml(svg);\r\n })\r\n\r\n const today = new Date();\r\n this.date = formatDate(new Date(today), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n public getAccGLDetailsReport() {\r\n\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n this.loading = true;\r\n this.dataReady = false;\r\n this.pageSize = 15;\r\n this.selectedExportOption = 'excel';\r\n this.sysCompanyCode = 'BH';\r\n this.sysUserId = this.reportService.getUserNameFromSessionStorage();\r\n this.companyName = \"Xpress Money\"\r\n\r\n if (this.dateTypeFilter == 1) {\r\n this.dateType = 'VD';\r\n } else {\r\n this.dateType = 'PD';\r\n }\r\n\r\n this.reportService.getAccGLDetailsReport(this.convertToDateFromDatepicker(), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)\r\n .subscribe(data => {\r\n this.accGlDetailsEnquiryReportModel = data;\r\n if (this.accGlDetailsEnquiryReportModel) {\r\n\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n this.companyName = this.accGlDetailsEnquiryReportModel.companyName;\r\n const userName = this.accGlDetailsEnquiryReportModel.reportUser;\r\n this.reportUser = userName.toLowerCase();\r\n const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;\r\n this.reportTime = formatDate(rawDate, 'dd/MM/yyyy hh:mm a', 'en-US');\r\n this.currentReportFormattedDate = formatDate(this.convertToDateFromDatepicker(), 'dd/MM/yyyy', 'en-US')\r\n this.loading = false;\r\n this.dataReady = true;\r\n\r\n }\r\n }, error => {\r\n\r\n this.loading = false;\r\n if (typeof error === 'function') {\r\n error = error();\r\n }\r\n\r\n const globalErrorHandler = this.injector.get(ErrorHandler);\r\n globalErrorHandler.handleError(error);\r\n });\r\n }\r\n\r\n public formatDate(params: any): string {\r\n return formatDate(new Date(params.value), 'dd/MM/yyyy', 'en-US');\r\n }\r\n\r\n convertToDateFromDatepicker(): string | undefined {\r\n\r\n try {\r\n const [day, month, year] = this.date.split('/');\r\n\r\n if (year > 9999) {\r\n return undefined;\r\n }\r\n\r\n const dateFromUser = new Date(`${year}-${month}-${day}`);\r\n const formattedDateForService = dateFromUser.toISOString().split('T')[0];\r\n return formattedDateForService;\r\n } catch (error) {\r\n\r\n this.loading = false;\r\n return undefined;\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n onDateChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n const selectedDate = input.value;\r\n this.date = formatDate(new Date(selectedDate), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n onEnterKey(event: Event) {\r\n const keyboardEvent = event as KeyboardEvent;\r\n keyboardEvent.preventDefault();\r\n\r\n if (keyboardEvent.target instanceof HTMLElement) {\r\n keyboardEvent.target.blur();\r\n }\r\n }\r\n\r\n\r\n onEnterhandleExport(event: Event) {\r\n this.onEnterKey(event);\r\n this.handleExport();\r\n }\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n onPageSizeChanged() {\r\n if (this.gridApi) {\r\n this.gridApi.paginationSetPageSize(this.pageSize);\r\n }\r\n }\r\n\r\n getRowHeight(params: any): number {\r\n const description = params.data?.description || '';\r\n if (description.length > 50) {\r\n return 40;\r\n }\r\n return 20;\r\n }\r\n\r\n formatNumber(params: any): string {\r\n if (params.value == null) return '';\r\n\r\n const field = params.colDef.field;\r\n\r\n if (field === 'rate') {\r\n return Number(params.value).toFixed(8);\r\n }\r\n\r\n return Number(params.value).toFixed(3);\r\n }\r\n\r\n\r\n\r\n onSearch(): void {\r\n const normalize = (str: any): string =>\r\n str?.toString()\r\n .toLowerCase()\r\n .replace(/,/g, '') // remove commas\r\n .replace(/\\s+/g, ' ') // normalize all spaces to one\r\n .replace(/[\\u200B-\\u200D\\uFEFF]/g, '') // remove invisible chars\r\n .trim();\r\n\r\n const search = normalize(this.searchText);\r\n\r\n if (search) {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.filter(item =>\r\n Object.values(item).some(value =>\r\n normalize(value).includes(search)\r\n )\r\n );\r\n } else {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n }\r\n }\r\n\r\n\r\n\r\n handleExport(): void {\r\n switch (this.selectedExportOption) {\r\n case 'excel':\r\n this.exportToExcel();\r\n break;\r\n case 'pdf':\r\n this.exportToPdf();\r\n break;\r\n case 'csv':\r\n this.exportToCsv();\r\n break;\r\n default:\r\n alert('Please select an export format.');\r\n }\r\n }\r\n\r\n \r\n async exportToPdf(): Promise<void> {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\r\n ['Report User : ', this.reportUser],\r\n ['Report Time : ', this.reportTime],\r\n ['Search Criteria', ' - '],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}:`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n await this.exportService.exportToPdfUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.pdf');\r\n }\r\n\r\n exportToExcel(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', ' - '],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n this.exportService.exportToExcelUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.xlsx');\r\n }\r\n\r\n exportToCsv(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', '- '],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n this.exportService.exportToCsvUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.csv');\r\n }\r\n\r\n}\r\n","<h6 class=\"Breadcrumb\">\r\n <a class=\"BreadCrumbLink\" [routerLink]=\"['/reports']\">\r\n <h1>Reports</h1>\r\n </a>\r\n <a href=\"BreadCrumbLink\"></a>\r\n <span class=\"BreadCrumbArrow\"></span>\r\n <a class=\"BreadCrumbLink\">\r\n <h2 style=\"font-weight: bold !important; color: black !important;\">ACC GL Details Enquiry</h2>\r\n </a>\r\n</h6>\r\n\r\n<div class=\"bootstrap-scope \" style=\"margin-bottom: 0px;\">\r\n <div class=\"main-container\">\r\n <div class=\"form-container\">\r\n <form class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <label for=\"dateTypeFilter\" class=\"compact-label\">Date Type</label>\r\n <select class=\"form-select form-control w-auto compact-input\" name=\"dateTypeFilter\"\r\n [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\r\n <option [ngValue]=\"1\">Value Date</option>\r\n <option [ngValue]=\"2\">Posting Date</option>\r\n </select>\r\n </div>\r\n <div class=\"d-flex align-items-center gap-2\" style=\"margin-left: 20px;\">\r\n <label for=\"date\" class=\"compact-label\">Date</label>\r\n <div class=\"date-picker-wrapper\">\r\n <input type=\"text\" class=\"form-control date-picker-input-1\" name=\"date\" [(ngModel)]=\"date\" id=\"date\"\r\n placeholder=\"dd/MM/yyyy\" (keydown.enter)=\"onEnterKey($event)\" />\r\n <input type=\"date\" class=\"form-control date-picker-input-2\" (change)=\"onDateChange($event)\"\r\n (keydown.enter)=\"onEnterKey($event)\" />\r\n </div>\r\n </div>\r\n <div>\r\n <button class=\"btn-primary\" type=\"submit\" style=\"font-size: 12px !important;\"\r\n (click)=\"getAccGLDetailsReport()\">\r\n View Report\r\n </button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <hr style=\"color: gray; margin-bottom: 0px;\" />\r\n <div class=\"report-loader\" *ngIf=\"loading && svgLoader\" [innerHTML]=\"svgLoader\"></div>\r\n\r\n <div class=\"report-container\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n <div class=\"main-report\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n <h1 class=\"title\">General Ledger Account Details Enquiry</h1>\r\n <div class=\"report-content\">\r\n <div class=\"left-section\">\r\n <div class=\"labels\">\r\n <p><b>Company</b></p>\r\n <p><b>{{ dateType ==\r\n 'VD' ? 'Value Date' : 'Posting Date' }}</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ companyName }}</p>\r\n <p>: {{currentReportFormattedDate}}</p>\r\n </div>\r\n </div>\r\n <div class=\"right-section\">\r\n <div class=\"labels\">\r\n <p><b>Report User</b></p>\r\n <p><b>Report Time</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ reportUser }}</p>\r\n <p>: {{ reportTime }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center mt-3 mb-3 flex-wrap\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex justify-content-end align-items-center\">\r\n <input type=\"text\" [(ngModel)]=\"searchText\" name=\"searchText\" (ngModelChange)=\"onSearch()\"\r\n class=\"form-control custom-search-class\" placeholder=\"Search...\"\r\n style=\"width: 190px; height: 20px; color: black; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; \" />\r\n <button type=\"button\" class=\"btn btn-sm p-0\" (click)=\"onSearch()\"\r\n style=\"height: 32px; width: 36px; background-color: #0081c6; border-top-left-radius: 0px !important; border-bottom-left-radius: 0px !important;\">\r\n <img src=\"assets/images/Search.svg\" alt=\"Search\"\r\n style=\"max-height: 70%; max-width: 70%; height: 17px; width: 17px; object-fit: contain;\" />\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <select class=\"form-select w-auto form-control compact-input\" name=\"selectedExportOption\"\r\n id=\"selectedExportOption\" [(ngModel)]=\"selectedExportOption\"\r\n (keydown.enter)=\"onEnterhandleExport($event)\">\r\n <option value='csv'>CSV</option>\r\n <option value='excel'>Excel</option>\r\n <option value='pdf'>PDF</option>\r\n </select>\r\n <button type=\"button\" class=\"btn-primary\" style=\"font-size: 12px !important;\"\r\n (click)=\"handleExport()\">Export</button>\r\n </div>\r\n </div>\r\n\r\n <div style=\"position: relative;\">\r\n <div class=\"d-flex align-items-center gap-2\"\r\n style=\"position: absolute; left: 10px; bottom: 5.5px; z-index: 1; background: transparent; padding-right: 10px; align-items: center; justify-content: center; \">\r\n <select class=\"form-select custom-height w-auto\" id=\"pageSize\" [(ngModel)]=\"pageSize\"\r\n (change)=\"onPageSizeChanged()\">\r\n <option [ngValue]=\"10\">10</option>\r\n <option [ngValue]=\"15\">15</option>\r\n <option [ngValue]=\"20\">20</option>\r\n <option [ngValue]=\"30\">30</option>\r\n <option [ngValue]=\"50\">50</option>\r\n <option [ngValue]=\"100\">100</option>\r\n <option [ngValue]=\"200\">200</option>\r\n <option [ngValue]=\"accGlDetailsEnquiryReportModel?.journalVoucherEntries?.length\">All</option>\r\n </select>\r\n <label\r\n style=\"font-weight: 600;font-size: 11px !important; margin: 0px !important; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; align-items: center; justify-content: center;\"\r\n for=\"pageSize\">Entries\r\n Per Page</label>\r\n </div>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine compact-grid\" style=\"width: 100%; font-weight: 500; height: 390px;\"\r\n [rowData]=\"rowData\" [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\"\r\n [rowHeight]=\"20\" [headerHeight]=\"24\" [pagination]=\"true\" [domLayout]=\"'normal'\"\r\n [paginationPageSize]=\"pageSize\" [suppressHorizontalScroll]=\"false\" [suppressRowHoverHighlight]=\"false\"\r\n [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\r\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\r\n </ag-grid-angular>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule({})\r\nexport class ReportsLibRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { ReportsLibComponent } from './reports-lib.component';\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { ReportsLibRoutingModule } from './reports-lib-routing.module';\r\nimport { OAuthModule } from 'angular-oauth2-oidc';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ReportsLibComponent,\r\n\r\n AccGlDetailsEnquiryReportComponent\r\n ],\r\n imports: [\r\n AgGridModule,\r\n ReportsLibRoutingModule,\r\n CommonModule,\r\n NgIdleModule.forRoot(),\r\n OAuthModule.forRoot(),\r\n FormsModule,\r\n RouterModule\r\n\r\n ],\r\n providers: [],\r\n exports: [\r\n ReportsLibComponent,\r\n AccGlDetailsEnquiryReportComponent\r\n ]\r\n})\r\nexport class ReportsLibModule { }\r\n","/*\r\n * Public API Surface of reports-lib\r\n */\r\n\r\n\r\n\r\nexport * from './lib/reports-lib.service';\r\nexport * from './lib/reports-lib.component';\r\nexport * from './lib/reports-lib.module';\r\nexport * from './lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ExportService","i2.ReportService","i3"],"mappings":"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"}
|
package/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.d.ts
CHANGED
@@ -54,7 +54,7 @@ export declare class AccGlDetailsEnquiryReportComponent implements OnInit {
|
|
54
54
|
formatNumber(params: any): string;
|
55
55
|
onSearch(): void;
|
56
56
|
handleExport(): void;
|
57
|
-
exportToPdf(): void
|
57
|
+
exportToPdf(): Promise<void>;
|
58
58
|
exportToExcel(): void;
|
59
59
|
exportToCsv(): void;
|
60
60
|
static ɵfac: i0.ɵɵFactoryDeclaration<AccGlDetailsEnquiryReportComponent, never>;
|
@@ -8,8 +8,6 @@ export declare class ReportService {
|
|
8
8
|
private errorHandler;
|
9
9
|
private injector;
|
10
10
|
private serviceUrl;
|
11
|
-
private AccGlDetailsEnquiryReportUrl;
|
12
|
-
private systemReportUrl;
|
13
11
|
constructor(http: HttpClient, errorHandler: ErrorHandler, injector: Injector);
|
14
12
|
getAccGLDetailsReport(formattedDate: string | undefined, dateType: string, sysCompanyCode: string, sysUserId: string, companyName: string): Observable<AccGlDetailsEnquiryReportModel>;
|
15
13
|
getUserNameFromSessionStorage(): string;
|
@@ -1,6 +1,4 @@
|
|
1
|
-
import jsPDF from 'jspdf';
|
2
1
|
import 'jspdf-autotable';
|
3
|
-
import * as ExcelJS from 'exceljs';
|
4
2
|
import * as i0 from "@angular/core";
|
5
3
|
declare module 'jspdf' {
|
6
4
|
interface jsPDF {
|
@@ -8,10 +6,25 @@ declare module 'jspdf' {
|
|
8
6
|
}
|
9
7
|
}
|
10
8
|
export declare class ExportService {
|
9
|
+
private readonly pdfFontSize;
|
10
|
+
private readonly pdfLineHeight;
|
11
|
+
private readonly pdfLeftMargin;
|
12
|
+
private logoBase64;
|
11
13
|
constructor();
|
12
|
-
|
13
|
-
|
14
|
-
|
14
|
+
private loadImageAsBase64;
|
15
|
+
formatDate(value: any): string;
|
16
|
+
formatDateTime(date: Date): string;
|
17
|
+
generateReportMetadata(metadata: [string, string][]): [string, string][];
|
18
|
+
prepareExportTable(data: any[], columnDefs: any[], options?: {
|
19
|
+
excludeFields?: string[];
|
20
|
+
currencyFields?: string[];
|
21
|
+
}): {
|
22
|
+
headers: string[];
|
23
|
+
rows: any[][];
|
24
|
+
};
|
25
|
+
exportToPdfUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): Promise<void>;
|
26
|
+
exportToExcelUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): void;
|
27
|
+
exportToCsvUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): void;
|
15
28
|
private downloadFile;
|
16
29
|
static ɵfac: i0.ɵɵFactoryDeclaration<ExportService, never>;
|
17
30
|
static ɵprov: i0.ɵɵInjectableDeclaration<ExportService>;
|