@sachin9822/reports-lib 0.0.71 → 0.0.73

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/esm2020/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.mjs +179 -15
  2. package/esm2020/lib/models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel.mjs +2 -0
  3. package/esm2020/lib/models/acc-gl-details-enquiry-report/journal-voucher-entry-model.mjs +2 -0
  4. package/esm2020/lib/reports-lib.module.mjs +4 -26
  5. package/esm2020/lib/services/report.service.mjs +1 -1
  6. package/esm2020/lib/shared/export.service.mjs +107 -0
  7. package/fesm2015/sachin9822-reports-lib.mjs +293 -212
  8. package/fesm2015/sachin9822-reports-lib.mjs.map +1 -1
  9. package/fesm2020/sachin9822-reports-lib.mjs +287 -210
  10. package/fesm2020/sachin9822-reports-lib.mjs.map +1 -1
  11. package/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.d.ts +7 -2
  12. package/lib/services/report.service.d.ts +1 -1
  13. package/lib/shared/export.service.d.ts +18 -0
  14. package/package.json +1 -1
  15. package/environments/environment.d.ts +0 -5
  16. package/esm2020/environments/environment.mjs +0 -10
  17. package/esm2020/lib/interceptors/auth-http.interceptor.mjs +0 -61
  18. package/esm2020/lib/models/accgl-details-enquiry-reportmodel.mjs +0 -2
  19. package/esm2020/lib/models/journal-voucher-entry-model.mjs +0 -2
  20. package/esm2020/lib/models/security/authorise-profile-system-function.model.mjs +0 -2
  21. package/esm2020/lib/models/security/authorise-profile-system-report.model.mjs +0 -2
  22. package/esm2020/lib/models/security/authorise-profile-system-shortcurt.model.mjs +0 -2
  23. package/esm2020/lib/models/security/authorize-profile-ratesheet.model.mjs +0 -2
  24. package/esm2020/lib/models/security/authorize-profile.model.mjs +0 -2
  25. package/esm2020/lib/models/security/user-session.model.mjs +0 -6
  26. package/esm2020/lib/models/view-pending-queue-option.enum.mjs +0 -13
  27. package/esm2020/lib/services/active-x.service.mjs +0 -63
  28. package/esm2020/lib/services/session.service.mjs +0 -54
  29. package/lib/interceptors/auth-http.interceptor.d.ts +0 -15
  30. package/lib/models/security/authorise-profile-system-function.model.d.ts +0 -9
  31. package/lib/models/security/authorise-profile-system-report.model.d.ts +0 -6
  32. package/lib/models/security/authorise-profile-system-shortcurt.model.d.ts +0 -4
  33. package/lib/models/security/authorize-profile-ratesheet.model.d.ts +0 -5
  34. package/lib/models/security/authorize-profile.model.d.ts +0 -9
  35. package/lib/models/security/user-session.model.d.ts +0 -31
  36. package/lib/models/view-pending-queue-option.enum.d.ts +0 -10
  37. package/lib/services/active-x.service.d.ts +0 -23
  38. package/lib/services/session.service.d.ts +0 -21
  39. /package/lib/models/{accgl-details-enquiry-reportmodel.d.ts → acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel.d.ts} +0 -0
  40. /package/lib/models/{journal-voucher-entry-model.d.ts → acc-gl-details-enquiry-report/journal-voucher-entry-model.d.ts} +0 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydG1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9tb2RlbHMvYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQvYWNjZ2wtZGV0YWlscy1lbnF1aXJ5LXJlcG9ydG1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb3VybmFsVm91Y2hlckVudHJ5TW9kZWwgfSBmcm9tIFwiLi9qb3VybmFsLXZvdWNoZXItZW50cnktbW9kZWxcIlxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0TW9kZWxcclxue1xyXG4gY29tcGFueU5hbWUgOnN0cmluZyxcclxuIHJlcG9ydFVzZXIgOnN0cmluZ1xyXG4gcmVwb3J0VGltZTogc3RyaW5nIFxyXG4gZGF0ZSA6IERhdGVcclxuIGpvdXJuYWxWb3VjaGVyRW50cmllcyA6W2pvdXJuYWxWb3VjaGVyRW50cnlNb2RlbF1cclxufSJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam91cm5hbC12b3VjaGVyLWVudHJ5LW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9tb2RlbHMvYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQvam91cm5hbC12b3VjaGVyLWVudHJ5LW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIGpvdXJuYWxWb3VjaGVyRW50cnlNb2RlbFxyXG57XHJcbiAgICBcclxuICAgICAgICAgam91cm5hbElEIDpzdHJpbmcsXHJcbiAgICAgICAgIHRyYW5zYWN0aW9uTm8gOnN0cmluZyxcclxuICAgICAgICAgdHJhbnNhY3Rpb25Db2RlIDpzdHJpbmcsXHJcbiAgICAgICAgIGpvdXJuYWxUeXBlIDpzdHJpbmcsXHJcbiAgICAgICAgIHBvc3RpbmdEYXRlIDpzdHJpbmcsICAvLyBkYXRldGltZSBpbiBiYWNrZW5kXHJcbiAgICAgICAgIHZhbHVlRGF0ZSA6RGF0ZSwgLy8gZGF0ZW9ubHkgaW4gYmFja2VuZFxyXG4gICAgICAgICBkZXNjcmlwdGlvbiA6c3RyaW5nLFxyXG4gICAgICAgICBhY2NvdW50Q29kZSA6c3RyaW5nLFxyXG4gICAgICAgICBjdXJyZW5jeSA6c3RyaW5nLFxyXG4gICAgICAgICByYXRlIDpzdHJpbmcsICAvL2RlY2ltYWwgaW4gYmFja2VuZFxyXG4gICAgICAgICBmb3JleERlYml0IDpzdHJpbmcsICAvL2RlY2ltYWwgaW4gYmFja2VuZFxyXG4gICAgICAgICBsb2NhbERlYml0IDpzdHJpbmcsICAvL2RlY2ltYWwgaW4gYmFja2VuZFxyXG4gICAgICAgICBmb3JleENyZWRpdCA6c3RyaW5nLCAgIC8vZGVjaW1hbCBpbiBiYWNrZW5kXHJcbiAgICAgICAgIGxvY2FsQ3JlZGl0IDpzdHJpbmcsICAgLy9kZWNpbWFsIGluIGJhY2tlbmRcclxuICAgICAgICAgaWQgOm51bWJlciwgICAgICAgLy8gbG9uZyBpbiBiYWNrZW5kXHJcbiAgICAgICAgIHJhdGVEZWNpbWFsIDpudW1iZXIsICAgLy9pbnQgaW4gYmFja2VuZFxyXG59Il19
@@ -1,13 +1,9 @@
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 } from '@angular/common/http';
5
4
  import { AgGridModule } from 'ag-grid-angular';
6
5
  import { ReportsLibRoutingModule } from './reports-lib-routing.module';
7
- import { OAuthModule, OAuthService } from 'angular-oauth2-oidc';
8
- import { AuthHttpInterceptor } from './interceptors/auth-http.interceptor';
9
- import { ActiveXService } from './services/active-x.service';
10
- import { SessionService } from './services/session.service';
6
+ import { OAuthModule } from 'angular-oauth2-oidc';
11
7
  import { NgIdleModule } from '@ng-idle/core';
12
8
  import { CommonModule } from '@angular/common';
13
9
  import { FormsModule } from '@angular/forms';
@@ -22,16 +18,7 @@ ReportsLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
22
18
  ReportsLibRoutingModule,
23
19
  CommonModule, i1.NgIdleModule, i2.OAuthModule, FormsModule], exports: [ReportsLibComponent,
24
20
  AccGlDetailsEnquiryReportComponent] });
25
- ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, providers: [
26
- ActiveXService,
27
- SessionService,
28
- {
29
- provide: HTTP_INTERCEPTORS,
30
- useClass: AuthHttpInterceptor,
31
- deps: [OAuthService, ActiveXService, SessionService],
32
- multi: true
33
- },
34
- ], imports: [AgGridModule,
21
+ ReportsLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ReportsLibModule, imports: [AgGridModule,
35
22
  ReportsLibRoutingModule,
36
23
  CommonModule,
37
24
  NgIdleModule.forRoot(),
@@ -52,20 +39,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
52
39
  OAuthModule.forRoot(),
53
40
  FormsModule
54
41
  ],
55
- providers: [
56
- ActiveXService,
57
- SessionService,
58
- {
59
- provide: HTTP_INTERCEPTORS,
60
- useClass: AuthHttpInterceptor,
61
- deps: [OAuthService, ActiveXService, SessionService],
62
- multi: true
63
- },
64
- ],
42
+ providers: [],
65
43
  exports: [
66
44
  ReportsLibComponent,
67
45
  AccGlDetailsEnquiryReportComponent
68
46
  ]
69
47
  }]
70
48
  }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy1saWIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9yZXBvcnRzLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvRkFBb0YsQ0FBQztBQUN4SSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFxQzdDLE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkE3QnpCLG1CQUFtQjtRQUVuQixrQ0FBa0MsYUFHaEMsWUFBWTtRQUNaLHVCQUF1QjtRQUNuQixZQUFZLG1DQUdmLFdBQVcsYUFlZCxtQkFBbUI7UUFDbkIsa0NBQWtDOzhHQUd6QixnQkFBZ0IsYUFmekI7UUFDSyxjQUFjO1FBQ2IsY0FBYztRQUNoQjtZQUNNLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQztZQUNwRCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ04sWUFsQkMsWUFBWTtRQUNaLHVCQUF1QjtRQUNuQixZQUFZO1FBQ1osWUFBWSxDQUFDLE9BQU8sRUFBRTtRQUN6QixXQUFXLENBQUMsT0FBTyxFQUFFO1FBQ3JCLFdBQVc7MkZBbUJMLGdCQUFnQjtrQkEvQjVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG1CQUFtQjt3QkFFbkIsa0NBQWtDO3FCQUNuQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWix1QkFBdUI7d0JBQ25CLFlBQVk7d0JBQ1osWUFBWSxDQUFDLE9BQU8sRUFBRTt3QkFDekIsV0FBVyxDQUFDLE9BQU8sRUFBRTt3QkFDckIsV0FBVztxQkFFZjtvQkFDQyxTQUFTLEVBQ1Q7d0JBQ0ssY0FBYzt3QkFDYixjQUFjO3dCQUNoQjs0QkFDTSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsbUJBQW1COzRCQUM3QixJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ047b0JBQ0gsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsa0NBQWtDO3FCQUNuQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlcG9ydHNMaWJDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydHMtbGliLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQvYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFnR3JpZE1vZHVsZSB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XHJcbmltcG9ydCB7IFJlcG9ydHNMaWJSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9yZXBvcnRzLWxpYi1yb3V0aW5nLm1vZHVsZSc7XHJcbmltcG9ydCB7IE9BdXRoTW9kdWxlLCBPQXV0aFNlcnZpY2UsIE9BdXRoU3RvcmFnZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xyXG5pbXBvcnQgeyBBdXRoSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnLi9pbnRlcmNlcHRvcnMvYXV0aC1odHRwLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgQWN0aXZlWFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FjdGl2ZS14LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBOZ0lkbGVNb2R1bGUgfSBmcm9tICdAbmctaWRsZS9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFJlcG9ydHNMaWJDb21wb25lbnQsXHJcbiAgICAgXHJcbiAgICBBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0Q29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICAgIEFnR3JpZE1vZHVsZSxcclxuICAgICAgUmVwb3J0c0xpYlJvdXRpbmdNb2R1bGUsXHJcbiAgICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgICBOZ0lkbGVNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgT0F1dGhNb2R1bGUuZm9yUm9vdCgpLFxyXG4gICAgICAgRm9ybXNNb2R1bGVcclxuICAgICAgXHJcbiAgXSxcclxuICAgIHByb3ZpZGVyczogXHJcbiAgICBbXHJcbiAgICAgICAgIEFjdGl2ZVhTZXJ2aWNlLFxyXG4gICAgICAgICAgU2Vzc2lvblNlcnZpY2UsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxyXG4gICAgICAgICAgICAgIHVzZUNsYXNzOiBBdXRoSHR0cEludGVyY2VwdG9yLFxyXG4gICAgICAgICAgICAgIGRlcHM6IFtPQXV0aFNlcnZpY2UsIEFjdGl2ZVhTZXJ2aWNlLCBTZXNzaW9uU2VydmljZV0sXHJcbiAgICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICAgIH0sXHJcbiAgICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFJlcG9ydHNMaWJDb21wb25lbnQsXHJcbiAgICBBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0c0xpYk1vZHVsZSB7IH1cclxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0cy1saWIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0cy1saWIvc3JjL2xpYi9yZXBvcnRzLWxpYi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvRkFBb0YsQ0FBQztBQUN4SSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQTJCN0MsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQW5CekIsbUJBQW1CO1FBRW5CLGtDQUFrQyxhQUdsQyxZQUFZO1FBQ1osdUJBQXVCO1FBQ3ZCLFlBQVksbUNBR1osV0FBVyxhQUtYLG1CQUFtQjtRQUNuQixrQ0FBa0M7OEdBR3pCLGdCQUFnQixZQWR6QixZQUFZO1FBQ1osdUJBQXVCO1FBQ3ZCLFlBQVk7UUFDWixZQUFZLENBQUMsT0FBTyxFQUFFO1FBQ3RCLFdBQVcsQ0FBQyxPQUFPLEVBQUU7UUFDckIsV0FBVzsyRkFTRixnQkFBZ0I7a0JBckI1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBRW5CLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2QixZQUFZO3dCQUNaLFlBQVksQ0FBQyxPQUFPLEVBQUU7d0JBQ3RCLFdBQVcsQ0FBQyxPQUFPLEVBQUU7d0JBQ3JCLFdBQVc7cUJBRVo7b0JBQ0QsU0FBUyxFQUFFLEVBQUU7b0JBQ2IsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjt3QkFDbkIsa0NBQWtDO3FCQUNuQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlcG9ydHNMaWJDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydHMtbGliLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQvYWNjLWdsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWdHcmlkTW9kdWxlIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcclxuaW1wb3J0IHsgUmVwb3J0c0xpYlJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL3JlcG9ydHMtbGliLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgT0F1dGhNb2R1bGUgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcclxuaW1wb3J0IHsgTmdJZGxlTW9kdWxlIH0gZnJvbSAnQG5nLWlkbGUvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuXHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBSZXBvcnRzTGliQ29tcG9uZW50LFxyXG5cclxuICAgIEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEFnR3JpZE1vZHVsZSxcclxuICAgIFJlcG9ydHNMaWJSb3V0aW5nTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTmdJZGxlTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIE9BdXRoTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIEZvcm1zTW9kdWxlXHJcblxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBSZXBvcnRzTGliQ29tcG9uZW50LFxyXG4gICAgQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlcG9ydHNMaWJNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZXBvcnRzLWxpYi9zcmMvbGliL3NlcnZpY2VzL3JlcG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU05QyxNQUFNLE9BQU8sYUFBYTtJQVV4QixZQUFvQixJQUFnQixFQUFVLFlBQTBCLEVBQVUsUUFBa0I7UUFBaEYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUo1RixvQkFBZSxHQUFHLDRDQUE0QyxDQUFDO1FBS3JFLElBQUksQ0FBQyxVQUFVLEdBQUcsNENBQTRDLENBQUM7UUFDOUQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLDBDQUEwQyxDQUFDO0lBRWxGLENBQUM7SUFNTSxxQkFBcUIsQ0FBQyxhQUFpQyxFQUFFLFFBQWdCLEVBQUUsY0FBc0IsRUFBRSxTQUFpQixFQUFFLFdBQW1CO1FBRzlJLElBQUksYUFBYSxFQUFFO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsNEJBQTRCLGtDQUFrQyxhQUFhLElBQUksUUFBUSxJQUFJLGNBQWMsSUFBSSxTQUFTLElBQUksV0FBVyxFQUFFLENBQUM7WUFDbEwsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUMsT0FBTyxDQUFDLENBQUM7U0FDL0Q7YUFBTTtZQUVMLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0QsTUFBTSxPQUFPLEdBQUcsNEVBQTRFLFdBQVcscUJBQXFCLENBQUMsQ0FBQywyQ0FBMkM7WUFHekssT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFLTSw2QkFBNkI7UUFDbEMsSUFBSSxjQUFjLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlELElBQUksZUFBZSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVoRSxJQUFJLGNBQWMsRUFBRTtZQUNsQixPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDTCxPQUFPLGVBQWUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xEO0lBR0gsQ0FBQzs7MEdBbERVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2FjY2dsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnRtb2RlbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0U2VydmljZSB7XG5cblxuXG4gIHByaXZhdGUgc2VydmljZVVybDogc3RyaW5nO1xuICBwcml2YXRlIEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRVcmw6IHN0cmluZztcbiAgcHJpdmF0ZSBzeXN0ZW1SZXBvcnRVcmwgPSAnL2FwaS92MS9Db21wYW55Q29uZmlndXJhdGlvbi9TeXN0ZW1SZXBvcnRzJztcblxuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGVycm9ySGFuZGxlcjogRXJyb3JIYW5kbGVyLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuc2VydmljZVVybCA9IFwiaHR0cHM6Ly80eHBsdXMtbG9jYWwueHByZXNzbW9uZXkudGVjaDo4NzUyXCI7XG4gICAgIHRoaXMuQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydFVybCA9IFwiL2FwaS92MS9SZXBvcnQvQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydFwiO1xuXG4gIH1cblxuXG5cblxuXG4gIHB1YmxpYyBnZXRBY2NHTERldGFpbHNSZXBvcnQoZm9ybWF0dGVkRGF0ZTogc3RyaW5nIHwgdW5kZWZpbmVkLCBkYXRlVHlwZTogc3RyaW5nLCBzeXNDb21wYW55Q29kZTogc3RyaW5nLCBzeXNVc2VySWQ6IHN0cmluZywgY29tcGFueU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8QWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsPiB7XG5cblxuICAgIGlmIChmb3JtYXR0ZWREYXRlKSB7XG4gICAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5zZXJ2aWNlVXJsfSR7dGhpcy5BY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0VXJsfS9HZXRBY2NHTEZEZXRhaWxzRW5xdWlyeVJlcG9ydC8ke2Zvcm1hdHRlZERhdGV9LyR7ZGF0ZVR5cGV9LyR7c3lzQ29tcGFueUNvZGV9LyR7c3lzVXNlcklkfS8ke2NvbXBhbnlOYW1lfWA7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0TW9kZWw+KGFwaVBhdGgpO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIGNvbnN0IGV4YW1wbGVEYXRlID0gbmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLUdCJyk7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYEludmFsaWQgRGF0ZSBGb3JtYXQhXFxuRGF0ZSBzaG91bGQgYmUgaW4gZGQvTU0veXl5eSBmb3JtYXQuXFxuRm9yIGV4YW1wbGU6ICR7ZXhhbXBsZURhdGV9IGFzIGRheS9tb250aC95ZWFyLmA7IC8vXFxuTm90ZSA6IFllYXIgY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiA5OTk5XG5cblxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKG1lc3NhZ2UpKTtcbiAgICB9XG4gIH1cblxuXG5cblxuICBwdWJsaWMgZ2V0VXNlck5hbWVGcm9tU2Vzc2lvblN0b3JhZ2UoKTogc3RyaW5nIHtcbiAgICBsZXQgZm9zc2lsVXNlck5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdmb3NzaWx1c2VybmFtZScpO1xuICAgIGxldCBlenJlbWl0dXNlcm5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdlenJlbWl0dXNlcm5hbWUnKTtcblxuICAgIGlmIChmb3NzaWxVc2VyTmFtZSkge1xuICAgICAgcmV0dXJuIGZvc3NpbFVzZXJOYW1lLnJlcGxhY2UoL15cIiguKilcIiQvLCAnJDEnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGV6cmVtaXR1c2VybmFtZS5yZXBsYWNlKC9eXCIoLiopXCIkLywgJyQxJyk7XG4gICAgfVxuXG5cbiAgfVxuXG5cbn1cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZXBvcnRzLWxpYi9zcmMvbGliL3NlcnZpY2VzL3JlcG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRW5FLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU05QyxNQUFNLE9BQU8sYUFBYTtJQVV4QixZQUFvQixJQUFnQixFQUFVLFlBQTBCLEVBQVUsUUFBa0I7UUFBaEYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUo1RixvQkFBZSxHQUFHLDRDQUE0QyxDQUFDO1FBS3JFLElBQUksQ0FBQyxVQUFVLEdBQUcsNENBQTRDLENBQUM7UUFDOUQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLDBDQUEwQyxDQUFDO0lBRWxGLENBQUM7SUFNTSxxQkFBcUIsQ0FBQyxhQUFpQyxFQUFFLFFBQWdCLEVBQUUsY0FBc0IsRUFBRSxTQUFpQixFQUFFLFdBQW1CO1FBRzlJLElBQUksYUFBYSxFQUFFO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsNEJBQTRCLGtDQUFrQyxhQUFhLElBQUksUUFBUSxJQUFJLGNBQWMsSUFBSSxTQUFTLElBQUksV0FBVyxFQUFFLENBQUM7WUFDbEwsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBaUMsT0FBTyxDQUFDLENBQUM7U0FDL0Q7YUFBTTtZQUVMLE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0QsTUFBTSxPQUFPLEdBQUcsNEVBQTRFLFdBQVcscUJBQXFCLENBQUMsQ0FBQywyQ0FBMkM7WUFHekssT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFLTSw2QkFBNkI7UUFDbEMsSUFBSSxjQUFjLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlELElBQUksZUFBZSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVoRSxJQUFJLGNBQWMsRUFBRTtZQUNsQixPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDTCxPQUFPLGVBQWUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xEO0lBR0gsQ0FBQzs7MEdBbERVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2FjYy1nbC1kZXRhaWxzLWVucXVpcnktcmVwb3J0L2FjY2dsLWRldGFpbHMtZW5xdWlyeS1yZXBvcnRtb2RlbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0U2VydmljZSB7XG5cblxuXG4gIHByaXZhdGUgc2VydmljZVVybDogc3RyaW5nO1xuICBwcml2YXRlIEFjY0dsRGV0YWlsc0VucXVpcnlSZXBvcnRVcmw6IHN0cmluZztcbiAgcHJpdmF0ZSBzeXN0ZW1SZXBvcnRVcmwgPSAnL2FwaS92MS9Db21wYW55Q29uZmlndXJhdGlvbi9TeXN0ZW1SZXBvcnRzJztcblxuXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGVycm9ySGFuZGxlcjogRXJyb3JIYW5kbGVyLCBwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuc2VydmljZVVybCA9IFwiaHR0cHM6Ly80eHBsdXMtbG9jYWwueHByZXNzbW9uZXkudGVjaDo4NzUyXCI7XG4gICAgIHRoaXMuQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydFVybCA9IFwiL2FwaS92MS9SZXBvcnQvQWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydFwiO1xuXG4gIH1cblxuXG5cblxuXG4gIHB1YmxpYyBnZXRBY2NHTERldGFpbHNSZXBvcnQoZm9ybWF0dGVkRGF0ZTogc3RyaW5nIHwgdW5kZWZpbmVkLCBkYXRlVHlwZTogc3RyaW5nLCBzeXNDb21wYW55Q29kZTogc3RyaW5nLCBzeXNVc2VySWQ6IHN0cmluZywgY29tcGFueU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8QWNjR2xEZXRhaWxzRW5xdWlyeVJlcG9ydE1vZGVsPiB7XG5cblxuICAgIGlmIChmb3JtYXR0ZWREYXRlKSB7XG4gICAgICBjb25zdCBhcGlQYXRoID0gYCR7dGhpcy5zZXJ2aWNlVXJsfSR7dGhpcy5BY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0VXJsfS9HZXRBY2NHTEZEZXRhaWxzRW5xdWlyeVJlcG9ydC8ke2Zvcm1hdHRlZERhdGV9LyR7ZGF0ZVR5cGV9LyR7c3lzQ29tcGFueUNvZGV9LyR7c3lzVXNlcklkfS8ke2NvbXBhbnlOYW1lfWA7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxBY2NHbERldGFpbHNFbnF1aXJ5UmVwb3J0TW9kZWw+KGFwaVBhdGgpO1xuICAgIH0gZWxzZSB7XG5cbiAgICAgIGNvbnN0IGV4YW1wbGVEYXRlID0gbmV3IERhdGUoKS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLUdCJyk7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYEludmFsaWQgRGF0ZSBGb3JtYXQhXFxuRGF0ZSBzaG91bGQgYmUgaW4gZGQvTU0veXl5eSBmb3JtYXQuXFxuRm9yIGV4YW1wbGU6ICR7ZXhhbXBsZURhdGV9IGFzIGRheS9tb250aC95ZWFyLmA7IC8vXFxuTm90ZSA6IFllYXIgY2Fubm90IGJlIGdyZWF0ZXIgdGhhbiA5OTk5XG5cblxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKG1lc3NhZ2UpKTtcbiAgICB9XG4gIH1cblxuXG5cblxuICBwdWJsaWMgZ2V0VXNlck5hbWVGcm9tU2Vzc2lvblN0b3JhZ2UoKTogc3RyaW5nIHtcbiAgICBsZXQgZm9zc2lsVXNlck5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdmb3NzaWx1c2VybmFtZScpO1xuICAgIGxldCBlenJlbWl0dXNlcm5hbWUgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdlenJlbWl0dXNlcm5hbWUnKTtcblxuICAgIGlmIChmb3NzaWxVc2VyTmFtZSkge1xuICAgICAgcmV0dXJuIGZvc3NpbFVzZXJOYW1lLnJlcGxhY2UoL15cIiguKilcIiQvLCAnJDEnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGV6cmVtaXR1c2VybmFtZS5yZXBsYWNlKC9eXCIoLiopXCIkLywgJyQxJyk7XG4gICAgfVxuXG5cbiAgfVxuXG5cbn1cbiJdfQ==
@@ -0,0 +1,107 @@
1
+ import { Injectable } from '@angular/core';
2
+ import 'jspdf-autotable';
3
+ import * as FileSaver from 'file-saver';
4
+ import * as i0 from "@angular/core";
5
+ export class ExportService {
6
+ constructor() { }
7
+ exportToPdf(headers, rows, doc, startY, fileName) {
8
+ const columnStyles = {};
9
+ headers.forEach((_, i) => {
10
+ columnStyles[i] = { cellWidth: 'auto' };
11
+ });
12
+ doc.autoTable({
13
+ head: [headers],
14
+ body: rows,
15
+ startY: startY,
16
+ theme: 'grid',
17
+ headStyles: {
18
+ fillColor: [220, 220, 220],
19
+ textColor: 0,
20
+ fontStyle: 'bold',
21
+ fontSize: 9,
22
+ halign: 'center',
23
+ },
24
+ bodyStyles: {
25
+ fontSize: 8,
26
+ fillColor: [255, 255, 255],
27
+ textColor: [0, 0, 0],
28
+ },
29
+ styles: {
30
+ cellPadding: 2,
31
+ overflow: 'linebreak',
32
+ minCellHeight: 6,
33
+ },
34
+ columnStyles: columnStyles,
35
+ });
36
+ doc.save(fileName);
37
+ }
38
+ exportToExcel(headers, rows, worksheet, workbook, fileName) {
39
+ // Add header row
40
+ const headerRow = worksheet.addRow(headers);
41
+ headerRow.font = { bold: true };
42
+ headerRow.fill = {
43
+ type: 'pattern',
44
+ pattern: 'solid',
45
+ fgColor: { argb: 'D9D9D9' }
46
+ };
47
+ headerRow.alignment = { vertical: 'middle', horizontal: 'center' };
48
+ headerRow.border = {
49
+ top: { style: 'thin' }, bottom: { style: 'thin' },
50
+ left: { style: 'thin' }, right: { style: 'thin' }
51
+ };
52
+ const dataStartRow = worksheet.lastRow.number + 1;
53
+ // Add data rows
54
+ rows.forEach(rowData => {
55
+ const dataRow = worksheet.addRow(rowData);
56
+ dataRow.border = {
57
+ top: { style: 'thin' }, bottom: { style: 'thin' },
58
+ left: { style: 'thin' }, right: { style: 'thin' }
59
+ };
60
+ });
61
+ const totalColumns = headers.length;
62
+ // Auto-width for each column
63
+ for (let i = 1; i <= totalColumns; i++) {
64
+ let maxLength = 5;
65
+ const headerVal = headerRow.getCell(i).value?.toString() ?? '';
66
+ maxLength = Math.max(maxLength, headerVal.length);
67
+ for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow.number; rowNum++) {
68
+ const cell = worksheet.getRow(rowNum).getCell(i);
69
+ const val = cell.value ? cell.value.toString() : '';
70
+ maxLength = Math.max(maxLength, val.length);
71
+ }
72
+ worksheet.getColumn(i).width = maxLength + 2;
73
+ }
74
+ // Export as Excel file
75
+ workbook.xlsx.writeBuffer().then(buffer => {
76
+ const blob = new Blob([buffer], {
77
+ type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
78
+ });
79
+ FileSaver.saveAs(blob, fileName);
80
+ });
81
+ }
82
+ exportToCsv(headers, rows, metadata = [], fileName) {
83
+ // Combine metadata + blank line + headers + data
84
+ const csvContent = [...metadata, [], headers, ...rows]
85
+ .map(e => e.join(','))
86
+ .join('\n');
87
+ this.downloadFile(csvContent, fileName, 'text/csv');
88
+ }
89
+ downloadFile(data, filename, type) {
90
+ const blob = new Blob([data], { type });
91
+ const link = document.createElement('a');
92
+ link.href = URL.createObjectURL(blob);
93
+ link.setAttribute('download', filename);
94
+ document.body.appendChild(link);
95
+ link.click();
96
+ document.body.removeChild(link);
97
+ }
98
+ }
99
+ ExportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
100
+ ExportService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExportService, providedIn: 'root' });
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExportService, decorators: [{
102
+ type: Injectable,
103
+ args: [{
104
+ providedIn: 'root'
105
+ }]
106
+ }], ctorParameters: function () { return []; } });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZXBvcnRzLWxpYi9zcmMvbGliL3NoYXJlZC9leHBvcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8saUJBQWlCLENBQUM7QUFFekIsT0FBTyxLQUFLLFNBQVMsTUFBTSxZQUFZLENBQUM7O0FBWXhDLE1BQU0sT0FBTyxhQUFhO0lBRXhCLGdCQUFnQixDQUFDO0lBS2pCLFdBQVcsQ0FBQyxPQUFpQixFQUFFLElBQWEsRUFBRSxHQUFVLEVBQUUsTUFBYyxFQUFFLFFBQWdCO1FBQ3hGLE1BQU0sWUFBWSxHQUEyQixFQUFFLENBQUM7UUFDaEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2QixZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFFSCxHQUFHLENBQUMsU0FBUyxDQUFDO1lBQ1osSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDO1lBQ2YsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxNQUFNO1lBQ2IsVUFBVSxFQUFFO2dCQUNWLFNBQVMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDO2dCQUMxQixTQUFTLEVBQUUsQ0FBQztnQkFDWixTQUFTLEVBQUUsTUFBTTtnQkFDakIsUUFBUSxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxFQUFFLFFBQVE7YUFDakI7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsUUFBUSxFQUFFLENBQUM7Z0JBQ1gsU0FBUyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUM7Z0JBQzFC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LENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OzBHQWxJVSxhQUFhOzhHQUFiLGFBQWEsY0FGWixNQUFNOzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGpzUERGIGZyb20gJ2pzcGRmJztcbmltcG9ydCAnanNwZGYtYXV0b3RhYmxlJztcbmltcG9ydCAqIGFzIEV4Y2VsSlMgZnJvbSAnZXhjZWxqcyc7XG5pbXBvcnQgKiBhcyBGaWxlU2F2ZXIgZnJvbSAnZmlsZS1zYXZlcic7XG5cblxuZGVjbGFyZSBtb2R1bGUgJ2pzcGRmJyB7XG4gIGludGVyZmFjZSBqc1BERiB7XG4gICAgYXV0b1RhYmxlOiAob3B0aW9uczogYW55KSA9PiBqc1BERjtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBFeHBvcnRTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG5cbiAgXG5cbiAgZXhwb3J0VG9QZGYoaGVhZGVyczogc3RyaW5nW10sIHJvd3M6IGFueVtdW10sIGRvYzoganNQREYsIHN0YXJ0WTogbnVtYmVyLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY29sdW1uU3R5bGVzOiB7IFtrZXk6IG51bWJlcl06IGFueSB9ID0ge307XG4gICAgaGVhZGVycy5mb3JFYWNoKChfLCBpKSA9PiB7XG4gICAgICBjb2x1bW5TdHlsZXNbaV0gPSB7IGNlbGxXaWR0aDogJ2F1dG8nIH07XG4gICAgfSk7XG5cbiAgICBkb2MuYXV0b1RhYmxlKHtcbiAgICAgIGhlYWQ6IFtoZWFkZXJzXSxcbiAgICAgIGJvZHk6IHJvd3MsXG4gICAgICBzdGFydFk6IHN0YXJ0WSxcbiAgICAgIHRoZW1lOiAnZ3JpZCcsXG4gICAgICBoZWFkU3R5bGVzOiB7XG4gICAgICAgIGZpbGxDb2xvcjogWzIyMCwgMjIwLCAyMjBdLFxuICAgICAgICB0ZXh0Q29sb3I6IDAsXG4gICAgICAgIGZvbnRTdHlsZTogJ2JvbGQnLFxuICAgICAgICBmb250U2l6ZTogOSxcbiAgICAgICAgaGFsaWduOiAnY2VudGVyJyxcbiAgICAgIH0sXG4gICAgICBib2R5U3R5bGVzOiB7XG4gICAgICAgIGZvbnRTaXplOiA4LFxuICAgICAgICBmaWxsQ29sb3I6IFsyNTUsIDI1NSwgMjU1XSxcbiAgICAgICAgdGV4dENvbG9yOiBbMCwgMCwgMF0sXG4gICAgICB9LFxuICAgICAgc3R5bGVzOiB7XG4gICAgICAgIGNlbGxQYWRkaW5nOiAyLFxuICAgICAgICBvdmVyZmxvdzogJ2xpbmVicmVhaycsXG4gICAgICAgIG1pbkNlbGxIZWlnaHQ6IDYsXG4gICAgICB9LFxuICAgICAgY29sdW1uU3R5bGVzOiBjb2x1bW5TdHlsZXMsXG4gICAgfSk7XG5cbiAgICBkb2Muc2F2ZShmaWxlTmFtZSk7XG4gIH1cblxuXG5cblxuXG4gIGV4cG9ydFRvRXhjZWwoXG4gICAgaGVhZGVyczogc3RyaW5nW10sXG4gICAgcm93czogYW55W11bXSxcbiAgICB3b3Jrc2hlZXQ6IEV4Y2VsSlMuV29ya3NoZWV0LFxuICAgIHdvcmtib29rOiBFeGNlbEpTLldvcmtib29rLFxuICAgIGZpbGVOYW1lOiBzdHJpbmdcbiAgKTogdm9pZCB7XG4gICAgLy8gQWRkIGhlYWRlciByb3dcbiAgICBjb25zdCBoZWFkZXJSb3cgPSB3b3Jrc2hlZXQuYWRkUm93KGhlYWRlcnMpO1xuICAgIGhlYWRlclJvdy5mb250ID0geyBib2xkOiB0cnVlIH07XG4gICAgaGVhZGVyUm93LmZpbGwgPSB7XG4gICAgICB0eXBlOiAncGF0dGVybicsXG4gICAgICBwYXR0ZXJuOiAnc29saWQnLFxuICAgICAgZmdDb2xvcjogeyBhcmdiOiAnRDlEOUQ5JyB9XG4gICAgfTtcbiAgICBoZWFkZXJSb3cuYWxpZ25tZW50ID0geyB2ZXJ0aWNhbDogJ21pZGRsZScsIGhvcml6b250YWw6ICdjZW50ZXInIH07XG4gICAgaGVhZGVyUm93LmJvcmRlciA9IHtcbiAgICAgIHRvcDogeyBzdHlsZTogJ3RoaW4nIH0sIGJvdHRvbTogeyBzdHlsZTogJ3RoaW4nIH0sXG4gICAgICBsZWZ0OiB7IHN0eWxlOiAndGhpbicgfSwgcmlnaHQ6IHsgc3R5bGU6ICd0aGluJyB9XG4gICAgfTtcblxuICAgIGNvbnN0IGRhdGFTdGFydFJvdyA9IHdvcmtzaGVldC5sYXN0Um93IS5udW1iZXIgKyAxO1xuXG4gICAgLy8gQWRkIGRhdGEgcm93c1xuICAgIHJvd3MuZm9yRWFjaChyb3dEYXRhID0+IHtcbiAgICAgIGNvbnN0IGRhdGFSb3cgPSB3b3Jrc2hlZXQuYWRkUm93KHJvd0RhdGEpO1xuICAgICAgZGF0YVJvdy5ib3JkZXIgPSB7XG4gICAgICAgIHRvcDogeyBzdHlsZTogJ3RoaW4nIH0sIGJvdHRvbTogeyBzdHlsZTogJ3RoaW4nIH0sXG4gICAgICAgIGxlZnQ6IHsgc3R5bGU6ICd0aGluJyB9LCByaWdodDogeyBzdHlsZTogJ3RoaW4nIH1cbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCB0b3RhbENvbHVtbnMgPSBoZWFkZXJzLmxlbmd0aDtcblxuICAgIC8vIEF1dG8td2lkdGggZm9yIGVhY2ggY29sdW1uXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gdG90YWxDb2x1bW5zOyBpKyspIHtcbiAgICAgIGxldCBtYXhMZW5ndGggPSA1O1xuICAgICAgY29uc3QgaGVhZGVyVmFsID0gaGVhZGVyUm93LmdldENlbGwoaSkudmFsdWU/LnRvU3RyaW5nKCkgPz8gJyc7XG4gICAgICBtYXhMZW5ndGggPSBNYXRoLm1heChtYXhMZW5ndGgsIGhlYWRlclZhbC5sZW5ndGgpO1xuXG4gICAgICBmb3IgKGxldCByb3dOdW0gPSBkYXRhU3RhcnRSb3c7IHJvd051bSA8PSB3b3Jrc2hlZXQubGFzdFJvdyEubnVtYmVyOyByb3dOdW0rKykge1xuICAgICAgICBjb25zdCBjZWxsID0gd29ya3NoZWV0LmdldFJvdyhyb3dOdW0pLmdldENlbGwoaSk7XG4gICAgICAgIGNvbnN0IHZhbCA9IGNlbGwudmFsdWUgPyBjZWxsLnZhbHVlLnRvU3RyaW5nKCkgOiAnJztcbiAgICAgICAgbWF4TGVuZ3RoID0gTWF0aC5tYXgobWF4TGVuZ3RoLCB2YWwubGVuZ3RoKTtcbiAgICAgIH1cblxuICAgICAgd29ya3NoZWV0LmdldENvbHVtbihpKS53aWR0aCA9IG1heExlbmd0aCArIDI7XG4gICAgfVxuXG4gICAgLy8gRXhwb3J0IGFzIEV4Y2VsIGZpbGVcbiAgICB3b3JrYm9vay54bHN4LndyaXRlQnVmZmVyKCkudGhlbihidWZmZXIgPT4ge1xuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7XG4gICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCdcbiAgICAgIH0pO1xuICAgICAgRmlsZVNhdmVyLnNhdmVBcyhibG9iLCBmaWxlTmFtZSk7XG4gICAgfSk7XG4gIH1cblxuXG5cblxuXG5cbiAgZXhwb3J0VG9Dc3YoXG4gICAgaGVhZGVyczogc3RyaW5nW10sXG4gICAgcm93czogc3RyaW5nW11bXSxcbiAgICBtZXRhZGF0YTogc3RyaW5nW11bXSA9IFtdLFxuICAgIGZpbGVOYW1lOiBzdHJpbmdcbiAgKTogdm9pZCB7XG4gICAgLy8gQ29tYmluZSBtZXRhZGF0YSArIGJsYW5rIGxpbmUgKyBoZWFkZXJzICsgZGF0YVxuICAgIGNvbnN0IGNzdkNvbnRlbnQgPSBbLi4ubWV0YWRhdGEsIFtdLCBoZWFkZXJzLCAuLi5yb3dzXVxuICAgICAgLm1hcChlID0+IGUuam9pbignLCcpKVxuICAgICAgLmpvaW4oJ1xcbicpO1xuXG4gICAgdGhpcy5kb3dubG9hZEZpbGUoY3N2Q29udGVudCwgZmlsZU5hbWUsICd0ZXh0L2NzdicpO1xuICB9XG5cbiAgcHJpdmF0ZSBkb3dubG9hZEZpbGUoZGF0YTogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nLCB0eXBlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2RhdGFdLCB7IHR5cGUgfSk7XG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBsaW5rLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVuYW1lKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgIGxpbmsuY2xpY2soKTtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xuICB9XG5cblxuXG5cbn1cbiJdfQ==