@sachin9822/reports-lib 0.0.69 → 0.0.71

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.
@@ -1,7 +1,7 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { ReportsLibComponent } from './reports-lib.component';
3
3
  import { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';
4
- import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
4
+ import { HTTP_INTERCEPTORS } from '@angular/common/http';
5
5
  import { AgGridModule } from 'ag-grid-angular';
6
6
  import { ReportsLibRoutingModule } from './reports-lib-routing.module';
7
7
  import { OAuthModule, OAuthService } from 'angular-oauth2-oidc';
@@ -18,11 +18,9 @@ export class ReportsLibModule {
18
18
  }
19
19
  ReportsLibModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
20
  ReportsLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, declarations: [ReportsLibComponent,
21
- AccGlDetailsEnquiryReportComponent], imports: [HttpClientModule,
22
- AgGridModule,
21
+ AccGlDetailsEnquiryReportComponent], imports: [AgGridModule,
23
22
  ReportsLibRoutingModule,
24
- CommonModule,
25
- HttpClientModule, i1.NgIdleModule, i2.OAuthModule, FormsModule], exports: [ReportsLibComponent,
23
+ CommonModule, i1.NgIdleModule, i2.OAuthModule, FormsModule], exports: [ReportsLibComponent,
26
24
  AccGlDetailsEnquiryReportComponent] });
27
25
  ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, providers: [
28
26
  ActiveXService,
@@ -33,11 +31,9 @@ ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
33
31
  deps: [OAuthService, ActiveXService, SessionService],
34
32
  multi: true
35
33
  },
36
- ], imports: [HttpClientModule,
37
- AgGridModule,
34
+ ], imports: [AgGridModule,
38
35
  ReportsLibRoutingModule,
39
36
  CommonModule,
40
- HttpClientModule,
41
37
  NgIdleModule.forRoot(),
42
38
  OAuthModule.forRoot(),
43
39
  FormsModule] });
@@ -49,11 +45,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
49
45
  AccGlDetailsEnquiryReportComponent
50
46
  ],
51
47
  imports: [
52
- HttpClientModule,
53
48
  AgGridModule,
54
49
  ReportsLibRoutingModule,
55
50
  CommonModule,
56
- HttpClientModule,
57
51
  NgIdleModule.forRoot(),
58
52
  OAuthModule.forRoot(),
59
53
  FormsModule
@@ -74,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
74
68
  ]
75
69
  }]
76
70
  }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy1saWIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9yZXBvcnRzLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvRkFBb0YsQ0FBQztBQUN4SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUF1QzdDLE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkEvQnpCLG1CQUFtQjtRQUVuQixrQ0FBa0MsYUFHaEMsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWix1QkFBdUI7UUFDbkIsWUFBWTtRQUNaLGdCQUFnQixtQ0FHbkIsV0FBVyxhQWVkLG1CQUFtQjtRQUNuQixrQ0FBa0M7OEdBR3pCLGdCQUFnQixhQWZ6QjtRQUNLLGNBQWM7UUFDYixjQUFjO1FBQ2hCO1lBQ00sT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLElBQUksRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDO1lBQ3BELEtBQUssRUFBRSxJQUFJO1NBQ2Q7S0FDTixZQXBCQyxnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLHVCQUF1QjtRQUNuQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFlBQVksQ0FBQyxPQUFPLEVBQUU7UUFDekIsV0FBVyxDQUFDLE9BQU8sRUFBRTtRQUNyQixXQUFXOzJGQW1CTCxnQkFBZ0I7a0JBakM1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBRW5CLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ25CLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixZQUFZLENBQUMsT0FBTyxFQUFFO3dCQUN6QixXQUFXLENBQUMsT0FBTyxFQUFFO3dCQUNyQixXQUFXO3FCQUVmO29CQUNDLFNBQVMsRUFDVDt3QkFDSyxjQUFjO3dCQUNiLGNBQWM7d0JBQ2hCOzRCQUNNLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFFBQVEsRUFBRSxtQkFBbUI7NEJBQzdCLElBQUksRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsY0FBYyxDQUFDOzRCQUNwRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDTjtvQkFDSCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3dCQUNuQixrQ0FBa0M7cUJBQ25DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmVwb3J0c0xpYkNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0cy1saWIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY2MtZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydC9hY2MtZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUywgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQWdHcmlkTW9kdWxlIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcclxuaW1wb3J0IHsgUmVwb3J0c0xpYlJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3JlcG9ydHMtbGliLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgT0F1dGhNb2R1bGUsIE9BdXRoU2VydmljZSwgT0F1dGhTdG9yYWdlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XHJcbmltcG9ydCB7IEF1dGhIdHRwSW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyY2VwdG9ycy9hdXRoLWh0dHAuaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBBY3RpdmVYU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYWN0aXZlLXguc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE5nSWRsZU1vZHVsZSB9IGZyb20gJ0BuZy1pZGxlL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcblxyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUmVwb3J0c0xpYkNvbXBvbmVudCxcclxuICAgICBcclxuICAgIEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgICAgQWdHcmlkTW9kdWxlLFxyXG4gICAgICBSZXBvcnRzTGliUm91dGluZ01vZHVsZSxcclxuICAgICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICAgICAgICBOZ0lkbGVNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgT0F1dGhNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgRm9ybXNNb2R1bGVcclxuICAgICAgXHJcbiAgXSxcclxuICAgIHByb3ZpZGVyczogXHJcbiAgICBbXHJcbiAgICAgICAgIEFjdGl2ZVhTZXJ2aWNlLFxyXG4gICAgICAgICAgU2Vzc2lvblNlcnZpY2UsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxyXG4gICAgICAgICAgICAgIHVzZUNsYXNzOiBBdXRoSHR0cEludGVyY2VwdG9yLFxyXG4gICAgICAgICAgICAgIGRlcHM6IFtPQXV0aFNlcnZpY2UsIEFjdGl2ZVhTZXJ2aWNlLCBTZXNzaW9uU2VydmljZV0sXHJcbiAgICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICAgIH0sXHJcbiAgICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJlcG9ydHNMaWJDb21wb25lbnQsXHJcbiAgICBBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0c0xpYk1vZHVsZSB7IH1cclxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy1saWIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9yZXBvcnRzLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvRkFBb0YsQ0FBQztBQUN4SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFxQzdDLE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkE3QnpCLG1CQUFtQjtRQUVuQixrQ0FBa0MsYUFHaEMsWUFBWTtRQUNaLHVCQUF1QjtRQUNuQixZQUFZLG1DQUdmLFdBQVcsYUFlZCxtQkFBbUI7UUFDbkIsa0NBQWtDOzhHQUd6QixnQkFBZ0IsYUFmekI7UUFDSyxjQUFjO1FBQ2IsY0FBYztRQUNoQjtZQUNNLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQztZQUNwRCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ04sWUFsQkMsWUFBWTtRQUNaLHVCQUF1QjtRQUNuQixZQUFZO1FBQ1osWUFBWSxDQUFDLE9BQU8sRUFBRTtRQUN6QixXQUFXLENBQUMsT0FBTyxFQUFFO1FBQ3JCLFdBQVc7MkZBbUJMLGdCQUFnQjtrQkEvQjVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG1CQUFtQjt3QkFFbkIsa0NBQWtDO3FCQUNuQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ25CLFlBQVk7d0JBQ1osWUFBWSxDQUFDLE9BQU8sRUFBRTt3QkFDekIsV0FBVyxDQUFDLE9BQU8sRUFBRTt3QkFDckIsV0FBVztxQkFFZjtvQkFDQyxTQUFTLEVBQ1Q7d0JBQ0ssY0FBYzt3QkFDYixjQUFjO3dCQUNoQjs0QkFDTSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsbUJBQW1COzRCQUM3QixJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ047b0JBQ0gsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsa0NBQWtDO3FCQUNuQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlcG9ydHNMaWJDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydHMtbGliLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQvYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFnR3JpZE1vZHVsZSB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XHJcbmltcG9ydCB7IFJlcG9ydHNMaWJSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9yZXBvcnRzLWxpYi1yb3V0aW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IE9BdXRoTW9kdWxlLCBPQXV0aFNlcnZpY2UsIE9BdXRoU3RvcmFnZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xyXG5pbXBvcnQgeyBBdXRoSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvYXV0aC1odHRwLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgQWN0aXZlWFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FjdGl2ZS14LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBOZ0lkbGVNb2R1bGUgfSBmcm9tICdAbmctaWRsZS9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFJlcG9ydHNMaWJDb21wb25lbnQsXHJcbiAgICAgXHJcbiAgICBBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0Q29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICAgIEFnR3JpZE1vZHVsZSxcclxuICAgICAgUmVwb3J0c0xpYlJvdXRpbmdNb2R1bGUsXHJcbiAgICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgICBOZ0lkbGVNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgT0F1dGhNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgRm9ybXNNb2R1bGVcclxuICAgICAgXHJcbiAgXSxcclxuICAgIHByb3ZpZGVyczogXHJcbiAgICBbXHJcbiAgICAgICAgIEFjdGl2ZVhTZXJ2aWNlLFxyXG4gICAgICAgICAgU2Vzc2lvblNlcnZpY2UsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxyXG4gICAgICAgICAgICAgIHVzZUNsYXNzOiBBdXRoSHR0cEludGVyY2VwdG9yLFxyXG4gICAgICAgICAgICAgIGRlcHM6IFtPQXV0aFNlcnZpY2UsIEFjdGl2ZVhTZXJ2aWNlLCBTZXNzaW9uU2VydmljZV0sXHJcbiAgICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICAgIH0sXHJcbiAgICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJlcG9ydHNMaWJDb21wb25lbnQsXHJcbiAgICBBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0c0xpYk1vZHVsZSB7IH1cclxuIl19
@@ -8,12 +8,12 @@ export class ReportService {
8
8
  this.errorHandler = errorHandler;
9
9
  this.injector = injector;
10
10
  this.systemReportUrl = '/api/v1/CompanyConfiguration/SystemReports';
11
- this.serviceUrl = "https://4xplus-local.xpressmoney.tech:8699";
12
- this.reportUrl = "/api/v1/Report";
11
+ this.serviceUrl = "https://4xplus-local.xpressmoney.tech:8752";
12
+ this.AccGlDetailsEnquiryReportUrl = "/api/v1/Report/AccGlDetailsEnquiryReport";
13
13
  }
14
14
  getAccGLDetailsReport(formattedDate, dateType, sysCompanyCode, sysUserId, companyName) {
15
15
  if (formattedDate) {
16
- const apiPath = `${this.serviceUrl}${this.reportUrl}/AccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;
16
+ const apiPath = `${this.serviceUrl}${this.AccGlDetailsEnquiryReportUrl}/GetAccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;
17
17
  return this.http.get(apiPath);
18
18
  }
19
19
  else {
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
41
41
  providedIn: 'root'
42
42
  }]
43
43
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.ErrorHandler }, { type: i0.Injector }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZXBvcnRzLWxpYi9zcmMvbGliL3NlcnZpY2VzL3JlcG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU05QyxNQUFNLE9BQU8sYUFBYTtJQVV4QixZQUFvQixJQUFnQixFQUFVLFlBQTBCLEVBQVUsUUFBa0I7UUFBaEYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUo1RixvQkFBZSxHQUFHLDRDQUE0QyxDQUFDO1FBS3JFLElBQUksQ0FBQyxVQUFVLEdBQUcsNENBQTRDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztJQUVwQyxDQUFDO0lBTU0scUJBQXFCLENBQUMsYUFBaUMsRUFBRSxRQUFnQixFQUFFLGNBQXNCLEVBQUUsU0FBaUIsRUFBRSxXQUFtQjtRQUc5SSxJQUFJLGFBQWEsRUFBRTtZQUNqQixNQUFNLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsK0JBQStCLGFBQWEsSUFBSSxRQUFRLElBQUksY0FBYyxJQUFJLFNBQVMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUM1SixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQyxPQUFPLENBQUMsQ0FBQztTQUMvRDthQUFNO1lBRUwsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRCxNQUFNLE9BQU8sR0FBRyw0RUFBNEUsV0FBVyxxQkFBcUIsQ0FBQyxDQUFDLDJDQUEyQztZQUd6SyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzdDO0lBQ0gsQ0FBQztJQUtNLDZCQUE2QjtRQUNsQyxJQUFJLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUQsSUFBSSxlQUFlLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWhFLElBQUksY0FBYyxFQUFFO1lBQ2xCLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNMLE9BQU8sZUFBZSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbEQ7SUFHSCxDQUFDOzswR0FsRFUsYUFBYTs4R0FBYixhQUFhLGNBRlosTUFBTTsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFcnJvckhhbmRsZXIsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYWNjZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydG1vZGVsJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRTZXJ2aWNlIHtcblxuXG5cbiAgcHJpdmF0ZSBzZXJ2aWNlVXJsOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVwb3J0VXJsOiBzdHJpbmc7XG4gIHByaXZhdGUgc3lzdGVtUmVwb3J0VXJsID0gJy9hcGkvdjEvQ29tcGFueUNvbmZpZ3VyYXRpb24vU3lzdGVtUmVwb3J0cyc7XG5cblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlciwgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLnNlcnZpY2VVcmwgPSBcImh0dHBzOi8vNHhwbHVzLWxvY2FsLnhwcmVzc21vbmV5LnRlY2g6ODY5OVwiO1xuICAgIHRoaXMucmVwb3J0VXJsID0gXCIvYXBpL3YxL1JlcG9ydFwiO1xuXG4gIH1cblxuXG5cblxuXG4gIHB1YmxpYyBnZXRBY2NHTERldGFpbHNSZXBvcnQoZm9ybWF0dGVkRGF0ZTogc3RyaW5nIHwgdW5kZWZpbmVkLCBkYXRlVHlwZTogc3RyaW5nLCBzeXNDb21wYW55Q29kZTogc3RyaW5nLCBzeXNVc2VySWQ6IHN0cmluZywgY29tcGFueU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8QWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsPiB7XG5cblxuICAgIGlmIChmb3JtYXR0ZWREYXRlKSB7XG4gICAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5zZXJ2aWNlVXJsfSR7dGhpcy5yZXBvcnRVcmx9L0FjY0dMRkRldGFpbHNFbnF1aXJ5UmVwb3J0LyR7Zm9ybWF0dGVkRGF0ZX0vJHtkYXRlVHlwZX0vJHtzeXNDb21wYW55Q29kZX0vJHtzeXNVc2VySWR9LyR7Y29tcGFueU5hbWV9YDtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRNb2RlbD4oYXBpUGF0aCk7XG4gICAgfSBlbHNlIHtcblxuICAgICAgY29uc3QgZXhhbXBsZURhdGUgPSBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tR0InKTtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgSW52YWxpZCBEYXRlIEZvcm1hdCFcXG5EYXRlIHNob3VsZCBiZSBpbiBkZC9NTS95eXl5IGZvcm1hdC5cXG5Gb3IgZXhhbXBsZTogJHtleGFtcGxlRGF0ZX0gYXMgZGF5L21vbnRoL3llYXIuYDsgLy9cXG5Ob3RlIDogWWVhciBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIDk5OTlcblxuXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IobWVzc2FnZSkpO1xuICAgIH1cbiAgfVxuXG5cblxuXG4gIHB1YmxpYyBnZXRVc2VyTmFtZUZyb21TZXNzaW9uU3RvcmFnZSgpOiBzdHJpbmcge1xuICAgIGxldCBmb3NzaWxVc2VyTmFtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2Zvc3NpbHVzZXJuYW1lJyk7XG4gICAgbGV0IGV6cmVtaXR1c2VybmFtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2V6cmVtaXR1c2VybmFtZScpO1xuXG4gICAgaWYgKGZvc3NpbFVzZXJOYW1lKSB7XG4gICAgICByZXR1cm4gZm9zc2lsVXNlck5hbWUucmVwbGFjZSgvXlwiKC4qKVwiJC8sICckMScpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZXpyZW1pdHVzZXJuYW1lLnJlcGxhY2UoL15cIiguKilcIiQvLCAnJDEnKTtcbiAgICB9XG5cblxuICB9XG5cblxufVxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZXBvcnRzLWxpYi9zcmMvbGliL3NlcnZpY2VzL3JlcG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU05QyxNQUFNLE9BQU8sYUFBYTtJQVV4QixZQUFvQixJQUFnQixFQUFVLFlBQTBCLEVBQVUsUUFBa0I7UUFBaEYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUo1RixvQkFBZSxHQUFHLDRDQUE0QyxDQUFDO1FBS3JFLElBQUksQ0FBQyxVQUFVLEdBQUcsNENBQTRDLENBQUM7UUFDOUQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLDBDQUEwQyxDQUFDO0lBRWxGLENBQUM7SUFNTSxxQkFBcUIsQ0FBQyxhQUFpQyxFQUFFLFFBQWdCLEVBQUUsY0FBc0IsRUFBRSxTQUFpQixFQUFFLFdBQW1CO1FBRzlJLElBQUksYUFBYSxFQUFFO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsNEJBQTRCLGtDQUFrQyxhQUFhLElBQUksUUFBUSxJQUFJLGNBQWMsSUFBSSxTQUFTLElBQUksV0FBVyxFQUFFLENBQUM7WUFDbEwsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUMsT0FBTyxDQUFDLENBQUM7U0FDL0Q7YUFBTTtZQUVMLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0QsTUFBTSxPQUFPLEdBQUcsNEVBQTRFLFdBQVcscUJBQXFCLENBQUMsQ0FBQywyQ0FBMkM7WUFHekssT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFLTSw2QkFBNkI7UUFDbEMsSUFBSSxjQUFjLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlELElBQUksZUFBZSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVoRSxJQUFJLGNBQWMsRUFBRTtZQUNsQixPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDTCxPQUFPLGVBQWUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xEO0lBR0gsQ0FBQzs7MEdBbERVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2FjY2dsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnRtb2RlbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0U2VydmljZSB7XG5cblxuXG4gIHByaXZhdGUgc2VydmljZVVybDogc3RyaW5nO1xuICBwcml2YXRlIEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRVcmw6IHN0cmluZztcbiAgcHJpdmF0ZSBzeXN0ZW1SZXBvcnRVcmwgPSAnL2FwaS92MS9Db21wYW55Q29uZmlndXJhdGlvbi9TeXN0ZW1SZXBvcnRzJztcblxuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGVycm9ySGFuZGxlcjogRXJyb3JIYW5kbGVyLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuc2VydmljZVVybCA9IFwiaHR0cHM6Ly80eHBsdXMtbG9jYWwueHByZXNzbW9uZXkudGVjaDo4NzUyXCI7XG4gICAgIHRoaXMuQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydFVybCA9IFwiL2FwaS92MS9SZXBvcnQvQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydFwiO1xuXG4gIH1cblxuXG5cblxuXG4gIHB1YmxpYyBnZXRBY2NHTERldGFpbHNSZXBvcnQoZm9ybWF0dGVkRGF0ZTogc3RyaW5nIHwgdW5kZWZpbmVkLCBkYXRlVHlwZTogc3RyaW5nLCBzeXNDb21wYW55Q29kZTogc3RyaW5nLCBzeXNVc2VySWQ6IHN0cmluZywgY29tcGFueU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8QWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsPiB7XG5cblxuICAgIGlmIChmb3JtYXR0ZWREYXRlKSB7XG4gICAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5zZXJ2aWNlVXJsfSR7dGhpcy5BY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0VXJsfS9HZXRBY2NHTEZEZXRhaWxzRW5xdWlyeVJlcG9ydC8ke2Zvcm1hdHRlZERhdGV9LyR7ZGF0ZVR5cGV9LyR7c3lzQ29tcGFueUNvZGV9LyR7c3lzVXNlcklkfS8ke2NvbXBhbnlOYW1lfWA7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0TW9kZWw+KGFwaVBhdGgpO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIGNvbnN0IGV4YW1wbGVEYXRlID0gbmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLUdCJyk7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYEludmFsaWQgRGF0ZSBGb3JtYXQhXFxuRGF0ZSBzaG91bGQgYmUgaW4gZGQvTU0veXl5eSBmb3JtYXQuXFxuRm9yIGV4YW1wbGU6ICR7ZXhhbXBsZURhdGV9IGFzIGRheS9tb250aC95ZWFyLmA7IC8vXFxuTm90ZSA6IFllYXIgY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiA5OTk5XG5cblxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKG1lc3NhZ2UpKTtcbiAgICB9XG4gIH1cblxuXG5cblxuICBwdWJsaWMgZ2V0VXNlck5hbWVGcm9tU2Vzc2lvblN0b3JhZ2UoKTogc3RyaW5nIHtcbiAgICBsZXQgZm9zc2lsVXNlck5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdmb3NzaWx1c2VybmFtZScpO1xuICAgIGxldCBlenJlbWl0dXNlcm5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdlenJlbWl0dXNlcm5hbWUnKTtcblxuICAgIGlmIChmb3NzaWxVc2VyTmFtZSkge1xuICAgICAgcmV0dXJuIGZvc3NpbFVzZXJOYW1lLnJlcGxhY2UoL15cIiguKilcIiQvLCAnJDEnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGV6cmVtaXR1c2VybmFtZS5yZXBsYWNlKC9eXCIoLiopXCIkLywgJyQxJyk7XG4gICAgfVxuXG5cbiAgfVxuXG5cbn1cbiJdfQ==
@@ -8,7 +8,7 @@ import * as ExcelJS from 'exceljs';
8
8
  import * as FileSaver from 'file-saver';
9
9
  import { throwError, forkJoin, BehaviorSubject } from 'rxjs';
10
10
  import * as i1 from '@angular/common/http';
11
- import { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
11
+ import { HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';
12
12
  import * as i3 from '@angular/platform-browser';
13
13
  import * as i4 from 'ag-grid-angular';
14
14
  import { AgGridModule } from 'ag-grid-angular';
@@ -62,12 +62,12 @@ class ReportService {
62
62
  this.errorHandler = errorHandler;
63
63
  this.injector = injector;
64
64
  this.systemReportUrl = '/api/v1/CompanyConfiguration/SystemReports';
65
- this.serviceUrl = "https://4xplus-local.xpressmoney.tech:8699";
66
- this.reportUrl = "/api/v1/Report";
65
+ this.serviceUrl = "https://4xplus-local.xpressmoney.tech:8752";
66
+ this.AccGlDetailsEnquiryReportUrl = "/api/v1/Report/AccGlDetailsEnquiryReport";
67
67
  }
68
68
  getAccGLDetailsReport(formattedDate, dateType, sysCompanyCode, sysUserId, companyName) {
69
69
  if (formattedDate) {
70
- const apiPath = `${this.serviceUrl}${this.reportUrl}/AccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;
70
+ const apiPath = `${this.serviceUrl}${this.AccGlDetailsEnquiryReportUrl}/GetAccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;
71
71
  return this.http.get(apiPath);
72
72
  }
73
73
  else {
@@ -745,11 +745,9 @@ class ReportsLibModule {
745
745
  }
746
746
  ReportsLibModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
747
747
  ReportsLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, declarations: [ReportsLibComponent,
748
- AccGlDetailsEnquiryReportComponent], imports: [HttpClientModule,
749
- AgGridModule,
748
+ AccGlDetailsEnquiryReportComponent], imports: [AgGridModule,
750
749
  ReportsLibRoutingModule,
751
- CommonModule,
752
- HttpClientModule, i1$2.NgIdleModule, i1$1.OAuthModule, FormsModule], exports: [ReportsLibComponent,
750
+ CommonModule, i1$2.NgIdleModule, i1$1.OAuthModule, FormsModule], exports: [ReportsLibComponent,
753
751
  AccGlDetailsEnquiryReportComponent] });
754
752
  ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, providers: [
755
753
  ActiveXService,
@@ -760,11 +758,9 @@ ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
760
758
  deps: [OAuthService, ActiveXService, SessionService],
761
759
  multi: true
762
760
  },
763
- ], imports: [HttpClientModule,
764
- AgGridModule,
761
+ ], imports: [AgGridModule,
765
762
  ReportsLibRoutingModule,
766
763
  CommonModule,
767
- HttpClientModule,
768
764
  NgIdleModule.forRoot(),
769
765
  OAuthModule.forRoot(),
770
766
  FormsModule] });
@@ -776,11 +772,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
776
772
  AccGlDetailsEnquiryReportComponent
777
773
  ],
778
774
  imports: [
779
- HttpClientModule,
780
775
  AgGridModule,
781
776
  ReportsLibRoutingModule,
782
777
  CommonModule,
783
- HttpClientModule,
784
778
  NgIdleModule.forRoot(),
785
779
  OAuthModule.forRoot(),
786
780
  FormsModule
@@ -1 +1 @@
1
- {"version":3,"file":"sachin9822-reports-lib.mjs","sources":["../../../projects/reports-lib/src/lib/reports-lib.service.ts","../../../projects/reports-lib/src/lib/reports-lib.component.ts","../../../projects/reports-lib/src/lib/services/report.service.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.html","../../../projects/reports-lib/src/lib/reports-lib-routing.module.ts","../../../projects/reports-lib/src/environments/environment.ts","../../../projects/reports-lib/src/lib/services/active-x.service.ts","../../../projects/reports-lib/src/lib/services/session.service.ts","../../../projects/reports-lib/src/lib/interceptors/auth-http.interceptor.ts","../../../projects/reports-lib/src/lib/reports-lib.module.ts","../../../projects/reports-lib/src/public-api.ts","../../../projects/reports-lib/src/sachin9822-reports-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportsLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-reports-lib',\r\n template: `\r\n <p>\r\n reports-lib works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class ReportsLibComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\nimport { AccGlDetailsEnquiryReportModel } from '../models/accgl-details-enquiry-reportmodel';\nimport { Observable, throwError } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n\n\n private serviceUrl: string;\n private reportUrl: string;\n private systemReportUrl = '/api/v1/CompanyConfiguration/SystemReports';\n\n\n\n constructor(private http: HttpClient, private errorHandler: ErrorHandler, private injector: Injector) {\n this.serviceUrl = \"https://4xplus-local.xpressmoney.tech:8699\";\n this.reportUrl = \"/api/v1/Report\";\n\n }\n\n\n\n\n\n public getAccGLDetailsReport(formattedDate: string | undefined, dateType: string, sysCompanyCode: string, sysUserId: string, companyName: string): Observable<AccGlDetailsEnquiryReportModel> {\n\n\n if (formattedDate) {\n const apiPath = `${this.serviceUrl}${this.reportUrl}/AccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;\n return this.http.get<AccGlDetailsEnquiryReportModel>(apiPath);\n } else {\n\n const exampleDate = new Date().toLocaleDateString('en-GB');\n const message = `Invalid Date Format!\\nDate should be in dd/MM/yyyy format.\\nFor example: ${exampleDate} as day/month/year.`; //\\nNote : Year cannot be greater than 9999\n\n\n return throwError(() => new Error(message));\n }\n }\n\n\n\n\n public getUserNameFromSessionStorage(): string {\n let fossilUserName = sessionStorage.getItem('fossilusername');\n let ezremitusername = sessionStorage.getItem('ezremitusername');\n\n if (fossilUserName) {\n return fossilUserName.replace(/^\"(.*)\"$/, '$1');\n } else {\n return ezremitusername.replace(/^\"(.*)\"$/, '$1');\n }\n\n\n }\n\n\n}\n","import { Component, ErrorHandler, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { AccGlDetailsEnquiryReportModel } from '../../models/accgl-details-enquiry-reportmodel';\r\nimport { ColDef, ColumnApi, GridApi, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport Decimal from 'decimal.js';\r\nimport { formatDate } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport jsPDF from 'jspdf';\r\n// import autoTable from 'jspdf-autotable';\r\n// import * as autoTable from 'jspdf-autotable';\r\nimport 'jspdf-autotable';\r\n\r\nimport * as ExcelJS from 'exceljs';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n\r\ndeclare module 'jspdf' {\r\n interface jsPDF {\r\n autoTable: (options: any) => jsPDF;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-acc-gl-details-enquiry-report',\r\n templateUrl: './acc-gl-details-enquiry-report.component.html',\r\n styleUrls: ['./acc-gl-details-enquiry-report.component.scss'],\r\n\r\n})\r\nexport class AccGlDetailsEnquiryReportComponent implements OnInit {\r\n\r\n\r\n searchText: string = '';\r\n\r\n gridApi: GridApi<any>;\r\n gridColumnApi!: ColumnApi;\r\n\r\n selectedExportOption: string = 'excel';\r\n\r\n pageSize: number = 15;\r\n\r\n svgLoader: SafeHtml = '';\r\n loading: boolean = false;\r\n dataReady: boolean = false;\r\n\r\n dateTypeFilter: number = 1;\r\n\r\n dateType: any;\r\n sysCompanyCode: any;\r\n sysUserId: any;\r\n companyName: any;\r\n reportUser: any;\r\n reportTime: any;\r\n date: any;\r\n currentReportFormattedDate: any\r\n\r\n defaultColDef: ColDef = {\r\n resizable: true,\r\n sortable: false,\r\n minWidth: 40,\r\n suppressSizeToFit: false\r\n // filter: true,\r\n };\r\n\r\n\r\n\r\n // for rate -- valueFormatter: this.formatNumber,\r\n\r\n columnDefs: ColDef[] = [\r\n { headerName: 'Journal ID', field: 'journalID', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 91, tooltipField: 'journalID' },\r\n { headerName: 'Trans No', field: 'transactionNo', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell-transaction', minWidth: 71, tooltipField: 'transactionNo' },\r\n { headerName: 'Trans Code', field: 'transactionCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 61, tooltipField: 'transactionCode' },\r\n { headerName: 'Journal Type', field: 'journalType', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 74, tooltipField: 'journalType' },\r\n { headerName: 'Posting Date', field: 'postingDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 69, tooltipValueGetter: (params) => this.formatDate(params) },\r\n { headerName: 'Value Date', field: 'valueDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatDate(params), },\r\n { headerName: 'Description', field: 'description', flex: 4.8, cellClass: 'description-cell', minWidth: 119, wrapText: true, autoHeight: true, cellStyle: { 'line-height': '1.2' }, tooltipField: 'description' },\r\n { headerName: 'Account Code', field: 'accountCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 73, tooltipField: 'accountCode' },\r\n { headerName: 'Ccy', field: 'currency', flex: 0.8, cellClass: 'ag-left-cols-cell', minWidth: 35, tooltipField: 'currency' },\r\n { headerName: 'Rate', field: 'rate', flex: 1.3, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxDebit', field: 'forexDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Debit', field: 'localDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxCredit', field: 'forexCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Credit', field: 'localCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n\r\n\r\n ];\r\n\r\n\r\n // cellRenderer: (params) => {const value=this.formatNumber(params) ; const numericValue = Number(params.value); const color = numericValue < 1 ? 'red' : 'green'; return `<span style=\"color:${color}\" >${value}</span> `},\r\n\r\n\r\n rowData = [];\r\n\r\n\r\n accGlDetailsEnquiryReportModel: AccGlDetailsEnquiryReportModel;\r\n\r\n\r\n constructor(private reportService: ReportService, private http: HttpClient, private sanitizer: DomSanitizer, private errorHandler: ErrorHandler, private injector: Injector) {\r\n\r\n\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.http.get('assets/svg-loaders/tail-spin.svg', { responseType: 'text' }).subscribe(svg => {\r\n this.svgLoader = this.sanitizer.bypassSecurityTrustHtml(svg);\r\n // console.log('SVG Loaded:', svg);\r\n })\r\n\r\n const today = new Date();\r\n this.date = formatDate(new Date(today), 'dd/MM/yyyy', 'en-US');\r\n }\r\n\r\n public getAccGLDetailsReport() {\r\n // '2025-02-06','VD','BH','sachin.kamble@xpressmoney.tech','xpress money'\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n this.loading = true;\r\n this.dataReady = false;\r\n\r\n\r\n this.pageSize = 15;\r\n this.selectedExportOption = 'excel';\r\n\r\n this.sysCompanyCode = 'BH';\r\n\r\n this.sysUserId = this.reportService.getUserNameFromSessionStorage();\r\n\r\n console.log(`in library :: username from sessionstorage is ${sessionStorage.getItem('fossilusername')\r\n }`);\r\n\r\n\r\n this.companyName = \"Xpress Money\"\r\n\r\n if (this.dateTypeFilter == 1) {\r\n this.dateType = 'VD';\r\n } else {\r\n this.dateType = 'PD';\r\n }\r\n\r\n\r\n\r\n // let dateFromDatePicker=this.convertToDateFromDatepicker();\r\n\r\n\r\n\r\n this.reportService.getAccGLDetailsReport(this.convertToDateFromDatepicker(), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)\r\n .subscribe(data => {\r\n\r\n\r\n this.accGlDetailsEnquiryReportModel = data;\r\n if (this.accGlDetailsEnquiryReportModel) {\r\n\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n\r\n this.companyName = this.accGlDetailsEnquiryReportModel.companyName;\r\n\r\n const userName = this.accGlDetailsEnquiryReportModel.reportUser;\r\n this.reportUser = userName.toLowerCase();\r\n\r\n const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;\r\n this.reportTime = formatDate(rawDate, 'dd/MM/yyyy hh:mm a', 'en-US');\r\n\r\n this.currentReportFormattedDate = formatDate(this.convertToDateFromDatepicker(), 'dd/MM/yyyy', 'en-US')\r\n\r\n this.loading = false;\r\n this.dataReady = true;\r\n\r\n }\r\n }, error => {\r\n console.log(error);\r\n\r\n\r\n this.loading = false;\r\n\r\n\r\n if (typeof error === 'function') {\r\n error = error(); // convert it to actual Error object\r\n }\r\n\r\n const globalErrorHandler = this.injector.get(ErrorHandler);\r\n globalErrorHandler.handleError(error);\r\n // const cleanMessage = (error.message || error.toString()).replace(/<br\\s*\\/?>/gi, '\\n');\r\n // window.alert(cleanMessage);\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n\r\n //====================================================================================\r\n\r\n public formatDate(params: any): string {\r\n return formatDate(new Date(params.value), 'dd/MM/yyyy', 'en-US');\r\n // return formatDate(params.value, 'MMM dd, yyyy hh:mm a', 'en-US');\r\n }\r\n\r\n\r\n\r\n convertToDateFromDatepicker(): string | undefined {\r\n\r\n try {\r\n const [day, month, year] = this.date.split('/');\r\n\r\n if (year > 9999) {\r\n return undefined;\r\n }\r\n\r\n const dateFromUser = new Date(`${year}-${month}-${day}`);\r\n const formattedDateForService = dateFromUser.toISOString().split('T')[0];\r\n return formattedDateForService;\r\n } catch (error) {\r\n\r\n this.loading = false;\r\n\r\n return undefined;\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n onDateChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n // console.log('Date selected:', input.value);\r\n const selectedDate = input.value;\r\n this.date = formatDate(new Date(selectedDate), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n\r\n\r\n onEnterKey(event: Event) {\r\n // this.loading = true;\r\n const keyboardEvent = event as KeyboardEvent;\r\n keyboardEvent.preventDefault();\r\n\r\n if (keyboardEvent.target instanceof HTMLElement) {\r\n keyboardEvent.target.blur();\r\n }\r\n // this.getAccGLDetailsReport();\r\n }\r\n\r\n\r\n onEnterhandleExport(event: Event) {\r\n this.onEnterKey(event);\r\n this.handleExport();\r\n }\r\n //-------------------------------------------------------------------------------\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n\r\n\r\n onPageSizeChanged() {\r\n if (this.gridApi) {\r\n\r\n if (this.pageSize === 0) {\r\n console.log(`journal voucher entries length is ${this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length}`);\r\n\r\n this.gridApi.paginationSetPageSize(this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length);\r\n console.log(`journal voucher entries length is ${this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length}`);\r\n } else {\r\n this.gridApi.paginationSetPageSize(this.pageSize);\r\n console.log(`journal voucher entries length is ${this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length}`);\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n getRowHeight(params: any): number {\r\n // Calculate height based on description content\r\n const description = params.data?.description || '';\r\n if (description.length > 50) { // Adjust threshold as needed\r\n return 40; // Height for wrapped text\r\n }\r\n return 20; // Default height\r\n }\r\n\r\n\r\n formatNumber(params: any): string {\r\n if (params.value == null) return '';\r\n\r\n const field = params.colDef.field;\r\n\r\n // 'Rate' field should always show 8 decimals, no commas\r\n if (field === 'rate') {\r\n return Number(params.value).toFixed(8);\r\n }\r\n\r\n return Number(params.value).toFixed(3);\r\n }\r\n\r\n\r\n\r\n\r\n //------------------------------------------------------------------------------\r\n\r\n handleExport(): void {\r\n switch (this.selectedExportOption) {\r\n case 'excel':\r\n this.exportToExcel();\r\n break;\r\n case 'pdf':\r\n this.exportToPdf();\r\n break;\r\n case 'csv':\r\n this.exportToCsv();\r\n break;\r\n default:\r\n alert('Please select an export format.');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n exportToCsv(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n let metadata: string[][] | undefined;\r\n\r\n try {\r\n metadata = [\r\n ['Report Title', `${this.companyName} - General Ledger Account Details Enquiry`],\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n [`Search Criteria - ${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n ];\r\n } catch (err) {\r\n window.alert(`Error while binding data: ${err}`);\r\n return;\r\n }\r\n\r\n // Filter out any \"Sr No\" column from columnDefs\r\n const filteredColumnDefs = this.columnDefs.filter(\r\n col => !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n // Add manual \"Sr No\" header as the first column\r\n const headers = ['Sr No', ...filteredColumnDefs.map(col => col.headerName || col.field)];\r\n\r\n // Map data rows with manual serial number\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return (value ?? '').toString();\r\n });\r\n\r\n return [(index + 1).toString(), ...rowData]; // prepend Sr No\r\n });\r\n\r\n // Combine metadata, blank row, headers, and data\r\n const csvContent = [...(metadata ?? []), [], headers, ...rows]\r\n .map(e => e.join(','))\r\n .join('\\n');\r\n\r\n this.downloadFile(csvContent, 'ACC-GL-Details-Enquiry-Report.csv', 'text/csv');\r\n }\r\n\r\n\r\n\r\n\r\n exportToExcel(): void {\r\n const data = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n if (!data.length) return;\r\n\r\n const workbook = new ExcelJS.Workbook();\r\n const worksheet = workbook.addWorksheet('ACC-GL-Details-Enquiry-Report');\r\n\r\n const filteredColumnDefs = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n const totalColumns = filteredColumnDefs.length + 1; // +1 for Sr. No\r\n\r\n // Title Row\r\n const titleRow = worksheet.addRow([`${this.companyName} - General Ledger Account Details Enquiry`]);\r\n titleRow.font = { bold: true, size: 14 };\r\n worksheet.mergeCells(`A${titleRow.number}:${String.fromCharCode(64 + totalColumns)}${titleRow.number}`);\r\n worksheet.addRow([]); // spacer\r\n\r\n // Metadata with bold label + normal value (in single cell)\r\n const meta: [string, string][] = [\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', ''],\r\n [`${this.dateType === 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n ];\r\n\r\n\r\n\r\n meta.forEach(([label, value]) => {\r\n const row = worksheet.addRow([]);\r\n const cell = row.getCell(1);\r\n\r\n const isSearchCriteria = label.toLowerCase().includes('search criteria');\r\n\r\n cell.value = {\r\n richText: [\r\n {\r\n text: `${label}: `,\r\n font: {\r\n bold: true,\r\n underline: isSearchCriteria ? true : undefined // Only underline \"Search Criteria\"\r\n }\r\n },\r\n {\r\n text: value ?? '',\r\n font: { bold: false }\r\n }\r\n ]\r\n };\r\n\r\n worksheet.mergeCells(`A${row.number}:${String.fromCharCode(64 + totalColumns)}${row.number}`);\r\n });\r\n\r\n\r\n worksheet.addRow([]); // spacer\r\n\r\n // Header Row\r\n const headerRow = worksheet.addRow(['Sr. No.', ...filteredColumnDefs.map(col => col.headerName || col.field)]);\r\n headerRow.font = { bold: true };\r\n headerRow.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'D9D9D9' },\r\n };\r\n headerRow.alignment = { vertical: 'middle', horizontal: 'center' };\r\n headerRow.border = {\r\n top: { style: 'thin' }, bottom: { style: 'thin' },\r\n left: { style: 'thin' }, right: { style: 'thin' }\r\n };\r\n\r\n const dataStartRow = worksheet.lastRow!.number + 1;\r\n\r\n // Data Rows\r\n let srNo = 1;\r\n data.forEach(row => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n\r\n rowData.unshift(srNo++);\r\n const dataRow = worksheet.addRow(rowData);\r\n dataRow.border = {\r\n top: { style: 'thin' }, bottom: { style: 'thin' },\r\n left: { style: 'thin' }, right: { style: 'thin' }\r\n };\r\n });\r\n\r\n // Auto Width (optimize Sr. No column too)\r\n for (let i = 1; i <= totalColumns; i++) {\r\n let maxLength = 5;\r\n\r\n // Include header row in auto-width\r\n const headerVal = headerRow.getCell(i).value?.toString() ?? '';\r\n maxLength = Math.max(maxLength, headerVal.length);\r\n\r\n // Include data rows\r\n for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow!.number; rowNum++) {\r\n const cell = worksheet.getRow(rowNum).getCell(i);\r\n const val = cell.value ? cell.value.toString() : '';\r\n maxLength = Math.max(maxLength, val.length);\r\n }\r\n\r\n worksheet.getColumn(i).width = maxLength + 2;\r\n }\r\n\r\n\r\n // Export\r\n workbook.xlsx.writeBuffer().then(buffer => {\r\n const blob = new Blob([buffer], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\r\n });\r\n FileSaver.saveAs(blob, 'ACC-GL-Details-Enquiry-Report.xlsx');\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n exportToPdf(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n // Create a wide landscape PDF\r\n const doc = new jsPDF({\r\n orientation: 'landscape',\r\n unit: 'mm',\r\n format: [400, 210] // Custom wide format\r\n });\r\n\r\n const pageWidth = doc.internal.pageSize.width;\r\n\r\n // Title\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n doc.setFontSize(15);\r\n doc.setFont('helvetica', 'bold'); // times ,courier,helvetica\r\n const textWidth = doc.getTextWidth(title);\r\n // doc.text(title, (pageWidth - textWidth) / 2, 15);\r\n doc.text(title, 15, 15);\r\n\r\n // Info block\r\n const infoY = 25;\r\n const leftMargin = 15;\r\n const lineHeight = 7;\r\n const infoLines = [\r\n [`Report User:`, this.reportUser],\r\n [`Report Time:`, this.reportTime],\r\n [`Search Criteria`, ''],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}:`, this.currentReportFormattedDate],\r\n ];\r\n\r\n doc.setFontSize(10);\r\n infoLines.forEach(([label, value], i) => {\r\n const y = infoY + i * lineHeight;\r\n\r\n if (label === 'Search Criteria') {\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n\r\n // Draw underline\r\n const textWidth = doc.getTextWidth(label);\r\n doc.setDrawColor(0); // Black\r\n doc.setLineWidth(0.5);\r\n doc.line(leftMargin, y + 1, leftMargin + textWidth, y + 1);\r\n } else {\r\n\r\n // for display key as bold and values as normla font with more space between them\r\n // doc.setFont('helvetica', 'bold');\r\n // doc.text(label, leftMargin, y);\r\n // doc.setFont('helvetica', 'normal');\r\n // doc.text(value, leftMargin + 40, y);\r\n\r\n\r\n\r\n // for display key values with both bold font as combined together\r\n // const combinedText = `${label} ${value}`;\r\n // doc.setFont('helvetica', 'bold');\r\n // doc.text(combinedText, leftMargin, y);\r\n\r\n\r\n\r\n\r\n // for display key in bold and values in normal font just like one after one \r\n // Draw label in bold\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n\r\n // Draw value in normal font right after label\r\n const labelWidth = doc.getTextWidth(label + ' ');\r\n doc.setFont('helvetica', 'normal');\r\n doc.text(value, leftMargin + labelWidth, y);\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n const filteredColumns = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('srno') || col.field?.toLowerCase().includes('serial'))\r\n );\r\n\r\n\r\n\r\n\r\n // Prepare headers with Sr No\r\n const headers = ['Sr No', ...filteredColumns.map(col => col.headerName || col.field!)];\r\n\r\n // Prepare rows with Sr No\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumns.map(col => {\r\n let value = row[col.field!];\r\n if (col.field && col.field.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n return [index + 1, ...rowData];\r\n });\r\n\r\n // Generate dynamic column styles for auto-width\r\n const columnStyles: { [key: number]: any } = {};\r\n headers.forEach((_, i) => {\r\n columnStyles[i] = { cellWidth: 'auto' };\r\n });\r\n\r\n // Render table\r\n doc.autoTable({\r\n head: [headers],\r\n body: rows,\r\n startY: infoY + infoLines.length * lineHeight + 5,\r\n theme: 'grid',\r\n headStyles: {\r\n fillColor: [220, 220, 220],\r\n textColor: 0,\r\n fontStyle: 'bold',\r\n fontSize: 9,\r\n halign: 'center',\r\n },\r\n bodyStyles: {\r\n fontSize: 8,\r\n fillColor: [255, 255, 255],\r\n textColor: [0, 0, 0],\r\n },\r\n styles: {\r\n cellPadding: 2,\r\n overflow: 'linebreak',\r\n minCellHeight: 6,\r\n },\r\n columnStyles: columnStyles,\r\n });\r\n\r\n doc.save('ACC-GL-Details-Enquiry-Report.pdf');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n private downloadFile(data: string, filename: string, type: string): void {\r\n const blob = new Blob([data], { type });\r\n const link = document.createElement('a');\r\n link.href = URL.createObjectURL(blob);\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n onSearch(): void {\r\n const normalize = (str: any): string =>\r\n str?.toString()\r\n .toLowerCase()\r\n .replace(/,/g, '') // remove commas\r\n .replace(/\\s+/g, ' ') // normalize all spaces to one\r\n .replace(/[\\u200B-\\u200D\\uFEFF]/g, '') // remove invisible chars\r\n .trim();\r\n\r\n const search = normalize(this.searchText);\r\n\r\n\r\n\r\n console.log(`searchText is ${this.searchText}`);\r\n console.log(`normalise Text is ${search}`);\r\n\r\n\r\n if (search) {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.filter(item =>\r\n Object.values(item).some(value =>\r\n normalize(value).includes(search)\r\n )\r\n );\r\n } else {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","<!-- <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css\"> -->\r\n<!-- <script src=\"./node_modules/jquery/dist/jquery.js\"></script>\r\n <script src=\"./node_modules/bootstrap/dist/js/bootstrap.js\"></script> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<h6 class=\"Breadcrumb\">\r\n <a class=\"BreadCrumbLink\" [routerLink]=\"['/reports']\">\r\n <h1>Reports</h1>\r\n </a>\r\n <a href=\"BreadCrumbLink\"></a>\r\n <span class=\"BreadCrumbArrow\"></span>\r\n <a class=\"BreadCrumbLink\">\r\n <h2 style=\"font-weight: bold !important; color: black !important;\">ACC GL Details Enquiry</h2>\r\n </a>\r\n</h6>\r\n\r\n\r\n<div class=\"bootstrap-scope \" style=\"margin-bottom: 0px;\">\r\n\r\n <div class=\"main-container\">\r\n\r\n\r\n <div class=\"form-container\">\r\n\r\n <form class=\"d-flex align-items-center gap-2\">\r\n\r\n\r\n <!-- ----------------------------------------------------- -->\r\n <div class=\"d-flex align-items-center gap-2\">\r\n\r\n <label for=\"dateTypeFilter\" class=\"compact-label\">Date Type</label>\r\n\r\n <select class=\"form-select form-control w-auto compact-input\" name=\"dateTypeFilter\"\r\n [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\r\n <option [ngValue]=\"1\">Value Date</option>\r\n <option [ngValue]=\"2\">Posting Date</option>\r\n </select>\r\n\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2\" style=\"margin-left: 20px;\">\r\n <label for=\"date\" class=\"compact-label\">Date</label>\r\n\r\n\r\n <!-- custom datepicker for formatted date selection dd/mm/yyyy -->\r\n <div class=\"date-picker-wrapper\">\r\n <input type=\"text\" class=\"form-control date-picker-input-1\" name=\"date\" [(ngModel)]=\"date\" id=\"date\"\r\n placeholder=\"dd/MM/yyyy\" (keydown.enter)=\"onEnterKey($event)\" />\r\n <input type=\"date\" class=\"form-control date-picker-input-2\" (change)=\"onDateChange($event)\"\r\n (keydown.enter)=\"onEnterKey($event)\" />\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n <div>\r\n <button class=\"btn-primary\" type=\"submit\" style=\"font-size: 12px !important;\"\r\n (click)=\"getAccGLDetailsReport()\">\r\n View Report\r\n </button>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </form>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n <hr style=\"color: gray; margin-bottom: 0px;\" />\r\n\r\n <!-- -------------------------------------------------------------------------------- -->\r\n\r\n\r\n <div class=\"report-loader\" *ngIf=\"loading && svgLoader\" [innerHTML]=\"svgLoader\"></div>\r\n\r\n <!-- ----------------------------------------------------------------------------------- -->\r\n <!-- (for below report-container div) *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\" -->\r\n <div class=\"report-container\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n\r\n\r\n <!-- (for below main-report div) *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" -->\r\n <div class=\"main-report\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n\r\n\r\n <h1 class=\"title\">\r\n General Ledger Account Details\r\n Enquiry</h1>\r\n\r\n\r\n <div class=\"report-content\">\r\n\r\n <div class=\"left-section\">\r\n <div class=\"labels\">\r\n <p><b>Company</b></p>\r\n <p><b>{{ dateType ==\r\n 'VD' ? 'Value Date' : 'Posting Date' }}</b></p>\r\n\r\n\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ companyName }}</p>\r\n <p>: {{currentReportFormattedDate}}</p>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"right-section\">\r\n <div class=\"labels\">\r\n <p><b>Report User</b></p>\r\n <p><b>Report Time</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ reportUser }}</p>\r\n <p>: {{ reportTime }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"d-flex justify-content-between align-items-center mt-3 mb-3 flex-wrap\">\r\n\r\n\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex justify-content-end align-items-center\">\r\n <input type=\"text\" [(ngModel)]=\"searchText\" name=\"searchText\" (ngModelChange)=\"onSearch()\"\r\n class=\"form-control custom-search-class\" placeholder=\"Search...\"\r\n style=\"width: 190px; height: 20px; color: black; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; \" />\r\n <button type=\"button\" class=\"btn btn-sm p-0\" (click)=\"onSearch()\"\r\n style=\"height: 32px; width: 36px; background-color: #0081c6; border-top-left-radius: 0px !important; border-bottom-left-radius: 0px !important;\">\r\n <img src=\"assets/images/Search.svg\" alt=\"Search\"\r\n style=\"max-height: 70%; max-width: 70%; height: 17px; width: 17px; object-fit: contain;\" />\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div class=\"d-flex align-items-center\">\r\n <select class=\"form-select w-auto form-control compact-input\" name=\"selectedExportOption\"\r\n id=\"selectedExportOption\" [(ngModel)]=\"selectedExportOption\"\r\n (keydown.enter)=\"onEnterhandleExport($event)\">\r\n <option value='csv'>CSV</option>\r\n <option value='excel'>Excel</option>\r\n <option value='pdf'>PDF</option>\r\n </select>\r\n <button type=\"button\" class=\"btn-primary\" style=\"font-size: 12px !important;\"\r\n (click)=\"handleExport()\">Export</button>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n <div style=\"position: relative;\">\r\n\r\n <div class=\"d-flex align-items-center gap-2\"\r\n style=\"position: absolute; left: 10px; bottom: 5.5px; z-index: 1; background: transparent; padding-right: 10px; align-items: center; justify-content: center; \">\r\n <label\r\n style=\"font-weight: 600;font-size: 11px !important; margin: 0px !important; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; align-items: center; justify-content: center;\"\r\n for=\"pageSize\">Entries\r\n Per Page</label>\r\n <select class=\"form-select custom-height w-auto\" id=\"pageSize\" [(ngModel)]=\"pageSize\"\r\n (change)=\"onPageSizeChanged()\">\r\n <option [ngValue]=\"10\">10</option>\r\n <option [ngValue]=\"15\">15</option>\r\n <option [ngValue]=\"20\">20</option>\r\n <option [ngValue]=\"30\">30</option>\r\n <option [ngValue]=\"50\">50</option>\r\n <option [ngValue]=\"100\">100</option>\r\n <option [ngValue]=\"200\">200</option>\r\n <option [ngValue]=\"0\">All</option>\r\n </select>\r\n </div>\r\n\r\n\r\n\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine compact-grid\" style=\"width: 100%; font-weight: 500; height: 390px;\"\r\n [rowData]=\"rowData\" [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\"\r\n [rowHeight]=\"20\" [headerHeight]=\"24\" [pagination]=\"true\" [domLayout]=\"'normal'\"\r\n [paginationPageSize]=\"pageSize\" [suppressHorizontalScroll]=\"false\" [suppressRowHoverHighlight]=\"false\"\r\n [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\r\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\r\n </ag-grid-angular>\r\n\r\n <!-- [domLayout]=\"'autoHeight'\" -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n <!-- below for report user and report time at footer side of ag-grid . put on right side -->\r\n <!-- <div\r\n style=\"display: flex; font-size: 10px !important; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin-top: 3px;\">\r\n <div class=\"labels\">\r\n <p>Report User & Report Time</p>\r\n </div>\r\n <div class=\"values\">\r\n <p style=\"font-weight: normal !important;\">: {{ reportUser }} @ {{ reportTime }}</p>\r\n </div>\r\n </div> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div>","\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'acc-gl-details-enquiry-report',\r\n component: AccGlDetailsEnquiryReportComponent\r\n },\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ReportsLibRoutingModule {}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n selfHostUrl: 'http://localhost:9000/api/scriptx',\r\n configFile: 'assets/config/app-config.json'\r\n};\r\n","import { Injectable } from \"@angular/core\";\r\n// import Swal from \"sweetalert2\";\r\nimport { HttpBackend, HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { forkJoin } from \"rxjs\";\r\nimport { environment } from \"../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class ActiveXService {\r\n \r\n private macAddress = \"\";\r\n private ipAddress = \"\";\r\n private machineName = \"\";\r\n private processorId = \"\";\r\n private printerName = \"\";\r\n\r\n private scriptxServiceUrl: string;\r\n\r\n private scriptxHttpClient: HttpClient;\r\n\r\n public isSelfHostAvailable: boolean;\r\n\r\n constructor(private backend: HttpBackend) {\r\n this.scriptxServiceUrl = environment.selfHostUrl;\r\n this.scriptxHttpClient = new HttpClient(backend);\r\n this.requestSelfHostedServiceInfo()\r\n .subscribe((responseList) => {\r\n this.machineName = responseList[0];\r\n this.macAddress = responseList[1];\r\n this.ipAddress = responseList[2];\r\n this.processorId = responseList[3];\r\n this.isSelfHostAvailable = true;\r\n },\r\n err => {\r\n this.isSelfHostAvailable = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n getMACAddress(): string {\r\n return this.macAddress;\r\n }\r\n\r\n getIPAddress(): string {\r\n return this.ipAddress;\r\n }\r\n\r\n getMachineName(): string {\r\n return this.machineName;\r\n }\r\n\r\n getPrinterName(): string {\r\n return this.printerName;\r\n }\r\n\r\n getProcessorId(): string {\r\n return this.processorId;\r\n }\r\n\r\n public requestSelfHostedServiceInfo(): Observable<any[]> {\r\n let responseGetMachineName = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetMachineName\"\r\n );\r\n let responseGetMacAddress = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetMacAddress\"\r\n );\r\n let responseGetIpAddress = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetIpAddress\"\r\n );\r\n let responseGetProcessId = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetProcessId\"\r\n );\r\n return forkJoin([\r\n responseGetMachineName,\r\n responseGetMacAddress,\r\n responseGetIpAddress,\r\n responseGetProcessId,\r\n ]);\r\n }\r\n}\r\n","import { Inject, Injectable, OnInit } from '@angular/core';\r\nimport { LOCAL_STORAGE, InMemoryStorageService, isStorageAvailable, SESSION_STORAGE } from 'ngx-webstorage-service';\r\n\r\nimport { UserSessionModel } from '../models/security/user-session.model';\r\nimport { Observable , BehaviorSubject } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { LocalStorage } from '@ng-idle/core';\r\n\r\n\r\n@Injectable()\r\nexport class SessionService {\r\n\r\n private userSessionKey = 'FossilUserSessionModel';\r\n session: UserSessionModel;\r\n onSessionChanged: BehaviorSubject<any>;\r\n constructor(\r\n @Inject(SESSION_STORAGE) private storage: InMemoryStorageService,\r\n private oauthService: OAuthService) {\r\n this.onSessionChanged = new BehaviorSubject(null);\r\n }\r\n\r\n public GetObjectByKey(key: string): any {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n return this.storage.get(key);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public SetObject(key: string, value: any) {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.set(key, value);\r\n }\r\n this.UpdateSession();\r\n }\r\n\r\n public RemoveObject(key: string) {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.remove(key);\r\n }\r\n this.UpdateSession();\r\n }\r\n\r\n public GetUserSession(): UserSessionModel {\r\n return this.GetObjectByKey(this.userSessionKey);\r\n }\r\n\r\n // TODO Consider if this should close the session on the server side or just reset the client session\r\n public Clear() {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.remove(this.userSessionKey);\r\n }\r\n }\r\n\r\n private UpdateSession() {\r\n this.session = this.GetUserSession();\r\n this.onSessionChanged.next(this.session);\r\n }\r\n\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { ActiveXService } from '../services/active-x.service';\r\nimport { SessionService } from '../services/session.service';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Injectable()\r\nexport class AuthHttpInterceptor implements HttpInterceptor \r\n{\r\n constructor(private oAuthService: OAuthService, private activeXService: ActiveXService, private session: SessionService) { }\r\n\r\n\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> \r\n {\r\n const token = this.oAuthService.getAccessToken();\r\n const guid: string = uuidv4().replace(/-/g, '');\r\n let clonedRequest = request.clone({\r\n withCredentials: true\r\n });\r\n\r\n if (token) {\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n },\r\n withCredentials: true\r\n });\r\n }\r\n if (!request.headers.has('request-trace-id')) {\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'request-trace-id': guid\r\n }\r\n });\r\n } \r\n let userBranch = 'NotSelected';\r\n let userCompany = 'NotSelected';\r\n if (this.session) {\r\n const userSession = this.session.GetUserSession();\r\n userBranch = userSession?.branch || 'NotInSession';\r\n userCompany = userSession?.companyShortCode || 'NotInSession';\r\n }\r\n\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'UserBranch': userBranch || ''\r\n },\r\n withCredentials: true\r\n });\r\n\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'UserCompany': userCompany || ''\r\n },\r\n withCredentials: true\r\n });\r\n\r\n return next.handle(clonedRequest);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ReportsLibComponent } from './reports-lib.component';\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { ReportsLibRoutingModule } from './reports-lib-routing.module';\r\nimport { OAuthModule, OAuthService, OAuthStorage } from 'angular-oauth2-oidc';\r\nimport { AuthHttpInterceptor } from './interceptors/auth-http.interceptor';\r\nimport { ActiveXService } from './services/active-x.service';\r\nimport { SessionService } from './services/session.service';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ReportsLibComponent,\r\n \r\n AccGlDetailsEnquiryReportComponent\r\n ],\r\n imports: [\r\n HttpClientModule,\r\n AgGridModule,\r\n ReportsLibRoutingModule,\r\n CommonModule,\r\n HttpClientModule,\r\n NgIdleModule.forRoot(),\r\n OAuthModule.forRoot(),\r\n FormsModule\r\n \r\n ],\r\n providers: \r\n [\r\n ActiveXService,\r\n SessionService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthHttpInterceptor,\r\n deps: [OAuthService, ActiveXService, SessionService],\r\n multi: true\r\n },\r\n ],\r\n exports: [\r\n ReportsLibComponent,\r\n AccGlDetailsEnquiryReportComponent\r\n ]\r\n})\r\nexport class ReportsLibModule { }\r\n","/*\r\n * Public API Surface of reports-lib\r\n */\r\n\r\n\r\n\r\nexport * from './lib/reports-lib.service';\r\nexport * from './lib/reports-lib.component';\r\nexport * from './lib/reports-lib.module';\r\nexport * from './lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ReportService","i2","i1","uuidv4","i2.ActiveXService","i3.SessionService"],"mappings":"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"}
1
+ {"version":3,"file":"sachin9822-reports-lib.mjs","sources":["../../../projects/reports-lib/src/lib/reports-lib.service.ts","../../../projects/reports-lib/src/lib/reports-lib.component.ts","../../../projects/reports-lib/src/lib/services/report.service.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.html","../../../projects/reports-lib/src/lib/reports-lib-routing.module.ts","../../../projects/reports-lib/src/environments/environment.ts","../../../projects/reports-lib/src/lib/services/active-x.service.ts","../../../projects/reports-lib/src/lib/services/session.service.ts","../../../projects/reports-lib/src/lib/interceptors/auth-http.interceptor.ts","../../../projects/reports-lib/src/lib/reports-lib.module.ts","../../../projects/reports-lib/src/public-api.ts","../../../projects/reports-lib/src/sachin9822-reports-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportsLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-reports-lib',\r\n template: `\r\n <p>\r\n reports-lib works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class ReportsLibComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\nimport { AccGlDetailsEnquiryReportModel } from '../models/accgl-details-enquiry-reportmodel';\nimport { Observable, throwError } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n\n\n private serviceUrl: string;\n private AccGlDetailsEnquiryReportUrl: string;\n private systemReportUrl = '/api/v1/CompanyConfiguration/SystemReports';\n\n\n\n constructor(private http: HttpClient, private errorHandler: ErrorHandler, private injector: Injector) {\n this.serviceUrl = \"https://4xplus-local.xpressmoney.tech:8752\";\n this.AccGlDetailsEnquiryReportUrl = \"/api/v1/Report/AccGlDetailsEnquiryReport\";\n\n }\n\n\n\n\n\n public getAccGLDetailsReport(formattedDate: string | undefined, dateType: string, sysCompanyCode: string, sysUserId: string, companyName: string): Observable<AccGlDetailsEnquiryReportModel> {\n\n\n if (formattedDate) {\n const apiPath = `${this.serviceUrl}${this.AccGlDetailsEnquiryReportUrl}/GetAccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;\n return this.http.get<AccGlDetailsEnquiryReportModel>(apiPath);\n } else {\n\n const exampleDate = new Date().toLocaleDateString('en-GB');\n const message = `Invalid Date Format!\\nDate should be in dd/MM/yyyy format.\\nFor example: ${exampleDate} as day/month/year.`; //\\nNote : Year cannot be greater than 9999\n\n\n return throwError(() => new Error(message));\n }\n }\n\n\n\n\n public getUserNameFromSessionStorage(): string {\n let fossilUserName = sessionStorage.getItem('fossilusername');\n let ezremitusername = sessionStorage.getItem('ezremitusername');\n\n if (fossilUserName) {\n return fossilUserName.replace(/^\"(.*)\"$/, '$1');\n } else {\n return ezremitusername.replace(/^\"(.*)\"$/, '$1');\n }\n\n\n }\n\n\n}\n","import { Component, ErrorHandler, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { AccGlDetailsEnquiryReportModel } from '../../models/accgl-details-enquiry-reportmodel';\r\nimport { ColDef, ColumnApi, GridApi, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport Decimal from 'decimal.js';\r\nimport { formatDate } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport jsPDF from 'jspdf';\r\n// import autoTable from 'jspdf-autotable';\r\n// import * as autoTable from 'jspdf-autotable';\r\nimport 'jspdf-autotable';\r\n\r\nimport * as ExcelJS from 'exceljs';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n\r\ndeclare module 'jspdf' {\r\n interface jsPDF {\r\n autoTable: (options: any) => jsPDF;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-acc-gl-details-enquiry-report',\r\n templateUrl: './acc-gl-details-enquiry-report.component.html',\r\n styleUrls: ['./acc-gl-details-enquiry-report.component.scss'],\r\n\r\n})\r\nexport class AccGlDetailsEnquiryReportComponent implements OnInit {\r\n\r\n\r\n searchText: string = '';\r\n\r\n gridApi: GridApi<any>;\r\n gridColumnApi!: ColumnApi;\r\n\r\n selectedExportOption: string = 'excel';\r\n\r\n pageSize: number = 15;\r\n\r\n svgLoader: SafeHtml = '';\r\n loading: boolean = false;\r\n dataReady: boolean = false;\r\n\r\n dateTypeFilter: number = 1;\r\n\r\n dateType: any;\r\n sysCompanyCode: any;\r\n sysUserId: any;\r\n companyName: any;\r\n reportUser: any;\r\n reportTime: any;\r\n date: any;\r\n currentReportFormattedDate: any\r\n\r\n defaultColDef: ColDef = {\r\n resizable: true,\r\n sortable: false,\r\n minWidth: 40,\r\n suppressSizeToFit: false\r\n // filter: true,\r\n };\r\n\r\n\r\n\r\n // for rate -- valueFormatter: this.formatNumber,\r\n\r\n columnDefs: ColDef[] = [\r\n { headerName: 'Journal ID', field: 'journalID', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 91, tooltipField: 'journalID' },\r\n { headerName: 'Trans No', field: 'transactionNo', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell-transaction', minWidth: 71, tooltipField: 'transactionNo' },\r\n { headerName: 'Trans Code', field: 'transactionCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 61, tooltipField: 'transactionCode' },\r\n { headerName: 'Journal Type', field: 'journalType', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 74, tooltipField: 'journalType' },\r\n { headerName: 'Posting Date', field: 'postingDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 69, tooltipValueGetter: (params) => this.formatDate(params) },\r\n { headerName: 'Value Date', field: 'valueDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatDate(params), },\r\n { headerName: 'Description', field: 'description', flex: 4.8, cellClass: 'description-cell', minWidth: 119, wrapText: true, autoHeight: true, cellStyle: { 'line-height': '1.2' }, tooltipField: 'description' },\r\n { headerName: 'Account Code', field: 'accountCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 73, tooltipField: 'accountCode' },\r\n { headerName: 'Ccy', field: 'currency', flex: 0.8, cellClass: 'ag-left-cols-cell', minWidth: 35, tooltipField: 'currency' },\r\n { headerName: 'Rate', field: 'rate', flex: 1.3, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxDebit', field: 'forexDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Debit', field: 'localDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxCredit', field: 'forexCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Credit', field: 'localCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n\r\n\r\n ];\r\n\r\n\r\n // cellRenderer: (params) => {const value=this.formatNumber(params) ; const numericValue = Number(params.value); const color = numericValue < 1 ? 'red' : 'green'; return `<span style=\"color:${color}\" >${value}</span> `},\r\n\r\n\r\n rowData = [];\r\n\r\n\r\n accGlDetailsEnquiryReportModel: AccGlDetailsEnquiryReportModel;\r\n\r\n\r\n constructor(private reportService: ReportService, private http: HttpClient, private sanitizer: DomSanitizer, private errorHandler: ErrorHandler, private injector: Injector) {\r\n\r\n\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.http.get('assets/svg-loaders/tail-spin.svg', { responseType: 'text' }).subscribe(svg => {\r\n this.svgLoader = this.sanitizer.bypassSecurityTrustHtml(svg);\r\n // console.log('SVG Loaded:', svg);\r\n })\r\n\r\n const today = new Date();\r\n this.date = formatDate(new Date(today), 'dd/MM/yyyy', 'en-US');\r\n }\r\n\r\n public getAccGLDetailsReport() {\r\n // '2025-02-06','VD','BH','sachin.kamble@xpressmoney.tech','xpress money'\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n this.loading = true;\r\n this.dataReady = false;\r\n\r\n\r\n this.pageSize = 15;\r\n this.selectedExportOption = 'excel';\r\n\r\n this.sysCompanyCode = 'BH';\r\n\r\n this.sysUserId = this.reportService.getUserNameFromSessionStorage();\r\n\r\n console.log(`in library :: username from sessionstorage is ${sessionStorage.getItem('fossilusername')\r\n }`);\r\n\r\n\r\n this.companyName = \"Xpress Money\"\r\n\r\n if (this.dateTypeFilter == 1) {\r\n this.dateType = 'VD';\r\n } else {\r\n this.dateType = 'PD';\r\n }\r\n\r\n\r\n\r\n // let dateFromDatePicker=this.convertToDateFromDatepicker();\r\n\r\n\r\n\r\n this.reportService.getAccGLDetailsReport(this.convertToDateFromDatepicker(), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)\r\n .subscribe(data => {\r\n\r\n\r\n this.accGlDetailsEnquiryReportModel = data;\r\n if (this.accGlDetailsEnquiryReportModel) {\r\n\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n\r\n this.companyName = this.accGlDetailsEnquiryReportModel.companyName;\r\n\r\n const userName = this.accGlDetailsEnquiryReportModel.reportUser;\r\n this.reportUser = userName.toLowerCase();\r\n\r\n const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;\r\n this.reportTime = formatDate(rawDate, 'dd/MM/yyyy hh:mm a', 'en-US');\r\n\r\n this.currentReportFormattedDate = formatDate(this.convertToDateFromDatepicker(), 'dd/MM/yyyy', 'en-US')\r\n\r\n this.loading = false;\r\n this.dataReady = true;\r\n\r\n }\r\n }, error => {\r\n console.log(error);\r\n\r\n\r\n this.loading = false;\r\n\r\n\r\n if (typeof error === 'function') {\r\n error = error(); // convert it to actual Error object\r\n }\r\n\r\n const globalErrorHandler = this.injector.get(ErrorHandler);\r\n globalErrorHandler.handleError(error);\r\n // const cleanMessage = (error.message || error.toString()).replace(/<br\\s*\\/?>/gi, '\\n');\r\n // window.alert(cleanMessage);\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n\r\n //====================================================================================\r\n\r\n public formatDate(params: any): string {\r\n return formatDate(new Date(params.value), 'dd/MM/yyyy', 'en-US');\r\n // return formatDate(params.value, 'MMM dd, yyyy hh:mm a', 'en-US');\r\n }\r\n\r\n\r\n\r\n convertToDateFromDatepicker(): string | undefined {\r\n\r\n try {\r\n const [day, month, year] = this.date.split('/');\r\n\r\n if (year > 9999) {\r\n return undefined;\r\n }\r\n\r\n const dateFromUser = new Date(`${year}-${month}-${day}`);\r\n const formattedDateForService = dateFromUser.toISOString().split('T')[0];\r\n return formattedDateForService;\r\n } catch (error) {\r\n\r\n this.loading = false;\r\n\r\n return undefined;\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n onDateChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n // console.log('Date selected:', input.value);\r\n const selectedDate = input.value;\r\n this.date = formatDate(new Date(selectedDate), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n\r\n\r\n onEnterKey(event: Event) {\r\n // this.loading = true;\r\n const keyboardEvent = event as KeyboardEvent;\r\n keyboardEvent.preventDefault();\r\n\r\n if (keyboardEvent.target instanceof HTMLElement) {\r\n keyboardEvent.target.blur();\r\n }\r\n // this.getAccGLDetailsReport();\r\n }\r\n\r\n\r\n onEnterhandleExport(event: Event) {\r\n this.onEnterKey(event);\r\n this.handleExport();\r\n }\r\n //-------------------------------------------------------------------------------\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n\r\n\r\n onPageSizeChanged() {\r\n if (this.gridApi) {\r\n\r\n if (this.pageSize === 0) {\r\n console.log(`journal voucher entries length is ${this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length}`);\r\n\r\n this.gridApi.paginationSetPageSize(this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length);\r\n console.log(`journal voucher entries length is ${this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length}`);\r\n } else {\r\n this.gridApi.paginationSetPageSize(this.pageSize);\r\n console.log(`journal voucher entries length is ${this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length}`);\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n getRowHeight(params: any): number {\r\n // Calculate height based on description content\r\n const description = params.data?.description || '';\r\n if (description.length > 50) { // Adjust threshold as needed\r\n return 40; // Height for wrapped text\r\n }\r\n return 20; // Default height\r\n }\r\n\r\n\r\n formatNumber(params: any): string {\r\n if (params.value == null) return '';\r\n\r\n const field = params.colDef.field;\r\n\r\n // 'Rate' field should always show 8 decimals, no commas\r\n if (field === 'rate') {\r\n return Number(params.value).toFixed(8);\r\n }\r\n\r\n return Number(params.value).toFixed(3);\r\n }\r\n\r\n\r\n\r\n\r\n //------------------------------------------------------------------------------\r\n\r\n handleExport(): void {\r\n switch (this.selectedExportOption) {\r\n case 'excel':\r\n this.exportToExcel();\r\n break;\r\n case 'pdf':\r\n this.exportToPdf();\r\n break;\r\n case 'csv':\r\n this.exportToCsv();\r\n break;\r\n default:\r\n alert('Please select an export format.');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n exportToCsv(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n let metadata: string[][] | undefined;\r\n\r\n try {\r\n metadata = [\r\n ['Report Title', `${this.companyName} - General Ledger Account Details Enquiry`],\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n [`Search Criteria - ${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n ];\r\n } catch (err) {\r\n window.alert(`Error while binding data: ${err}`);\r\n return;\r\n }\r\n\r\n // Filter out any \"Sr No\" column from columnDefs\r\n const filteredColumnDefs = this.columnDefs.filter(\r\n col => !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n // Add manual \"Sr No\" header as the first column\r\n const headers = ['Sr No', ...filteredColumnDefs.map(col => col.headerName || col.field)];\r\n\r\n // Map data rows with manual serial number\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return (value ?? '').toString();\r\n });\r\n\r\n return [(index + 1).toString(), ...rowData]; // prepend Sr No\r\n });\r\n\r\n // Combine metadata, blank row, headers, and data\r\n const csvContent = [...(metadata ?? []), [], headers, ...rows]\r\n .map(e => e.join(','))\r\n .join('\\n');\r\n\r\n this.downloadFile(csvContent, 'ACC-GL-Details-Enquiry-Report.csv', 'text/csv');\r\n }\r\n\r\n\r\n\r\n\r\n exportToExcel(): void {\r\n const data = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n if (!data.length) return;\r\n\r\n const workbook = new ExcelJS.Workbook();\r\n const worksheet = workbook.addWorksheet('ACC-GL-Details-Enquiry-Report');\r\n\r\n const filteredColumnDefs = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n const totalColumns = filteredColumnDefs.length + 1; // +1 for Sr. No\r\n\r\n // Title Row\r\n const titleRow = worksheet.addRow([`${this.companyName} - General Ledger Account Details Enquiry`]);\r\n titleRow.font = { bold: true, size: 14 };\r\n worksheet.mergeCells(`A${titleRow.number}:${String.fromCharCode(64 + totalColumns)}${titleRow.number}`);\r\n worksheet.addRow([]); // spacer\r\n\r\n // Metadata with bold label + normal value (in single cell)\r\n const meta: [string, string][] = [\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', ''],\r\n [`${this.dateType === 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n ];\r\n\r\n\r\n\r\n meta.forEach(([label, value]) => {\r\n const row = worksheet.addRow([]);\r\n const cell = row.getCell(1);\r\n\r\n const isSearchCriteria = label.toLowerCase().includes('search criteria');\r\n\r\n cell.value = {\r\n richText: [\r\n {\r\n text: `${label}: `,\r\n font: {\r\n bold: true,\r\n underline: isSearchCriteria ? true : undefined // Only underline \"Search Criteria\"\r\n }\r\n },\r\n {\r\n text: value ?? '',\r\n font: { bold: false }\r\n }\r\n ]\r\n };\r\n\r\n worksheet.mergeCells(`A${row.number}:${String.fromCharCode(64 + totalColumns)}${row.number}`);\r\n });\r\n\r\n\r\n worksheet.addRow([]); // spacer\r\n\r\n // Header Row\r\n const headerRow = worksheet.addRow(['Sr. No.', ...filteredColumnDefs.map(col => col.headerName || col.field)]);\r\n headerRow.font = { bold: true };\r\n headerRow.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'D9D9D9' },\r\n };\r\n headerRow.alignment = { vertical: 'middle', horizontal: 'center' };\r\n headerRow.border = {\r\n top: { style: 'thin' }, bottom: { style: 'thin' },\r\n left: { style: 'thin' }, right: { style: 'thin' }\r\n };\r\n\r\n const dataStartRow = worksheet.lastRow!.number + 1;\r\n\r\n // Data Rows\r\n let srNo = 1;\r\n data.forEach(row => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n\r\n rowData.unshift(srNo++);\r\n const dataRow = worksheet.addRow(rowData);\r\n dataRow.border = {\r\n top: { style: 'thin' }, bottom: { style: 'thin' },\r\n left: { style: 'thin' }, right: { style: 'thin' }\r\n };\r\n });\r\n\r\n // Auto Width (optimize Sr. No column too)\r\n for (let i = 1; i <= totalColumns; i++) {\r\n let maxLength = 5;\r\n\r\n // Include header row in auto-width\r\n const headerVal = headerRow.getCell(i).value?.toString() ?? '';\r\n maxLength = Math.max(maxLength, headerVal.length);\r\n\r\n // Include data rows\r\n for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow!.number; rowNum++) {\r\n const cell = worksheet.getRow(rowNum).getCell(i);\r\n const val = cell.value ? cell.value.toString() : '';\r\n maxLength = Math.max(maxLength, val.length);\r\n }\r\n\r\n worksheet.getColumn(i).width = maxLength + 2;\r\n }\r\n\r\n\r\n // Export\r\n workbook.xlsx.writeBuffer().then(buffer => {\r\n const blob = new Blob([buffer], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\r\n });\r\n FileSaver.saveAs(blob, 'ACC-GL-Details-Enquiry-Report.xlsx');\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n exportToPdf(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n // Create a wide landscape PDF\r\n const doc = new jsPDF({\r\n orientation: 'landscape',\r\n unit: 'mm',\r\n format: [400, 210] // Custom wide format\r\n });\r\n\r\n const pageWidth = doc.internal.pageSize.width;\r\n\r\n // Title\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n doc.setFontSize(15);\r\n doc.setFont('helvetica', 'bold'); // times ,courier,helvetica\r\n const textWidth = doc.getTextWidth(title);\r\n // doc.text(title, (pageWidth - textWidth) / 2, 15);\r\n doc.text(title, 15, 15);\r\n\r\n // Info block\r\n const infoY = 25;\r\n const leftMargin = 15;\r\n const lineHeight = 7;\r\n const infoLines = [\r\n [`Report User:`, this.reportUser],\r\n [`Report Time:`, this.reportTime],\r\n [`Search Criteria`, ''],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}:`, this.currentReportFormattedDate],\r\n ];\r\n\r\n doc.setFontSize(10);\r\n infoLines.forEach(([label, value], i) => {\r\n const y = infoY + i * lineHeight;\r\n\r\n if (label === 'Search Criteria') {\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n\r\n // Draw underline\r\n const textWidth = doc.getTextWidth(label);\r\n doc.setDrawColor(0); // Black\r\n doc.setLineWidth(0.5);\r\n doc.line(leftMargin, y + 1, leftMargin + textWidth, y + 1);\r\n } else {\r\n\r\n // for display key as bold and values as normla font with more space between them\r\n // doc.setFont('helvetica', 'bold');\r\n // doc.text(label, leftMargin, y);\r\n // doc.setFont('helvetica', 'normal');\r\n // doc.text(value, leftMargin + 40, y);\r\n\r\n\r\n\r\n // for display key values with both bold font as combined together\r\n // const combinedText = `${label} ${value}`;\r\n // doc.setFont('helvetica', 'bold');\r\n // doc.text(combinedText, leftMargin, y);\r\n\r\n\r\n\r\n\r\n // for display key in bold and values in normal font just like one after one \r\n // Draw label in bold\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n\r\n // Draw value in normal font right after label\r\n const labelWidth = doc.getTextWidth(label + ' ');\r\n doc.setFont('helvetica', 'normal');\r\n doc.text(value, leftMargin + labelWidth, y);\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n const filteredColumns = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('srno') || col.field?.toLowerCase().includes('serial'))\r\n );\r\n\r\n\r\n\r\n\r\n // Prepare headers with Sr No\r\n const headers = ['Sr No', ...filteredColumns.map(col => col.headerName || col.field!)];\r\n\r\n // Prepare rows with Sr No\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumns.map(col => {\r\n let value = row[col.field!];\r\n if (col.field && col.field.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n return [index + 1, ...rowData];\r\n });\r\n\r\n // Generate dynamic column styles for auto-width\r\n const columnStyles: { [key: number]: any } = {};\r\n headers.forEach((_, i) => {\r\n columnStyles[i] = { cellWidth: 'auto' };\r\n });\r\n\r\n // Render table\r\n doc.autoTable({\r\n head: [headers],\r\n body: rows,\r\n startY: infoY + infoLines.length * lineHeight + 5,\r\n theme: 'grid',\r\n headStyles: {\r\n fillColor: [220, 220, 220],\r\n textColor: 0,\r\n fontStyle: 'bold',\r\n fontSize: 9,\r\n halign: 'center',\r\n },\r\n bodyStyles: {\r\n fontSize: 8,\r\n fillColor: [255, 255, 255],\r\n textColor: [0, 0, 0],\r\n },\r\n styles: {\r\n cellPadding: 2,\r\n overflow: 'linebreak',\r\n minCellHeight: 6,\r\n },\r\n columnStyles: columnStyles,\r\n });\r\n\r\n doc.save('ACC-GL-Details-Enquiry-Report.pdf');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n private downloadFile(data: string, filename: string, type: string): void {\r\n const blob = new Blob([data], { type });\r\n const link = document.createElement('a');\r\n link.href = URL.createObjectURL(blob);\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n onSearch(): void {\r\n const normalize = (str: any): string =>\r\n str?.toString()\r\n .toLowerCase()\r\n .replace(/,/g, '') // remove commas\r\n .replace(/\\s+/g, ' ') // normalize all spaces to one\r\n .replace(/[\\u200B-\\u200D\\uFEFF]/g, '') // remove invisible chars\r\n .trim();\r\n\r\n const search = normalize(this.searchText);\r\n\r\n\r\n\r\n console.log(`searchText is ${this.searchText}`);\r\n console.log(`normalise Text is ${search}`);\r\n\r\n\r\n if (search) {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.filter(item =>\r\n Object.values(item).some(value =>\r\n normalize(value).includes(search)\r\n )\r\n );\r\n } else {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","<!-- <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css\"> -->\r\n<!-- <script src=\"./node_modules/jquery/dist/jquery.js\"></script>\r\n <script src=\"./node_modules/bootstrap/dist/js/bootstrap.js\"></script> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<h6 class=\"Breadcrumb\">\r\n <a class=\"BreadCrumbLink\" [routerLink]=\"['/reports']\">\r\n <h1>Reports</h1>\r\n </a>\r\n <a href=\"BreadCrumbLink\"></a>\r\n <span class=\"BreadCrumbArrow\"></span>\r\n <a class=\"BreadCrumbLink\">\r\n <h2 style=\"font-weight: bold !important; color: black !important;\">ACC GL Details Enquiry</h2>\r\n </a>\r\n</h6>\r\n\r\n\r\n<div class=\"bootstrap-scope \" style=\"margin-bottom: 0px;\">\r\n\r\n <div class=\"main-container\">\r\n\r\n\r\n <div class=\"form-container\">\r\n\r\n <form class=\"d-flex align-items-center gap-2\">\r\n\r\n\r\n <!-- ----------------------------------------------------- -->\r\n <div class=\"d-flex align-items-center gap-2\">\r\n\r\n <label for=\"dateTypeFilter\" class=\"compact-label\">Date Type</label>\r\n\r\n <select class=\"form-select form-control w-auto compact-input\" name=\"dateTypeFilter\"\r\n [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\r\n <option [ngValue]=\"1\">Value Date</option>\r\n <option [ngValue]=\"2\">Posting Date</option>\r\n </select>\r\n\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2\" style=\"margin-left: 20px;\">\r\n <label for=\"date\" class=\"compact-label\">Date</label>\r\n\r\n\r\n <!-- custom datepicker for formatted date selection dd/mm/yyyy -->\r\n <div class=\"date-picker-wrapper\">\r\n <input type=\"text\" class=\"form-control date-picker-input-1\" name=\"date\" [(ngModel)]=\"date\" id=\"date\"\r\n placeholder=\"dd/MM/yyyy\" (keydown.enter)=\"onEnterKey($event)\" />\r\n <input type=\"date\" class=\"form-control date-picker-input-2\" (change)=\"onDateChange($event)\"\r\n (keydown.enter)=\"onEnterKey($event)\" />\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n <div>\r\n <button class=\"btn-primary\" type=\"submit\" style=\"font-size: 12px !important;\"\r\n (click)=\"getAccGLDetailsReport()\">\r\n View Report\r\n </button>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </form>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n <hr style=\"color: gray; margin-bottom: 0px;\" />\r\n\r\n <!-- -------------------------------------------------------------------------------- -->\r\n\r\n\r\n <div class=\"report-loader\" *ngIf=\"loading && svgLoader\" [innerHTML]=\"svgLoader\"></div>\r\n\r\n <!-- ----------------------------------------------------------------------------------- -->\r\n <!-- (for below report-container div) *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\" -->\r\n <div class=\"report-container\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n\r\n\r\n <!-- (for below main-report div) *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" -->\r\n <div class=\"main-report\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n\r\n\r\n <h1 class=\"title\">\r\n General Ledger Account Details\r\n Enquiry</h1>\r\n\r\n\r\n <div class=\"report-content\">\r\n\r\n <div class=\"left-section\">\r\n <div class=\"labels\">\r\n <p><b>Company</b></p>\r\n <p><b>{{ dateType ==\r\n 'VD' ? 'Value Date' : 'Posting Date' }}</b></p>\r\n\r\n\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ companyName }}</p>\r\n <p>: {{currentReportFormattedDate}}</p>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"right-section\">\r\n <div class=\"labels\">\r\n <p><b>Report User</b></p>\r\n <p><b>Report Time</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ reportUser }}</p>\r\n <p>: {{ reportTime }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"d-flex justify-content-between align-items-center mt-3 mb-3 flex-wrap\">\r\n\r\n\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex justify-content-end align-items-center\">\r\n <input type=\"text\" [(ngModel)]=\"searchText\" name=\"searchText\" (ngModelChange)=\"onSearch()\"\r\n class=\"form-control custom-search-class\" placeholder=\"Search...\"\r\n style=\"width: 190px; height: 20px; color: black; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; \" />\r\n <button type=\"button\" class=\"btn btn-sm p-0\" (click)=\"onSearch()\"\r\n style=\"height: 32px; width: 36px; background-color: #0081c6; border-top-left-radius: 0px !important; border-bottom-left-radius: 0px !important;\">\r\n <img src=\"assets/images/Search.svg\" alt=\"Search\"\r\n style=\"max-height: 70%; max-width: 70%; height: 17px; width: 17px; object-fit: contain;\" />\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div class=\"d-flex align-items-center\">\r\n <select class=\"form-select w-auto form-control compact-input\" name=\"selectedExportOption\"\r\n id=\"selectedExportOption\" [(ngModel)]=\"selectedExportOption\"\r\n (keydown.enter)=\"onEnterhandleExport($event)\">\r\n <option value='csv'>CSV</option>\r\n <option value='excel'>Excel</option>\r\n <option value='pdf'>PDF</option>\r\n </select>\r\n <button type=\"button\" class=\"btn-primary\" style=\"font-size: 12px !important;\"\r\n (click)=\"handleExport()\">Export</button>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n <div style=\"position: relative;\">\r\n\r\n <div class=\"d-flex align-items-center gap-2\"\r\n style=\"position: absolute; left: 10px; bottom: 5.5px; z-index: 1; background: transparent; padding-right: 10px; align-items: center; justify-content: center; \">\r\n <label\r\n style=\"font-weight: 600;font-size: 11px !important; margin: 0px !important; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; align-items: center; justify-content: center;\"\r\n for=\"pageSize\">Entries\r\n Per Page</label>\r\n <select class=\"form-select custom-height w-auto\" id=\"pageSize\" [(ngModel)]=\"pageSize\"\r\n (change)=\"onPageSizeChanged()\">\r\n <option [ngValue]=\"10\">10</option>\r\n <option [ngValue]=\"15\">15</option>\r\n <option [ngValue]=\"20\">20</option>\r\n <option [ngValue]=\"30\">30</option>\r\n <option [ngValue]=\"50\">50</option>\r\n <option [ngValue]=\"100\">100</option>\r\n <option [ngValue]=\"200\">200</option>\r\n <option [ngValue]=\"0\">All</option>\r\n </select>\r\n </div>\r\n\r\n\r\n\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine compact-grid\" style=\"width: 100%; font-weight: 500; height: 390px;\"\r\n [rowData]=\"rowData\" [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\"\r\n [rowHeight]=\"20\" [headerHeight]=\"24\" [pagination]=\"true\" [domLayout]=\"'normal'\"\r\n [paginationPageSize]=\"pageSize\" [suppressHorizontalScroll]=\"false\" [suppressRowHoverHighlight]=\"false\"\r\n [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\r\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\r\n </ag-grid-angular>\r\n\r\n <!-- [domLayout]=\"'autoHeight'\" -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n <!-- below for report user and report time at footer side of ag-grid . put on right side -->\r\n <!-- <div\r\n style=\"display: flex; font-size: 10px !important; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin-top: 3px;\">\r\n <div class=\"labels\">\r\n <p>Report User & Report Time</p>\r\n </div>\r\n <div class=\"values\">\r\n <p style=\"font-weight: normal !important;\">: {{ reportUser }} @ {{ reportTime }}</p>\r\n </div>\r\n </div> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div>","\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'acc-gl-details-enquiry-report',\r\n component: AccGlDetailsEnquiryReportComponent\r\n },\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ReportsLibRoutingModule {}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n selfHostUrl: 'http://localhost:9000/api/scriptx',\r\n configFile: 'assets/config/app-config.json'\r\n};\r\n","import { Injectable } from \"@angular/core\";\r\n// import Swal from \"sweetalert2\";\r\nimport { HttpBackend, HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { forkJoin } from \"rxjs\";\r\nimport { environment } from \"../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class ActiveXService {\r\n \r\n private macAddress = \"\";\r\n private ipAddress = \"\";\r\n private machineName = \"\";\r\n private processorId = \"\";\r\n private printerName = \"\";\r\n\r\n private scriptxServiceUrl: string;\r\n\r\n private scriptxHttpClient: HttpClient;\r\n\r\n public isSelfHostAvailable: boolean;\r\n\r\n constructor(private backend: HttpBackend) {\r\n this.scriptxServiceUrl = environment.selfHostUrl;\r\n this.scriptxHttpClient = new HttpClient(backend);\r\n this.requestSelfHostedServiceInfo()\r\n .subscribe((responseList) => {\r\n this.machineName = responseList[0];\r\n this.macAddress = responseList[1];\r\n this.ipAddress = responseList[2];\r\n this.processorId = responseList[3];\r\n this.isSelfHostAvailable = true;\r\n },\r\n err => {\r\n this.isSelfHostAvailable = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n getMACAddress(): string {\r\n return this.macAddress;\r\n }\r\n\r\n getIPAddress(): string {\r\n return this.ipAddress;\r\n }\r\n\r\n getMachineName(): string {\r\n return this.machineName;\r\n }\r\n\r\n getPrinterName(): string {\r\n return this.printerName;\r\n }\r\n\r\n getProcessorId(): string {\r\n return this.processorId;\r\n }\r\n\r\n public requestSelfHostedServiceInfo(): Observable<any[]> {\r\n let responseGetMachineName = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetMachineName\"\r\n );\r\n let responseGetMacAddress = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetMacAddress\"\r\n );\r\n let responseGetIpAddress = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetIpAddress\"\r\n );\r\n let responseGetProcessId = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetProcessId\"\r\n );\r\n return forkJoin([\r\n responseGetMachineName,\r\n responseGetMacAddress,\r\n responseGetIpAddress,\r\n responseGetProcessId,\r\n ]);\r\n }\r\n}\r\n","import { Inject, Injectable, OnInit } from '@angular/core';\r\nimport { LOCAL_STORAGE, InMemoryStorageService, isStorageAvailable, SESSION_STORAGE } from 'ngx-webstorage-service';\r\n\r\nimport { UserSessionModel } from '../models/security/user-session.model';\r\nimport { Observable , BehaviorSubject } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { LocalStorage } from '@ng-idle/core';\r\n\r\n\r\n@Injectable()\r\nexport class SessionService {\r\n\r\n private userSessionKey = 'FossilUserSessionModel';\r\n session: UserSessionModel;\r\n onSessionChanged: BehaviorSubject<any>;\r\n constructor(\r\n @Inject(SESSION_STORAGE) private storage: InMemoryStorageService,\r\n private oauthService: OAuthService) {\r\n this.onSessionChanged = new BehaviorSubject(null);\r\n }\r\n\r\n public GetObjectByKey(key: string): any {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n return this.storage.get(key);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public SetObject(key: string, value: any) {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.set(key, value);\r\n }\r\n this.UpdateSession();\r\n }\r\n\r\n public RemoveObject(key: string) {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.remove(key);\r\n }\r\n this.UpdateSession();\r\n }\r\n\r\n public GetUserSession(): UserSessionModel {\r\n return this.GetObjectByKey(this.userSessionKey);\r\n }\r\n\r\n // TODO Consider if this should close the session on the server side or just reset the client session\r\n public Clear() {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.remove(this.userSessionKey);\r\n }\r\n }\r\n\r\n private UpdateSession() {\r\n this.session = this.GetUserSession();\r\n this.onSessionChanged.next(this.session);\r\n }\r\n\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { ActiveXService } from '../services/active-x.service';\r\nimport { SessionService } from '../services/session.service';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Injectable()\r\nexport class AuthHttpInterceptor implements HttpInterceptor \r\n{\r\n constructor(private oAuthService: OAuthService, private activeXService: ActiveXService, private session: SessionService) { }\r\n\r\n\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> \r\n {\r\n const token = this.oAuthService.getAccessToken();\r\n const guid: string = uuidv4().replace(/-/g, '');\r\n let clonedRequest = request.clone({\r\n withCredentials: true\r\n });\r\n\r\n if (token) {\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n },\r\n withCredentials: true\r\n });\r\n }\r\n if (!request.headers.has('request-trace-id')) {\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'request-trace-id': guid\r\n }\r\n });\r\n } \r\n let userBranch = 'NotSelected';\r\n let userCompany = 'NotSelected';\r\n if (this.session) {\r\n const userSession = this.session.GetUserSession();\r\n userBranch = userSession?.branch || 'NotInSession';\r\n userCompany = userSession?.companyShortCode || 'NotInSession';\r\n }\r\n\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'UserBranch': userBranch || ''\r\n },\r\n withCredentials: true\r\n });\r\n\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'UserCompany': userCompany || ''\r\n },\r\n withCredentials: true\r\n });\r\n\r\n return next.handle(clonedRequest);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ReportsLibComponent } from './reports-lib.component';\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { ReportsLibRoutingModule } from './reports-lib-routing.module';\r\nimport { OAuthModule, OAuthService, OAuthStorage } from 'angular-oauth2-oidc';\r\nimport { AuthHttpInterceptor } from './interceptors/auth-http.interceptor';\r\nimport { ActiveXService } from './services/active-x.service';\r\nimport { SessionService } from './services/session.service';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ReportsLibComponent,\r\n \r\n AccGlDetailsEnquiryReportComponent\r\n ],\r\n imports: [\r\n AgGridModule,\r\n ReportsLibRoutingModule,\r\n CommonModule,\r\n NgIdleModule.forRoot(),\r\n OAuthModule.forRoot(),\r\n FormsModule\r\n \r\n ],\r\n providers: \r\n [\r\n ActiveXService,\r\n SessionService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthHttpInterceptor,\r\n deps: [OAuthService, ActiveXService, SessionService],\r\n multi: true\r\n },\r\n ],\r\n exports: [\r\n ReportsLibComponent,\r\n AccGlDetailsEnquiryReportComponent\r\n ]\r\n})\r\nexport class ReportsLibModule { }\r\n","/*\r\n * Public API Surface of reports-lib\r\n */\r\n\r\n\r\n\r\nexport * from './lib/reports-lib.service';\r\nexport * from './lib/reports-lib.component';\r\nexport * from './lib/reports-lib.module';\r\nexport * from './lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ReportService","i2","i1","uuidv4","i2.ActiveXService","i3.SessionService"],"mappings":"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"}
@@ -8,7 +8,7 @@ import * as ExcelJS from 'exceljs';
8
8
  import * as FileSaver from 'file-saver';
9
9
  import { throwError, forkJoin, BehaviorSubject } from 'rxjs';
10
10
  import * as i1 from '@angular/common/http';
11
- import { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
11
+ import { HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';
12
12
  import * as i3 from '@angular/platform-browser';
13
13
  import * as i4 from 'ag-grid-angular';
14
14
  import { AgGridModule } from 'ag-grid-angular';
@@ -62,12 +62,12 @@ class ReportService {
62
62
  this.errorHandler = errorHandler;
63
63
  this.injector = injector;
64
64
  this.systemReportUrl = '/api/v1/CompanyConfiguration/SystemReports';
65
- this.serviceUrl = "https://4xplus-local.xpressmoney.tech:8699";
66
- this.reportUrl = "/api/v1/Report";
65
+ this.serviceUrl = "https://4xplus-local.xpressmoney.tech:8752";
66
+ this.AccGlDetailsEnquiryReportUrl = "/api/v1/Report/AccGlDetailsEnquiryReport";
67
67
  }
68
68
  getAccGLDetailsReport(formattedDate, dateType, sysCompanyCode, sysUserId, companyName) {
69
69
  if (formattedDate) {
70
- const apiPath = `${this.serviceUrl}${this.reportUrl}/AccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;
70
+ const apiPath = `${this.serviceUrl}${this.AccGlDetailsEnquiryReportUrl}/GetAccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;
71
71
  return this.http.get(apiPath);
72
72
  }
73
73
  else {
@@ -744,11 +744,9 @@ class ReportsLibModule {
744
744
  }
745
745
  ReportsLibModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
746
746
  ReportsLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, declarations: [ReportsLibComponent,
747
- AccGlDetailsEnquiryReportComponent], imports: [HttpClientModule,
748
- AgGridModule,
747
+ AccGlDetailsEnquiryReportComponent], imports: [AgGridModule,
749
748
  ReportsLibRoutingModule,
750
- CommonModule,
751
- HttpClientModule, i1$2.NgIdleModule, i1$1.OAuthModule, FormsModule], exports: [ReportsLibComponent,
749
+ CommonModule, i1$2.NgIdleModule, i1$1.OAuthModule, FormsModule], exports: [ReportsLibComponent,
752
750
  AccGlDetailsEnquiryReportComponent] });
753
751
  ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, providers: [
754
752
  ActiveXService,
@@ -759,11 +757,9 @@ ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versio
759
757
  deps: [OAuthService, ActiveXService, SessionService],
760
758
  multi: true
761
759
  },
762
- ], imports: [HttpClientModule,
763
- AgGridModule,
760
+ ], imports: [AgGridModule,
764
761
  ReportsLibRoutingModule,
765
762
  CommonModule,
766
- HttpClientModule,
767
763
  NgIdleModule.forRoot(),
768
764
  OAuthModule.forRoot(),
769
765
  FormsModule] });
@@ -775,11 +771,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
775
771
  AccGlDetailsEnquiryReportComponent
776
772
  ],
777
773
  imports: [
778
- HttpClientModule,
779
774
  AgGridModule,
780
775
  ReportsLibRoutingModule,
781
776
  CommonModule,
782
- HttpClientModule,
783
777
  NgIdleModule.forRoot(),
784
778
  OAuthModule.forRoot(),
785
779
  FormsModule
@@ -1 +1 @@
1
- {"version":3,"file":"sachin9822-reports-lib.mjs","sources":["../../../projects/reports-lib/src/lib/reports-lib.service.ts","../../../projects/reports-lib/src/lib/reports-lib.component.ts","../../../projects/reports-lib/src/lib/services/report.service.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.html","../../../projects/reports-lib/src/lib/reports-lib-routing.module.ts","../../../projects/reports-lib/src/environments/environment.ts","../../../projects/reports-lib/src/lib/services/active-x.service.ts","../../../projects/reports-lib/src/lib/services/session.service.ts","../../../projects/reports-lib/src/lib/interceptors/auth-http.interceptor.ts","../../../projects/reports-lib/src/lib/reports-lib.module.ts","../../../projects/reports-lib/src/public-api.ts","../../../projects/reports-lib/src/sachin9822-reports-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportsLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-reports-lib',\r\n template: `\r\n <p>\r\n reports-lib works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class ReportsLibComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\nimport { AccGlDetailsEnquiryReportModel } from '../models/accgl-details-enquiry-reportmodel';\nimport { Observable, throwError } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n\n\n private serviceUrl: string;\n private reportUrl: string;\n private systemReportUrl = '/api/v1/CompanyConfiguration/SystemReports';\n\n\n\n constructor(private http: HttpClient, private errorHandler: ErrorHandler, private injector: Injector) {\n this.serviceUrl = \"https://4xplus-local.xpressmoney.tech:8699\";\n this.reportUrl = \"/api/v1/Report\";\n\n }\n\n\n\n\n\n public getAccGLDetailsReport(formattedDate: string | undefined, dateType: string, sysCompanyCode: string, sysUserId: string, companyName: string): Observable<AccGlDetailsEnquiryReportModel> {\n\n\n if (formattedDate) {\n const apiPath = `${this.serviceUrl}${this.reportUrl}/AccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;\n return this.http.get<AccGlDetailsEnquiryReportModel>(apiPath);\n } else {\n\n const exampleDate = new Date().toLocaleDateString('en-GB');\n const message = `Invalid Date Format!\\nDate should be in dd/MM/yyyy format.\\nFor example: ${exampleDate} as day/month/year.`; //\\nNote : Year cannot be greater than 9999\n\n\n return throwError(() => new Error(message));\n }\n }\n\n\n\n\n public getUserNameFromSessionStorage(): string {\n let fossilUserName = sessionStorage.getItem('fossilusername');\n let ezremitusername = sessionStorage.getItem('ezremitusername');\n\n if (fossilUserName) {\n return fossilUserName.replace(/^\"(.*)\"$/, '$1');\n } else {\n return ezremitusername.replace(/^\"(.*)\"$/, '$1');\n }\n\n\n }\n\n\n}\n","import { Component, ErrorHandler, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { AccGlDetailsEnquiryReportModel } from '../../models/accgl-details-enquiry-reportmodel';\r\nimport { ColDef, ColumnApi, GridApi, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport Decimal from 'decimal.js';\r\nimport { formatDate } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport jsPDF from 'jspdf';\r\n// import autoTable from 'jspdf-autotable';\r\n// import * as autoTable from 'jspdf-autotable';\r\nimport 'jspdf-autotable';\r\n\r\nimport * as ExcelJS from 'exceljs';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n\r\ndeclare module 'jspdf' {\r\n interface jsPDF {\r\n autoTable: (options: any) => jsPDF;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-acc-gl-details-enquiry-report',\r\n templateUrl: './acc-gl-details-enquiry-report.component.html',\r\n styleUrls: ['./acc-gl-details-enquiry-report.component.scss'],\r\n\r\n})\r\nexport class AccGlDetailsEnquiryReportComponent implements OnInit {\r\n\r\n\r\n searchText: string = '';\r\n\r\n gridApi: GridApi<any>;\r\n gridColumnApi!: ColumnApi;\r\n\r\n selectedExportOption: string = 'excel';\r\n\r\n pageSize: number = 15;\r\n\r\n svgLoader: SafeHtml = '';\r\n loading: boolean = false;\r\n dataReady: boolean = false;\r\n\r\n dateTypeFilter: number = 1;\r\n\r\n dateType: any;\r\n sysCompanyCode: any;\r\n sysUserId: any;\r\n companyName: any;\r\n reportUser: any;\r\n reportTime: any;\r\n date: any;\r\n currentReportFormattedDate: any\r\n\r\n defaultColDef: ColDef = {\r\n resizable: true,\r\n sortable: false,\r\n minWidth: 40,\r\n suppressSizeToFit: false\r\n // filter: true,\r\n };\r\n\r\n\r\n\r\n // for rate -- valueFormatter: this.formatNumber,\r\n\r\n columnDefs: ColDef[] = [\r\n { headerName: 'Journal ID', field: 'journalID', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 91, tooltipField: 'journalID' },\r\n { headerName: 'Trans No', field: 'transactionNo', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell-transaction', minWidth: 71, tooltipField: 'transactionNo' },\r\n { headerName: 'Trans Code', field: 'transactionCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 61, tooltipField: 'transactionCode' },\r\n { headerName: 'Journal Type', field: 'journalType', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 74, tooltipField: 'journalType' },\r\n { headerName: 'Posting Date', field: 'postingDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 69, tooltipValueGetter: (params) => this.formatDate(params) },\r\n { headerName: 'Value Date', field: 'valueDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatDate(params), },\r\n { headerName: 'Description', field: 'description', flex: 4.8, cellClass: 'description-cell', minWidth: 119, wrapText: true, autoHeight: true, cellStyle: { 'line-height': '1.2' }, tooltipField: 'description' },\r\n { headerName: 'Account Code', field: 'accountCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 73, tooltipField: 'accountCode' },\r\n { headerName: 'Ccy', field: 'currency', flex: 0.8, cellClass: 'ag-left-cols-cell', minWidth: 35, tooltipField: 'currency' },\r\n { headerName: 'Rate', field: 'rate', flex: 1.3, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxDebit', field: 'forexDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Debit', field: 'localDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxCredit', field: 'forexCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Credit', field: 'localCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n\r\n\r\n ];\r\n\r\n\r\n // cellRenderer: (params) => {const value=this.formatNumber(params) ; const numericValue = Number(params.value); const color = numericValue < 1 ? 'red' : 'green'; return `<span style=\"color:${color}\" >${value}</span> `},\r\n\r\n\r\n rowData = [];\r\n\r\n\r\n accGlDetailsEnquiryReportModel: AccGlDetailsEnquiryReportModel;\r\n\r\n\r\n constructor(private reportService: ReportService, private http: HttpClient, private sanitizer: DomSanitizer, private errorHandler: ErrorHandler, private injector: Injector) {\r\n\r\n\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.http.get('assets/svg-loaders/tail-spin.svg', { responseType: 'text' }).subscribe(svg => {\r\n this.svgLoader = this.sanitizer.bypassSecurityTrustHtml(svg);\r\n // console.log('SVG Loaded:', svg);\r\n })\r\n\r\n const today = new Date();\r\n this.date = formatDate(new Date(today), 'dd/MM/yyyy', 'en-US');\r\n }\r\n\r\n public getAccGLDetailsReport() {\r\n // '2025-02-06','VD','BH','sachin.kamble@xpressmoney.tech','xpress money'\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n this.loading = true;\r\n this.dataReady = false;\r\n\r\n\r\n this.pageSize = 15;\r\n this.selectedExportOption = 'excel';\r\n\r\n this.sysCompanyCode = 'BH';\r\n\r\n this.sysUserId = this.reportService.getUserNameFromSessionStorage();\r\n\r\n console.log(`in library :: username from sessionstorage is ${sessionStorage.getItem('fossilusername')\r\n }`);\r\n\r\n\r\n this.companyName = \"Xpress Money\"\r\n\r\n if (this.dateTypeFilter == 1) {\r\n this.dateType = 'VD';\r\n } else {\r\n this.dateType = 'PD';\r\n }\r\n\r\n\r\n\r\n // let dateFromDatePicker=this.convertToDateFromDatepicker();\r\n\r\n\r\n\r\n this.reportService.getAccGLDetailsReport(this.convertToDateFromDatepicker(), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)\r\n .subscribe(data => {\r\n\r\n\r\n this.accGlDetailsEnquiryReportModel = data;\r\n if (this.accGlDetailsEnquiryReportModel) {\r\n\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n\r\n this.companyName = this.accGlDetailsEnquiryReportModel.companyName;\r\n\r\n const userName = this.accGlDetailsEnquiryReportModel.reportUser;\r\n this.reportUser = userName.toLowerCase();\r\n\r\n const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;\r\n this.reportTime = formatDate(rawDate, 'dd/MM/yyyy hh:mm a', 'en-US');\r\n\r\n this.currentReportFormattedDate = formatDate(this.convertToDateFromDatepicker(), 'dd/MM/yyyy', 'en-US')\r\n\r\n this.loading = false;\r\n this.dataReady = true;\r\n\r\n }\r\n }, error => {\r\n console.log(error);\r\n\r\n\r\n this.loading = false;\r\n\r\n\r\n if (typeof error === 'function') {\r\n error = error(); // convert it to actual Error object\r\n }\r\n\r\n const globalErrorHandler = this.injector.get(ErrorHandler);\r\n globalErrorHandler.handleError(error);\r\n // const cleanMessage = (error.message || error.toString()).replace(/<br\\s*\\/?>/gi, '\\n');\r\n // window.alert(cleanMessage);\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n\r\n //====================================================================================\r\n\r\n public formatDate(params: any): string {\r\n return formatDate(new Date(params.value), 'dd/MM/yyyy', 'en-US');\r\n // return formatDate(params.value, 'MMM dd, yyyy hh:mm a', 'en-US');\r\n }\r\n\r\n\r\n\r\n convertToDateFromDatepicker(): string | undefined {\r\n\r\n try {\r\n const [day, month, year] = this.date.split('/');\r\n\r\n if (year > 9999) {\r\n return undefined;\r\n }\r\n\r\n const dateFromUser = new Date(`${year}-${month}-${day}`);\r\n const formattedDateForService = dateFromUser.toISOString().split('T')[0];\r\n return formattedDateForService;\r\n } catch (error) {\r\n\r\n this.loading = false;\r\n\r\n return undefined;\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n onDateChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n // console.log('Date selected:', input.value);\r\n const selectedDate = input.value;\r\n this.date = formatDate(new Date(selectedDate), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n\r\n\r\n onEnterKey(event: Event) {\r\n // this.loading = true;\r\n const keyboardEvent = event as KeyboardEvent;\r\n keyboardEvent.preventDefault();\r\n\r\n if (keyboardEvent.target instanceof HTMLElement) {\r\n keyboardEvent.target.blur();\r\n }\r\n // this.getAccGLDetailsReport();\r\n }\r\n\r\n\r\n onEnterhandleExport(event: Event) {\r\n this.onEnterKey(event);\r\n this.handleExport();\r\n }\r\n //-------------------------------------------------------------------------------\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n\r\n\r\n onPageSizeChanged() {\r\n if (this.gridApi) {\r\n\r\n if (this.pageSize === 0) {\r\n console.log(`journal voucher entries length is ${this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length}`);\r\n\r\n this.gridApi.paginationSetPageSize(this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length);\r\n console.log(`journal voucher entries length is ${this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length}`);\r\n } else {\r\n this.gridApi.paginationSetPageSize(this.pageSize);\r\n console.log(`journal voucher entries length is ${this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length}`);\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n getRowHeight(params: any): number {\r\n // Calculate height based on description content\r\n const description = params.data?.description || '';\r\n if (description.length > 50) { // Adjust threshold as needed\r\n return 40; // Height for wrapped text\r\n }\r\n return 20; // Default height\r\n }\r\n\r\n\r\n formatNumber(params: any): string {\r\n if (params.value == null) return '';\r\n\r\n const field = params.colDef.field;\r\n\r\n // 'Rate' field should always show 8 decimals, no commas\r\n if (field === 'rate') {\r\n return Number(params.value).toFixed(8);\r\n }\r\n\r\n return Number(params.value).toFixed(3);\r\n }\r\n\r\n\r\n\r\n\r\n //------------------------------------------------------------------------------\r\n\r\n handleExport(): void {\r\n switch (this.selectedExportOption) {\r\n case 'excel':\r\n this.exportToExcel();\r\n break;\r\n case 'pdf':\r\n this.exportToPdf();\r\n break;\r\n case 'csv':\r\n this.exportToCsv();\r\n break;\r\n default:\r\n alert('Please select an export format.');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n exportToCsv(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n let metadata: string[][] | undefined;\r\n\r\n try {\r\n metadata = [\r\n ['Report Title', `${this.companyName} - General Ledger Account Details Enquiry`],\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n [`Search Criteria - ${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n ];\r\n } catch (err) {\r\n window.alert(`Error while binding data: ${err}`);\r\n return;\r\n }\r\n\r\n // Filter out any \"Sr No\" column from columnDefs\r\n const filteredColumnDefs = this.columnDefs.filter(\r\n col => !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n // Add manual \"Sr No\" header as the first column\r\n const headers = ['Sr No', ...filteredColumnDefs.map(col => col.headerName || col.field)];\r\n\r\n // Map data rows with manual serial number\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return (value ?? '').toString();\r\n });\r\n\r\n return [(index + 1).toString(), ...rowData]; // prepend Sr No\r\n });\r\n\r\n // Combine metadata, blank row, headers, and data\r\n const csvContent = [...(metadata ?? []), [], headers, ...rows]\r\n .map(e => e.join(','))\r\n .join('\\n');\r\n\r\n this.downloadFile(csvContent, 'ACC-GL-Details-Enquiry-Report.csv', 'text/csv');\r\n }\r\n\r\n\r\n\r\n\r\n exportToExcel(): void {\r\n const data = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n if (!data.length) return;\r\n\r\n const workbook = new ExcelJS.Workbook();\r\n const worksheet = workbook.addWorksheet('ACC-GL-Details-Enquiry-Report');\r\n\r\n const filteredColumnDefs = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n const totalColumns = filteredColumnDefs.length + 1; // +1 for Sr. No\r\n\r\n // Title Row\r\n const titleRow = worksheet.addRow([`${this.companyName} - General Ledger Account Details Enquiry`]);\r\n titleRow.font = { bold: true, size: 14 };\r\n worksheet.mergeCells(`A${titleRow.number}:${String.fromCharCode(64 + totalColumns)}${titleRow.number}`);\r\n worksheet.addRow([]); // spacer\r\n\r\n // Metadata with bold label + normal value (in single cell)\r\n const meta: [string, string][] = [\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', ''],\r\n [`${this.dateType === 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n ];\r\n\r\n\r\n\r\n meta.forEach(([label, value]) => {\r\n const row = worksheet.addRow([]);\r\n const cell = row.getCell(1);\r\n\r\n const isSearchCriteria = label.toLowerCase().includes('search criteria');\r\n\r\n cell.value = {\r\n richText: [\r\n {\r\n text: `${label}: `,\r\n font: {\r\n bold: true,\r\n underline: isSearchCriteria ? true : undefined // Only underline \"Search Criteria\"\r\n }\r\n },\r\n {\r\n text: value ?? '',\r\n font: { bold: false }\r\n }\r\n ]\r\n };\r\n\r\n worksheet.mergeCells(`A${row.number}:${String.fromCharCode(64 + totalColumns)}${row.number}`);\r\n });\r\n\r\n\r\n worksheet.addRow([]); // spacer\r\n\r\n // Header Row\r\n const headerRow = worksheet.addRow(['Sr. No.', ...filteredColumnDefs.map(col => col.headerName || col.field)]);\r\n headerRow.font = { bold: true };\r\n headerRow.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'D9D9D9' },\r\n };\r\n headerRow.alignment = { vertical: 'middle', horizontal: 'center' };\r\n headerRow.border = {\r\n top: { style: 'thin' }, bottom: { style: 'thin' },\r\n left: { style: 'thin' }, right: { style: 'thin' }\r\n };\r\n\r\n const dataStartRow = worksheet.lastRow!.number + 1;\r\n\r\n // Data Rows\r\n let srNo = 1;\r\n data.forEach(row => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n\r\n rowData.unshift(srNo++);\r\n const dataRow = worksheet.addRow(rowData);\r\n dataRow.border = {\r\n top: { style: 'thin' }, bottom: { style: 'thin' },\r\n left: { style: 'thin' }, right: { style: 'thin' }\r\n };\r\n });\r\n\r\n // Auto Width (optimize Sr. No column too)\r\n for (let i = 1; i <= totalColumns; i++) {\r\n let maxLength = 5;\r\n\r\n // Include header row in auto-width\r\n const headerVal = headerRow.getCell(i).value?.toString() ?? '';\r\n maxLength = Math.max(maxLength, headerVal.length);\r\n\r\n // Include data rows\r\n for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow!.number; rowNum++) {\r\n const cell = worksheet.getRow(rowNum).getCell(i);\r\n const val = cell.value ? cell.value.toString() : '';\r\n maxLength = Math.max(maxLength, val.length);\r\n }\r\n\r\n worksheet.getColumn(i).width = maxLength + 2;\r\n }\r\n\r\n\r\n // Export\r\n workbook.xlsx.writeBuffer().then(buffer => {\r\n const blob = new Blob([buffer], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\r\n });\r\n FileSaver.saveAs(blob, 'ACC-GL-Details-Enquiry-Report.xlsx');\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n exportToPdf(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n // Create a wide landscape PDF\r\n const doc = new jsPDF({\r\n orientation: 'landscape',\r\n unit: 'mm',\r\n format: [400, 210] // Custom wide format\r\n });\r\n\r\n const pageWidth = doc.internal.pageSize.width;\r\n\r\n // Title\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n doc.setFontSize(15);\r\n doc.setFont('helvetica', 'bold'); // times ,courier,helvetica\r\n const textWidth = doc.getTextWidth(title);\r\n // doc.text(title, (pageWidth - textWidth) / 2, 15);\r\n doc.text(title, 15, 15);\r\n\r\n // Info block\r\n const infoY = 25;\r\n const leftMargin = 15;\r\n const lineHeight = 7;\r\n const infoLines = [\r\n [`Report User:`, this.reportUser],\r\n [`Report Time:`, this.reportTime],\r\n [`Search Criteria`, ''],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}:`, this.currentReportFormattedDate],\r\n ];\r\n\r\n doc.setFontSize(10);\r\n infoLines.forEach(([label, value], i) => {\r\n const y = infoY + i * lineHeight;\r\n\r\n if (label === 'Search Criteria') {\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n\r\n // Draw underline\r\n const textWidth = doc.getTextWidth(label);\r\n doc.setDrawColor(0); // Black\r\n doc.setLineWidth(0.5);\r\n doc.line(leftMargin, y + 1, leftMargin + textWidth, y + 1);\r\n } else {\r\n\r\n // for display key as bold and values as normla font with more space between them\r\n // doc.setFont('helvetica', 'bold');\r\n // doc.text(label, leftMargin, y);\r\n // doc.setFont('helvetica', 'normal');\r\n // doc.text(value, leftMargin + 40, y);\r\n\r\n\r\n\r\n // for display key values with both bold font as combined together\r\n // const combinedText = `${label} ${value}`;\r\n // doc.setFont('helvetica', 'bold');\r\n // doc.text(combinedText, leftMargin, y);\r\n\r\n\r\n\r\n\r\n // for display key in bold and values in normal font just like one after one \r\n // Draw label in bold\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n\r\n // Draw value in normal font right after label\r\n const labelWidth = doc.getTextWidth(label + ' ');\r\n doc.setFont('helvetica', 'normal');\r\n doc.text(value, leftMargin + labelWidth, y);\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n const filteredColumns = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('srno') || col.field?.toLowerCase().includes('serial'))\r\n );\r\n\r\n\r\n\r\n\r\n // Prepare headers with Sr No\r\n const headers = ['Sr No', ...filteredColumns.map(col => col.headerName || col.field!)];\r\n\r\n // Prepare rows with Sr No\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumns.map(col => {\r\n let value = row[col.field!];\r\n if (col.field && col.field.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n return [index + 1, ...rowData];\r\n });\r\n\r\n // Generate dynamic column styles for auto-width\r\n const columnStyles: { [key: number]: any } = {};\r\n headers.forEach((_, i) => {\r\n columnStyles[i] = { cellWidth: 'auto' };\r\n });\r\n\r\n // Render table\r\n doc.autoTable({\r\n head: [headers],\r\n body: rows,\r\n startY: infoY + infoLines.length * lineHeight + 5,\r\n theme: 'grid',\r\n headStyles: {\r\n fillColor: [220, 220, 220],\r\n textColor: 0,\r\n fontStyle: 'bold',\r\n fontSize: 9,\r\n halign: 'center',\r\n },\r\n bodyStyles: {\r\n fontSize: 8,\r\n fillColor: [255, 255, 255],\r\n textColor: [0, 0, 0],\r\n },\r\n styles: {\r\n cellPadding: 2,\r\n overflow: 'linebreak',\r\n minCellHeight: 6,\r\n },\r\n columnStyles: columnStyles,\r\n });\r\n\r\n doc.save('ACC-GL-Details-Enquiry-Report.pdf');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n private downloadFile(data: string, filename: string, type: string): void {\r\n const blob = new Blob([data], { type });\r\n const link = document.createElement('a');\r\n link.href = URL.createObjectURL(blob);\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n onSearch(): void {\r\n const normalize = (str: any): string =>\r\n str?.toString()\r\n .toLowerCase()\r\n .replace(/,/g, '') // remove commas\r\n .replace(/\\s+/g, ' ') // normalize all spaces to one\r\n .replace(/[\\u200B-\\u200D\\uFEFF]/g, '') // remove invisible chars\r\n .trim();\r\n\r\n const search = normalize(this.searchText);\r\n\r\n\r\n\r\n console.log(`searchText is ${this.searchText}`);\r\n console.log(`normalise Text is ${search}`);\r\n\r\n\r\n if (search) {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.filter(item =>\r\n Object.values(item).some(value =>\r\n normalize(value).includes(search)\r\n )\r\n );\r\n } else {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","<!-- <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css\"> -->\r\n<!-- <script src=\"./node_modules/jquery/dist/jquery.js\"></script>\r\n <script src=\"./node_modules/bootstrap/dist/js/bootstrap.js\"></script> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<h6 class=\"Breadcrumb\">\r\n <a class=\"BreadCrumbLink\" [routerLink]=\"['/reports']\">\r\n <h1>Reports</h1>\r\n </a>\r\n <a href=\"BreadCrumbLink\"></a>\r\n <span class=\"BreadCrumbArrow\"></span>\r\n <a class=\"BreadCrumbLink\">\r\n <h2 style=\"font-weight: bold !important; color: black !important;\">ACC GL Details Enquiry</h2>\r\n </a>\r\n</h6>\r\n\r\n\r\n<div class=\"bootstrap-scope \" style=\"margin-bottom: 0px;\">\r\n\r\n <div class=\"main-container\">\r\n\r\n\r\n <div class=\"form-container\">\r\n\r\n <form class=\"d-flex align-items-center gap-2\">\r\n\r\n\r\n <!-- ----------------------------------------------------- -->\r\n <div class=\"d-flex align-items-center gap-2\">\r\n\r\n <label for=\"dateTypeFilter\" class=\"compact-label\">Date Type</label>\r\n\r\n <select class=\"form-select form-control w-auto compact-input\" name=\"dateTypeFilter\"\r\n [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\r\n <option [ngValue]=\"1\">Value Date</option>\r\n <option [ngValue]=\"2\">Posting Date</option>\r\n </select>\r\n\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2\" style=\"margin-left: 20px;\">\r\n <label for=\"date\" class=\"compact-label\">Date</label>\r\n\r\n\r\n <!-- custom datepicker for formatted date selection dd/mm/yyyy -->\r\n <div class=\"date-picker-wrapper\">\r\n <input type=\"text\" class=\"form-control date-picker-input-1\" name=\"date\" [(ngModel)]=\"date\" id=\"date\"\r\n placeholder=\"dd/MM/yyyy\" (keydown.enter)=\"onEnterKey($event)\" />\r\n <input type=\"date\" class=\"form-control date-picker-input-2\" (change)=\"onDateChange($event)\"\r\n (keydown.enter)=\"onEnterKey($event)\" />\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n <div>\r\n <button class=\"btn-primary\" type=\"submit\" style=\"font-size: 12px !important;\"\r\n (click)=\"getAccGLDetailsReport()\">\r\n View Report\r\n </button>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </form>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n <hr style=\"color: gray; margin-bottom: 0px;\" />\r\n\r\n <!-- -------------------------------------------------------------------------------- -->\r\n\r\n\r\n <div class=\"report-loader\" *ngIf=\"loading && svgLoader\" [innerHTML]=\"svgLoader\"></div>\r\n\r\n <!-- ----------------------------------------------------------------------------------- -->\r\n <!-- (for below report-container div) *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\" -->\r\n <div class=\"report-container\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n\r\n\r\n <!-- (for below main-report div) *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" -->\r\n <div class=\"main-report\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n\r\n\r\n <h1 class=\"title\">\r\n General Ledger Account Details\r\n Enquiry</h1>\r\n\r\n\r\n <div class=\"report-content\">\r\n\r\n <div class=\"left-section\">\r\n <div class=\"labels\">\r\n <p><b>Company</b></p>\r\n <p><b>{{ dateType ==\r\n 'VD' ? 'Value Date' : 'Posting Date' }}</b></p>\r\n\r\n\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ companyName }}</p>\r\n <p>: {{currentReportFormattedDate}}</p>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"right-section\">\r\n <div class=\"labels\">\r\n <p><b>Report User</b></p>\r\n <p><b>Report Time</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ reportUser }}</p>\r\n <p>: {{ reportTime }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"d-flex justify-content-between align-items-center mt-3 mb-3 flex-wrap\">\r\n\r\n\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex justify-content-end align-items-center\">\r\n <input type=\"text\" [(ngModel)]=\"searchText\" name=\"searchText\" (ngModelChange)=\"onSearch()\"\r\n class=\"form-control custom-search-class\" placeholder=\"Search...\"\r\n style=\"width: 190px; height: 20px; color: black; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; \" />\r\n <button type=\"button\" class=\"btn btn-sm p-0\" (click)=\"onSearch()\"\r\n style=\"height: 32px; width: 36px; background-color: #0081c6; border-top-left-radius: 0px !important; border-bottom-left-radius: 0px !important;\">\r\n <img src=\"assets/images/Search.svg\" alt=\"Search\"\r\n style=\"max-height: 70%; max-width: 70%; height: 17px; width: 17px; object-fit: contain;\" />\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div class=\"d-flex align-items-center\">\r\n <select class=\"form-select w-auto form-control compact-input\" name=\"selectedExportOption\"\r\n id=\"selectedExportOption\" [(ngModel)]=\"selectedExportOption\"\r\n (keydown.enter)=\"onEnterhandleExport($event)\">\r\n <option value='csv'>CSV</option>\r\n <option value='excel'>Excel</option>\r\n <option value='pdf'>PDF</option>\r\n </select>\r\n <button type=\"button\" class=\"btn-primary\" style=\"font-size: 12px !important;\"\r\n (click)=\"handleExport()\">Export</button>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n <div style=\"position: relative;\">\r\n\r\n <div class=\"d-flex align-items-center gap-2\"\r\n style=\"position: absolute; left: 10px; bottom: 5.5px; z-index: 1; background: transparent; padding-right: 10px; align-items: center; justify-content: center; \">\r\n <label\r\n style=\"font-weight: 600;font-size: 11px !important; margin: 0px !important; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; align-items: center; justify-content: center;\"\r\n for=\"pageSize\">Entries\r\n Per Page</label>\r\n <select class=\"form-select custom-height w-auto\" id=\"pageSize\" [(ngModel)]=\"pageSize\"\r\n (change)=\"onPageSizeChanged()\">\r\n <option [ngValue]=\"10\">10</option>\r\n <option [ngValue]=\"15\">15</option>\r\n <option [ngValue]=\"20\">20</option>\r\n <option [ngValue]=\"30\">30</option>\r\n <option [ngValue]=\"50\">50</option>\r\n <option [ngValue]=\"100\">100</option>\r\n <option [ngValue]=\"200\">200</option>\r\n <option [ngValue]=\"0\">All</option>\r\n </select>\r\n </div>\r\n\r\n\r\n\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine compact-grid\" style=\"width: 100%; font-weight: 500; height: 390px;\"\r\n [rowData]=\"rowData\" [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\"\r\n [rowHeight]=\"20\" [headerHeight]=\"24\" [pagination]=\"true\" [domLayout]=\"'normal'\"\r\n [paginationPageSize]=\"pageSize\" [suppressHorizontalScroll]=\"false\" [suppressRowHoverHighlight]=\"false\"\r\n [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\r\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\r\n </ag-grid-angular>\r\n\r\n <!-- [domLayout]=\"'autoHeight'\" -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n <!-- below for report user and report time at footer side of ag-grid . put on right side -->\r\n <!-- <div\r\n style=\"display: flex; font-size: 10px !important; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin-top: 3px;\">\r\n <div class=\"labels\">\r\n <p>Report User & Report Time</p>\r\n </div>\r\n <div class=\"values\">\r\n <p style=\"font-weight: normal !important;\">: {{ reportUser }} @ {{ reportTime }}</p>\r\n </div>\r\n </div> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div>","\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'acc-gl-details-enquiry-report',\r\n component: AccGlDetailsEnquiryReportComponent\r\n },\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ReportsLibRoutingModule {}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n selfHostUrl: 'http://localhost:9000/api/scriptx',\r\n configFile: 'assets/config/app-config.json'\r\n};\r\n","import { Injectable } from \"@angular/core\";\r\n// import Swal from \"sweetalert2\";\r\nimport { HttpBackend, HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { forkJoin } from \"rxjs\";\r\nimport { environment } from \"../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class ActiveXService {\r\n \r\n private macAddress = \"\";\r\n private ipAddress = \"\";\r\n private machineName = \"\";\r\n private processorId = \"\";\r\n private printerName = \"\";\r\n\r\n private scriptxServiceUrl: string;\r\n\r\n private scriptxHttpClient: HttpClient;\r\n\r\n public isSelfHostAvailable: boolean;\r\n\r\n constructor(private backend: HttpBackend) {\r\n this.scriptxServiceUrl = environment.selfHostUrl;\r\n this.scriptxHttpClient = new HttpClient(backend);\r\n this.requestSelfHostedServiceInfo()\r\n .subscribe((responseList) => {\r\n this.machineName = responseList[0];\r\n this.macAddress = responseList[1];\r\n this.ipAddress = responseList[2];\r\n this.processorId = responseList[3];\r\n this.isSelfHostAvailable = true;\r\n },\r\n err => {\r\n this.isSelfHostAvailable = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n getMACAddress(): string {\r\n return this.macAddress;\r\n }\r\n\r\n getIPAddress(): string {\r\n return this.ipAddress;\r\n }\r\n\r\n getMachineName(): string {\r\n return this.machineName;\r\n }\r\n\r\n getPrinterName(): string {\r\n return this.printerName;\r\n }\r\n\r\n getProcessorId(): string {\r\n return this.processorId;\r\n }\r\n\r\n public requestSelfHostedServiceInfo(): Observable<any[]> {\r\n let responseGetMachineName = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetMachineName\"\r\n );\r\n let responseGetMacAddress = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetMacAddress\"\r\n );\r\n let responseGetIpAddress = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetIpAddress\"\r\n );\r\n let responseGetProcessId = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetProcessId\"\r\n );\r\n return forkJoin([\r\n responseGetMachineName,\r\n responseGetMacAddress,\r\n responseGetIpAddress,\r\n responseGetProcessId,\r\n ]);\r\n }\r\n}\r\n","import { Inject, Injectable, OnInit } from '@angular/core';\r\nimport { LOCAL_STORAGE, InMemoryStorageService, isStorageAvailable, SESSION_STORAGE } from 'ngx-webstorage-service';\r\n\r\nimport { UserSessionModel } from '../models/security/user-session.model';\r\nimport { Observable , BehaviorSubject } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { LocalStorage } from '@ng-idle/core';\r\n\r\n\r\n@Injectable()\r\nexport class SessionService {\r\n\r\n private userSessionKey = 'FossilUserSessionModel';\r\n session: UserSessionModel;\r\n onSessionChanged: BehaviorSubject<any>;\r\n constructor(\r\n @Inject(SESSION_STORAGE) private storage: InMemoryStorageService,\r\n private oauthService: OAuthService) {\r\n this.onSessionChanged = new BehaviorSubject(null);\r\n }\r\n\r\n public GetObjectByKey(key: string): any {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n return this.storage.get(key);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public SetObject(key: string, value: any) {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.set(key, value);\r\n }\r\n this.UpdateSession();\r\n }\r\n\r\n public RemoveObject(key: string) {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.remove(key);\r\n }\r\n this.UpdateSession();\r\n }\r\n\r\n public GetUserSession(): UserSessionModel {\r\n return this.GetObjectByKey(this.userSessionKey);\r\n }\r\n\r\n // TODO Consider if this should close the session on the server side or just reset the client session\r\n public Clear() {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.remove(this.userSessionKey);\r\n }\r\n }\r\n\r\n private UpdateSession() {\r\n this.session = this.GetUserSession();\r\n this.onSessionChanged.next(this.session);\r\n }\r\n\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { ActiveXService } from '../services/active-x.service';\r\nimport { SessionService } from '../services/session.service';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Injectable()\r\nexport class AuthHttpInterceptor implements HttpInterceptor \r\n{\r\n constructor(private oAuthService: OAuthService, private activeXService: ActiveXService, private session: SessionService) { }\r\n\r\n\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> \r\n {\r\n const token = this.oAuthService.getAccessToken();\r\n const guid: string = uuidv4().replace(/-/g, '');\r\n let clonedRequest = request.clone({\r\n withCredentials: true\r\n });\r\n\r\n if (token) {\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n },\r\n withCredentials: true\r\n });\r\n }\r\n if (!request.headers.has('request-trace-id')) {\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'request-trace-id': guid\r\n }\r\n });\r\n } \r\n let userBranch = 'NotSelected';\r\n let userCompany = 'NotSelected';\r\n if (this.session) {\r\n const userSession = this.session.GetUserSession();\r\n userBranch = userSession?.branch || 'NotInSession';\r\n userCompany = userSession?.companyShortCode || 'NotInSession';\r\n }\r\n\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'UserBranch': userBranch || ''\r\n },\r\n withCredentials: true\r\n });\r\n\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'UserCompany': userCompany || ''\r\n },\r\n withCredentials: true\r\n });\r\n\r\n return next.handle(clonedRequest);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ReportsLibComponent } from './reports-lib.component';\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\nimport { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { ReportsLibRoutingModule } from './reports-lib-routing.module';\r\nimport { OAuthModule, OAuthService, OAuthStorage } from 'angular-oauth2-oidc';\r\nimport { AuthHttpInterceptor } from './interceptors/auth-http.interceptor';\r\nimport { ActiveXService } from './services/active-x.service';\r\nimport { SessionService } from './services/session.service';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ReportsLibComponent,\r\n \r\n AccGlDetailsEnquiryReportComponent\r\n ],\r\n imports: [\r\n HttpClientModule,\r\n AgGridModule,\r\n ReportsLibRoutingModule,\r\n CommonModule,\r\n HttpClientModule,\r\n NgIdleModule.forRoot(),\r\n OAuthModule.forRoot(),\r\n FormsModule\r\n \r\n ],\r\n providers: \r\n [\r\n ActiveXService,\r\n SessionService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthHttpInterceptor,\r\n deps: [OAuthService, ActiveXService, SessionService],\r\n multi: true\r\n },\r\n ],\r\n exports: [\r\n ReportsLibComponent,\r\n AccGlDetailsEnquiryReportComponent\r\n ]\r\n})\r\nexport class ReportsLibModule { }\r\n","/*\r\n * Public API Surface of reports-lib\r\n */\r\n\r\n\r\n\r\nexport * from './lib/reports-lib.service';\r\nexport * from './lib/reports-lib.component';\r\nexport * from './lib/reports-lib.module';\r\nexport * from './lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ReportService","i2","i1","uuidv4","i2.ActiveXService","i3.SessionService"],"mappings":"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"}
1
+ {"version":3,"file":"sachin9822-reports-lib.mjs","sources":["../../../projects/reports-lib/src/lib/reports-lib.service.ts","../../../projects/reports-lib/src/lib/reports-lib.component.ts","../../../projects/reports-lib/src/lib/services/report.service.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.html","../../../projects/reports-lib/src/lib/reports-lib-routing.module.ts","../../../projects/reports-lib/src/environments/environment.ts","../../../projects/reports-lib/src/lib/services/active-x.service.ts","../../../projects/reports-lib/src/lib/services/session.service.ts","../../../projects/reports-lib/src/lib/interceptors/auth-http.interceptor.ts","../../../projects/reports-lib/src/lib/reports-lib.module.ts","../../../projects/reports-lib/src/public-api.ts","../../../projects/reports-lib/src/sachin9822-reports-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportsLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-reports-lib',\r\n template: `\r\n <p>\r\n reports-lib works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class ReportsLibComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\nimport { AccGlDetailsEnquiryReportModel } from '../models/accgl-details-enquiry-reportmodel';\nimport { Observable, throwError } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n\n\n private serviceUrl: string;\n private AccGlDetailsEnquiryReportUrl: string;\n private systemReportUrl = '/api/v1/CompanyConfiguration/SystemReports';\n\n\n\n constructor(private http: HttpClient, private errorHandler: ErrorHandler, private injector: Injector) {\n this.serviceUrl = \"https://4xplus-local.xpressmoney.tech:8752\";\n this.AccGlDetailsEnquiryReportUrl = \"/api/v1/Report/AccGlDetailsEnquiryReport\";\n\n }\n\n\n\n\n\n public getAccGLDetailsReport(formattedDate: string | undefined, dateType: string, sysCompanyCode: string, sysUserId: string, companyName: string): Observable<AccGlDetailsEnquiryReportModel> {\n\n\n if (formattedDate) {\n const apiPath = `${this.serviceUrl}${this.AccGlDetailsEnquiryReportUrl}/GetAccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;\n return this.http.get<AccGlDetailsEnquiryReportModel>(apiPath);\n } else {\n\n const exampleDate = new Date().toLocaleDateString('en-GB');\n const message = `Invalid Date Format!\\nDate should be in dd/MM/yyyy format.\\nFor example: ${exampleDate} as day/month/year.`; //\\nNote : Year cannot be greater than 9999\n\n\n return throwError(() => new Error(message));\n }\n }\n\n\n\n\n public getUserNameFromSessionStorage(): string {\n let fossilUserName = sessionStorage.getItem('fossilusername');\n let ezremitusername = sessionStorage.getItem('ezremitusername');\n\n if (fossilUserName) {\n return fossilUserName.replace(/^\"(.*)\"$/, '$1');\n } else {\n return ezremitusername.replace(/^\"(.*)\"$/, '$1');\n }\n\n\n }\n\n\n}\n","import { Component, ErrorHandler, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { AccGlDetailsEnquiryReportModel } from '../../models/accgl-details-enquiry-reportmodel';\r\nimport { ColDef, ColumnApi, GridApi, GridOptions, GridReadyEvent } from 'ag-grid-community';\r\nimport Decimal from 'decimal.js';\r\nimport { formatDate } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport jsPDF from 'jspdf';\r\n// import autoTable from 'jspdf-autotable';\r\n// import * as autoTable from 'jspdf-autotable';\r\nimport 'jspdf-autotable';\r\n\r\nimport * as ExcelJS from 'exceljs';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n\r\ndeclare module 'jspdf' {\r\n interface jsPDF {\r\n autoTable: (options: any) => jsPDF;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-acc-gl-details-enquiry-report',\r\n templateUrl: './acc-gl-details-enquiry-report.component.html',\r\n styleUrls: ['./acc-gl-details-enquiry-report.component.scss'],\r\n\r\n})\r\nexport class AccGlDetailsEnquiryReportComponent implements OnInit {\r\n\r\n\r\n searchText: string = '';\r\n\r\n gridApi: GridApi<any>;\r\n gridColumnApi!: ColumnApi;\r\n\r\n selectedExportOption: string = 'excel';\r\n\r\n pageSize: number = 15;\r\n\r\n svgLoader: SafeHtml = '';\r\n loading: boolean = false;\r\n dataReady: boolean = false;\r\n\r\n dateTypeFilter: number = 1;\r\n\r\n dateType: any;\r\n sysCompanyCode: any;\r\n sysUserId: any;\r\n companyName: any;\r\n reportUser: any;\r\n reportTime: any;\r\n date: any;\r\n currentReportFormattedDate: any\r\n\r\n defaultColDef: ColDef = {\r\n resizable: true,\r\n sortable: false,\r\n minWidth: 40,\r\n suppressSizeToFit: false\r\n // filter: true,\r\n };\r\n\r\n\r\n\r\n // for rate -- valueFormatter: this.formatNumber,\r\n\r\n columnDefs: ColDef[] = [\r\n { headerName: 'Journal ID', field: 'journalID', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 91, tooltipField: 'journalID' },\r\n { headerName: 'Trans No', field: 'transactionNo', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell-transaction', minWidth: 71, tooltipField: 'transactionNo' },\r\n { headerName: 'Trans Code', field: 'transactionCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 61, tooltipField: 'transactionCode' },\r\n { headerName: 'Journal Type', field: 'journalType', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 74, tooltipField: 'journalType' },\r\n { headerName: 'Posting Date', field: 'postingDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 69, tooltipValueGetter: (params) => this.formatDate(params) },\r\n { headerName: 'Value Date', field: 'valueDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatDate(params), },\r\n { headerName: 'Description', field: 'description', flex: 4.8, cellClass: 'description-cell', minWidth: 119, wrapText: true, autoHeight: true, cellStyle: { 'line-height': '1.2' }, tooltipField: 'description' },\r\n { headerName: 'Account Code', field: 'accountCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 73, tooltipField: 'accountCode' },\r\n { headerName: 'Ccy', field: 'currency', flex: 0.8, cellClass: 'ag-left-cols-cell', minWidth: 35, tooltipField: 'currency' },\r\n { headerName: 'Rate', field: 'rate', flex: 1.3, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxDebit', field: 'forexDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Debit', field: 'localDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxCredit', field: 'forexCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Credit', field: 'localCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n\r\n\r\n ];\r\n\r\n\r\n // cellRenderer: (params) => {const value=this.formatNumber(params) ; const numericValue = Number(params.value); const color = numericValue < 1 ? 'red' : 'green'; return `<span style=\"color:${color}\" >${value}</span> `},\r\n\r\n\r\n rowData = [];\r\n\r\n\r\n accGlDetailsEnquiryReportModel: AccGlDetailsEnquiryReportModel;\r\n\r\n\r\n constructor(private reportService: ReportService, private http: HttpClient, private sanitizer: DomSanitizer, private errorHandler: ErrorHandler, private injector: Injector) {\r\n\r\n\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.http.get('assets/svg-loaders/tail-spin.svg', { responseType: 'text' }).subscribe(svg => {\r\n this.svgLoader = this.sanitizer.bypassSecurityTrustHtml(svg);\r\n // console.log('SVG Loaded:', svg);\r\n })\r\n\r\n const today = new Date();\r\n this.date = formatDate(new Date(today), 'dd/MM/yyyy', 'en-US');\r\n }\r\n\r\n public getAccGLDetailsReport() {\r\n // '2025-02-06','VD','BH','sachin.kamble@xpressmoney.tech','xpress money'\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n this.loading = true;\r\n this.dataReady = false;\r\n\r\n\r\n this.pageSize = 15;\r\n this.selectedExportOption = 'excel';\r\n\r\n this.sysCompanyCode = 'BH';\r\n\r\n this.sysUserId = this.reportService.getUserNameFromSessionStorage();\r\n\r\n console.log(`in library :: username from sessionstorage is ${sessionStorage.getItem('fossilusername')\r\n }`);\r\n\r\n\r\n this.companyName = \"Xpress Money\"\r\n\r\n if (this.dateTypeFilter == 1) {\r\n this.dateType = 'VD';\r\n } else {\r\n this.dateType = 'PD';\r\n }\r\n\r\n\r\n\r\n // let dateFromDatePicker=this.convertToDateFromDatepicker();\r\n\r\n\r\n\r\n this.reportService.getAccGLDetailsReport(this.convertToDateFromDatepicker(), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)\r\n .subscribe(data => {\r\n\r\n\r\n this.accGlDetailsEnquiryReportModel = data;\r\n if (this.accGlDetailsEnquiryReportModel) {\r\n\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n\r\n this.companyName = this.accGlDetailsEnquiryReportModel.companyName;\r\n\r\n const userName = this.accGlDetailsEnquiryReportModel.reportUser;\r\n this.reportUser = userName.toLowerCase();\r\n\r\n const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;\r\n this.reportTime = formatDate(rawDate, 'dd/MM/yyyy hh:mm a', 'en-US');\r\n\r\n this.currentReportFormattedDate = formatDate(this.convertToDateFromDatepicker(), 'dd/MM/yyyy', 'en-US')\r\n\r\n this.loading = false;\r\n this.dataReady = true;\r\n\r\n }\r\n }, error => {\r\n console.log(error);\r\n\r\n\r\n this.loading = false;\r\n\r\n\r\n if (typeof error === 'function') {\r\n error = error(); // convert it to actual Error object\r\n }\r\n\r\n const globalErrorHandler = this.injector.get(ErrorHandler);\r\n globalErrorHandler.handleError(error);\r\n // const cleanMessage = (error.message || error.toString()).replace(/<br\\s*\\/?>/gi, '\\n');\r\n // window.alert(cleanMessage);\r\n\r\n\r\n\r\n });\r\n }\r\n\r\n\r\n //====================================================================================\r\n\r\n public formatDate(params: any): string {\r\n return formatDate(new Date(params.value), 'dd/MM/yyyy', 'en-US');\r\n // return formatDate(params.value, 'MMM dd, yyyy hh:mm a', 'en-US');\r\n }\r\n\r\n\r\n\r\n convertToDateFromDatepicker(): string | undefined {\r\n\r\n try {\r\n const [day, month, year] = this.date.split('/');\r\n\r\n if (year > 9999) {\r\n return undefined;\r\n }\r\n\r\n const dateFromUser = new Date(`${year}-${month}-${day}`);\r\n const formattedDateForService = dateFromUser.toISOString().split('T')[0];\r\n return formattedDateForService;\r\n } catch (error) {\r\n\r\n this.loading = false;\r\n\r\n return undefined;\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n onDateChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n // console.log('Date selected:', input.value);\r\n const selectedDate = input.value;\r\n this.date = formatDate(new Date(selectedDate), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n\r\n\r\n onEnterKey(event: Event) {\r\n // this.loading = true;\r\n const keyboardEvent = event as KeyboardEvent;\r\n keyboardEvent.preventDefault();\r\n\r\n if (keyboardEvent.target instanceof HTMLElement) {\r\n keyboardEvent.target.blur();\r\n }\r\n // this.getAccGLDetailsReport();\r\n }\r\n\r\n\r\n onEnterhandleExport(event: Event) {\r\n this.onEnterKey(event);\r\n this.handleExport();\r\n }\r\n //-------------------------------------------------------------------------------\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n\r\n\r\n onPageSizeChanged() {\r\n if (this.gridApi) {\r\n\r\n if (this.pageSize === 0) {\r\n console.log(`journal voucher entries length is ${this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length}`);\r\n\r\n this.gridApi.paginationSetPageSize(this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length);\r\n console.log(`journal voucher entries length is ${this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length}`);\r\n } else {\r\n this.gridApi.paginationSetPageSize(this.pageSize);\r\n console.log(`journal voucher entries length is ${this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length}`);\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n getRowHeight(params: any): number {\r\n // Calculate height based on description content\r\n const description = params.data?.description || '';\r\n if (description.length > 50) { // Adjust threshold as needed\r\n return 40; // Height for wrapped text\r\n }\r\n return 20; // Default height\r\n }\r\n\r\n\r\n formatNumber(params: any): string {\r\n if (params.value == null) return '';\r\n\r\n const field = params.colDef.field;\r\n\r\n // 'Rate' field should always show 8 decimals, no commas\r\n if (field === 'rate') {\r\n return Number(params.value).toFixed(8);\r\n }\r\n\r\n return Number(params.value).toFixed(3);\r\n }\r\n\r\n\r\n\r\n\r\n //------------------------------------------------------------------------------\r\n\r\n handleExport(): void {\r\n switch (this.selectedExportOption) {\r\n case 'excel':\r\n this.exportToExcel();\r\n break;\r\n case 'pdf':\r\n this.exportToPdf();\r\n break;\r\n case 'csv':\r\n this.exportToCsv();\r\n break;\r\n default:\r\n alert('Please select an export format.');\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n exportToCsv(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n let metadata: string[][] | undefined;\r\n\r\n try {\r\n metadata = [\r\n ['Report Title', `${this.companyName} - General Ledger Account Details Enquiry`],\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n [`Search Criteria - ${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n ];\r\n } catch (err) {\r\n window.alert(`Error while binding data: ${err}`);\r\n return;\r\n }\r\n\r\n // Filter out any \"Sr No\" column from columnDefs\r\n const filteredColumnDefs = this.columnDefs.filter(\r\n col => !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n // Add manual \"Sr No\" header as the first column\r\n const headers = ['Sr No', ...filteredColumnDefs.map(col => col.headerName || col.field)];\r\n\r\n // Map data rows with manual serial number\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return (value ?? '').toString();\r\n });\r\n\r\n return [(index + 1).toString(), ...rowData]; // prepend Sr No\r\n });\r\n\r\n // Combine metadata, blank row, headers, and data\r\n const csvContent = [...(metadata ?? []), [], headers, ...rows]\r\n .map(e => e.join(','))\r\n .join('\\n');\r\n\r\n this.downloadFile(csvContent, 'ACC-GL-Details-Enquiry-Report.csv', 'text/csv');\r\n }\r\n\r\n\r\n\r\n\r\n exportToExcel(): void {\r\n const data = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n if (!data.length) return;\r\n\r\n const workbook = new ExcelJS.Workbook();\r\n const worksheet = workbook.addWorksheet('ACC-GL-Details-Enquiry-Report');\r\n\r\n const filteredColumnDefs = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('sr. no'))\r\n );\r\n\r\n const totalColumns = filteredColumnDefs.length + 1; // +1 for Sr. No\r\n\r\n // Title Row\r\n const titleRow = worksheet.addRow([`${this.companyName} - General Ledger Account Details Enquiry`]);\r\n titleRow.font = { bold: true, size: 14 };\r\n worksheet.mergeCells(`A${titleRow.number}:${String.fromCharCode(64 + totalColumns)}${titleRow.number}`);\r\n worksheet.addRow([]); // spacer\r\n\r\n // Metadata with bold label + normal value (in single cell)\r\n const meta: [string, string][] = [\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', ''],\r\n [`${this.dateType === 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n ];\r\n\r\n\r\n\r\n meta.forEach(([label, value]) => {\r\n const row = worksheet.addRow([]);\r\n const cell = row.getCell(1);\r\n\r\n const isSearchCriteria = label.toLowerCase().includes('search criteria');\r\n\r\n cell.value = {\r\n richText: [\r\n {\r\n text: `${label}: `,\r\n font: {\r\n bold: true,\r\n underline: isSearchCriteria ? true : undefined // Only underline \"Search Criteria\"\r\n }\r\n },\r\n {\r\n text: value ?? '',\r\n font: { bold: false }\r\n }\r\n ]\r\n };\r\n\r\n worksheet.mergeCells(`A${row.number}:${String.fromCharCode(64 + totalColumns)}${row.number}`);\r\n });\r\n\r\n\r\n worksheet.addRow([]); // spacer\r\n\r\n // Header Row\r\n const headerRow = worksheet.addRow(['Sr. No.', ...filteredColumnDefs.map(col => col.headerName || col.field)]);\r\n headerRow.font = { bold: true };\r\n headerRow.fill = {\r\n type: 'pattern',\r\n pattern: 'solid',\r\n fgColor: { argb: 'D9D9D9' },\r\n };\r\n headerRow.alignment = { vertical: 'middle', horizontal: 'center' };\r\n headerRow.border = {\r\n top: { style: 'thin' }, bottom: { style: 'thin' },\r\n left: { style: 'thin' }, right: { style: 'thin' }\r\n };\r\n\r\n const dataStartRow = worksheet.lastRow!.number + 1;\r\n\r\n // Data Rows\r\n let srNo = 1;\r\n data.forEach(row => {\r\n const rowData = filteredColumnDefs.map(col => {\r\n let value = row[col.field!];\r\n if (col.field?.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n\r\n rowData.unshift(srNo++);\r\n const dataRow = worksheet.addRow(rowData);\r\n dataRow.border = {\r\n top: { style: 'thin' }, bottom: { style: 'thin' },\r\n left: { style: 'thin' }, right: { style: 'thin' }\r\n };\r\n });\r\n\r\n // Auto Width (optimize Sr. No column too)\r\n for (let i = 1; i <= totalColumns; i++) {\r\n let maxLength = 5;\r\n\r\n // Include header row in auto-width\r\n const headerVal = headerRow.getCell(i).value?.toString() ?? '';\r\n maxLength = Math.max(maxLength, headerVal.length);\r\n\r\n // Include data rows\r\n for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow!.number; rowNum++) {\r\n const cell = worksheet.getRow(rowNum).getCell(i);\r\n const val = cell.value ? cell.value.toString() : '';\r\n maxLength = Math.max(maxLength, val.length);\r\n }\r\n\r\n worksheet.getColumn(i).width = maxLength + 2;\r\n }\r\n\r\n\r\n // Export\r\n workbook.xlsx.writeBuffer().then(buffer => {\r\n const blob = new Blob([buffer], {\r\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\r\n });\r\n FileSaver.saveAs(blob, 'ACC-GL-Details-Enquiry-Report.xlsx');\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n exportToPdf(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries.length) return;\r\n\r\n // Create a wide landscape PDF\r\n const doc = new jsPDF({\r\n orientation: 'landscape',\r\n unit: 'mm',\r\n format: [400, 210] // Custom wide format\r\n });\r\n\r\n const pageWidth = doc.internal.pageSize.width;\r\n\r\n // Title\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n doc.setFontSize(15);\r\n doc.setFont('helvetica', 'bold'); // times ,courier,helvetica\r\n const textWidth = doc.getTextWidth(title);\r\n // doc.text(title, (pageWidth - textWidth) / 2, 15);\r\n doc.text(title, 15, 15);\r\n\r\n // Info block\r\n const infoY = 25;\r\n const leftMargin = 15;\r\n const lineHeight = 7;\r\n const infoLines = [\r\n [`Report User:`, this.reportUser],\r\n [`Report Time:`, this.reportTime],\r\n [`Search Criteria`, ''],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}:`, this.currentReportFormattedDate],\r\n ];\r\n\r\n doc.setFontSize(10);\r\n infoLines.forEach(([label, value], i) => {\r\n const y = infoY + i * lineHeight;\r\n\r\n if (label === 'Search Criteria') {\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n\r\n // Draw underline\r\n const textWidth = doc.getTextWidth(label);\r\n doc.setDrawColor(0); // Black\r\n doc.setLineWidth(0.5);\r\n doc.line(leftMargin, y + 1, leftMargin + textWidth, y + 1);\r\n } else {\r\n\r\n // for display key as bold and values as normla font with more space between them\r\n // doc.setFont('helvetica', 'bold');\r\n // doc.text(label, leftMargin, y);\r\n // doc.setFont('helvetica', 'normal');\r\n // doc.text(value, leftMargin + 40, y);\r\n\r\n\r\n\r\n // for display key values with both bold font as combined together\r\n // const combinedText = `${label} ${value}`;\r\n // doc.setFont('helvetica', 'bold');\r\n // doc.text(combinedText, leftMargin, y);\r\n\r\n\r\n\r\n\r\n // for display key in bold and values in normal font just like one after one \r\n // Draw label in bold\r\n doc.setFont('helvetica', 'bold');\r\n doc.text(label, leftMargin, y);\r\n\r\n // Draw value in normal font right after label\r\n const labelWidth = doc.getTextWidth(label + ' ');\r\n doc.setFont('helvetica', 'normal');\r\n doc.text(value, leftMargin + labelWidth, y);\r\n\r\n }\r\n });\r\n\r\n\r\n\r\n const filteredColumns = this.columnDefs.filter(col =>\r\n !(col.headerName?.toLowerCase().includes('sr. no') || col.field?.toLowerCase().includes('srno') || col.field?.toLowerCase().includes('serial'))\r\n );\r\n\r\n\r\n\r\n\r\n // Prepare headers with Sr No\r\n const headers = ['Sr No', ...filteredColumns.map(col => col.headerName || col.field!)];\r\n\r\n // Prepare rows with Sr No\r\n const rows = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.map((row, index) => {\r\n const rowData = filteredColumns.map(col => {\r\n let value = row[col.field!];\r\n if (col.field && col.field.toLowerCase().includes('date') && value) {\r\n value = this.formatDate({ value });\r\n }\r\n return value ?? '';\r\n });\r\n return [index + 1, ...rowData];\r\n });\r\n\r\n // Generate dynamic column styles for auto-width\r\n const columnStyles: { [key: number]: any } = {};\r\n headers.forEach((_, i) => {\r\n columnStyles[i] = { cellWidth: 'auto' };\r\n });\r\n\r\n // Render table\r\n doc.autoTable({\r\n head: [headers],\r\n body: rows,\r\n startY: infoY + infoLines.length * lineHeight + 5,\r\n theme: 'grid',\r\n headStyles: {\r\n fillColor: [220, 220, 220],\r\n textColor: 0,\r\n fontStyle: 'bold',\r\n fontSize: 9,\r\n halign: 'center',\r\n },\r\n bodyStyles: {\r\n fontSize: 8,\r\n fillColor: [255, 255, 255],\r\n textColor: [0, 0, 0],\r\n },\r\n styles: {\r\n cellPadding: 2,\r\n overflow: 'linebreak',\r\n minCellHeight: 6,\r\n },\r\n columnStyles: columnStyles,\r\n });\r\n\r\n doc.save('ACC-GL-Details-Enquiry-Report.pdf');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n private downloadFile(data: string, filename: string, type: string): void {\r\n const blob = new Blob([data], { type });\r\n const link = document.createElement('a');\r\n link.href = URL.createObjectURL(blob);\r\n link.setAttribute('download', filename);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n onSearch(): void {\r\n const normalize = (str: any): string =>\r\n str?.toString()\r\n .toLowerCase()\r\n .replace(/,/g, '') // remove commas\r\n .replace(/\\s+/g, ' ') // normalize all spaces to one\r\n .replace(/[\\u200B-\\u200D\\uFEFF]/g, '') // remove invisible chars\r\n .trim();\r\n\r\n const search = normalize(this.searchText);\r\n\r\n\r\n\r\n console.log(`searchText is ${this.searchText}`);\r\n console.log(`normalise Text is ${search}`);\r\n\r\n\r\n if (search) {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.filter(item =>\r\n Object.values(item).some(value =>\r\n normalize(value).includes(search)\r\n )\r\n );\r\n } else {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","<!-- <link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css\"> -->\r\n<!-- <script src=\"./node_modules/jquery/dist/jquery.js\"></script>\r\n <script src=\"./node_modules/bootstrap/dist/js/bootstrap.js\"></script> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<h6 class=\"Breadcrumb\">\r\n <a class=\"BreadCrumbLink\" [routerLink]=\"['/reports']\">\r\n <h1>Reports</h1>\r\n </a>\r\n <a href=\"BreadCrumbLink\"></a>\r\n <span class=\"BreadCrumbArrow\"></span>\r\n <a class=\"BreadCrumbLink\">\r\n <h2 style=\"font-weight: bold !important; color: black !important;\">ACC GL Details Enquiry</h2>\r\n </a>\r\n</h6>\r\n\r\n\r\n<div class=\"bootstrap-scope \" style=\"margin-bottom: 0px;\">\r\n\r\n <div class=\"main-container\">\r\n\r\n\r\n <div class=\"form-container\">\r\n\r\n <form class=\"d-flex align-items-center gap-2\">\r\n\r\n\r\n <!-- ----------------------------------------------------- -->\r\n <div class=\"d-flex align-items-center gap-2\">\r\n\r\n <label for=\"dateTypeFilter\" class=\"compact-label\">Date Type</label>\r\n\r\n <select class=\"form-select form-control w-auto compact-input\" name=\"dateTypeFilter\"\r\n [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\r\n <option [ngValue]=\"1\">Value Date</option>\r\n <option [ngValue]=\"2\">Posting Date</option>\r\n </select>\r\n\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center gap-2\" style=\"margin-left: 20px;\">\r\n <label for=\"date\" class=\"compact-label\">Date</label>\r\n\r\n\r\n <!-- custom datepicker for formatted date selection dd/mm/yyyy -->\r\n <div class=\"date-picker-wrapper\">\r\n <input type=\"text\" class=\"form-control date-picker-input-1\" name=\"date\" [(ngModel)]=\"date\" id=\"date\"\r\n placeholder=\"dd/MM/yyyy\" (keydown.enter)=\"onEnterKey($event)\" />\r\n <input type=\"date\" class=\"form-control date-picker-input-2\" (change)=\"onDateChange($event)\"\r\n (keydown.enter)=\"onEnterKey($event)\" />\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n <div>\r\n <button class=\"btn-primary\" type=\"submit\" style=\"font-size: 12px !important;\"\r\n (click)=\"getAccGLDetailsReport()\">\r\n View Report\r\n </button>\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </form>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n <hr style=\"color: gray; margin-bottom: 0px;\" />\r\n\r\n <!-- -------------------------------------------------------------------------------- -->\r\n\r\n\r\n <div class=\"report-loader\" *ngIf=\"loading && svgLoader\" [innerHTML]=\"svgLoader\"></div>\r\n\r\n <!-- ----------------------------------------------------------------------------------- -->\r\n <!-- (for below report-container div) *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\" -->\r\n <div class=\"report-container\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n\r\n\r\n <!-- (for below main-report div) *ngIf=\"accGlDetailsEnquiryReportModel != undefined\" -->\r\n <div class=\"main-report\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n\r\n\r\n <h1 class=\"title\">\r\n General Ledger Account Details\r\n Enquiry</h1>\r\n\r\n\r\n <div class=\"report-content\">\r\n\r\n <div class=\"left-section\">\r\n <div class=\"labels\">\r\n <p><b>Company</b></p>\r\n <p><b>{{ dateType ==\r\n 'VD' ? 'Value Date' : 'Posting Date' }}</b></p>\r\n\r\n\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ companyName }}</p>\r\n <p>: {{currentReportFormattedDate}}</p>\r\n\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"right-section\">\r\n <div class=\"labels\">\r\n <p><b>Report User</b></p>\r\n <p><b>Report Time</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ reportUser }}</p>\r\n <p>: {{ reportTime }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"d-flex justify-content-between align-items-center mt-3 mb-3 flex-wrap\">\r\n\r\n\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex justify-content-end align-items-center\">\r\n <input type=\"text\" [(ngModel)]=\"searchText\" name=\"searchText\" (ngModelChange)=\"onSearch()\"\r\n class=\"form-control custom-search-class\" placeholder=\"Search...\"\r\n style=\"width: 190px; height: 20px; color: black; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px !important; \" />\r\n <button type=\"button\" class=\"btn btn-sm p-0\" (click)=\"onSearch()\"\r\n style=\"height: 32px; width: 36px; background-color: #0081c6; border-top-left-radius: 0px !important; border-bottom-left-radius: 0px !important;\">\r\n <img src=\"assets/images/Search.svg\" alt=\"Search\"\r\n style=\"max-height: 70%; max-width: 70%; height: 17px; width: 17px; object-fit: contain;\" />\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div class=\"d-flex align-items-center\">\r\n <select class=\"form-select w-auto form-control compact-input\" name=\"selectedExportOption\"\r\n id=\"selectedExportOption\" [(ngModel)]=\"selectedExportOption\"\r\n (keydown.enter)=\"onEnterhandleExport($event)\">\r\n <option value='csv'>CSV</option>\r\n <option value='excel'>Excel</option>\r\n <option value='pdf'>PDF</option>\r\n </select>\r\n <button type=\"button\" class=\"btn-primary\" style=\"font-size: 12px !important;\"\r\n (click)=\"handleExport()\">Export</button>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n <div style=\"position: relative;\">\r\n\r\n <div class=\"d-flex align-items-center gap-2\"\r\n style=\"position: absolute; left: 10px; bottom: 5.5px; z-index: 1; background: transparent; padding-right: 10px; align-items: center; justify-content: center; \">\r\n <label\r\n style=\"font-weight: 600;font-size: 11px !important; margin: 0px !important; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; align-items: center; justify-content: center;\"\r\n for=\"pageSize\">Entries\r\n Per Page</label>\r\n <select class=\"form-select custom-height w-auto\" id=\"pageSize\" [(ngModel)]=\"pageSize\"\r\n (change)=\"onPageSizeChanged()\">\r\n <option [ngValue]=\"10\">10</option>\r\n <option [ngValue]=\"15\">15</option>\r\n <option [ngValue]=\"20\">20</option>\r\n <option [ngValue]=\"30\">30</option>\r\n <option [ngValue]=\"50\">50</option>\r\n <option [ngValue]=\"100\">100</option>\r\n <option [ngValue]=\"200\">200</option>\r\n <option [ngValue]=\"0\">All</option>\r\n </select>\r\n </div>\r\n\r\n\r\n\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine compact-grid\" style=\"width: 100%; font-weight: 500; height: 390px;\"\r\n [rowData]=\"rowData\" [columnDefs]=\"columnDefs\" [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\"\r\n [rowHeight]=\"20\" [headerHeight]=\"24\" [pagination]=\"true\" [domLayout]=\"'normal'\"\r\n [paginationPageSize]=\"pageSize\" [suppressHorizontalScroll]=\"false\" [suppressRowHoverHighlight]=\"false\"\r\n [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\r\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\r\n </ag-grid-angular>\r\n\r\n <!-- [domLayout]=\"'autoHeight'\" -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n <!-- below for report user and report time at footer side of ag-grid . put on right side -->\r\n <!-- <div\r\n style=\"display: flex; font-size: 10px !important; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; margin-top: 3px;\">\r\n <div class=\"labels\">\r\n <p>Report User & Report Time</p>\r\n </div>\r\n <div class=\"values\">\r\n <p style=\"font-weight: normal !important;\">: {{ reportUser }} @ {{ reportTime }}</p>\r\n </div>\r\n </div> -->\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n\r\n </div>\r\n</div>","\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'acc-gl-details-enquiry-report',\r\n component: AccGlDetailsEnquiryReportComponent\r\n },\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ReportsLibRoutingModule {}\r\n","// The file contents for the current environment will overwrite these during build.\r\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\r\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\r\n// The list of which env maps to which file can be found in `.angular-cli.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n selfHostUrl: 'http://localhost:9000/api/scriptx',\r\n configFile: 'assets/config/app-config.json'\r\n};\r\n","import { Injectable } from \"@angular/core\";\r\n// import Swal from \"sweetalert2\";\r\nimport { HttpBackend, HttpClient } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport { forkJoin } from \"rxjs\";\r\nimport { environment } from \"../../environments/environment\";\r\n\r\n@Injectable()\r\nexport class ActiveXService {\r\n \r\n private macAddress = \"\";\r\n private ipAddress = \"\";\r\n private machineName = \"\";\r\n private processorId = \"\";\r\n private printerName = \"\";\r\n\r\n private scriptxServiceUrl: string;\r\n\r\n private scriptxHttpClient: HttpClient;\r\n\r\n public isSelfHostAvailable: boolean;\r\n\r\n constructor(private backend: HttpBackend) {\r\n this.scriptxServiceUrl = environment.selfHostUrl;\r\n this.scriptxHttpClient = new HttpClient(backend);\r\n this.requestSelfHostedServiceInfo()\r\n .subscribe((responseList) => {\r\n this.machineName = responseList[0];\r\n this.macAddress = responseList[1];\r\n this.ipAddress = responseList[2];\r\n this.processorId = responseList[3];\r\n this.isSelfHostAvailable = true;\r\n },\r\n err => {\r\n this.isSelfHostAvailable = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n getMACAddress(): string {\r\n return this.macAddress;\r\n }\r\n\r\n getIPAddress(): string {\r\n return this.ipAddress;\r\n }\r\n\r\n getMachineName(): string {\r\n return this.machineName;\r\n }\r\n\r\n getPrinterName(): string {\r\n return this.printerName;\r\n }\r\n\r\n getProcessorId(): string {\r\n return this.processorId;\r\n }\r\n\r\n public requestSelfHostedServiceInfo(): Observable<any[]> {\r\n let responseGetMachineName = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetMachineName\"\r\n );\r\n let responseGetMacAddress = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetMacAddress\"\r\n );\r\n let responseGetIpAddress = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetIpAddress\"\r\n );\r\n let responseGetProcessId = this.scriptxHttpClient.get(\r\n this.scriptxServiceUrl + \"/GetProcessId\"\r\n );\r\n return forkJoin([\r\n responseGetMachineName,\r\n responseGetMacAddress,\r\n responseGetIpAddress,\r\n responseGetProcessId,\r\n ]);\r\n }\r\n}\r\n","import { Inject, Injectable, OnInit } from '@angular/core';\r\nimport { LOCAL_STORAGE, InMemoryStorageService, isStorageAvailable, SESSION_STORAGE } from 'ngx-webstorage-service';\r\n\r\nimport { UserSessionModel } from '../models/security/user-session.model';\r\nimport { Observable , BehaviorSubject } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { LocalStorage } from '@ng-idle/core';\r\n\r\n\r\n@Injectable()\r\nexport class SessionService {\r\n\r\n private userSessionKey = 'FossilUserSessionModel';\r\n session: UserSessionModel;\r\n onSessionChanged: BehaviorSubject<any>;\r\n constructor(\r\n @Inject(SESSION_STORAGE) private storage: InMemoryStorageService,\r\n private oauthService: OAuthService) {\r\n this.onSessionChanged = new BehaviorSubject(null);\r\n }\r\n\r\n public GetObjectByKey(key: string): any {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n return this.storage.get(key);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public SetObject(key: string, value: any) {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.set(key, value);\r\n }\r\n this.UpdateSession();\r\n }\r\n\r\n public RemoveObject(key: string) {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.remove(key);\r\n }\r\n this.UpdateSession();\r\n }\r\n\r\n public GetUserSession(): UserSessionModel {\r\n return this.GetObjectByKey(this.userSessionKey);\r\n }\r\n\r\n // TODO Consider if this should close the session on the server side or just reset the client session\r\n public Clear() {\r\n if (isStorageAvailable(sessionStorage) && this.storage !== undefined) {\r\n this.storage.remove(this.userSessionKey);\r\n }\r\n }\r\n\r\n private UpdateSession() {\r\n this.session = this.GetUserSession();\r\n this.onSessionChanged.next(this.session);\r\n }\r\n\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { ActiveXService } from '../services/active-x.service';\r\nimport { SessionService } from '../services/session.service';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Injectable()\r\nexport class AuthHttpInterceptor implements HttpInterceptor \r\n{\r\n constructor(private oAuthService: OAuthService, private activeXService: ActiveXService, private session: SessionService) { }\r\n\r\n\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> \r\n {\r\n const token = this.oAuthService.getAccessToken();\r\n const guid: string = uuidv4().replace(/-/g, '');\r\n let clonedRequest = request.clone({\r\n withCredentials: true\r\n });\r\n\r\n if (token) {\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`\r\n },\r\n withCredentials: true\r\n });\r\n }\r\n if (!request.headers.has('request-trace-id')) {\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'request-trace-id': guid\r\n }\r\n });\r\n } \r\n let userBranch = 'NotSelected';\r\n let userCompany = 'NotSelected';\r\n if (this.session) {\r\n const userSession = this.session.GetUserSession();\r\n userBranch = userSession?.branch || 'NotInSession';\r\n userCompany = userSession?.companyShortCode || 'NotInSession';\r\n }\r\n\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'UserBranch': userBranch || ''\r\n },\r\n withCredentials: true\r\n });\r\n\r\n clonedRequest = clonedRequest.clone({\r\n setHeaders: {\r\n 'UserCompany': userCompany || ''\r\n },\r\n withCredentials: true\r\n });\r\n\r\n return next.handle(clonedRequest);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ReportsLibComponent } from './reports-lib.component';\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { ReportsLibRoutingModule } from './reports-lib-routing.module';\r\nimport { OAuthModule, OAuthService, OAuthStorage } from 'angular-oauth2-oidc';\r\nimport { AuthHttpInterceptor } from './interceptors/auth-http.interceptor';\r\nimport { ActiveXService } from './services/active-x.service';\r\nimport { SessionService } from './services/session.service';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ReportsLibComponent,\r\n \r\n AccGlDetailsEnquiryReportComponent\r\n ],\r\n imports: [\r\n AgGridModule,\r\n ReportsLibRoutingModule,\r\n CommonModule,\r\n NgIdleModule.forRoot(),\r\n OAuthModule.forRoot(),\r\n FormsModule\r\n \r\n ],\r\n providers: \r\n [\r\n ActiveXService,\r\n SessionService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthHttpInterceptor,\r\n deps: [OAuthService, ActiveXService, SessionService],\r\n multi: true\r\n },\r\n ],\r\n exports: [\r\n ReportsLibComponent,\r\n AccGlDetailsEnquiryReportComponent\r\n ]\r\n})\r\nexport class ReportsLibModule { }\r\n","/*\r\n * Public API Surface of reports-lib\r\n */\r\n\r\n\r\n\r\nexport * from './lib/reports-lib.service';\r\nexport * from './lib/reports-lib.component';\r\nexport * from './lib/reports-lib.module';\r\nexport * from './lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ReportService","i2","i1","uuidv4","i2.ActiveXService","i3.SessionService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;MAKa,iBAAiB,CAAA;AAE5B,IAAA,WAAA,GAAA,GAAiB;;8GAFN,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCQY,mBAAmB,CAAA;AAE9B,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;;gHALU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EARpB,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAIU,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,CAAA;;;MCCU,aAAa,CAAA;AAUxB,IAAA,WAAA,CAAoB,IAAgB,EAAU,YAA0B,EAAU,QAAkB,EAAA;QAAhF,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAU,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAJ5F,IAAe,CAAA,eAAA,GAAG,4CAA4C,CAAC;AAKrE,QAAA,IAAI,CAAC,UAAU,GAAG,4CAA4C,CAAC;AAC9D,QAAA,IAAI,CAAC,4BAA4B,GAAG,0CAA0C,CAAC;KAEjF;IAMM,qBAAqB,CAAC,aAAiC,EAAE,QAAgB,EAAE,cAAsB,EAAE,SAAiB,EAAE,WAAmB,EAAA;AAG9I,QAAA,IAAI,aAAa,EAAE;YACjB,MAAM,OAAO,GAAG,CAAG,EAAA,IAAI,CAAC,UAAU,CAAA,EAAG,IAAI,CAAC,4BAA4B,kCAAkC,aAAa,CAAA,CAAA,EAAI,QAAQ,CAAI,CAAA,EAAA,cAAc,IAAI,SAAS,CAAA,CAAA,EAAI,WAAW,CAAA,CAAE,CAAC;YAClL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiC,OAAO,CAAC,CAAC;AAC/D,SAAA;AAAM,aAAA;YAEL,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC3D,YAAA,MAAM,OAAO,GAAG,CAAA,yEAAA,EAA4E,WAAW,CAAqB,mBAAA,CAAA,CAAC;YAG7H,OAAO,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,SAAA;KACF;IAKM,6BAA6B,GAAA;QAClC,IAAI,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC9D,IAAI,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEhE,QAAA,IAAI,cAAc,EAAE;YAClB,OAAO,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACjD,SAAA;AAAM,aAAA;YACL,OAAO,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAClD,SAAA;KAGF;;0GAlDU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCqBY,kCAAkC,CAAA;IAoE7C,WAAoB,CAAA,aAA4B,EAAU,IAAgB,EAAU,SAAuB,EAAU,YAA0B,EAAU,QAAkB,EAAA;QAAvJ,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAAU,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAU,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;QAAU,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAjE3K,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;QAKxB,IAAoB,CAAA,oBAAA,GAAW,OAAO,CAAC;QAEvC,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;QAEtB,IAAS,CAAA,SAAA,GAAa,EAAE,CAAC;QACzB,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;QACzB,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAE3B,IAAc,CAAA,cAAA,GAAW,CAAC,CAAC;AAW3B,QAAA,IAAA,CAAA,aAAa,GAAW;AACtB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,iBAAiB,EAAE,KAAK;;SAEzB,CAAC;;AAMF,QAAA,IAAA,CAAA,UAAU,GAAa;YACrB,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE;YACjJ,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,4CAA4C,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE;YACnK,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE;YAC7J,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;AACvJ,YAAA,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACpN,YAAA,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG;AACjN,YAAA,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;YAChN,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;YACvJ,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE;AAC3H,YAAA,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AAC9M,YAAA,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AACrN,YAAA,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AACzN,YAAA,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AACvN,YAAA,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;SAG5N,CAAC;;QAMF,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AASX,QAAA,IAAI,CAAC,8BAA8B,GAAG,SAAS,CAAC;KACjD;IAED,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kCAAkC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,IAAG;YAC1F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;;AAE/D,SAAC,CAAC,CAAA;AAEF,QAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;KAChE;IAEM,qBAAqB,GAAA;;AAE1B,QAAA,IAAI,CAAC,8BAA8B,GAAG,SAAS,CAAC;AAChD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAGvB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;AAEpC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,6BAA6B,EAAE,CAAC;AAEpE,QAAA,OAAO,CAAC,GAAG,CAAC,CAAA,8CAAA,EAAiD,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAClG,CAAE,CAAA,CAAC,CAAC;AAGN,QAAA,IAAI,CAAC,WAAW,GAAG,cAAc,CAAA;AAEjC,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtB,SAAA;;QAQD,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;aAC/I,SAAS,CAAC,IAAI,IAAG;AAGhB,YAAA,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC3C,IAAI,IAAI,CAAC,8BAA8B,EAAE;gBAEvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC;gBAEzE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC;AAEnE,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;AAEzC,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC;gBAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;AAErE,gBAAA,IAAI,CAAC,0BAA0B,GAAG,UAAU,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;AAEvG,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAEvB,aAAA;SACF,EAAE,KAAK,IAAG;AACT,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAGnB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AAGrB,YAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;AAC/B,gBAAA,KAAK,GAAG,KAAK,EAAE,CAAC;AACjB,aAAA;YAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC3D,YAAA,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;;;AAMxC,SAAC,CAAC,CAAC;KACN;;AAKM,IAAA,UAAU,CAAC,MAAW,EAAA;AAC3B,QAAA,OAAO,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;;KAElE;IAID,2BAA2B,GAAA;QAEzB,IAAI;AACF,YAAA,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEhD,IAAI,IAAI,GAAG,IAAI,EAAE;AACf,gBAAA,OAAO,SAAS,CAAC;AAClB,aAAA;AAED,YAAA,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAC,CAAC;AACzD,YAAA,MAAM,uBAAuB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,YAAA,OAAO,uBAAuB,CAAC;AAChC,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AAEd,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AAErB,YAAA,OAAO,SAAS,CAAC;AAElB,SAAA;KAIF;AAMD,IAAA,YAAY,CAAC,KAAY,EAAA;AACvB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;;AAE/C,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;KACtE;AAID,IAAA,UAAU,CAAC,KAAY,EAAA;;QAErB,MAAM,aAAa,GAAG,KAAsB,CAAC;QAC7C,aAAa,CAAC,cAAc,EAAE,CAAC;AAE/B,QAAA,IAAI,aAAa,CAAC,MAAM,YAAY,WAAW,EAAE;AAC/C,YAAA,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC7B,SAAA;;KAEF;AAGD,IAAA,mBAAmB,CAAC,KAAY,EAAA;AAC9B,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;;AAGD,IAAA,WAAW,CAAC,MAAsB,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC;KACvC;IAID,iBAAiB,GAAA;QACf,IAAI,IAAI,CAAC,OAAO,EAAE;AAEhB,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;AACvB,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAA,kCAAA,EAAqC,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,MAAM,CAAA,CAAE,CAAC,CAAC;AAErH,gBAAA,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACrG,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAA,kCAAA,EAAqC,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,MAAM,CAAA,CAAE,CAAC,CAAC;AACtH,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClD,gBAAA,OAAO,CAAC,GAAG,CAAC,CAAA,kCAAA,EAAqC,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,MAAM,CAAA,CAAE,CAAC,CAAC;AAEtH,aAAA;AAEF,SAAA;KACF;AAGD,IAAA,YAAY,CAAC,MAAW,EAAA;;QAEtB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;AACnD,QAAA,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE;YAC3B,OAAO,EAAE,CAAC;AACX,SAAA;QACD,OAAO,EAAE,CAAC;KACX;AAGD,IAAA,YAAY,CAAC,MAAW,EAAA;AACtB,QAAA,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;AAAE,YAAA,OAAO,EAAE,CAAC;AAEpC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;;QAGlC,IAAI,KAAK,KAAK,MAAM,EAAE;YACpB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACxC,SAAA;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACxC;;IAOD,YAAY,GAAA;QACV,QAAQ,IAAI,CAAC,oBAAoB;AAC/B,YAAA,KAAK,OAAO;gBACV,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,MAAM;AACR,YAAA,KAAK,KAAK;gBACR,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM;AACR,YAAA,KAAK,KAAK;gBACR,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM;AACR,YAAA;gBACE,KAAK,CAAC,iCAAiC,CAAC,CAAC;AAC5C,SAAA;KACF;IAKD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,MAAM;YAAE,OAAO;AAE9E,QAAA,IAAI,QAAgC,CAAC;QAErC,IAAI;AACF,YAAA,QAAQ,GAAG;AACT,gBAAA,CAAC,cAAc,EAAE,CAAA,EAAG,IAAI,CAAC,WAAW,2CAA2C,CAAC;AAChF,gBAAA,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;AAChC,gBAAA,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;AAChC,gBAAA,CAAC,qBAAqB,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,YAAY,GAAG,cAAc,CAAA,CAAE,EAAE,IAAI,CAAC,0BAA0B,CAAC;aAChH,CAAC;AACH,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;AACZ,YAAA,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAA,CAAE,CAAC,CAAC;YACjD,OAAO;AACR,SAAA;;AAGD,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAC/C,GAAG,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAC1G,CAAC;;QAGF,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;;AAGzF,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,KAAI;YACxF,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAG;gBAC3C,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAM,CAAC,CAAC;AAC5B,gBAAA,IAAI,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE;oBACtD,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACpC,iBAAA;gBACD,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;AAClC,aAAC,CAAC,CAAC;AAEH,YAAA,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;AAC9C,SAAC,CAAC,CAAC;;AAGH,QAAA,MAAM,UAAU,GAAG,CAAC,IAAI,QAAQ,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;aAC3D,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACrB,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,mCAAmC,EAAE,UAAU,CAAC,CAAC;KAChF;IAKD,aAAa,GAAA;AACX,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;AAEzB,QAAA,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAEzE,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IACnD,EAAE,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACnG,CAAC;QAEF,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;;AAGnD,QAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAG,EAAA,IAAI,CAAC,WAAW,CAA2C,yCAAA,CAAA,CAAC,CAAC,CAAC;AACpG,QAAA,QAAQ,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACzC,SAAS,CAAC,UAAU,CAAC,CAAA,CAAA,EAAI,QAAQ,CAAC,MAAM,CAAI,CAAA,EAAA,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,CAAA,EAAG,QAAQ,CAAC,MAAM,CAAE,CAAA,CAAC,CAAC;AACxG,QAAA,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;AAGrB,QAAA,MAAM,IAAI,GAAuB;AAC/B,YAAA,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;AAChC,YAAA,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;YAChC,CAAC,iBAAiB,EAAE,EAAE,CAAC;AACvB,YAAA,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,GAAG,YAAY,GAAG,cAAc,CAAA,CAAE,EAAE,IAAI,CAAC,0BAA0B,CAAC;SAC/F,CAAC;QAIF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,KAAI;YAC9B,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAE5B,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAEzE,IAAI,CAAC,KAAK,GAAG;AACX,gBAAA,QAAQ,EAAE;AACR,oBAAA;wBACE,IAAI,EAAE,CAAG,EAAA,KAAK,CAAI,EAAA,CAAA;AAClB,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,IAAI;4BACV,SAAS,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS;AAC/C,yBAAA;AACF,qBAAA;AACD,oBAAA;wBACE,IAAI,EAAE,KAAK,IAAI,EAAE;AACjB,wBAAA,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;AACtB,qBAAA;AACF,iBAAA;aACF,CAAC;YAEF,SAAS,CAAC,UAAU,CAAC,CAAA,CAAA,EAAI,GAAG,CAAC,MAAM,CAAI,CAAA,EAAA,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,CAAA,EAAG,GAAG,CAAC,MAAM,CAAE,CAAA,CAAC,CAAC;AAChG,SAAC,CAAC,CAAC;AAGH,QAAA,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;AAGrB,QAAA,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/G,SAAS,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAChC,SAAS,CAAC,IAAI,GAAG;AACf,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B,CAAC;AACF,QAAA,SAAS,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;QACnE,SAAS,CAAC,MAAM,GAAG;AACjB,YAAA,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;AACjD,YAAA,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;SAClD,CAAC;QAEF,MAAM,YAAY,GAAG,SAAS,CAAC,OAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;;QAGnD,IAAI,IAAI,GAAG,CAAC,CAAC;AACb,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,IAAG;YACjB,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAG;gBAC3C,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAM,CAAC,CAAC;AAC5B,gBAAA,IAAI,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE;oBACtD,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACpC,iBAAA;gBACD,OAAO,KAAK,IAAI,EAAE,CAAC;AACrB,aAAC,CAAC,CAAC;AAEH,YAAA,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACxB,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC,MAAM,GAAG;AACf,gBAAA,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;AACjD,gBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;aAClD,CAAC;AACJ,SAAC,CAAC,CAAC;;QAGH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,SAAS,GAAG,CAAC,CAAC;;AAGlB,YAAA,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/D,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;;AAGlD,YAAA,KAAK,IAAI,MAAM,GAAG,YAAY,EAAE,MAAM,IAAI,SAAS,CAAC,OAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;AAC7E,gBAAA,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjD,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;gBACpD,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7C,aAAA;YAED,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC;AAC9C,SAAA;;QAID,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,IAAG;YACxC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE;AAC9B,gBAAA,IAAI,EAAE,mEAAmE;AAC1E,aAAA,CAAC,CAAC;AACH,YAAA,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,oCAAoC,CAAC,CAAC;AAC/D,SAAC,CAAC,CAAC;KACJ;IAaD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,MAAM;YAAE,OAAO;;AAG9E,QAAA,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC;AACpB,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;AACnB,SAAA,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;;AAG9C,QAAA,MAAM,KAAK,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,2CAA2C,CAAC;AAC7E,QAAA,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpB,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;;QAE1C,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;;QAGxB,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,CAAC,CAAC;AACrB,QAAA,MAAM,SAAS,GAAG;AAChB,YAAA,CAAC,CAAc,YAAA,CAAA,EAAE,IAAI,CAAC,UAAU,CAAC;AACjC,YAAA,CAAC,CAAc,YAAA,CAAA,EAAE,IAAI,CAAC,UAAU,CAAC;YACjC,CAAC,CAAA,eAAA,CAAiB,EAAE,EAAE,CAAC;AACvB,YAAA,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,YAAY,GAAG,cAAc,CAAA,CAAA,CAAG,EAAE,IAAI,CAAC,0BAA0B,CAAC;SAC/F,CAAC;AAEF,QAAA,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACpB,QAAA,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAI;AACtC,YAAA,MAAM,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,UAAU,CAAC;YAEjC,IAAI,KAAK,KAAK,iBAAiB,EAAE;AAC/B,gBAAA,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACjC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;;gBAG/B,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC1C,gBAAA,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACpB,gBAAA,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AACtB,gBAAA,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5D,aAAA;AAAM,iBAAA;;;;;;;;;;;;AAoBL,gBAAA,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACjC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;;gBAG/B,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AACjD,gBAAA,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;AAE7C,aAAA;AACH,SAAC,CAAC,CAAC;QAIH,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAChD,EAAE,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAChJ,CAAC;;QAMF,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAM,CAAC,CAAC,CAAC;;AAGvF,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,KAAI;YACxF,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,IAAG;gBACxC,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAM,CAAC,CAAC;AAC5B,gBAAA,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE;oBAClE,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACpC,iBAAA;gBACD,OAAO,KAAK,IAAI,EAAE,CAAC;AACrB,aAAC,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;;QAGH,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;YACvB,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC1C,SAAC,CAAC,CAAC;;QAGH,GAAG,CAAC,SAAS,CAAC;YACZ,IAAI,EAAE,CAAC,OAAO,CAAC;AACf,YAAA,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC;AACjD,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,UAAU,EAAE;AACV,gBAAA,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC1B,gBAAA,SAAS,EAAE,CAAC;AACZ,gBAAA,SAAS,EAAE,MAAM;AACjB,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC1B,gBAAA,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACrB,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE,CAAC;AACd,gBAAA,QAAQ,EAAE,WAAW;AACrB,gBAAA,aAAa,EAAE,CAAC;AACjB,aAAA;AACD,YAAA,YAAY,EAAE,YAAY;AAC3B,SAAA,CAAC,CAAC;AAEH,QAAA,GAAG,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;KAC/C;AAQO,IAAA,YAAY,CAAC,IAAY,EAAE,QAAgB,EAAE,IAAY,EAAA;AAC/D,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACxC,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACjC;IAMD,QAAQ,GAAA;QACN,MAAM,SAAS,GAAG,CAAC,GAAQ,KACzB,GAAG,EAAE,QAAQ,EAAE;AACZ,aAAA,WAAW,EAAE;AACb,aAAA,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACjB,aAAA,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AACpB,aAAA,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;AACrC,aAAA,IAAI,EAAE,CAAC;QAEZ,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAI1C,OAAO,CAAC,GAAG,CAAC,CAAA,cAAA,EAAiB,IAAI,CAAC,UAAU,CAAE,CAAA,CAAC,CAAC;AAChD,QAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAA,CAAE,CAAC,CAAC;AAG3C,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,IAClF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAC5B,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAClC,CACF,CAAC;AACH,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC;AAC1E,SAAA;KACF;;+HAlpBU,kCAAkC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,yEC7B/C,i5RA8PM,EAAA,MAAA,EAAA,CAAA,islPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,6BAAA,EAAA,gCAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,8BAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,0BAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,8BAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,wBAAA,EAAA,+BAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,+BAAA,EAAA,8BAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,+BAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,8BAAA,EAAA,qBAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,sCAAA,EAAA,cAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,6BAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,8BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,0BAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,UAAA,EAAA,WAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,eAAA,EAAA,2BAAA,EAAA,qBAAA,EAAA,+BAAA,EAAA,4BAAA,EAAA,yBAAA,EAAA,OAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,kCAAA,EAAA,+BAAA,EAAA,wBAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,iCAAA,EAAA,8BAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,yBAAA,EAAA,2CAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,4BAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,8BAAA,EAAA,mCAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,6BAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,gCAAA,EAAA,6BAAA,EAAA,oBAAA,EAAA,8BAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,iCAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,wBAAA,EAAA,uCAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,gCAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,eAAA,EAAA,4BAAA,EAAA,2CAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,qBAAA,EAAA,0BAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iCAAA,EAAA,yBAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,iCAAA,EAAA,qCAAA,EAAA,oBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,yBAAA,EAAA,iCAAA,EAAA,wBAAA,EAAA,4BAAA,EAAA,oCAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,6BAAA,EAAA,yBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,8BAAA,EAAA,cAAA,EAAA,cAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,+BAAA,EAAA,OAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,2BAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,gCAAA,EAAA,0BAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,6BAAA,EAAA,6BAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,aAAA,EAAA,4BAAA,EAAA,eAAA,EAAA,+BAAA,EAAA,0BAAA,EAAA,gCAAA,EAAA,8BAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,yBAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,aAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,0BAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,6BAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,4BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDjOO,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAN9C,SAAS;+BACE,mCAAmC,EAAA,QAAA,EAAA,i5RAAA,EAAA,MAAA,EAAA,CAAA,islPAAA,CAAA,EAAA,CAAA;;;AElB/C,MAAM,MAAM,GAAW;AACrB,IAAA;AACE,QAAA,IAAI,EAAE,+BAA+B;AACrC,QAAA,SAAS,EAAE,kCAAkC;AAC9C,KAAA;CAEF,CAAC;MAMW,uBAAuB,CAAA;;oHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,wCAFxB,YAAY,CAAA,EAAA,CAAA,CAAA;qHAEX,uBAAuB,EAAA,OAAA,EAAA,CAHxB,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B,YAAY,CAAA,EAAA,CAAA,CAAA;2FAEX,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA,CAAA;;;ACjBD;AACA;AACA;AACA;AAEO,MAAM,WAAW,GAAG;AACvB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,WAAW,EAAE,mCAAmC;AAChD,IAAA,UAAU,EAAE,+BAA+B;CAC9C;;MCDY,cAAc,CAAA;AAcvB,IAAA,WAAA,CAAoB,OAAoB,EAAA;QAApB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAa;QAZhC,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;QAChB,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;QACf,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;QACjB,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;QACjB,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AASrB,QAAA,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,iBAAiB,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,4BAA4B,EAAE;AAClC,aAAA,SAAS,CAAC,CAAC,YAAY,KAAI;AACxB,YAAA,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AACnC,YAAA,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAClC,YAAA,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AACjC,YAAA,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AACnC,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACnC,EACD,GAAG,IAAG;AACF,YAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;AACjC,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACvB,SAAC,CAAC,CAAC;KACN;IAED,aAAa,GAAA;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;KAC1B;IAED,YAAY,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,cAAc,GAAA;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;IAED,cAAc,GAAA;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;IAED,cAAc,GAAA;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;KAC3B;IAEM,4BAA4B,GAAA;AAC/B,QAAA,IAAI,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CACnD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAC7C,CAAC;AACF,QAAA,IAAI,qBAAqB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAClD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAC5C,CAAC;AACF,QAAA,IAAI,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CACjD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAC3C,CAAC;AACF,QAAA,IAAI,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CACjD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAC3C,CAAC;AACF,QAAA,OAAO,QAAQ,CAAC;YACZ,sBAAsB;YACtB,qBAAqB;YACrB,oBAAoB;YACpB,oBAAoB;AACvB,SAAA,CAAC,CAAC;KACN;;2GAtEQ,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;+GAAd,cAAc,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;;MCGE,cAAc,CAAA;IAKvB,WACqC,CAAA,OAA+B,EACxD,YAA0B,EAAA;QADD,IAAO,CAAA,OAAA,GAAP,OAAO,CAAwB;QACxD,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAL9B,IAAc,CAAA,cAAA,GAAG,wBAAwB,CAAC;QAM1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;KACrD;AAEE,IAAA,cAAc,CAAC,GAAW,EAAA;QAC7B,IAAI,kBAAkB,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAClE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChC,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACf;IAEM,SAAS,CAAC,GAAW,EAAE,KAAU,EAAA;QACpC,IAAI,kBAAkB,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAClE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAChC,SAAA;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;AAEM,IAAA,YAAY,CAAC,GAAW,EAAA;QAC3B,IAAI,kBAAkB,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;AAClE,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC5B,SAAA;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAEM,cAAc,GAAA;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACnD;;IAGM,KAAK,GAAA;QACR,IAAI,kBAAkB,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAClE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC5C,SAAA;KACJ;IAEO,aAAa,GAAA;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC5C;;AA/CQ,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,kBAMX,eAAe,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;+GANlB,cAAc,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;0BAOF,MAAM;2BAAC,eAAe,CAAA;;;MCPlB,mBAAmB,CAAA;AAE5B,IAAA,WAAA,CAAoB,YAA0B,EAAU,cAA8B,EAAU,OAAuB,EAAA;QAAnG,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAAU,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAAU,IAAO,CAAA,OAAA,GAAP,OAAO,CAAgB;KAAK;IAI5H,SAAS,CAAC,OAAyB,EAAE,IAAiB,EAAA;QAElD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QACjD,MAAM,IAAI,GAAWC,EAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAChD,QAAA,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;AAC9B,YAAA,eAAe,EAAE,IAAI;AACxB,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;AAChC,gBAAA,UAAU,EAAE;oBACR,aAAa,EAAE,CAAU,OAAA,EAAA,KAAK,CAAE,CAAA;AACnC,iBAAA;AACD,gBAAA,eAAe,EAAE,IAAI;AACxB,aAAA,CAAC,CAAC;AACN,SAAA;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE;AAC1C,YAAA,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;AAChC,gBAAA,UAAU,EAAE;AACR,oBAAA,kBAAkB,EAAE,IAAI;AAC3B,iBAAA;AACJ,aAAA,CAAC,CAAC;AACN,SAAA;QACD,IAAI,UAAU,GAAG,aAAa,CAAC;QAC/B,IAAI,WAAW,GAAG,aAAa,CAAC;QAChC,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;AAClD,YAAA,UAAU,GAAG,WAAW,EAAE,MAAM,IAAI,cAAc,CAAC;AACnD,YAAA,WAAW,GAAG,WAAW,EAAE,gBAAgB,IAAI,cAAc,CAAC;AACjE,SAAA;AAED,QAAA,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;AAChC,YAAA,UAAU,EAAE;gBACR,YAAY,EAAE,UAAU,IAAI,EAAE;AACjC,aAAA;AACD,YAAA,eAAe,EAAE,IAAI;AACxB,SAAA,CAAC,CAAC;AAEH,QAAA,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;AAChC,YAAA,UAAU,EAAE;gBACR,aAAa,EAAE,WAAW,IAAI,EAAE;AACnC,aAAA;AACD,YAAA,eAAe,EAAE,IAAI;AACxB,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;KACrC;;gHApDQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;oHAAnB,mBAAmB,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,UAAU;;;MC0CE,gBAAgB,CAAA;;6GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBA7BzB,mBAAmB;AAEnB,QAAA,kCAAkC,aAGhC,YAAY;QACZ,uBAAuB;QACnB,YAAY,EAAAH,IAAA,CAAA,YAAA,EAAAD,IAAA,CAAA,WAAA,EAGf,WAAW,CAAA,EAAA,OAAA,EAAA,CAed,mBAAmB;QACnB,kCAAkC,CAAA,EAAA,CAAA,CAAA;AAGzB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAfzB,SAAA,EAAA;QACK,cAAc;QACb,cAAc;AAChB,QAAA;AACM,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,QAAQ,EAAE,mBAAmB;AAC7B,YAAA,IAAI,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,CAAC;AACpD,YAAA,KAAK,EAAE,IAAI;AACd,SAAA;AACN,KAAA,EAAA,OAAA,EAAA,CAlBC,YAAY;QACZ,uBAAuB;QACnB,YAAY;QACZ,YAAY,CAAC,OAAO,EAAE;QACzB,WAAW,CAAC,OAAO,EAAE;QACrB,WAAW,CAAA,EAAA,CAAA,CAAA;2FAmBL,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBA/B5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;wBAEnB,kCAAkC;AACnC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,uBAAuB;wBACnB,YAAY;wBACZ,YAAY,CAAC,OAAO,EAAE;wBACzB,WAAW,CAAC,OAAO,EAAE;wBACrB,WAAW;AAEf,qBAAA;AACC,oBAAA,SAAS,EACT;wBACK,cAAc;wBACb,cAAc;AAChB,wBAAA;AACM,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,QAAQ,EAAE,mBAAmB;AAC7B,4BAAA,IAAI,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,CAAC;AACpD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACN,qBAAA;AACH,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,kCAAkC;AACnC,qBAAA;AACF,iBAAA,CAAA;;;ACjDD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -1,15 +1,14 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./reports-lib.component";
3
3
  import * as i2 from "./components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component";
4
- import * as i3 from "@angular/common/http";
5
- import * as i4 from "ag-grid-angular";
6
- import * as i5 from "./reports-lib-routing.module";
7
- import * as i6 from "@angular/common";
8
- import * as i7 from "@ng-idle/core";
9
- import * as i8 from "angular-oauth2-oidc";
10
- import * as i9 from "@angular/forms";
4
+ import * as i3 from "ag-grid-angular";
5
+ import * as i4 from "./reports-lib-routing.module";
6
+ import * as i5 from "@angular/common";
7
+ import * as i6 from "@ng-idle/core";
8
+ import * as i7 from "angular-oauth2-oidc";
9
+ import * as i8 from "@angular/forms";
11
10
  export declare class ReportsLibModule {
12
11
  static ɵfac: i0.ɵɵFactoryDeclaration<ReportsLibModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<ReportsLibModule, [typeof i1.ReportsLibComponent, typeof i2.AccGlDetailsEnquiryReportComponent], [typeof i3.HttpClientModule, typeof i4.AgGridModule, typeof i5.ReportsLibRoutingModule, typeof i6.CommonModule, typeof i3.HttpClientModule, typeof i7.NgIdleModule, typeof i8.OAuthModule, typeof i9.FormsModule], [typeof i1.ReportsLibComponent, typeof i2.AccGlDetailsEnquiryReportComponent]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ReportsLibModule, [typeof i1.ReportsLibComponent, typeof i2.AccGlDetailsEnquiryReportComponent], [typeof i3.AgGridModule, typeof i4.ReportsLibRoutingModule, typeof i5.CommonModule, typeof i6.NgIdleModule, typeof i7.OAuthModule, typeof i8.FormsModule], [typeof i1.ReportsLibComponent, typeof i2.AccGlDetailsEnquiryReportComponent]>;
14
13
  static ɵinj: i0.ɵɵInjectorDeclaration<ReportsLibModule>;
15
14
  }
@@ -8,7 +8,7 @@ export declare class ReportService {
8
8
  private errorHandler;
9
9
  private injector;
10
10
  private serviceUrl;
11
- private reportUrl;
11
+ private AccGlDetailsEnquiryReportUrl;
12
12
  private systemReportUrl;
13
13
  constructor(http: HttpClient, errorHandler: ErrorHandler, injector: Injector);
14
14
  getAccGLDetailsReport(formattedDate: string | undefined, dateType: string, sysCompanyCode: string, sysUserId: string, companyName: string): Observable<AccGlDetailsEnquiryReportModel>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sachin9822/reports-lib",
3
- "version": "0.0.69",
3
+ "version": "0.0.71",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.2.0",
6
6
  "@angular/core": "^14.2.0"