@sachin9822/reports-lib 0.0.224 → 0.0.226

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.
Files changed (37) hide show
  1. package/esm2020/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.mjs +3 -3
  2. package/esm2020/lib/components/accounting-report/accounting-report.component.mjs +30 -24
  3. package/esm2020/lib/components/branch-activity-receive-report/branch-activity-receive-report.component.mjs +1 -1
  4. package/esm2020/lib/components/branch-activity-send-report/branch-activity-send-report.component.mjs +8 -5
  5. package/esm2020/lib/components/branch-activity-send-summary-report/branch-activity-send-summary-report.component.mjs +700 -0
  6. package/esm2020/lib/components/cancellation-transaction-report/cancellation-transaction-report.component.mjs +6 -2
  7. package/esm2020/lib/components/credit-limit-status-enquiry-report/credit-limit-status-enquiry-report.component.mjs +1 -1
  8. package/esm2020/lib/components/funding-report/funding-report.component.mjs +1 -1
  9. package/esm2020/lib/components/revenue-per-transaction-report/revenue-per-transaction-report.component.mjs +4 -2
  10. package/esm2020/lib/components/statement-of-accounts-report/statement-of-accounts-report.component.mjs +1 -1
  11. package/esm2020/lib/components/transaction-enquiry-report/transaction-enquiry-report.component.mjs +6 -4
  12. package/esm2020/lib/components/transaction-monitoring-report/transaction-monitoring-report.component.mjs +332 -0
  13. package/esm2020/lib/components/trial-balance-accounts-report/trial-balance-accounts-report.component.mjs +1 -1
  14. package/esm2020/lib/models/branch-activity-report/branch-activity-send-report.mjs +1 -1
  15. package/esm2020/lib/models/transaction-monitoring-report/transaction-monitoring-report-request-domain-model.mjs +6 -0
  16. package/esm2020/lib/models/transaction-monitoring-report/transaction-monitoring-report.mjs +5 -0
  17. package/esm2020/lib/reports-lib.module.mjs +15 -5
  18. package/esm2020/lib/services/report.service.mjs +59 -1
  19. package/esm2020/lib/shared/export-generic.service.mjs +10 -1
  20. package/esm2020/lib/shared/search-filter/search-filter.component.mjs +329 -5
  21. package/esm2020/public-api.mjs +5 -1
  22. package/fesm2015/sachin9822-reports-lib.mjs +1627 -213
  23. package/fesm2015/sachin9822-reports-lib.mjs.map +1 -1
  24. package/fesm2020/sachin9822-reports-lib.mjs +1629 -215
  25. package/fesm2020/sachin9822-reports-lib.mjs.map +1 -1
  26. package/lib/components/branch-activity-send-report/branch-activity-send-report.component.d.ts +1 -0
  27. package/lib/components/branch-activity-send-summary-report/branch-activity-send-summary-report.component.d.ts +78 -0
  28. package/lib/components/cancellation-transaction-report/cancellation-transaction-report.component.d.ts +28 -0
  29. package/lib/components/transaction-monitoring-report/transaction-monitoring-report.component.d.ts +69 -0
  30. package/lib/models/branch-activity-report/branch-activity-send-report.d.ts +4 -0
  31. package/lib/models/transaction-monitoring-report/transaction-monitoring-report-request-domain-model.d.ts +13 -0
  32. package/lib/models/transaction-monitoring-report/transaction-monitoring-report.d.ts +23 -0
  33. package/lib/reports-lib.module.d.ts +12 -10
  34. package/lib/services/report.service.d.ts +10 -0
  35. package/lib/shared/search-filter/search-filter.component.d.ts +6 -1
  36. package/package.json +1 -1
  37. package/public-api.d.ts +4 -0
@@ -0,0 +1,332 @@
1
+ // import { Component, NgZone, OnInit, inject } from '@angular/core';
2
+ // import { ReportService } from 'src/app/services/report.service';
3
+ // import { BranchActivityReport } from 'src/app/models/branch-activity-report/branch-activity-send-report';
4
+ // import { ColDef, GridApi, GridReadyEvent } from 'ag-grid-community';
5
+ import { themeAlpine } from '@ag-grid-community/theming';
6
+ // import { formatDate } from '@angular/common';
7
+ // import { ComponentLoadingStates } from 'src/app/models/component-loading-states';
8
+ // import { GenericExportService } from 'src/app/shared/export-generic.service';
9
+ // import { TransactionMonitoringReport } from 'src/app/models/transaction-monitoring-report/transaction-monitoring-report';
10
+ import { Component, inject } from "@angular/core";
11
+ import { ComponentLoadingStates } from "../../models/component-loading-states";
12
+ import { GenericExportService } from "../../shared/export-generic.service";
13
+ import { formatDate } from '@angular/common';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "../../services/report.service";
16
+ import * as i2 from "@angular/router";
17
+ import * as i3 from "ag-grid-angular";
18
+ import * as i4 from "@angular/common";
19
+ import * as i5 from "../../shared/page-size-selector/page-size-selector.component";
20
+ import * as i6 from "../../shared/metadata/metadata.component";
21
+ import * as i7 from "@ng-bootstrap/ng-bootstrap";
22
+ import * as i8 from "../../shared/loader/loader.component";
23
+ import * as i9 from "../../shared/search-filter/search-filter.component";
24
+ export class TransactionMonitoringReportComponent {
25
+ constructor(reportService, ngZone, route) {
26
+ this.reportService = reportService;
27
+ this.ngZone = ngZone;
28
+ this.route = route;
29
+ this.dataMap = {};
30
+ this.filteredData = {};
31
+ this.proxyData = {};
32
+ this.selectedExportOption = 'excel';
33
+ this.gridApis = [];
34
+ this.user = "";
35
+ this.ComponentLoadingState = ComponentLoadingStates;
36
+ this.loadingState = ComponentLoadingStates.Loading;
37
+ this.ReportName = "Transaction Monitoring";
38
+ this.exportService = inject(GenericExportService);
39
+ this.searchCriteria = [];
40
+ // flags
41
+ this.showMessage = false;
42
+ this.noDataFound = false;
43
+ this.isFormValid = false;
44
+ this.clearSearch = false;
45
+ this.columnDefs = [
46
+ { field: 'businessDateTime', headerName: 'Business Date', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 70, wrapText: true, autoHeight: true, tooltipField: 'businessDateTime' },
47
+ { field: 'transactionDateTime', headerName: 'Transaction Date', flex: 2, headerClass: 'ag-left-aligned-header', minWidth: 100, wrapText: true, autoHeight: true, tooltipField: 'transactionDateTime' },
48
+ { field: 'transactionNumber', headerName: 'Transaction Number', flex: 1.8, headerClass: 'ag-left-aligned-header', minWidth: 90, wrapText: true, autoHeight: true, cellClass: 'ag-left-cols-cell compact-cell-transaction', tooltipField: 'transactionNumber' },
49
+ { field: 'product', headerName: 'Product', flex: 0.5, headerClass: 'ag-left-aligned-header', minWidth: 60, wrapText: true, autoHeight: true, tooltipField: 'product' },
50
+ { field: 'sendAgentCode', headerName: 'SendClient Code', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 90, wrapText: true, autoHeight: true, tooltipField: 'sendAgentCode' },
51
+ { field: 'sendAgentBranchCode', headerName: 'SendClient BranchCode', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 90, wrapText: true, autoHeight: true, tooltipField: 'sendAgentBranchCode' },
52
+ { field: 'sendAgentBranchName', headerName: 'SendClient BranchName', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 120, wrapText: true, autoHeight: true, tooltipField: 'sendAgentBranchName' },
53
+ { field: 'senderName', headerName: 'Sender Name', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 120, wrapText: true, autoHeight: true, tooltipField: 'senderName' },
54
+ { field: 'receiverName', headerName: 'Receiver Name', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 100, wrapText: true, autoHeight: true, tooltipField: 'receiverName' },
55
+ { field: 'receiveAgentCode', headerName: 'Receive ClientCode', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 90, wrapText: true, autoHeight: true, tooltipField: 'receiveAgentCode' },
56
+ { field: 'payoutCCcode', headerName: 'ReceiveCcy Code', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 80, wrapText: true, autoHeight: true, tooltipField: 'payoutCCcode' },
57
+ { field: 'payoutAmount', headerName: 'Receive Amount', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 90, wrapText: true, autoHeight: true, cellClass: 'ag-right-aligned-cell compact-cell', tooltipField: 'payoutAmount' },
58
+ { field: 'payinCCcode', headerName: 'SendCcy Code', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 60, wrapText: true, autoHeight: true, tooltipField: 'payinCCcode' },
59
+ { field: 'payinAmount', headerName: 'Send Amount', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 80, wrapText: true, autoHeight: true, cellClass: 'ag-right-aligned-cell compact-cell', tooltipField: 'payinAmount' },
60
+ { field: 'transactionCommissionAmount', headerName: 'Service Fee', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 70, wrapText: true, autoHeight: true, cellClass: 'ag-right-aligned-cell compact-cell', tooltipField: 'transactionCommissionAmount' },
61
+ { field: 'tax', headerName: 'Tax', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 60, wrapText: true, autoHeight: true, cellClass: 'ag-right-aligned-cell compact-cell', tooltipField: 'tax' },
62
+ { field: 'totalPayinAmount', headerName: 'Total Send Amount', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 100, wrapText: true, autoHeight: true, cellClass: 'ag-right-aligned-cell compact-cell', tooltipField: 'totalPayinAmount' },
63
+ { field: 'txnStatusDateAndTime', headerName: 'Txn Status Date & Time', flex: 1, headerClass: 'ag-left-aligned-header', minWidth: 100, wrapText: true, autoHeight: true, tooltipField: 'txnStatusDateAndTime' }
64
+ ];
65
+ this.defaultColDef = {
66
+ sortable: true,
67
+ filter: true,
68
+ resizable: true,
69
+ minwidth: 40,
70
+ wrapHeaderText: true,
71
+ autoHeaderHeight: true,
72
+ suppressSizeToFit: false,
73
+ wrapText: true
74
+ };
75
+ this.rowData = [];
76
+ this.reportTheme = themeAlpine.withParams({
77
+ headerFontSize: '10px',
78
+ fontFamily: ['Arial', 'sans-serif'],
79
+ fontSize: '9px'
80
+ });
81
+ this.statusOrderMap = {
82
+ PendingAuthorisation: 1,
83
+ Confirmed: 2,
84
+ InAMLReview: 3,
85
+ InProcess: 3,
86
+ AMLRejected: 4,
87
+ Decline: 4,
88
+ Submitted: 5,
89
+ Dispatched: 6,
90
+ Paid: 7,
91
+ BankRejected: 8,
92
+ StopApproved: 9,
93
+ ReadytoCancel: 10,
94
+ Cancelled: 11,
95
+ PaidCancelled: 12,
96
+ Void: 13,
97
+ Rejected: 14
98
+ };
99
+ this.statusOrderComparator = (a, b) => {
100
+ const orderA = this.statusOrderMap[a.key] ?? 20;
101
+ const orderB = this.statusOrderMap[b.key] ?? 20;
102
+ return orderA - orderB;
103
+ };
104
+ }
105
+ ngOnInit() {
106
+ this.loadingState = ComponentLoadingStates.Complete;
107
+ // Check if User is falcon user or fossilUser
108
+ if (sessionStorage.getItem('fossilusername')) {
109
+ this.sysUserId = sessionStorage.getItem('fossilusername');
110
+ }
111
+ else {
112
+ this.sysUserId = sessionStorage.getItem('ezremitusername');
113
+ }
114
+ this.sysUserId = this.sysUserId.replace(/^["'](.*)["']$/, '$1');
115
+ this.user = this.sysUserId;
116
+ console.log("System User Id : " + this.sysUserId);
117
+ const params = this.route.snapshot.queryParams;
118
+ console.log("params length:" + Object.keys(params).length);
119
+ if (Object.keys(params).length > 0) {
120
+ this.initialFilters = {
121
+ transactionStatus: params['transactionStatus'],
122
+ receiveCountry: params['receiveCountry'],
123
+ toDate: params['toDate'],
124
+ fromDate: params['fromDate'],
125
+ isRealtime: params['isRealtime'] === 'true' || params['isRealtime'] === true,
126
+ loggedInTime: params['loggedInTime'],
127
+ count: Number(params['count'])
128
+ };
129
+ }
130
+ else {
131
+ this.initialFilters = null;
132
+ }
133
+ }
134
+ filter(text) {
135
+ this.searchText = text;
136
+ if (this.searchText == null) {
137
+ return;
138
+ }
139
+ if (this.searchText?.length === 0) {
140
+ this.filteredData = structuredClone(this.dataMap);
141
+ return;
142
+ }
143
+ this.searchText = this.searchText?.trim()?.toLowerCase();
144
+ for (const [key, entries] of Object.entries(this.proxyData)) {
145
+ const filteredData = entries.filter(entry => Object.values(entry)
146
+ .some(val => {
147
+ let a = val?.toString().toLowerCase();
148
+ if (a == null) {
149
+ return false;
150
+ }
151
+ return a?.search(this.searchText) == -1 ? false : true;
152
+ }));
153
+ this.filteredData[key] = filteredData;
154
+ }
155
+ this.filteredData;
156
+ }
157
+ onGridReady(params, id) {
158
+ params.api.sizeColumnsToFit();
159
+ this.gridColumnApi = params.columnApi;
160
+ this.gridApis[id] = params.api;
161
+ }
162
+ handleExport(option) {
163
+ this.selectedExportOption = option;
164
+ if (!this.hasAnyGroups()) {
165
+ alert("There is no data to export based on your current filter.");
166
+ return;
167
+ }
168
+ // If no data, do nothing.
169
+ if (!this.filteredData || Object.keys(this.filteredData).length === 0) {
170
+ alert("No data to export");
171
+ return;
172
+ }
173
+ const title = "Transaction Monitoring";
174
+ const reportTimeFormatter = this.dateValueFormatter('dd/MM/yyyy hh:mm a');
175
+ const metadata = [
176
+ ['Report Period ', this.fromDate + " - " + this.toDate],
177
+ ['Report User & Time', this.user ? this.user + " @ " + this.reportDate : '' + " @ " + this.reportDate],
178
+ ];
179
+ // --- search criteria ---
180
+ const searchCriteria = this.searchCriteria;
181
+ const columns = this.columnDefs;
182
+ // const data = this.dataMap;
183
+ const data = {};
184
+ Object.entries(this.dataMap).forEach(([status, rows]) => {
185
+ const count = rows.length;
186
+ const newKey = `${status} - ${count}`;
187
+ data[newKey] = rows;
188
+ });
189
+ const options = {
190
+ currencyFields: [
191
+ 'payoutAmount', 'payinAmount', 'transactionCommissionAmount', 'tax', 'totalPayinAmount'
192
+ ],
193
+ // specify all date fields expected
194
+ dateFields: [],
195
+ dateFieldFormats: {
196
+ txnDateAndTime: 'dd/MM/yyyy hh:mm a',
197
+ cancellationBranchDateTime: 'dd/MM/yyyy HH:mm',
198
+ cancellationBusinessDate: 'dd/MM/yyyy'
199
+ },
200
+ specialDecimalFields: {
201
+ rate: 8 // future field with 8 decimal places
202
+ },
203
+ groupByKey: true
204
+ };
205
+ switch (this.selectedExportOption) {
206
+ case 'excel':
207
+ this.exportService.exportToExcel({ title, metadata, searchCriteria, columns, data, options });
208
+ break;
209
+ case 'pdf':
210
+ this.exportService.exportToPdf({ title, metadata, searchCriteria, columns, data, options });
211
+ break;
212
+ case 'csv':
213
+ this.exportService.exportToCsv({ title, metadata, searchCriteria, columns, data, options });
214
+ break;
215
+ default:
216
+ alert("Please select an export format.");
217
+ }
218
+ }
219
+ dateValueFormatter(format) {
220
+ return (params) => {
221
+ if (!params.value)
222
+ return '';
223
+ try {
224
+ return formatDate(params.value, format, 'en-US');
225
+ }
226
+ catch {
227
+ return '';
228
+ }
229
+ };
230
+ }
231
+ getKeys(obj) {
232
+ return obj ? Object.keys(obj) : [];
233
+ }
234
+ hasAnyGroups() {
235
+ return this.filteredData && this.getKeys(this.filteredData).length > 0;
236
+ }
237
+ formatAmount(params) {
238
+ const value = params?.value;
239
+ if (value !== null && value !== undefined && value !== '') {
240
+ const num = Number(value);
241
+ return (Math.trunc(num * 1000) / 1000).toFixed(3);
242
+ }
243
+ return '';
244
+ }
245
+ handleSearch(criteria) {
246
+ if (this.initialFilters != null) {
247
+ const realtimeStatuses = ['Paid', 'PaidCancelled', 'Cancelled', 'Void', 'Rejected'];
248
+ const isTerminatingStatus = realtimeStatuses.includes(this.initialFilters?.transactionStatus);
249
+ const isZeroCount = this.initialFilters?.count === 0;
250
+ // block api call
251
+ if (isTerminatingStatus && isZeroCount && (!criteria.modal.fromDate && !criteria.modal.toDate)) {
252
+ this.noDataFound = true;
253
+ this.showReport = true;
254
+ this.loadingState = ComponentLoadingStates.Complete;
255
+ this.clearSearch = false;
256
+ this.showMessage = true;
257
+ return;
258
+ }
259
+ }
260
+ this.searchCriteria = criteria.searchCriteria;
261
+ this.reportDate = new Date().toISOString();
262
+ this.reportDate = formatDate(this.reportDate, 'dd/MM/yyyy hh:mm a', 'en-US');
263
+ const modal = criteria.modal;
264
+ this.user = criteria.sysUserID;
265
+ // this.fromDate = formatDate(modal.fromDate, 'dd/MM/yyyy hh:mm a', 'en-US').slice(0, 10);
266
+ // this.toDate = formatDate(modal.toDate, 'dd/MM/yyyy hh:mm a', 'en-US').slice(0, 10);
267
+ this.fromDate = modal.fromDate
268
+ ? formatDate(modal.fromDate, 'dd/MM/yyyy hh:mm a', 'en-US').slice(0, 10)
269
+ : null;
270
+ this.toDate = modal.toDate
271
+ ? formatDate(modal.toDate, 'dd/MM/yyyy hh:mm a', 'en-US').slice(0, 10)
272
+ : null;
273
+ console.log(modal);
274
+ // Code For Meta Data
275
+ this.leftData = {
276
+ // 'Report Period': this.fromDate + " - " + this.toDate,
277
+ 'Report Period': this.fromDate && this.toDate
278
+ ? `${this.fromDate} - ${this.toDate}`
279
+ : ''
280
+ };
281
+ this.metaDataTwo = {
282
+ 'Report User & Time': this.user + " @ " + this.reportDate,
283
+ };
284
+ const searchData = {
285
+ "StartDate": modal.fromDate,
286
+ "EndDate": modal.toDate,
287
+ "SendCountryCode": modal.sendCountry,
288
+ "RecvCountryCode": modal.receiveCountry,
289
+ "BusinessPartnerCode": modal.client,
290
+ "TransactionStatus": modal.transactionStatus.join(","),
291
+ "PayoutCurrency": modal.receiveCurrency,
292
+ "TransactionType": modal.product,
293
+ "BranchCode": modal.branch,
294
+ "IsrealTime": this.initialFilters?.isRealtime ?? false,
295
+ "LoggedInTime": this.initialFilters?.loggedInTime ?? null
296
+ };
297
+ this.showMessage = true;
298
+ this.clearSearch = true;
299
+ this.loadingState = ComponentLoadingStates.Loading;
300
+ this.reportService.getTransactionMonitoringReport(searchData).subscribe({
301
+ next: (data) => {
302
+ console.log(data);
303
+ this.dataMap = JSON.parse(JSON.stringify(data));
304
+ this.filteredData = data;
305
+ this.noDataFound = Object.keys(this.filteredData).length == 0 ? true : false;
306
+ this.proxyData = structuredClone(data);
307
+ this.paginationArray = new Array(Object.keys(this.filteredData).length).fill(15);
308
+ this.showMessage = Object.keys(this.filteredData).length == 0 ? true : false;
309
+ this.showReport = true;
310
+ },
311
+ error: (err) => {
312
+ this.loadingState = ComponentLoadingStates.Complete;
313
+ this.clearSearch = false;
314
+ },
315
+ complete: () => {
316
+ this.loadingState = ComponentLoadingStates.Complete;
317
+ this.showReport = true;
318
+ this.clearSearch = false;
319
+ }
320
+ });
321
+ }
322
+ handleFormValid(isValid) {
323
+ this.isFormValid = isValid;
324
+ }
325
+ }
326
+ TransactionMonitoringReportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TransactionMonitoringReportComponent, deps: [{ token: i1.ReportService }, { token: i0.NgZone }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
327
+ TransactionMonitoringReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TransactionMonitoringReportComponent, selector: "lib-transaction-monitoring-report", ngImport: i0, template: "<lib-search-filter \r\n [ReportName]=\"ReportName\" \r\n [initialFilters]=\"initialFilters\"\r\n (searchClicked)=\"handleSearch($event)\"\r\n (formValid)=\"handleFormValid($event)\">\r\n</lib-search-filter>\r\n<app-loader class=\"\" *ngIf=\"loadingState == ComponentLoadingState.Loading\"></app-loader>\r\n\r\n<section *ngIf=\"showReport && isFormValid\" class=\"my-2\">\r\n <ng-container *ngIf=\"!noDataFound\">\r\n <lib-metadata [reportName]=\"ReportName\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"true\" [metaDataOne]=\"leftData\" [metaDataTwo]=\"metaDataTwo\"(exportEvent)=\"handleExport($event)\" (searchEvent)=\"filter($event)\"></lib-metadata>\r\n\r\n <ngb-accordion #acc=\"ngbAccordion\" [closeOthers]=\"false\">\r\n <!-- <ng-container *ngFor=\"let item of filteredData | keyvalue; let i = index\"> -->\r\n <ng-container *ngFor=\"let item of filteredData | keyvalue: statusOrderComparator; let i = index\">\r\n <ngb-panel *ngIf=\"item.value.length > 0\" [id]=\"'panel-' + i\">\r\n\r\n <ng-template ngbPanelTitle style=\"height: 10%;\">\r\n <label\r\n class=\"panel-cls\">{{\r\n item.key }} - {{item.value.length\r\n }}</label>\r\n </ng-template>\r\n\r\n <ng-template ngbPanelContent>\r\n <div style=\"position: relative;\">\r\n <lib-page-size-selector [totalEntries]=\"item?.value?.length\"\r\n [defaultSize]=\"'15'\" [gridApi]=\"gridApis[i]\">\r\n ></lib-page-size-selector>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine transaction-grid\" style=\"width: 100%;height: 380px;\"\r\n [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [rowData]=\"item.value\" [rowHeight]=\"20\"\r\n [headerHeight]=\"22\"[pagination]=\"true\" [paginationPageSize]=\"paginationArray[i]\" (gridReady)=\"onGridReady($event,i)\"\r\n >\r\n </ag-grid-angular>\r\n </div>\r\n </ng-template>\r\n\r\n </ngb-panel>\r\n </ng-container>\r\n </ngb-accordion>\r\n </ng-container>\r\n <div class=\"alert alert-warning mt-3\" *ngIf=\"noDataFound\">\r\n No Data found matching your search criteria.\r\n </div>\r\n</section>", styles: [".btn-report{border-radius:4px;background-color:#8091a5;color:#fff!important;font-size:14px!important;height:32px!important;height:32px;min-width:110px;margin:0 0 0 20px!important;padding:4px 15px!important}.tooltip-block{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #ccc!important}.dpicker{border:1px solid #ccc!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"!important;font-size:12px!important;font-weight:400!important;height:32px!important}.dpicker:focus{box-shadow:0 0 5px 3px #1877f2!important}.cal{height:32px!important;background-color:#1877f2!important}.cal:focus{box-shadow:none!important}.input-group-button{background:none;border:1px solid #0081c6;background-color:#0081c6;border-radius:0 3px 3px 0;min-width:35px;margin-left:1px;cursor:pointer}.labl{font-size:11.2px;font-weight:700!important}.info{font-size:12px!important;font-weight:400;padding-left:.5rem}.label-data{font-weight:600!important;font-size:.7rem!important;line-height:1rem}.meta-td{padding:0!important}.title{text-align:center;font-size:18px;font-weight:700!important}.export-options{display:inline-flex;font-size:.75rem;height:2rem!important;width:5rem!important;margin-right:-1;margin-left:.4rem}.opt-cls{display:block;height:100%;width:5rem;border:1px solid #ccc!important;border-radius:4px!important;margin-right:1rem!important;outline:none!important}.opt-cls:focus{box-shadow:0 0 5px 3px #1877f2}.export-selector{height:2rem!important;width:100%}.search-btn{height:32px!important;height:32px;width:36px;background-color:#8091a5;border:none;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center}.search-btn:hover{background-color:#8091a5}.search-icon{height:16px;width:16px;object-fit:contain}.search-input{outline:none!important;border:1px solid #ccc!important;width:190px;height:32px!important;font-size:.75rem;padding:.25rem .5rem;border-top-left-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:0!important;border-bottom-right-radius:0!important;text-transform:uppercase}.search-input:focus{box-shadow:0 0 5px 3px #1877f2!important}.searchBox{margin-right:auto;display:flex}table{width:100%;border-collapse:separate;margin-bottom:0!important;table-layout:fixed!important}td{padding:0 1rem 6px 0!important;border-right:0 solid #ffffff!important;background-color:#fff!important}.row-cls{height:2.5rem!important}.inputbox{padding-left:1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}::ng-deep .ng-select.ng-select-single .ng-select-container{height:32px I!important}::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{max-height:32px!important;overflow-x:auto!important;overflow-y:auto;white-space:nowrap!important}::ng-deep .ng-select .ng-select-multiple .ng-select-container .ng-value-container{max-height:32px!important;overflow-x:auto!important;white-space:nowrap!important}::ng-deep .ng-select .ng-select-multiple .ng-select-container .ng-value-container .ng-value{max-width:200px!important;overflow:hidden!important;text-overflow:hidden!important;white-space:nowrap!important}::ng-deep .ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow-x:scroll!important;text-overflow:clip!important}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option::-webkit-scrollbar{display:none!important;width:0!important}::ng-deep .ng-select .ng-select-container:focus-within{box-shadow:0 0 5px 3px #1877f2!important}::ng-deep .ng-select .ng-select-container:focus{box-shadow:0 0 5px 3px #1877f2!important}::ng-deep .ng-select .ng-select-container,::ng-deep .ng-select.ng-select-single .ng-select-container,::ng-deep .ng-select.ng-select-multiple .ng-select-container{min-height:32px!important;height:32px!important;font-size:12px!important}.panel-cls{font-weight:700;font-size:13px;line-height:1.2;margin:0;padding:2px 0;color:#16181e}.transaction-grid ::ng-deep .ag-header{background-color:#f9f9f9;font-weight:600;font-size:10px;color:#000;border-right:1px solid #e0e0e0}:host ::ng-deep .ag-header-cell{padding:2px!important;align-items:center!important;justify-content:center!important;border-right:1px solid #e0e0e0;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-align:center!important}::ng-deep .ag-header-cell-label{display:flex!important;justify-content:center!important;align-items:center!important;width:100%;text-align:center!important}::ng-deep .ag-header-cell-text{text-align:center!important;width:100%!important;display:flex!important;justify-content:center!important}.transaction-grid ::ng-deep .ag-row{border-bottom:1px solid #e0e0e0}.transaction-grid ::ng-deep .ag-cell{font-size:9px;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere;line-height:1.4;padding:4px!important;color:#000;font-weight:500;border-right:.5px solid #e0e0e0;align-content:center;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;cursor:text}::ng-deep .ag-cell-label-container{padding:0!important}.ag-theme-alpine{--ag-header-font-size: 10px;--ag-font-size: 10px;--ag-header-background-color: #fdfdfd;--ag-header-foreground-color: rgb(0, 0, 0)}::ng-deep .ag-paging-panel{height:30px!important;font-weight:500!important}\n"], dependencies: [{ kind: "component", type: i3.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PageSizeSelectorComponent, selector: "lib-page-size-selector", inputs: ["pageSizeArray", "defaultSize", "totalEntries", "gridApi"] }, { kind: "component", type: i6.MetadataComponent, selector: "lib-metadata", inputs: ["metaDataOne", "metaDataTwo", "showmetaDataOne", "showmetaDataTwo", "reportName"], outputs: ["searchEvent", "exportEvent"] }, { kind: "component", type: i7.NgbAccordion, selector: "ngb-accordion", inputs: ["animation", "activeIds", "closeOthers", "destroyOnHide", "type"], outputs: ["panelChange", "shown", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i7.NgbPanel, selector: "ngb-panel", inputs: ["disabled", "id", "title", "type", "cardClass"], outputs: ["shown", "hidden"] }, { kind: "directive", type: i7.NgbPanelTitle, selector: "ng-template[ngbPanelTitle]" }, { kind: "directive", type: i7.NgbPanelContent, selector: "ng-template[ngbPanelContent]" }, { kind: "component", type: i8.LoaderComponent, selector: "app-loader" }, { kind: "component", type: i9.SearchFilterComponent, selector: "lib-search-filter", inputs: ["ReportName", "initialFilters"], outputs: ["searchClicked", "formValid"] }, { kind: "pipe", type: i4.KeyValuePipe, name: "keyvalue" }] });
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TransactionMonitoringReportComponent, decorators: [{
329
+ type: Component,
330
+ args: [{ selector: 'lib-transaction-monitoring-report', template: "<lib-search-filter \r\n [ReportName]=\"ReportName\" \r\n [initialFilters]=\"initialFilters\"\r\n (searchClicked)=\"handleSearch($event)\"\r\n (formValid)=\"handleFormValid($event)\">\r\n</lib-search-filter>\r\n<app-loader class=\"\" *ngIf=\"loadingState == ComponentLoadingState.Loading\"></app-loader>\r\n\r\n<section *ngIf=\"showReport && isFormValid\" class=\"my-2\">\r\n <ng-container *ngIf=\"!noDataFound\">\r\n <lib-metadata [reportName]=\"ReportName\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"true\" [metaDataOne]=\"leftData\" [metaDataTwo]=\"metaDataTwo\"(exportEvent)=\"handleExport($event)\" (searchEvent)=\"filter($event)\"></lib-metadata>\r\n\r\n <ngb-accordion #acc=\"ngbAccordion\" [closeOthers]=\"false\">\r\n <!-- <ng-container *ngFor=\"let item of filteredData | keyvalue; let i = index\"> -->\r\n <ng-container *ngFor=\"let item of filteredData | keyvalue: statusOrderComparator; let i = index\">\r\n <ngb-panel *ngIf=\"item.value.length > 0\" [id]=\"'panel-' + i\">\r\n\r\n <ng-template ngbPanelTitle style=\"height: 10%;\">\r\n <label\r\n class=\"panel-cls\">{{\r\n item.key }} - {{item.value.length\r\n }}</label>\r\n </ng-template>\r\n\r\n <ng-template ngbPanelContent>\r\n <div style=\"position: relative;\">\r\n <lib-page-size-selector [totalEntries]=\"item?.value?.length\"\r\n [defaultSize]=\"'15'\" [gridApi]=\"gridApis[i]\">\r\n ></lib-page-size-selector>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine transaction-grid\" style=\"width: 100%;height: 380px;\"\r\n [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [rowData]=\"item.value\" [rowHeight]=\"20\"\r\n [headerHeight]=\"22\"[pagination]=\"true\" [paginationPageSize]=\"paginationArray[i]\" (gridReady)=\"onGridReady($event,i)\"\r\n >\r\n </ag-grid-angular>\r\n </div>\r\n </ng-template>\r\n\r\n </ngb-panel>\r\n </ng-container>\r\n </ngb-accordion>\r\n </ng-container>\r\n <div class=\"alert alert-warning mt-3\" *ngIf=\"noDataFound\">\r\n No Data found matching your search criteria.\r\n </div>\r\n</section>", styles: [".btn-report{border-radius:4px;background-color:#8091a5;color:#fff!important;font-size:14px!important;height:32px!important;height:32px;min-width:110px;margin:0 0 0 20px!important;padding:4px 15px!important}.tooltip-block{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid #ccc!important}.dpicker{border:1px solid #ccc!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"!important;font-size:12px!important;font-weight:400!important;height:32px!important}.dpicker:focus{box-shadow:0 0 5px 3px #1877f2!important}.cal{height:32px!important;background-color:#1877f2!important}.cal:focus{box-shadow:none!important}.input-group-button{background:none;border:1px solid #0081c6;background-color:#0081c6;border-radius:0 3px 3px 0;min-width:35px;margin-left:1px;cursor:pointer}.labl{font-size:11.2px;font-weight:700!important}.info{font-size:12px!important;font-weight:400;padding-left:.5rem}.label-data{font-weight:600!important;font-size:.7rem!important;line-height:1rem}.meta-td{padding:0!important}.title{text-align:center;font-size:18px;font-weight:700!important}.export-options{display:inline-flex;font-size:.75rem;height:2rem!important;width:5rem!important;margin-right:-1;margin-left:.4rem}.opt-cls{display:block;height:100%;width:5rem;border:1px solid #ccc!important;border-radius:4px!important;margin-right:1rem!important;outline:none!important}.opt-cls:focus{box-shadow:0 0 5px 3px #1877f2}.export-selector{height:2rem!important;width:100%}.search-btn{height:32px!important;height:32px;width:36px;background-color:#8091a5;border:none;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center}.search-btn:hover{background-color:#8091a5}.search-icon{height:16px;width:16px;object-fit:contain}.search-input{outline:none!important;border:1px solid #ccc!important;width:190px;height:32px!important;font-size:.75rem;padding:.25rem .5rem;border-top-left-radius:4px;border-bottom-left-radius:4px;border-top-right-radius:0!important;border-bottom-right-radius:0!important;text-transform:uppercase}.search-input:focus{box-shadow:0 0 5px 3px #1877f2!important}.searchBox{margin-right:auto;display:flex}table{width:100%;border-collapse:separate;margin-bottom:0!important;table-layout:fixed!important}td{padding:0 1rem 6px 0!important;border-right:0 solid #ffffff!important;background-color:#fff!important}.row-cls{height:2.5rem!important}.inputbox{padding-left:1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}::ng-deep .ng-select.ng-select-single .ng-select-container{height:32px I!important}::ng-deep .ng-select.ng-select-multiple .ng-select-container .ng-value-container{max-height:32px!important;overflow-x:auto!important;overflow-y:auto;white-space:nowrap!important}::ng-deep .ng-select .ng-select-multiple .ng-select-container .ng-value-container{max-height:32px!important;overflow-x:auto!important;white-space:nowrap!important}::ng-deep .ng-select .ng-select-multiple .ng-select-container .ng-value-container .ng-value{max-width:200px!important;overflow:hidden!important;text-overflow:hidden!important;white-space:nowrap!important}::ng-deep .ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow-x:scroll!important;text-overflow:clip!important}::ng-deep .ng-dropdown-panel .ng-dropdown-panel-items .ng-option::-webkit-scrollbar{display:none!important;width:0!important}::ng-deep .ng-select .ng-select-container:focus-within{box-shadow:0 0 5px 3px #1877f2!important}::ng-deep .ng-select .ng-select-container:focus{box-shadow:0 0 5px 3px #1877f2!important}::ng-deep .ng-select .ng-select-container,::ng-deep .ng-select.ng-select-single .ng-select-container,::ng-deep .ng-select.ng-select-multiple .ng-select-container{min-height:32px!important;height:32px!important;font-size:12px!important}.panel-cls{font-weight:700;font-size:13px;line-height:1.2;margin:0;padding:2px 0;color:#16181e}.transaction-grid ::ng-deep .ag-header{background-color:#f9f9f9;font-weight:600;font-size:10px;color:#000;border-right:1px solid #e0e0e0}:host ::ng-deep .ag-header-cell{padding:2px!important;align-items:center!important;justify-content:center!important;border-right:1px solid #e0e0e0;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-align:center!important}::ng-deep .ag-header-cell-label{display:flex!important;justify-content:center!important;align-items:center!important;width:100%;text-align:center!important}::ng-deep .ag-header-cell-text{text-align:center!important;width:100%!important;display:flex!important;justify-content:center!important}.transaction-grid ::ng-deep .ag-row{border-bottom:1px solid #e0e0e0}.transaction-grid ::ng-deep .ag-cell{font-size:9px;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere;line-height:1.4;padding:4px!important;color:#000;font-weight:500;border-right:.5px solid #e0e0e0;align-content:center;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;cursor:text}::ng-deep .ag-cell-label-container{padding:0!important}.ag-theme-alpine{--ag-header-font-size: 10px;--ag-font-size: 10px;--ag-header-background-color: #fdfdfd;--ag-header-foreground-color: rgb(0, 0, 0)}::ng-deep .ag-paging-panel{height:30px!important;font-weight:500!important}\n"] }]
331
+ }], ctorParameters: function () { return [{ type: i1.ReportService }, { type: i0.NgZone }, { type: i2.ActivatedRoute }]; } });
332
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbW9uaXRvcmluZy1yZXBvcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL3RyYW5zYWN0aW9uLW1vbml0b3JpbmctcmVwb3J0L3RyYW5zYWN0aW9uLW1vbml0b3JpbmctcmVwb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcG9ydHMtbGliL3NyYy9saWIvY29tcG9uZW50cy90cmFuc2FjdGlvbi1tb25pdG9yaW5nLXJlcG9ydC90cmFuc2FjdGlvbi1tb25pdG9yaW5nLXJlcG9ydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxRUFBcUU7QUFDckUsbUVBQW1FO0FBQ25FLDRHQUE0RztBQUM1Ryx1RUFBdUU7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELGdEQUFnRDtBQUNoRCxvRkFBb0Y7QUFDcEYsZ0ZBQWdGO0FBQ2hGLDRIQUE0SDtBQUU1SCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFHbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7OztBQVE3QyxNQUFNLE9BQU8sb0NBQW9DO0lBbUU3QyxZQUFvQixhQUE0QixFQUFVLE1BQWMsRUFBUyxLQUFxQjtRQUFsRixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQWxFdEcsWUFBTyxHQUFrRCxFQUFFLENBQUE7UUFDM0Qs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N0IsQ0FBQztZQUVELFFBQVEsRUFBRSxHQUFHLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFlBQVksR0FBRyxzQkFBc0IsQ0FBQyxRQUFRLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUM3QixDQUFDO1NBQ0osQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVOLGVBQWUsQ0FBQyxPQUFnQjtRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztJQUMvQixDQUFDOztpSUF4VlEsb0NBQW9DO3FIQUFwQyxvQ0FBb0MseUVDeEJqRCx1c0VBNkNVOzJGRHJCRyxvQ0FBb0M7a0JBTGhELFNBQVM7K0JBQ0ksbUNBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IHsgQ29tcG9uZW50LCBOZ1pvbmUsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbi8vIGltcG9ydCB7IFJlcG9ydFNlcnZpY2UgfSBmcm9tICdzcmMvYXBwL3NlcnZpY2VzL3JlcG9ydC5zZXJ2aWNlJztcclxuLy8gaW1wb3J0IHsgQnJhbmNoQWN0aXZpdHlSZXBvcnQgfSBmcm9tICdzcmMvYXBwL21vZGVscy9icmFuY2gtYWN0aXZpdHktcmVwb3J0L2JyYW5jaC1hY3Rpdml0eS1zZW5kLXJlcG9ydCc7XHJcbi8vIGltcG9ydCB7IENvbERlZiwgR3JpZEFwaSwgR3JpZFJlYWR5RXZlbnQgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XHJcbmltcG9ydCB7IHRoZW1lQWxwaW5lIH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L3RoZW1pbmcnO1xyXG4vLyBpbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuLy8gaW1wb3J0IHsgQ29tcG9uZW50TG9hZGluZ1N0YXRlcyB9IGZyb20gJ3NyYy9hcHAvbW9kZWxzL2NvbXBvbmVudC1sb2FkaW5nLXN0YXRlcyc7XHJcbi8vIGltcG9ydCB7IEdlbmVyaWNFeHBvcnRTZXJ2aWNlIH0gZnJvbSAnc3JjL2FwcC9zaGFyZWQvZXhwb3J0LWdlbmVyaWMuc2VydmljZSc7XHJcbi8vIGltcG9ydCB7IFRyYW5zYWN0aW9uTW9uaXRvcmluZ1JlcG9ydCB9IGZyb20gJ3NyYy9hcHAvbW9kZWxzL3RyYW5zYWN0aW9uLW1vbml0b3JpbmctcmVwb3J0L3RyYW5zYWN0aW9uLW1vbml0b3JpbmctcmVwb3J0JztcclxuXHJcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBOZ1pvbmUsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRyYW5zYWN0aW9uTW9uaXRvcmluZ1JlcG9ydCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24tbW9uaXRvcmluZy1yZXBvcnQvdHJhbnNhY3Rpb24tbW9uaXRvcmluZy1yZXBvcnRcIjtcclxuaW1wb3J0IHsgQ29sRGVmLCBHcmlkQXBpLCBHcmlkUmVhZHlFdmVudCB9IGZyb20gXCJhZy1ncmlkLWNvbW11bml0eVwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnRMb2FkaW5nU3RhdGVzIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb21wb25lbnQtbG9hZGluZy1zdGF0ZXNcIjtcclxuaW1wb3J0IHsgR2VuZXJpY0V4cG9ydFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2V4cG9ydC1nZW5lcmljLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUmVwb3J0U2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9yZXBvcnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2xpYi10cmFuc2FjdGlvbi1tb25pdG9yaW5nLXJlcG9ydCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHJhbnNhY3Rpb24tbW9uaXRvcmluZy1yZXBvcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdHJhbnNhY3Rpb24tbW9uaXRvcmluZy1yZXBvcnQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25Nb25pdG9yaW5nUmVwb3J0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIGRhdGFNYXA6IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uTW9uaXRvcmluZ1JlcG9ydFtdPiA9IHt9XHJcbiAgICBmaWx0ZXJlZERhdGE6IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uTW9uaXRvcmluZ1JlcG9ydFtdPiA9IHt9XHJcbiAgICBwcm94eURhdGE6IFJlY29yZDxzdHJpbmcsIFRyYW5zYWN0aW9uTW9uaXRvcmluZ1JlcG9ydFtdPiA9IHt9XHJcbiAgICBzaG93UmVwb3J0OiBib29sZWFuO1xyXG4gICAgcGFnaW5hdGlvbkFycmF5OiBhbnlbXTtcclxuICAgIHNlbGVjdGVkRXhwb3J0T3B0aW9uID0gJ2V4Y2VsJztcclxuICAgIGdyaWRBcGlzOiBHcmlkQXBpW10gPSBbXTtcclxuICAgIGdyaWRDb2x1bW5BcGk7XHJcbiAgICB1c2VyOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgcmVwb3J0RGF0ZTogc3RyaW5nO1xyXG4gICAgZnJvbURhdGU6IHN0cmluZztcclxuICAgIHRvRGF0ZTogc3RyaW5nO1xyXG4gICAgc2VhcmNoVGV4dDogc3RyaW5nO1xyXG4gICAgYnVmZmVyOiBhbnk7XHJcbiAgICBzeXNVc2VySWQ6IHN0cmluZztcclxuICAgIHByaXZhdGUgbG9nb0Jhc2U2NDogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgQ29tcG9uZW50TG9hZGluZ1N0YXRlID0gQ29tcG9uZW50TG9hZGluZ1N0YXRlcztcclxuICAgIGxvYWRpbmdTdGF0ZTogQ29tcG9uZW50TG9hZGluZ1N0YXRlcyA9IENvbXBvbmVudExvYWRpbmdTdGF0ZXMuTG9hZGluZztcclxuICAgIFJlcG9ydE5hbWU6IHN0cmluZyA9IFwiVHJhbnNhY3Rpb24gTW9uaXRvcmluZ1wiO1xyXG4gICAgbGVmdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgICBtZXRhRGF0YVR3bzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcclxuICAgIGV4cG9ydFNlcnZpY2U6IEdlbmVyaWNFeHBvcnRTZXJ2aWNlID0gaW5qZWN0KEdlbmVyaWNFeHBvcnRTZXJ2aWNlKTtcclxuICAgIHNlYXJjaENyaXRlcmlhOiBbc3RyaW5nLCBzdHJpbmddW10gPSBbXTtcclxuICAgIGluaXRpYWxGaWx0ZXJzOiBhbnk7XHJcblxyXG4gICAgLy8gZmxhZ3NcclxuICAgIHNob3dNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBub0RhdGFGb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgaXNGb3JtVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGNsZWFyU2VhcmNoOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29sdW1uRGVmczogQ29sRGVmPFRyYW5zYWN0aW9uTW9uaXRvcmluZ1JlcG9ydD5bXSA9IFtcclxuICAgICAgICAgICB7IGZpZWxkOiAnYnVzaW5lc3NEYXRlVGltZScsIGhlYWRlck5hbWU6ICdCdXNpbmVzcyBEYXRlJywgZmxleDogMSwgaGVhZGVyQ2xhc3M6ICdhZy1sZWZ0LWFsaWduZWQtaGVhZGVyJywgbWluV2lkdGg6IDcwLCB3cmFwVGV4dDogdHJ1ZSwgYXV0b0hlaWdodDogdHJ1ZSwgdG9vbHRpcEZpZWxkOiAnYnVzaW5lc3NEYXRlVGltZScgfSxcclxuICAgICAgICAgICB7IGZpZWxkOiAndHJhbnNhY3Rpb25EYXRlVGltZScsIGhlYWRlck5hbWU6ICdUcmFuc2FjdGlvbiBEYXRlJywgZmxleDogMiwgaGVhZGVyQ2xhc3M6ICdhZy1sZWZ0LWFsaWduZWQtaGVhZGVyJywgbWluV2lkdGg6IDEwMCwgd3JhcFRleHQ6IHRydWUsIGF1dG9IZWlnaHQ6IHRydWUsIHRvb2x0aXBGaWVsZDogJ3RyYW5zYWN0aW9uRGF0ZVRpbWUnIH0sXHJcbiAgICAgICAgICAgeyBmaWVsZDogJ3RyYW5zYWN0aW9uTnVtYmVyJywgaGVhZGVyTmFtZTogJ1RyYW5zYWN0aW9uIE51bWJlcicsIGZsZXg6IDEuOCwgaGVhZGVyQ2xhc3M6ICdhZy1sZWZ0LWFsaWduZWQtaGVhZGVyJywgbWluV2lkdGg6IDkwLCB3cmFwVGV4dDogdHJ1ZSwgYXV0b0hlaWdodDogdHJ1ZSwgY2VsbENsYXNzOiAnYWctbGVmdC1jb2xzLWNlbGwgY29tcGFjdC1jZWxsLXRyYW5zYWN0aW9uJywgdG9vbHRpcEZpZWxkOiAndHJhbnNhY3Rpb25OdW1iZXInIH0sXHJcbiAgICAgICAgICAgeyBmaWVsZDogJ3Byb2R1Y3QnLCBoZWFkZXJOYW1lOiAnUHJvZHVjdCcsIGZsZXg6IDAuNSwgaGVhZGVyQ2xhc3M6ICdhZy1sZWZ0LWFsaWduZWQtaGVhZGVyJywgbWluV2lkdGg6IDYwLCB3cmFwVGV4dDogdHJ1ZSwgYXV0b0hlaWdodDogdHJ1ZSwgdG9vbHRpcEZpZWxkOiAncHJvZHVjdCcgfSxcclxuICAgICAgICAgICB7IGZpZWxkOiAnc2VuZEFnZW50Q29kZScsIGhlYWRlck5hbWU6ICdTZW5kQ2xpZW50IENvZGUnLCBmbGV4OiAxLCBoZWFkZXJDbGFzczogJ2FnLWxlZnQtYWxpZ25lZC1oZWFkZXInLCBtaW5XaWR0aDogOTAsIHdyYXBUZXh0OiB0cnVlLCBhdXRvSGVpZ2h0OiB0cnVlLCB0b29sdGlwRmllbGQ6ICdzZW5kQWdlbnRDb2RlJyB9LFxyXG4gICAgICAgICAgIHsgZmllbGQ6ICdzZW5kQWdlbnRCcmFuY2hDb2RlJywgaGVhZGVyTmFtZTogJ1NlbmRDbGllbnQgQnJhbmNoQ29kZScsIGZsZXg6IDEsIGhlYWRlckNsYXNzOiAnYWctbGVmdC1hbGlnbmVkLWhlYWRlcicsIG1pbldpZHRoOiA5MCwgd3JhcFRleHQ6IHRydWUsIGF1dG9IZWlnaHQ6IHRydWUsIHRvb2x0aXBGaWVsZDogJ3NlbmRBZ2VudEJyYW5jaENvZGUnIH0sXHJcbiAgICAgICAgICAgeyBmaWVsZDogJ3NlbmRBZ2VudEJyYW5jaE5hbWUnLCBoZWFkZXJOYW1lOiAnU2VuZENsaWVudCBCcmFuY2hOYW1lJywgZmxleDogMSwgaGVhZGVyQ2xhc3M6ICdhZy1sZWZ0LWFsaWduZWQtaGVhZGVyJywgbWluV2lkdGg6IDEyMCwgd3JhcFRleHQ6IHRydWUsIGF1dG9IZWlnaHQ6IHRydWUsIHRvb2x0aXBGaWVsZDogJ3NlbmRBZ2VudEJyYW5jaE5hbWUnIH0sXHJcbiAgIFxyXG4gICAgICAgICAgIHsgZmllbGQ6ICdzZW5kZXJOYW1lJywgaGVhZGVyTmFtZTogJ1NlbmRlciBOYW1lJywgZmxleDogMSwgaGVhZGVyQ2xhc3M6ICdhZy1sZWZ0LWFsaWduZWQtaGVhZGVyJywgbWluV2lkdGg6IDEyMCwgd3JhcFRleHQ6IHRydWUsIGF1dG9IZWlnaHQ6IHRydWUsIHRvb2x0aXBGaWVsZDogJ3NlbmRlck5hbWUnIH0sXHJcbiAgICAgICAgICAgeyBmaWVsZDogJ3JlY2VpdmVyTmFtZScsIGhlYWRlck5hbWU6ICdSZWNlaXZlciBOYW1lJywgZmxleDogMSwgaGVhZGVyQ2xhc3M6ICdhZy1sZWZ0LWFsaWduZWQtaGVhZGVyJywgbWluV2lkdGg6IDEwMCwgd3JhcFRleHQ6IHRydWUsIGF1dG9IZWlnaHQ6IHRydWUsIHRvb2x0aXBGaWVsZDogJ3JlY2VpdmVyTmFtZScgfSxcclxuICAgICAgICAgICB7IGZpZWxkOiAncmVjZWl2ZUFnZW50Q29kZScsIGhlYWRlck5hbWU6ICdSZWNlaXZlIENsaWVudENvZGUnLCBmbGV4OiAxLCBoZWFkZXJDbGFzczogJ2FnLWxlZnQtYWxpZ25lZC1oZWFkZXInLCBtaW5XaWR0aDogOTAsIHdyYXBUZXh0OiB0cnVlLCBhdXRvSGVpZ2h0OiB0cnVlLCB0b29sdGlwRmllbGQ6ICdyZWNlaXZlQWdlbnRDb2RlJyB9LFxyXG4gICAgICAgICAgIHsgZmllbGQ6ICdwYXlvdXRDQ2NvZGUnLCBoZWFkZXJOYW1lOiAnUmVjZWl2ZUNjeSBDb2RlJywgZmxleDogMSwgaGVhZGVyQ2xhc3M6ICdhZy1sZWZ0LWFsaWduZWQtaGVhZGVyJywgbWluV2lkdGg6IDgwLCB3cmFwVGV4dDogdHJ1ZSwgYXV0b0hlaWdodDogdHJ1ZSwgdG9vbHRpcEZpZWxkOiAncGF5b3V0Q0Njb2RlJyB9LFxyXG4gICAgICAgICAgIHsgZmllbGQ6ICdwYXlvdXRBbW91bnQnLCBoZWFkZXJOYW1lOiAnUmVjZWl2ZSBBbW91bnQnLCBmbGV4OiAxLCBoZWFkZXJDbGFzczogJ2FnLWxlZnQtYWxpZ25lZC1oZWFkZXInLCBtaW5XaWR0aDogOTAsIHdyYXBUZXh0OiB0cnVlLCBhdXRvSGVpZ2h0OiB0cnVlLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwgY29tcGFjdC1jZWxsJywgdG9vbHRpcEZpZWxkOiAncGF5b3V0QW1vdW50JyB9LFxyXG4gICAgICAgICAgIHsgZmllbGQ6ICdwYXlpbkNDY29kZScsIGhlYWRlck5hbWU6ICdTZW5kQ2N5IENvZGUnLCBmbGV4OiAxLCBoZWFkZXJDbGFzczogJ2FnLWxlZnQtYWxpZ25lZC1oZWFkZXInLCBtaW5XaWR0aDogNjAsIHdyYXBUZXh0OiB0cnVlLCBhdXRvSGVpZ2h0OiB0cnVlLCB0b29sdGlwRmllbGQ6ICdwYXlpbkNDY29kZScgfSxcclxuICAgICAgICAgICB7IGZpZWxkOiAncGF5aW5BbW91bnQnLCBoZWFkZXJOYW1lOiAnU2VuZCBBbW91bnQnLCBmbGV4OiAxLCBoZWFkZXJDbGFzczogJ2FnLWxlZnQtYWxpZ25lZC1oZWFkZXInLCBtaW5XaWR0aDogODAsIHdyYXBUZXh0OiB0cnVlLCBhdXRvSGVpZ2h0OiB0cnVlLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwgY29tcGFjdC1jZWxsJywgdG9vbHRpcEZpZWxkOiAncGF5aW5BbW91bnQnIH0sXHJcbiAgICAgICAgICAgeyBmaWVsZDogJ3RyYW5zYWN0aW9uQ29tbWlzc2lvbkFtb3VudCcsIGhlYWRlck5hbWU6ICdTZXJ2aWNlIEZlZScsIGZsZXg6IDEsIGhlYWRlckNsYXNzOiAnYWctbGVmdC1hbGlnbmVkLWhlYWRlcicsIG1pbldpZHRoOiA3MCwgd3JhcFRleHQ6IHRydWUsIGF1dG9IZWlnaHQ6IHRydWUsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCBjb21wYWN0LWNlbGwnLCB0b29sdGlwRmllbGQ6ICd0cmFuc2FjdGlvbkNvbW1pc3Npb25BbW91bnQnIH0sXHJcbiAgICAgICAgICAgeyBmaWVsZDogJ3RheCcsIGhlYWRlck5hbWU6ICdUYXgnLCBmbGV4OiAxLCBoZWFkZXJDbGFzczogJ2FnLWxlZnQtYWxpZ25lZC1oZWFkZXInLCBtaW5XaWR0aDogNjAsIHdyYXBUZXh0OiB0cnVlLCBhdXRvSGVpZ2h0OiB0cnVlLCBjZWxsQ2xhc3M6ICdhZy1yaWdodC1hbGlnbmVkLWNlbGwgY29tcGFjdC1jZWxsJywgdG9vbHRpcEZpZWxkOiAndGF4JyB9LFxyXG4gICAgICAgICAgIHsgZmllbGQ6ICd0b3RhbFBheWluQW1vdW50JywgaGVhZGVyTmFtZTogJ1RvdGFsIFNlbmQgQW1vdW50JywgZmxleDogMSwgaGVhZGVyQ2xhc3M6ICdhZy1sZWZ0LWFsaWduZWQtaGVhZGVyJywgbWluV2lkdGg6IDEwMCwgd3JhcFRleHQ6IHRydWUsIGF1dG9IZWlnaHQ6IHRydWUsIGNlbGxDbGFzczogJ2FnLXJpZ2h0LWFsaWduZWQtY2VsbCBjb21wYWN0LWNlbGwnLCB0b29sdGlwRmllbGQ6ICd0b3RhbFBheWluQW1vdW50JyB9LFxyXG4gICAgICAgICAgIHsgZmllbGQ6ICd0eG5TdGF0dXNEYXRlQW5kVGltZScsIGhlYWRlck5hbWU6ICdUeG4gU3RhdHVzIERhdGUgJiBUaW1lJywgZmxleDogMSwgaGVhZGVyQ2xhc3M6ICdhZy1sZWZ0LWFsaWduZWQtaGVhZGVyJywgbWluV2lkdGg6IDEwMCwgd3JhcFRleHQ6IHRydWUsIGF1dG9IZWlnaHQ6IHRydWUsIHRvb2x0aXBGaWVsZDogJ3R4blN0YXR1c0RhdGVBbmRUaW1lJyB9XHJcbiAgICAgICBdO1xyXG4gICBcclxuXHJcbiAgICBkZWZhdWx0Q29sRGVmID0ge1xyXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxyXG4gICAgICAgIGZpbHRlcjogdHJ1ZSxcclxuICAgICAgICByZXNpemFibGU6IHRydWUsXHJcbiAgICAgICAgbWlud2lkdGg6IDQwLFxyXG4gICAgICAgIHdyYXBIZWFkZXJUZXh0OiB0cnVlLFxyXG4gICAgICAgIGF1dG9IZWFkZXJIZWlnaHQ6IHRydWUsXHJcbiAgICAgICAgc3VwcHJlc3NTaXplVG9GaXQ6IGZhbHNlLFxyXG4gICAgICAgIHdyYXBUZXh0OiB0cnVlXHJcbiAgICB9O1xyXG4gICAgcm93RGF0YTogVHJhbnNhY3Rpb25Nb25pdG9yaW5nUmVwb3J0W10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcG9ydFNlcnZpY2U6IFJlcG9ydFNlcnZpY2UsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUscHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHsgfVxyXG5cclxuICAgIHJlcG9ydFRoZW1lID0gdGhlbWVBbHBpbmUud2l0aFBhcmFtcyh7XHJcbiAgICAgICAgaGVhZGVyRm9udFNpemU6ICcxMHB4JyxcclxuICAgICAgICBmb250RmFtaWx5OiBbJ0FyaWFsJywgJ3NhbnMtc2VyaWYnXSxcclxuICAgICAgICBmb250U2l6ZTogJzlweCdcclxuICAgIH0pO1xyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1N0YXRlID0gQ29tcG9uZW50TG9hZGluZ1N0YXRlcy5Db21wbGV0ZTtcclxuICAgICAgICAvLyBDaGVjayBpZiBVc2VyIGlzIGZhbGNvbiB1c2VyIG9yIGZvc3NpbFVzZXJcclxuICAgICAgICBpZiAoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnZm9zc2lsdXNlcm5hbWUnKSkge1xyXG4gICAgICAgICAgICB0aGlzLnN5c1VzZXJJZCA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2Zvc3NpbHVzZXJuYW1lJylcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3lzVXNlcklkID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnZXpyZW1pdHVzZXJuYW1lJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc3lzVXNlcklkID0gdGhpcy5zeXNVc2VySWQucmVwbGFjZSgvXltcIiddKC4qKVtcIiddJC8sICckMScpO1xyXG4gICAgICAgIHRoaXMudXNlciA9IHRoaXMuc3lzVXNlcklkO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiU3lzdGVtIFVzZXIgSWQgOiBcIiArIHRoaXMuc3lzVXNlcklkKTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcztcclxuICAgICAgICBjb25zb2xlLmxvZyhcInBhcmFtcyBsZW5ndGg6XCIgKyBPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aClcclxuICAgICAgICBcclxuICAgICAgICBpZiAoT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbEZpbHRlcnMgPSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblN0YXR1czogcGFyYW1zWyd0cmFuc2FjdGlvblN0YXR1cyddLFxyXG4gICAgICAgICAgICAgICAgcmVjZWl2ZUNvdW50cnk6IHBhcmFtc1sncmVjZWl2ZUNvdW50cnknXSxcclxuICAgICAgICAgICAgICAgIHRvRGF0ZTogcGFyYW1zWyd0b0RhdGUnXSxcclxuICAgICAgICAgICAgICAgIGZyb21EYXRlOiBwYXJhbXNbJ2Zyb21EYXRlJ10sXHJcbiAgICAgICAgICAgICAgICBpc1JlYWx0aW1lOiBwYXJhbXNbJ2lzUmVhbHRpbWUnXSA9PT0gJ3RydWUnIHx8IHBhcmFtc1snaXNSZWFsdGltZSddID09PSB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbG9nZ2VkSW5UaW1lOnBhcmFtc1snbG9nZ2VkSW5UaW1lJ10sXHJcbiAgICAgICAgICAgICAgICBjb3VudDpOdW1iZXIocGFyYW1zWydjb3VudCddKVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbEZpbHRlcnMgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmaWx0ZXIodGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hUZXh0ID0gdGV4dDtcclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0ID09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zZWFyY2hUZXh0Py5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBzdHJ1Y3R1cmVkQ2xvbmUodGhpcy5kYXRhTWFwKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlYXJjaFRleHQgPSB0aGlzLnNlYXJjaFRleHQ/LnRyaW0oKT8udG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIGVudHJpZXNdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMucHJveHlEYXRhKSkge1xyXG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJlZERhdGEgPSBlbnRyaWVzLmZpbHRlcihlbnRyeSA9PiBPYmplY3QudmFsdWVzKGVudHJ5KVxyXG4gICAgICAgICAgICAgICAuc29tZSh2YWwgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBhOiBzdHJpbmcgPSB2YWw/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoYSA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhPy5zZWFyY2godGhpcy5zZWFyY2hUZXh0KSA9PSAtMSA/IGZhbHNlIDogdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH0pKVxyXG5cclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGFba2V5XSA9IGZpbHRlcmVkRGF0YTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5maWx0ZXJlZERhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgb25HcmlkUmVhZHkocGFyYW1zOiBHcmlkUmVhZHlFdmVudCwgaWQ6IG51bWJlcikge1xyXG4gICAgICAgIHBhcmFtcy5hcGkuc2l6ZUNvbHVtbnNUb0ZpdCgpO1xyXG4gICAgICAgIHRoaXMuZ3JpZENvbHVtbkFwaSA9IHBhcmFtcy5jb2x1bW5BcGk7XHJcbiAgICAgICAgdGhpcy5ncmlkQXBpc1tpZF0gPSBwYXJhbXMuYXBpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUV4cG9ydChvcHRpb246IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFeHBvcnRPcHRpb24gPSBvcHRpb247XHJcbiAgICAgICAgaWYgKCF0aGlzLmhhc0FueUdyb3VwcygpKSB7XHJcbiAgICAgICAgICAgIGFsZXJ0KFwiVGhlcmUgaXMgbm8gZGF0YSB0byBleHBvcnQgYmFzZWQgb24geW91ciBjdXJyZW50IGZpbHRlci5cIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgbm8gZGF0YSwgZG8gbm90aGluZy5cclxuICAgICAgICBpZiAoIXRoaXMuZmlsdGVyZWREYXRhIHx8IE9iamVjdC5rZXlzKHRoaXMuZmlsdGVyZWREYXRhKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgYWxlcnQoXCJObyBkYXRhIHRvIGV4cG9ydFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0aXRsZSA9IFwiVHJhbnNhY3Rpb24gTW9uaXRvcmluZ1wiO1xyXG4gICAgICAgIGNvbnN0IHJlcG9ydFRpbWVGb3JtYXR0ZXIgPSB0aGlzLmRhdGVWYWx1ZUZvcm1hdHRlcignZGQvTU0veXl5eSBoaDptbSBhJyk7XHJcbiAgICAgICAgY29uc3QgbWV0YWRhdGE6IFtzdHJpbmcsIHN0cmluZ11bXSA9IFtcclxuICAgICAgICAgICAgWydSZXBvcnQgUGVyaW9kICcsIHRoaXMuZnJvbURhdGUgKyBcIiAtIFwiICsgdGhpcy50b0RhdGVdLFxyXG4gICAgICAgICAgICBbJ1JlcG9ydCBVc2VyICYgVGltZScsIHRoaXMudXNlciA/IHRoaXMudXNlciArIFwiIEAgXCIgKyB0aGlzLnJlcG9ydERhdGUgOiAnJyArIFwiIEAgXCIgKyB0aGlzLnJlcG9ydERhdGVdLFxyXG4gICAgICAgIF07XHJcbiAgICAgICAgLy8gLS0tIHNlYXJjaCBjcml0ZXJpYSAtLS1cclxuICAgICAgICBjb25zdCBzZWFyY2hDcml0ZXJpYTogW3N0cmluZywgc3RyaW5nXVtdID0gdGhpcy5zZWFyY2hDcml0ZXJpYTtcclxuICAgICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5jb2x1bW5EZWZzO1xyXG4gICAgICAgLy8gY29uc3QgZGF0YSA9IHRoaXMuZGF0YU1hcDsgIFxyXG4gICAgICAgY29uc3QgZGF0YTogUmVjb3JkPHN0cmluZywgYW55W10+ID0ge307XHJcblxyXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHRoaXMuZGF0YU1hcCkuZm9yRWFjaCgoW3N0YXR1cywgcm93c10pID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY291bnQgPSByb3dzLmxlbmd0aDtcclxuICAgICAgICAgICAgY29uc3QgbmV3S2V5ID0gYCR7c3RhdHVzfSAtICR7Y291bnR9YDtcclxuICAgICAgICAgICAgZGF0YVtuZXdLZXldID0gcm93cztcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICAgICAgICBjdXJyZW5jeUZpZWxkczogW1xyXG4gICAgICAgICAgICAgICAgJ3BheW91dEFtb3VudCcsICdwYXlpbkFtb3VudCcsICd0cmFuc2FjdGlvbkNvbW1pc3Npb25BbW91bnQnLCAndGF4JywgJ3RvdGFsUGF5aW5BbW91bnQnXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIC8vIHNwZWNpZnkgYWxsIGRhdGUgZmllbGRzIGV4cGVjdGVkXHJcbiAgICAgICAgICAgIGRhdGVGaWVsZHM6IFtdLFxyXG5cclxuICAgICAgICAgICAgZGF0ZUZpZWxkRm9ybWF0czoge1xyXG4gICAgICAgICAgICAgICAgdHhuRGF0ZUFuZFRpbWU6ICdkZC9NTS95eXl5IGhoOm1tIGEnLFxyXG4gICAgICAgICAgICAgICAgY2FuY2VsbGF0aW9uQnJhbmNoRGF0ZVRpbWU6ICdkZC9NTS95eXl5IEhIOm1tJyxcclxuICAgICAgICAgICAgICAgIGNhbmNlbGxhdGlvbkJ1c2luZXNzRGF0ZTogJ2RkL01NL3l5eXknXHJcbiAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICBzcGVjaWFsRGVjaW1hbEZpZWxkczoge1xyXG4gICAgICAgICAgICAgICAgcmF0ZTogOCAgICAgICAvLyBmdXR1cmUgZmllbGQgd2l0aCA4IGRlY2ltYWwgcGxhY2VzXHJcbiAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICBncm91cEJ5S2V5OiB0cnVlXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgc3dpdGNoICh0aGlzLnNlbGVjdGVkRXhwb3J0T3B0aW9uKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ2V4Y2VsJzpcclxuICAgICAgICAgICAgICAgIHRoaXMuZXhwb3J0U2VydmljZS5leHBvcnRUb0V4Y2VsKHsgdGl0bGUsIG1ldGFkYXRhLCBzZWFyY2hDcml0ZXJpYSwgY29sdW1ucywgZGF0YSwgb3B0aW9ucyB9KTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdwZGYnOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5leHBvcnRTZXJ2aWNlLmV4cG9ydFRvUGRmKHsgdGl0bGUsIG1ldGFkYXRhLCBzZWFyY2hDcml0ZXJpYSwgY29sdW1ucywgZGF0YSwgb3B0aW9ucyB9KTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdjc3YnOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5leHBvcnRTZXJ2aWNlLmV4cG9ydFRvQ3N2KHsgdGl0bGUsIG1ldGFkYXRhLCBzZWFyY2hDcml0ZXJpYSwgY29sdW1ucywgZGF0YSwgb3B0aW9ucyB9KTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgYWxlcnQoXCJQbGVhc2Ugc2VsZWN0IGFuIGV4cG9ydCBmb3JtYXQuXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkYXRlVmFsdWVGb3JtYXR0ZXIoZm9ybWF0OiBzdHJpbmcpIHtcclxuICAgICAgICByZXR1cm4gKHBhcmFtczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghcGFyYW1zLnZhbHVlKSByZXR1cm4gJyc7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0RGF0ZShwYXJhbXMudmFsdWUsIGZvcm1hdCwgJ2VuLVVTJyk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2gge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldEtleXMob2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHN0cmluZ1tdIHtcclxuICAgICAgICByZXR1cm4gb2JqID8gT2JqZWN0LmtleXMob2JqKSA6IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIGhhc0FueUdyb3VwcygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJlZERhdGEgJiYgdGhpcy5nZXRLZXlzKHRoaXMuZmlsdGVyZWREYXRhKS5sZW5ndGggPiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGZvcm1hdEFtb3VudChwYXJhbXM6IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbXM/LnZhbHVlO1xyXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSAnJykge1xyXG4gICAgICAgICAgICBjb25zdCBudW0gPSBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgICAgICByZXR1cm4gKE1hdGgudHJ1bmMobnVtICogMTAwMCkgLyAxMDAwKS50b0ZpeGVkKDMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICBzdGF0dXNPcmRlck1hcDogYW55ID0ge1xyXG4gICAgICAgIFBlbmRpbmdBdXRob3Jpc2F0aW9uOiAxLFxyXG4gICAgICAgIENvbmZpcm1lZDogMixcclxuICAgICAgICBJbkFNTFJldmlldzogMyxcclxuICAgICAgICBJblByb2Nlc3M6IDMsXHJcbiAgICAgICAgQU1MUmVqZWN0ZWQ6IDQsXHJcbiAgICAgICAgRGVjbGluZTogNCxcclxuICAgICAgICBTdWJtaXR0ZWQ6IDUsXHJcbiAgICAgICAgRGlzcGF0Y2hlZDogNixcclxuICAgICAgICBQYWlkOiA3LFxyXG4gICAgICAgIEJhbmtSZWplY3RlZDogOCxcclxuICAgICAgICBTdG9wQXBwcm92ZWQ6IDksXHJcbiAgICAgICAgUmVhZHl0b0NhbmNlbDogMTAsXHJcbiAgICAgICAgQ2FuY2VsbGVkOiAxMSxcclxuICAgICAgICBQYWlkQ2FuY2VsbGVkOiAxMixcclxuICAgICAgICBWb2lkOiAxMyxcclxuICAgICAgICBSZWplY3RlZDogMTRcclxuICAgIH07XHJcblxyXG4gICAgc3RhdHVzT3JkZXJDb21wYXJhdG9yID0gKGE6IGFueSwgYjogYW55KTogbnVtYmVyID0+IHtcclxuICAgICAgICBjb25zdCBvcmRlckEgPSB0aGlzLnN0YXR1c09yZGVyTWFwW2Eua2V5XSA/PyAyMDtcclxuICAgICAgICBjb25zdCBvcmRlckIgPSB0aGlzLnN0YXR1c09yZGVyTWFwW2Iua2V5XSA/PyAyMDtcclxuICAgICAgICByZXR1cm4gb3JkZXJBIC0gb3JkZXJCO1xyXG4gICAgfTtcclxuICAgICBoYW5kbGVTZWFyY2goY3JpdGVyaWE6IGFueSk6IHZvaWQge1xyXG4gICAgICAgICBpZih0aGlzLmluaXRpYWxGaWx0ZXJzICE9bnVsbClcclxuICAgICAgICAge1xyXG4gICAgICAgICAgICAgY29uc3QgcmVhbHRpbWVTdGF0dXNlcyA9IFsnUGFpZCcsICdQYWlkQ2FuY2VsbGVkJywgJ0NhbmNlbGxlZCcsICdWb2lkJywgJ1JlamVjdGVkJ107XHJcbiAgICAgICAgICAgICBjb25zdCBpc1Rlcm1pbmF0aW5nU3RhdHVzID0gcmVhbHRpbWVTdGF0dXNlcy5pbmNsdWRlcyh0aGlzLmluaXRpYWxGaWx0ZXJzPy50cmFuc2FjdGlvblN0YXR1cyk7XHJcbiAgICAgICAgICAgICBjb25zdCBpc1plcm9Db3VudCA9IHRoaXMuaW5pdGlhbEZpbHRlcnM/LmNvdW50ID09PSAwO1xyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICAgLy8gYmxvY2sgYXBpIGNhbGxcclxuICAgICAgICAgICAgICBpZiAoaXNUZXJtaW5hdGluZ1N0YXR1cyAmJiBpc1plcm9Db3VudCAmJighY3JpdGVyaWEubW9kYWwuZnJvbURhdGUgJiYgIWNyaXRlcmlhLm1vZGFsLnRvRGF0ZSkpIFxyXG4gICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgIHRoaXMubm9EYXRhRm91bmQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgdGhpcy5zaG93UmVwb3J0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N0YXRlID0gQ29tcG9uZW50TG9hZGluZ1N0YXRlcy5Db21wbGV0ZTtcclxuICAgICAgICAgICAgIHRoaXMuY2xlYXJTZWFyY2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgIHRoaXMuc2hvd01lc3NhZ2UgPSB0cnVlO1xyXG4gICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICB9XHJcbiAgICAgXHJcbiAgICAgICAgIH1cclxuICAgICAgICAgICAgIHRoaXMuc2VhcmNoQ3JpdGVyaWEgPSBjcml0ZXJpYS5zZWFyY2hDcml0ZXJpYTtcclxuICAgICAgICAgICAgIHRoaXMucmVwb3J0RGF0ZSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcclxuICAgICAgICAgICAgIHRoaXMucmVwb3J0RGF0ZSA9IGZvcm1hdERhdGUodGhpcy5yZXBvcnREYXRlLCAnZGQvTU0veXl5eSBoaDptbSBhJywgJ2VuLVVTJyk7XHJcbiAgICAgICAgICAgICBjb25zdCBtb2RhbCA9IGNyaXRlcmlhLm1vZGFsO1xyXG4gICAgICAgICAgICAgdGhpcy51c2VyID0gY3JpdGVyaWEuc3lzVXNlcklEO1xyXG4gICAgICAgICAgICAgLy8gdGhpcy5mcm9tRGF0ZSA9IGZvcm1hdERhdGUobW9kYWwuZnJvbURhdGUsICdkZC9NTS95eXl5IGhoOm1tIGEnLCAnZW4tVVMnKS5zbGljZSgwLCAxMCk7XHJcbiAgICAgICAgICAgICAvLyB0aGlzLnRvRGF0ZSA9IGZvcm1hdERhdGUobW9kYWwudG9EYXRlLCAnZGQvTU0veXl5eSBoaDptbSBhJywgJ2VuLVVTJykuc2xpY2UoMCwgMTApO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgIHRoaXMuZnJvbURhdGUgPSBtb2RhbC5mcm9tRGF0ZVxyXG4gICAgICAgICAgICAgICAgID8gZm9ybWF0RGF0ZShtb2RhbC5mcm9tRGF0ZSwgJ2RkL01NL3l5eXkgaGg6bW0gYScsICdlbi1VUycpLnNsaWNlKDAsIDEwKVxyXG4gICAgICAgICAgICAgICAgIDogbnVsbDtcclxuICAgICBcclxuICAgICAgICAgICAgIHRoaXMudG9EYXRlID0gbW9kYWwudG9EYXRlXHJcbiAgICAgICAgICAgICAgICAgPyBmb3JtYXREYXRlKG1vZGFsLnRvRGF0ZSwgJ2RkL01NL3l5eXkgaGg6bW0gYScsICdlbi1VUycpLnNsaWNlKDAsIDEwKVxyXG4gICAgICAgICAgICAgICAgIDogbnVsbDtcclxuICAgICBcclxuICAgICAgICAgICAgIGNvbnNvbGUubG9nKG1vZGFsKTtcclxuICAgICAgICAgICAgIC8vIENvZGUgRm9yIE1ldGEgRGF0YVxyXG4gICAgICAgICAgICAgdGhpcy5sZWZ0RGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAvLyAnUmVwb3J0IFBlcmlvZCc6IHRoaXMuZnJvbURhdGUgKyBcIiAtIFwiICsgdGhpcy50b0RhdGUsXHJcbiAgICAgICAgICAgICAgICAgJ1JlcG9ydCBQZXJpb2QnOiB0aGlzLmZyb21EYXRlICYmIHRoaXMudG9EYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgID8gYCR7dGhpcy5mcm9tRGF0ZX0gLSAke3RoaXMudG9EYXRlfWBcclxuICAgICAgICAgICAgICAgICAgICAgOiAnJ1xyXG4gICAgICAgICAgICAgfVxyXG4gICAgIFxyXG4gICAgICAgICAgICAgdGhpcy5tZXRhRGF0YVR3byA9IHtcclxuICAgICAgICAgICAgICAgICAnUmVwb3J0IFVzZXIgJiBUaW1lJzogdGhpcy51c2VyICsgXCIgQCBcIiArIHRoaXMucmVwb3J0RGF0ZSxcclxuICAgICAgICAgICAgIH1cclxuICAgICBcclxuICAgICAgICAgICAgIGNvbnN0IHNlYXJjaERhdGEgPSB7XHJcbiAgICAgICAgICAgICAgICAgXCJTdGFydERhdGVcIjogbW9kYWwuZnJvbURhdGUsXHJcbiAgICAgICAgICAgICAgICAgXCJFbmREYXRlXCI6IG1vZGFsLnRvRGF0ZSxcclxuICAgICAgICAgICAgICAgICBcIlNlbmRDb3VudHJ5Q29kZVwiOiBtb2RhbC5zZW5kQ291bnRyeSxcclxuICAgICAgICAgICAgICAgICBcIlJlY3ZDb3VudHJ5Q29kZVwiOiBtb2RhbC5yZWNlaXZlQ291bnRyeSxcclxuICAgICAgICAgICAgICAgICBcIkJ1c2luZXNzUGFydG5lckNvZGVcIjogbW9kYWwuY2xpZW50LFxyXG4gICAgICAgICAgICAgICAgIFwiVHJhbnNhY3Rpb25TdGF0dXNcIjogbW9kYWwudHJhbnNhY3Rpb25TdGF0dXMuam9pbihcIixcIiksXHJcbiAgICAgICAgICAgICAgICAgXCJQYXlvdXRDdXJyZW5jeVwiOiBtb2RhbC5yZWNlaXZlQ3VycmVuY3ksXHJcbiAgICAgICAgICAgICAgICAgXCJUcmFuc2FjdGlvblR5cGVcIjogbW9kYWwucHJvZHVjdCxcclxuICAgICAgICAgICAgICAgICBcIkJyYW5jaENvZGVcIjogbW9kYWwuYnJhbmNoLFxyXG4gICAgICAgICAgICAgICAgIFwiSXNyZWFsVGltZVwiOiB0aGlzLmluaXRpYWxGaWx0ZXJzPy5pc1JlYWx0aW1lID8/IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgIFwiTG9nZ2VkSW5UaW1lXCI6IHRoaXMuaW5pdGlhbEZpbHRlcnM/LmxvZ2dlZEluVGltZSA/PyBudWxsXHJcbiAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgdGhpcy5zaG93TWVzc2FnZSA9IHRydWU7XHJcbiAgICAgICAgICAgICB0aGlzLmNsZWFyU2VhcmNoID0gdHJ1ZTtcclxuICAgICBcclxuICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N0YXRlID0gQ29tcG9uZW50TG9hZGluZ1N0YXRlcy5Mb2FkaW5nO1xyXG4gICAgICAgICAgICAgdGhpcy5yZXBvcnRTZXJ2aWNlLmdldFRyYW5zYWN0aW9uTW9uaXRvcmluZ1JlcG9ydChzZWFyY2hEYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICAgICAgIG5leHQ6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFNYXAgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSBkYXRhO1xyXG4gICAgICAgICAgICAgICAgICAgICB0aGlzLm5vRGF0YUZvdW5kID0gT2JqZWN0LmtleXModGhpcy5maWx0ZXJlZERhdGEpLmxlbmd0aCA9PSAwID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3h5RGF0YSA9IHN0cnVjdHVyZWRDbG9uZShkYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uQXJyYXkgPSBuZXcgQXJyYXkoT2JqZWN0LmtleXModGhpcy5maWx0ZXJlZERhdGEpLmxlbmd0aCkuZmlsbCgxNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd01lc3NhZ2UgPSBPYmplY3Qua2V5cyh0aGlzLmZpbHRlcmVkRGF0YSkubGVuZ3RoID09IDAgPyB0cnVlIDogZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1JlcG9ydCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTdGF0ZSA9IENvbXBvbmVudExvYWRpbmdTdGF0ZXMuQ29tcGxldGU7XHJcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2xlYXJTZWFyY2ggPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICB9LFxyXG4gICAgIFxyXG4gICAgICAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ1N0YXRlID0gQ29tcG9uZW50TG9hZGluZ1N0YXRlcy5Db21wbGV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93UmVwb3J0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhclNlYXJjaCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgIH1cclxuXHJcbiAgICBoYW5kbGVGb3JtVmFsaWQoaXNWYWxpZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNGb3JtVmFsaWQgPSBpc1ZhbGlkO1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8bGliLXNlYXJjaC1maWx0ZXIgXHJcbiAgICBbUmVwb3J0TmFtZV09XCJSZXBvcnROYW1lXCIgXHJcbiAgICBbaW5pdGlhbEZpbHRlcnNdPVwiaW5pdGlhbEZpbHRlcnNcIlxyXG4gICAgKHNlYXJjaENsaWNrZWQpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIlxyXG4gICAgKGZvcm1WYWxpZCk9XCJoYW5kbGVGb3JtVmFsaWQoJGV2ZW50KVwiPlxyXG48L2xpYi1zZWFyY2gtZmlsdGVyPlxyXG48YXBwLWxvYWRlciBjbGFzcz1cIlwiICpuZ0lmPVwibG9hZGluZ1N0YXRlID09IENvbXBvbmVudExvYWRpbmdTdGF0ZS5Mb2FkaW5nXCI+PC9hcHAtbG9hZGVyPlxyXG5cclxuPHNlY3Rpb24gKm5nSWY9XCJzaG93UmVwb3J0ICYmIGlzRm9ybVZhbGlkXCIgY2xhc3M9XCJteS0yXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFub0RhdGFGb3VuZFwiPlxyXG4gICAgIDxsaWItbWV0YWRhdGEgW3JlcG9ydE5hbWVdPVwiUmVwb3J0TmFtZVwiIFtzaG93bWV0YURhdGFPbmVdPVwidHJ1ZVwiIFtzaG93bWV0YURhdGFUd29dPVwidHJ1ZVwiIFttZXRhRGF0YU9uZV09XCJsZWZ0RGF0YVwiIFttZXRhRGF0YVR3b109XCJtZXRhRGF0YVR3b1wiKGV4cG9ydEV2ZW50KT1cImhhbmRsZUV4cG9ydCgkZXZlbnQpXCIgKHNlYXJjaEV2ZW50KT1cImZpbHRlcigkZXZlbnQpXCI+PC9saWItbWV0YWRhdGE+XHJcblxyXG4gIDxuZ2ItYWNjb3JkaW9uICNhY2M9XCJuZ2JBY2NvcmRpb25cIiBbY2xvc2VPdGhlcnNdPVwiZmFsc2VcIj5cclxuICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZERhdGEgfCBrZXl2YWx1ZTsgbGV0IGkgPSBpbmRleFwiPiAtLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkRGF0YSB8IGtleXZhbHVlOiBzdGF0dXNPcmRlckNvbXBhcmF0b3I7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgPG5nYi1wYW5lbCAqbmdJZj1cIml0ZW0udmFsdWUubGVuZ3RoID4gMFwiIFtpZF09XCIncGFuZWwtJyArIGlcIj5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nYlBhbmVsVGl0bGUgc3R5bGU9XCJoZWlnaHQ6IDEwJTtcIj5cclxuICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICBjbGFzcz1cInBhbmVsLWNsc1wiPnt7XHJcbiAgICAgICAgICAgIGl0ZW0ua2V5IH19IC0ge3tpdGVtLnZhbHVlLmxlbmd0aFxyXG4gICAgICAgICAgICB9fTwvbGFiZWw+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nYlBhbmVsQ29udGVudD5cclxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7XCI+XHJcbiAgICAgICAgICAgIDxsaWItcGFnZS1zaXplLXNlbGVjdG9yIFt0b3RhbEVudHJpZXNdPVwiaXRlbT8udmFsdWU/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAgIFtkZWZhdWx0U2l6ZV09XCInMTUnXCIgW2dyaWRBcGldPVwiZ3JpZEFwaXNbaV1cIj5cclxuICAgICAgICAgICAgPjwvbGliLXBhZ2Utc2l6ZS1zZWxlY3Rvcj5cclxuXHJcbiAgICAgICAgICAgIDxhZy1ncmlkLWFuZ3VsYXIgY2xhc3M9XCJhZy10aGVtZS1hbHBpbmUgdHJhbnNhY3Rpb24tZ3JpZFwiIHN0eWxlPVwid2lkdGg6IDEwMCU7aGVpZ2h0OiAzODBweDtcIlxyXG4gICAgICAgICAgICAgIFtjb2x1bW5EZWZzXT1cImNvbHVtbkRlZnNcIiBbZGVmYXVsdENvbERlZl09XCJkZWZhdWx0Q29sRGVmXCIgW3Jvd0RhdGFdPVwiaXRlbS52YWx1ZVwiIFtyb3dIZWlnaHRdPVwiMjBcIlxyXG4gICAgICAgICAgICAgIFtoZWFkZXJIZWlnaHRdPVwiMjJcIltwYWdpbmF0aW9uXT1cInRydWVcIiBbcGFnaW5hdGlvblBhZ2VTaXplXT1cInBhZ2luYXRpb25BcnJheVtpXVwiIChncmlkUmVhZHkpPVwib25HcmlkUmVhZHkoJGV2ZW50LGkpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvYWctZ3JpZC1hbmd1bGFyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgIDwvbmdiLXBhbmVsPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZ2ItYWNjb3JkaW9uPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC13YXJuaW5nIG10LTNcIiAqbmdJZj1cIm5vRGF0YUZvdW5kXCI+XHJcbiAgICBObyBEYXRhIGZvdW5kIG1hdGNoaW5nIHlvdXIgc2VhcmNoIGNyaXRlcmlhLlxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+Il19
@@ -620,7 +620,7 @@ export class TrialBalanceAccountsReportComponent {
620
620
  }
621
621
  }
622
622
  TrialBalanceAccountsReportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TrialBalanceAccountsReportComponent, deps: [{ token: i1.ReportService }, { token: i2.ExportService }], target: i0.ɵɵFactoryTarget.Component });
623
- TrialBalanceAccountsReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TrialBalanceAccountsReportComponent, selector: "lib-trial-balance-accounts-report", host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<lib-search-filter [ReportName]=\"ReportName\" (searchClicked)=\"getReport($event)\"\r\n (formValid)=\"handleFormValid($event)\"></lib-search-filter>\r\n<app-loader class=\"\" *ngIf=\"loadingState == ComponentLoadingState.Loading\"></app-loader>\r\n\r\n<div *ngIf=\"dataReady && trialBalanceReport?.mainCOAGroups?.length > 0 &&isFormValid\">\r\n <lib-metadata [reportName]=\"'Xpress Money - MI Accounts'\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"true\"\r\n [metaDataOne]=\"metaDataOne\" [metaDataTwo]=\"metaDataTwo\" (exportEvent)=\"handleExport($event)\"\r\n (searchEvent)=\"onSearch($event)\"></lib-metadata>\r\n\r\n <div style=\"position: relative;\" *ngIf=\"rowData && rowData.length > 0\">\r\n <lib-page-size-selector [totalEntries]=\"rowData?.length\" [defaultSize]=\"'15'\"\r\n [gridApi]=\"gridApi\"></lib-page-size-selector>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine transaction-grid\" style=\"height: 380px;\" [domLayout]=\"'normal'\"\r\n [rowData]=\"rowData\" [defaultColDef]=\"defaultColDef\" [columnDefs]=\"columnDefs\" [rowClassRules]=\"rowClassRules\"\r\n [pagination]=\"true\" (gridReady)=\"onGridReady($event)\" [paginationPageSize]=\"pageSize\" [rowHeight]=\"20\"\r\n [headerHeight]=\"22\" (paginationChanged)=\"onResize()\"></ag-grid-angular>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"alert alert-warning mt-3\" *ngIf=\"trialBalanceReport?.mainCOAGroups?.length==0\">\r\n No Data found matching your search criteria.\r\n</div>", styles: [".transaction-grid ::ng-deep .ag-header{background-color:#f9f9f9;font-weight:600;font-size:10px;color:#000;border-right:1px solid #e0e0e0}:host ::ng-deep .ag-header-cell{padding:2px!important;align-items:center!important;justify-content:center!important;border-right:1px solid #e0e0e0;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-align:center!important}::ng-deep .ag-header-cell-label{display:flex!important;justify-content:center!important;align-items:center!important;width:100%;text-align:center!important}::ng-deep .ag-header-cell-text{text-align:center!important;width:100%!important;display:flex!important;justify-content:center!important}.transaction-grid ::ng-deep .ag-row{border-bottom:1px solid #e0e0e0}.transaction-grid ::ng-deep .ag-cell{font-size:9px;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere;line-height:1.4;padding:4px!important;color:#000;font-weight:500;border-right:.5px solid #e0e0e0;align-content:center;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;cursor:text}::ng-deep .ag-cell-label-container{padding:0!important}.ag-theme-alpine{--ag-header-font-size: 10px;--ag-font-size: 10px;--ag-header-background-color: #fdfdfd;--ag-header-foreground-color: rgb(0, 0, 0)}::ng-deep .ag-paging-panel{height:30px!important;font-weight:500!important}.transaction-grid ::ng-deep .ag-row.total-row .ag-cell{font-weight:700!important}.transaction-grid ::ng-deep .ag-cell.total-positive{font-weight:700!important;color:#000!important}.transaction-grid ::ng-deep .ag-cell.total-negative{font-weight:700!important;color:red!important}.transaction-grid ::ng-deep .ag-cell.positive-value{color:#000!important}.transaction-grid ::ng-deep .ag-cell.negative-value{color:red!important}\n"], dependencies: [{ kind: "component", type: i3.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PageSizeSelectorComponent, selector: "lib-page-size-selector", inputs: ["pageSizeArray", "defaultSize", "totalEntries", "gridApi"] }, { kind: "component", type: i6.MetadataComponent, selector: "lib-metadata", inputs: ["metaDataOne", "metaDataTwo", "showmetaDataOne", "showmetaDataTwo", "reportName"], outputs: ["searchEvent", "exportEvent"] }, { kind: "component", type: i7.LoaderComponent, selector: "app-loader" }, { kind: "component", type: i8.SearchFilterComponent, selector: "lib-search-filter", inputs: ["ReportName"], outputs: ["searchClicked", "formValid"] }] });
623
+ TrialBalanceAccountsReportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TrialBalanceAccountsReportComponent, selector: "lib-trial-balance-accounts-report", host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<lib-search-filter [ReportName]=\"ReportName\" (searchClicked)=\"getReport($event)\"\r\n (formValid)=\"handleFormValid($event)\"></lib-search-filter>\r\n<app-loader class=\"\" *ngIf=\"loadingState == ComponentLoadingState.Loading\"></app-loader>\r\n\r\n<div *ngIf=\"dataReady && trialBalanceReport?.mainCOAGroups?.length > 0 &&isFormValid\">\r\n <lib-metadata [reportName]=\"'Xpress Money - MI Accounts'\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"true\"\r\n [metaDataOne]=\"metaDataOne\" [metaDataTwo]=\"metaDataTwo\" (exportEvent)=\"handleExport($event)\"\r\n (searchEvent)=\"onSearch($event)\"></lib-metadata>\r\n\r\n <div style=\"position: relative;\" *ngIf=\"rowData && rowData.length > 0\">\r\n <lib-page-size-selector [totalEntries]=\"rowData?.length\" [defaultSize]=\"'15'\"\r\n [gridApi]=\"gridApi\"></lib-page-size-selector>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine transaction-grid\" style=\"height: 380px;\" [domLayout]=\"'normal'\"\r\n [rowData]=\"rowData\" [defaultColDef]=\"defaultColDef\" [columnDefs]=\"columnDefs\" [rowClassRules]=\"rowClassRules\"\r\n [pagination]=\"true\" (gridReady)=\"onGridReady($event)\" [paginationPageSize]=\"pageSize\" [rowHeight]=\"20\"\r\n [headerHeight]=\"22\" (paginationChanged)=\"onResize()\"></ag-grid-angular>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"alert alert-warning mt-3\" *ngIf=\"trialBalanceReport?.mainCOAGroups?.length==0\">\r\n No Data found matching your search criteria.\r\n</div>", styles: [".transaction-grid ::ng-deep .ag-header{background-color:#f9f9f9;font-weight:600;font-size:10px;color:#000;border-right:1px solid #e0e0e0}:host ::ng-deep .ag-header-cell{padding:2px!important;align-items:center!important;justify-content:center!important;border-right:1px solid #e0e0e0;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-align:center!important}::ng-deep .ag-header-cell-label{display:flex!important;justify-content:center!important;align-items:center!important;width:100%;text-align:center!important}::ng-deep .ag-header-cell-text{text-align:center!important;width:100%!important;display:flex!important;justify-content:center!important}.transaction-grid ::ng-deep .ag-row{border-bottom:1px solid #e0e0e0}.transaction-grid ::ng-deep .ag-cell{font-size:9px;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere;line-height:1.4;padding:4px!important;color:#000;font-weight:500;border-right:.5px solid #e0e0e0;align-content:center;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;cursor:text}::ng-deep .ag-cell-label-container{padding:0!important}.ag-theme-alpine{--ag-header-font-size: 10px;--ag-font-size: 10px;--ag-header-background-color: #fdfdfd;--ag-header-foreground-color: rgb(0, 0, 0)}::ng-deep .ag-paging-panel{height:30px!important;font-weight:500!important}.transaction-grid ::ng-deep .ag-row.total-row .ag-cell{font-weight:700!important}.transaction-grid ::ng-deep .ag-cell.total-positive{font-weight:700!important;color:#000!important}.transaction-grid ::ng-deep .ag-cell.total-negative{font-weight:700!important;color:red!important}.transaction-grid ::ng-deep .ag-cell.positive-value{color:#000!important}.transaction-grid ::ng-deep .ag-cell.negative-value{color:red!important}\n"], dependencies: [{ kind: "component", type: i3.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "suppressMenuHide", "enableBrowserTooltips", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "maintainColumnOrder", "suppressFieldDotNotation", "deltaColumnMode", "applyColumnDefOrder", "immutableColumns", "suppressSetColumnStateEvents", "suppressColumnStateEvents", "colWidth", "minColWidth", "maxColWidth", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressDragLeaveHidesColumns", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "components", "frameworkComponents", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterMovesDown", "enterMovesDownAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "stopEditingWhenGridLosesFocus", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "defaultExportParams", "quickFilterText", "cacheQuickFilter", "excludeChildrenWhenTreeDataFiltering", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "enableChartToolPanelsButton", "chartToolPanelsDef", "loadingCellRenderer", "loadingCellRendererFramework", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererFramework", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressParentsInRowNodes", "suppressTouch", "suppressFocusAfterRefresh", "suppressAsyncEvents", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentFramework", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentFramework", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "suppressAggAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "enableCellChangeFlash", "cellFlashDelay", "cellFadeDelay", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererFramework", "fullWidthCellRendererParams", "embedFullWidthRows", "deprecatedEmbedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupAggFiltering", "groupIncludeFooter", "groupIncludeTotalFooter", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererFramework", "groupRowRendererParams", "suppressMakeColumnVisibleAfterUnGroup", "treeData", "rowGroupPanelSuppressSort", "groupRowsSticky", "groupRowInnerRenderer", "groupRowInnerRendererFramework", "groupMultiAutoColumn", "groupUseEntireRow", "groupSuppressAutoColumn", "rememberGroupStateWhenNewData", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "immutableData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "deltaRowDataMode", "batchUpdateWaitMillis", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "serverSideStoreType", "serverSideInfiniteScroll", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideFilterAllLevels", "serverSideSortOnServer", "serverSideFilterOnServer", "serverSideSortingAlwaysResets", "serverSideFilteringAlwaysResets", "suppressEnterpriseResetOnNewColumns", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellSelection", "suppressCellFocus", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "deltaSort", "treeDataDisplayType", "angularCompileRows", "angularCompileFilters", "functionsPassive", "enableGroupEdit", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "suppressKeyboardEvent", "localeTextFunc", "getLocaleText", "getDocument", "paginationNumberFormatter", "groupRowAggNodes", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "defaultGroupOrderComparator", "processSecondaryColDef", "processSecondaryColGroupDef", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "defaultGroupSortComparator", "getChildCount", "getServerSideGroupLevelParams", "getServerSideStoreParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowNodeId", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSort", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthCell", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "filterOpened", "filterChanged", "filterModified", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "cellKeyPress", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pinnedRowDataChanged", "rowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "sortChanged", "columnRowGroupChangeRequest", "columnPivotChangeRequest", "columnValueChangeRequest", "columnAggFuncChangeRequest"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PageSizeSelectorComponent, selector: "lib-page-size-selector", inputs: ["pageSizeArray", "defaultSize", "totalEntries", "gridApi"] }, { kind: "component", type: i6.MetadataComponent, selector: "lib-metadata", inputs: ["metaDataOne", "metaDataTwo", "showmetaDataOne", "showmetaDataTwo", "reportName"], outputs: ["searchEvent", "exportEvent"] }, { kind: "component", type: i7.LoaderComponent, selector: "app-loader" }, { kind: "component", type: i8.SearchFilterComponent, selector: "lib-search-filter", inputs: ["ReportName", "initialFilters"], outputs: ["searchClicked", "formValid"] }] });
624
624
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TrialBalanceAccountsReportComponent, decorators: [{
625
625
  type: Component,
626
626
  args: [{ selector: 'lib-trial-balance-accounts-report', template: "<lib-search-filter [ReportName]=\"ReportName\" (searchClicked)=\"getReport($event)\"\r\n (formValid)=\"handleFormValid($event)\"></lib-search-filter>\r\n<app-loader class=\"\" *ngIf=\"loadingState == ComponentLoadingState.Loading\"></app-loader>\r\n\r\n<div *ngIf=\"dataReady && trialBalanceReport?.mainCOAGroups?.length > 0 &&isFormValid\">\r\n <lib-metadata [reportName]=\"'Xpress Money - MI Accounts'\" [showmetaDataOne]=\"true\" [showmetaDataTwo]=\"true\"\r\n [metaDataOne]=\"metaDataOne\" [metaDataTwo]=\"metaDataTwo\" (exportEvent)=\"handleExport($event)\"\r\n (searchEvent)=\"onSearch($event)\"></lib-metadata>\r\n\r\n <div style=\"position: relative;\" *ngIf=\"rowData && rowData.length > 0\">\r\n <lib-page-size-selector [totalEntries]=\"rowData?.length\" [defaultSize]=\"'15'\"\r\n [gridApi]=\"gridApi\"></lib-page-size-selector>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine transaction-grid\" style=\"height: 380px;\" [domLayout]=\"'normal'\"\r\n [rowData]=\"rowData\" [defaultColDef]=\"defaultColDef\" [columnDefs]=\"columnDefs\" [rowClassRules]=\"rowClassRules\"\r\n [pagination]=\"true\" (gridReady)=\"onGridReady($event)\" [paginationPageSize]=\"pageSize\" [rowHeight]=\"20\"\r\n [headerHeight]=\"22\" (paginationChanged)=\"onResize()\"></ag-grid-angular>\r\n\r\n </div>\r\n\r\n</div>\r\n\r\n<div class=\"alert alert-warning mt-3\" *ngIf=\"trialBalanceReport?.mainCOAGroups?.length==0\">\r\n No Data found matching your search criteria.\r\n</div>", styles: [".transaction-grid ::ng-deep .ag-header{background-color:#f9f9f9;font-weight:600;font-size:10px;color:#000;border-right:1px solid #e0e0e0}:host ::ng-deep .ag-header-cell{padding:2px!important;align-items:center!important;justify-content:center!important;border-right:1px solid #e0e0e0;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-align:center!important}::ng-deep .ag-header-cell-label{display:flex!important;justify-content:center!important;align-items:center!important;width:100%;text-align:center!important}::ng-deep .ag-header-cell-text{text-align:center!important;width:100%!important;display:flex!important;justify-content:center!important}.transaction-grid ::ng-deep .ag-row{border-bottom:1px solid #e0e0e0}.transaction-grid ::ng-deep .ag-cell{font-size:9px;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere;line-height:1.4;padding:4px!important;color:#000;font-weight:500;border-right:.5px solid #e0e0e0;align-content:center;user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;cursor:text}::ng-deep .ag-cell-label-container{padding:0!important}.ag-theme-alpine{--ag-header-font-size: 10px;--ag-font-size: 10px;--ag-header-background-color: #fdfdfd;--ag-header-foreground-color: rgb(0, 0, 0)}::ng-deep .ag-paging-panel{height:30px!important;font-weight:500!important}.transaction-grid ::ng-deep .ag-row.total-row .ag-cell{font-weight:700!important}.transaction-grid ::ng-deep .ag-cell.total-positive{font-weight:700!important;color:#000!important}.transaction-grid ::ng-deep .ag-cell.total-negative{font-weight:700!important;color:red!important}.transaction-grid ::ng-deep .ag-cell.positive-value{color:#000!important}.transaction-grid ::ng-deep .ag-cell.negative-value{color:red!important}\n"] }]
@@ -1,3 +1,3 @@
1
1
  export class BranchActivityReport {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmNoLWFjdGl2aXR5LXNlbmQtcmVwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9tb2RlbHMvYnJhbmNoLWFjdGl2aXR5LXJlcG9ydC9icmFuY2gtYWN0aXZpdHktc2VuZC1yZXBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLG9CQUFvQjtDQWlCaEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJyYW5jaEFjdGl2aXR5UmVwb3J0RGljdGlvbmF5e1xyXG4gIFxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQnJhbmNoQWN0aXZpdHlSZXBvcnQge1xyXG4gIFNlbmRBZ2VudEJyYW5jaE5hbWVBbmRDb2RlOiBzdHJpbmc7XHJcbiAgQnVzaW5lc3NEYXRlVGltZTogc3RyaW5nO1xyXG4gIFRyYW5zYWN0aW9uRGF0ZVRpbWU6IHN0cmluZztcclxuICBUcmFuc2FjdGlvbk51bWJlcjogc3RyaW5nO1xyXG4gIFByb2R1Y3Q6IHN0cmluZztcclxuICBTZW5kQWdlbnRCcmFuY2hDb2RlOiBzdHJpbmc7XHJcbiAgU2VuZFByaW5jaXBhbEFnZW50Q29kZTogc3RyaW5nO1xyXG4gIFJlY2VpdmVBZ2VudENvZGU6IHN0cmluZztcclxuICBQYXlvdXRDQ2NvZGU6IHN0cmluZztcclxuICBQYXlvdXRBbW91bnQ/OiBudW1iZXI7XHJcbiAgUGF5aW5DQ2NvZGU6IHN0cmluZztcclxuICBQYXlpbkFtb3VudD86IG51bWJlcjtcclxuICBUcmFuc2FjdGlvbkNvbW1pc3Npb25BbW91bnQ/OiBudW1iZXI7XHJcbiAgVGF4PzogbnVtYmVyO1xyXG4gIFRvdGFsUGF5aW5BbW91bnQ/OiBudW1iZXI7XHJcbiAgU3RhdHVzOiBzdHJpbmc7XHJcbn1cclxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmNoLWFjdGl2aXR5LXNlbmQtcmVwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9tb2RlbHMvYnJhbmNoLWFjdGl2aXR5LXJlcG9ydC9icmFuY2gtYWN0aXZpdHktc2VuZC1yZXBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLG9CQUFvQjtDQXFCaEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJyYW5jaEFjdGl2aXR5UmVwb3J0RGljdGlvbmF5e1xyXG4gIFxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQnJhbmNoQWN0aXZpdHlSZXBvcnQge1xyXG4gIFNlbmRBZ2VudEJyYW5jaE5hbWVBbmRDb2RlOiBzdHJpbmc7XHJcbiAgQnVzaW5lc3NEYXRlVGltZTogc3RyaW5nO1xyXG4gIFRyYW5zYWN0aW9uRGF0ZVRpbWU6IHN0cmluZztcclxuICBUcmFuc2FjdGlvbk51bWJlcjogc3RyaW5nO1xyXG4gIFByb2R1Y3Q6IHN0cmluZztcclxuICBTZW5kQWdlbnRCcmFuY2hDb2RlOiBzdHJpbmc7XHJcbiAgU2VuZFByaW5jaXBhbEFnZW50Q29kZTogc3RyaW5nO1xyXG4gIFJlY2VpdmVBZ2VudENvZGU6IHN0cmluZztcclxuICBQYXlvdXRDQ2NvZGU6IHN0cmluZztcclxuICBQYXlvdXRBbW91bnQ/OiBudW1iZXI7XHJcbiAgUGF5aW5DQ2NvZGU6IHN0cmluZztcclxuICBQYXlpbkFtb3VudD86IG51bWJlcjtcclxuICBUcmFuc2FjdGlvbkNvbW1pc3Npb25BbW91bnQ/OiBudW1iZXI7XHJcbiAgVGF4PzogbnVtYmVyO1xyXG4gIFRvdGFsUGF5aW5BbW91bnQ/OiBudW1iZXI7XHJcbiAgU3RhdHVzOiBzdHJpbmc7XHJcbiAgVHJhbnNhY3Rpb25Db3VudDogbnVtYmVyO1xyXG4gIHBheWluQ0Njb2RlOiBzdHJpbmc7XHJcbiAgSXNUb3RhbFJvdzpib29sZWFuXHJcbiAgaXNUb3RhbFJvdzogYm9vbGVhbjtcclxufVxyXG4iXX0=