brainloper-ui 15.0.0 → 16.0.0

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 (88) hide show
  1. package/{esm2020 → esm2022}/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +151 -151
  2. package/esm2022/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +30 -0
  3. package/esm2022/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +23 -0
  4. package/esm2022/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +83 -0
  5. package/esm2022/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +42 -0
  6. package/esm2022/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +183 -0
  7. package/esm2022/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +746 -0
  8. package/esm2022/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +122 -0
  9. package/esm2022/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +205 -0
  10. package/esm2022/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +227 -0
  11. package/esm2022/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +89 -0
  12. package/esm2022/src/app/modules/brainloper-ui/components/report/template-ot/template-ot.component.mjs +86 -0
  13. package/esm2022/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.mjs +117 -0
  14. package/esm2022/src/app/modules/directives/carousel-item.directive.mjs +20 -0
  15. package/esm2022/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +6 -0
  16. package/esm2022/src/app/modules/services/crypto.service.mjs +38 -0
  17. package/esm2022/src/app/modules/services/export-data.service.mjs +169 -0
  18. package/{esm2020 → esm2022}/src/app/modules/services/file-forms.service.mjs +4 -4
  19. package/{esm2020 → esm2022}/src/app/modules/services/fuel-order-pdf.service.mjs +4 -4
  20. package/{esm2020 → esm2022}/src/app/modules/services/functions.service.mjs +4 -4
  21. package/esm2022/src/app/modules/services/generate-pdf.service.mjs +93 -0
  22. package/esm2022/src/app/modules/services/http.service.mjs +142 -0
  23. package/esm2022/src/app/modules/services/loading/loading.component.mjs +30 -0
  24. package/{esm2020 → esm2022}/src/app/modules/services/local-storage.service.mjs +6 -6
  25. package/esm2022/src/app/modules/services/message.service.mjs +202 -0
  26. package/esm2022/src/app/modules/services/purchase-order-pdf.service.mjs +179 -0
  27. package/esm2022/src/app/modules/services/session.service.mjs +43 -0
  28. package/{esm2020 → esm2022}/src/app/modules/services/work-order-pdf.service.mjs +4 -4
  29. package/{fesm2020 → fesm2022}/brainloper-ui.mjs +501 -409
  30. package/{fesm2015 → fesm2022}/brainloper-ui.mjs.map +1 -1
  31. package/package.json +17 -23
  32. package/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.d.ts +1 -1
  33. package/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.d.ts +1 -1
  34. package/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.d.ts +1 -1
  35. package/src/app/modules/brainloper-ui/components/carousel/carousel.component.d.ts +1 -1
  36. package/src/app/modules/brainloper-ui/components/combos/combos.component.d.ts +1 -1
  37. package/src/app/modules/brainloper-ui/components/data-table/data-table.component.d.ts +1 -1
  38. package/src/app/modules/brainloper-ui/components/file-input/file-input.component.d.ts +2 -1
  39. package/src/app/modules/brainloper-ui/components/filters/filters.component.d.ts +1 -1
  40. package/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.d.ts +1 -1
  41. package/src/app/modules/directives/carousel-item.directive.d.ts +1 -1
  42. package/esm2020/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +0 -29
  43. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +0 -23
  44. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +0 -83
  45. package/esm2020/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +0 -40
  46. package/esm2020/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +0 -176
  47. package/esm2020/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +0 -728
  48. package/esm2020/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +0 -118
  49. package/esm2020/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +0 -184
  50. package/esm2020/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +0 -222
  51. package/esm2020/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +0 -84
  52. package/esm2020/src/app/modules/brainloper-ui/components/report/template-ot/template-ot.component.mjs +0 -81
  53. package/esm2020/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.mjs +0 -108
  54. package/esm2020/src/app/modules/directives/carousel-item.directive.mjs +0 -18
  55. package/esm2020/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +0 -8
  56. package/esm2020/src/app/modules/services/crypto.service.mjs +0 -37
  57. package/esm2020/src/app/modules/services/export-data.service.mjs +0 -166
  58. package/esm2020/src/app/modules/services/generate-pdf.service.mjs +0 -89
  59. package/esm2020/src/app/modules/services/http.service.mjs +0 -140
  60. package/esm2020/src/app/modules/services/loading/loading.component.mjs +0 -28
  61. package/esm2020/src/app/modules/services/message.service.mjs +0 -200
  62. package/esm2020/src/app/modules/services/purchase-order-pdf.service.mjs +0 -178
  63. package/esm2020/src/app/modules/services/session.service.mjs +0 -42
  64. package/fesm2015/brainloper-ui.mjs +0 -3912
  65. package/fesm2020/brainloper-ui.mjs.map +0 -1
  66. /package/{esm2020 → esm2022}/brainloper-ui.mjs +0 -0
  67. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  68. /package/{esm2020 → esm2022}/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.mjs +0 -0
  69. /package/{esm2020 → esm2022}/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.mjs +0 -0
  70. /package/{esm2020 → esm2022}/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.mjs +0 -0
  71. /package/{esm2020 → esm2022}/src/app/modules/interfaces/buttons/button-icon.mjs +0 -0
  72. /package/{esm2020 → esm2022}/src/app/modules/interfaces/buttons/button-lavel-edit.mjs +0 -0
  73. /package/{esm2020 → esm2022}/src/app/modules/interfaces/combos/combos-configuration.mjs +0 -0
  74. /package/{esm2020 → esm2022}/src/app/modules/interfaces/data-table/params.mjs +0 -0
  75. /package/{esm2020 → esm2022}/src/app/modules/interfaces/data-table/rules.mjs +0 -0
  76. /package/{esm2020 → esm2022}/src/app/modules/interfaces/data-table/table-columns.mjs +0 -0
  77. /package/{esm2020 → esm2022}/src/app/modules/interfaces/data-table/table-configuration.mjs +0 -0
  78. /package/{esm2020 → esm2022}/src/app/modules/interfaces/enum/enumActions.mjs +0 -0
  79. /package/{esm2020 → esm2022}/src/app/modules/interfaces/enum/enumRules.mjs +0 -0
  80. /package/{esm2020 → esm2022}/src/app/modules/interfaces/enum/httpResponseType.mjs +0 -0
  81. /package/{esm2020 → esm2022}/src/app/modules/interfaces/file-forms-service/file-forms-params.mjs +0 -0
  82. /package/{esm2020 → esm2022}/src/app/modules/interfaces/file-forms-service/file-input-params.mjs +0 -0
  83. /package/{esm2020 → esm2022}/src/app/modules/interfaces/filters/header-filters.mjs +0 -0
  84. /package/{esm2020 → esm2022}/src/app/modules/interfaces/report/template-pdf-base.mjs +0 -0
  85. /package/{esm2020 → esm2022}/src/app/modules/interfaces/report/template-pdf-ot.mjs +0 -0
  86. /package/{esm2020 → esm2022}/src/app/modules/interfaces/report/template-pdf-purchase-order.mjs +0 -0
  87. /package/{esm2020 → esm2022}/src/app/modules/interfaces/report/template-pfd-fo.mjs +0 -0
  88. /package/{esm2020 → esm2022}/src/app/modules/services/screen-size-util.mjs +0 -0
@@ -1,108 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/forms";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/material/progress-spinner";
6
- import * as i4 from "@angular/material/input";
7
- export class SelectFilterComponent {
8
- constructor(fb) {
9
- this.showSpinner = true;
10
- this.noResultsMessage = 'No results';
11
- this.noResults = false;
12
- this.localSpinner = false;
13
- this.filteredReturn = new EventEmitter();
14
- this.filteredItems = [];
15
- this.searchForm = fb.group({
16
- value: ''
17
- });
18
- }
19
- ngOnInit() {
20
- this.searchFormValueChangesSubscription = this.searchForm.valueChanges.subscribe(value => {
21
- const searchValue = value['value'] ? value['value'].toLowerCase() : '';
22
- if (this.showSpinner) {
23
- this.localSpinner = true;
24
- }
25
- if (searchValue) {
26
- if (this.displayMember == null) {
27
- this.filteredItems = this.array.filter(name => name.toLowerCase().includes(searchValue));
28
- }
29
- else if (this.hasGroup && this.groupArrayName && this.displayMember) {
30
- this.filteredItems = this.array.map(a => {
31
- const objCopy = { ...a };
32
- objCopy[this.groupArrayName] = objCopy[this.groupArrayName].filter(g => g[this.displayMember].toLowerCase().includes(searchValue));
33
- return objCopy;
34
- }).filter(x => x[this.groupArrayName].length > 0);
35
- }
36
- else {
37
- this.filteredItems = this.array.filter(name => name[this.displayMember].toLowerCase().includes(searchValue));
38
- }
39
- this.noResults = this.filteredItems.length === 0;
40
- }
41
- else {
42
- this.filteredItems = [...this.array];
43
- this.noResults = false;
44
- }
45
- this.filteredReturn.emit(this.filteredItems);
46
- setTimeout(() => {
47
- if (this.showSpinner) {
48
- this.localSpinner = false;
49
- }
50
- }, 2000);
51
- });
52
- setTimeout(() => {
53
- this.input.nativeElement.focus();
54
- }, 500);
55
- if (!this.placeholder) {
56
- this.placeholder = 'Search...';
57
- }
58
- }
59
- handleKeydown(event) {
60
- const isAlphanumeric = (event.key && event.key.length === 1) ||
61
- (event.code >= 'KeyA' && event.code <= 'KeyZ') ||
62
- (event.code >= 'Digit0' && event.code <= 'Digit9') ||
63
- (event.code === 'Space');
64
- if (isAlphanumeric) {
65
- event.stopPropagation();
66
- }
67
- }
68
- ngOnDestroy() {
69
- this.filteredReturn.emit(this.array);
70
- this.searchFormValueChangesSubscription.unsubscribe();
71
- }
72
- }
73
- SelectFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectFilterComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
74
- SelectFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SelectFilterComponent, selector: "app-select-filter", inputs: { array: "array", placeholder: "placeholder", color: "color", displayMember: "displayMember", showSpinner: "showSpinner", noResultsMessage: "noResultsMessage", hasGroup: "hasGroup", groupArrayName: "groupArrayName" }, outputs: { filteredReturn: "filteredReturn" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"searchForm\" class=\"mat-filter\" [ngStyle]=\"{'background-color': color ? color : 'white'}\">\n <div>\n <input #input class=\"mat-filter-input\" matInput placeholder=\"{{placeholder}}\" formControlName=\"value\" (keydown)=\"handleKeydown($event)\">\n <mat-spinner *ngIf=\"localSpinner\" class=\"spinner\" diameter=\"16\"></mat-spinner>\n </div>\n <div *ngIf=\"noResults\"\n class=\"noResultsMessage\">\n {{noResultsMessage}}\n</div>\n</form>\n", styles: [".mat-filter{position:sticky;top:0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:gray;z-index:100;font-size:inherit;box-shadow:none;border-radius:0;padding:16px;box-sizing:border-box}.mat-filter-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;border:0;background-color:unset;color:gray;width:100%}.spinner{position:absolute;right:16px;top:calc(50% - 8px)}.noResultsMessage{margin-top:10px;font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectFilterComponent, decorators: [{
76
- type: Component,
77
- args: [{ selector: 'app-select-filter', template: "<form [formGroup]=\"searchForm\" class=\"mat-filter\" [ngStyle]=\"{'background-color': color ? color : 'white'}\">\n <div>\n <input #input class=\"mat-filter-input\" matInput placeholder=\"{{placeholder}}\" formControlName=\"value\" (keydown)=\"handleKeydown($event)\">\n <mat-spinner *ngIf=\"localSpinner\" class=\"spinner\" diameter=\"16\"></mat-spinner>\n </div>\n <div *ngIf=\"noResults\"\n class=\"noResultsMessage\">\n {{noResultsMessage}}\n</div>\n</form>\n", styles: [".mat-filter{position:sticky;top:0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:gray;z-index:100;font-size:inherit;box-shadow:none;border-radius:0;padding:16px;box-sizing:border-box}.mat-filter-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;border:0;background-color:unset;color:gray;width:100%}.spinner{position:absolute;right:16px;top:calc(50% - 8px)}.noResultsMessage{margin-top:10px;font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}\n"] }]
78
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { input: [{
79
- type: ViewChild,
80
- args: ['input', { static: true }]
81
- }], array: [{
82
- type: Input,
83
- args: ['array']
84
- }], placeholder: [{
85
- type: Input,
86
- args: ['placeholder']
87
- }], color: [{
88
- type: Input,
89
- args: ['color']
90
- }], displayMember: [{
91
- type: Input,
92
- args: ['displayMember']
93
- }], showSpinner: [{
94
- type: Input,
95
- args: ['showSpinner']
96
- }], noResultsMessage: [{
97
- type: Input,
98
- args: ['noResultsMessage']
99
- }], hasGroup: [{
100
- type: Input,
101
- args: ['hasGroup']
102
- }], groupArrayName: [{
103
- type: Input,
104
- args: ['groupArrayName']
105
- }], filteredReturn: [{
106
- type: Output
107
- }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL3NlbGVjdC1maWx0ZXIvc2VsZWN0LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL3NlbGVjdC1maWx0ZXIvc2VsZWN0LWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWdCckcsTUFBTSxPQUFPLHFCQUFxQjtJQXNCaEMsWUFBWSxFQUFlO1FBYkwsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDZCxxQkFBZ0IsR0FBRyxZQUFZLENBQUM7UUFJM0QsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNYLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1QyxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUk3QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDekIsS0FBSyxFQUFFLEVBQUU7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckYsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxD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UUFBUSxDQUFDO1lBQ2xELENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQztRQUU3QixJQUFJLGNBQWMsRUFBRTtZQUNoQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUMsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEQsQ0FBQzs7bUhBeEZVLHFCQUFxQjt1R0FBckIscUJBQXFCLHdiQ2hCbEMsOGRBVUE7NEZETWEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjtrR0FPUyxLQUFLO3NCQUExQyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRXBCLEtBQUs7c0JBQXBCLEtBQUs7dUJBQUMsT0FBTztnQkFDUSxXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ0osS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNVLGFBQWE7c0JBQXBDLEtBQUs7dUJBQUMsZUFBZTtnQkFDQSxXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ08sZ0JBQWdCO3NCQUExQyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFDTixRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVU7Z0JBQ1EsY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBS2IsY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBBLFxuICBaLFxuICBaRVJPLFxuICBOSU5FLFxuICBTUEFDRSwgRU5ELCBIT01FLFxufSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VsZWN0LWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWZpbHRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95ICB7XG5cbiAgcHJpdmF0ZSBzZWFyY2hGb3JtVmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXQ7XG5cbiAgQElucHV0KCdhcnJheScpIGFycmF5OiBhbnk7XG4gIEBJbnB1dCgncGxhY2Vob2xkZXInKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoJ2NvbG9yJykgY29sb3I6IHN0cmluZztcbiAgQElucHV0KCdkaXNwbGF5TWVtYmVyJykgZGlzcGxheU1lbWJlcjogc3RyaW5nO1xuICBASW5wdXQoJ3Nob3dTcGlubmVyJykgc2hvd1NwaW5uZXIgPSB0cnVlO1xuICBASW5wdXQoJ25vUmVzdWx0c01lc3NhZ2UnKSBub1Jlc3VsdHNNZXNzYWdlID0gJ05vIHJlc3VsdHMnO1xuICBASW5wdXQoJ2hhc0dyb3VwJykgaGFzR3JvdXA6IGJvb2xlYW47XG4gIEBJbnB1dCgnZ3JvdXBBcnJheU5hbWUnKSBncm91cEFycmF5TmFtZTogc3RyaW5nO1xuXG4gIG5vUmVzdWx0cyA9IGZhbHNlO1xuXG4gIGxvY2FsU3Bpbm5lciA9IGZhbHNlO1xuICBAT3V0cHV0KCkgZmlsdGVyZWRSZXR1cm4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRJdGVtczogYW55ID0gW107XG4gIHB1YmxpYyBzZWFyY2hGb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5zZWFyY2hGb3JtID0gZmIuZ3JvdXAoe1xuICAgICAgdmFsdWU6ICcnXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlYXJjaEZvcm1WYWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24gPSB0aGlzLnNlYXJjaEZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgIGNvbnN0IHNlYXJjaFZhbHVlID0gdmFsdWVbJ3ZhbHVlJ10gPyB2YWx1ZVsndmFsdWUnXS50b0xvd2VyQ2FzZSgpIDogJyc7XG4gICAgICAgIGlmICh0aGlzLnNob3dTcGlubmVyKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2FsU3Bpbm5lciA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VhcmNoVmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc3BsYXlNZW1iZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuYXJyYXkuZmlsdGVyKG5hbWUgPT4gbmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaGFzR3JvdXAgJiYgdGhpcy5ncm91cEFycmF5TmFtZSAmJiB0aGlzLmRpc3BsYXlNZW1iZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLmFycmF5Lm1hcChhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2JqQ29weSA9IHsgLi4uYSB9O1xuICAgICAgICAgICAgICAgICAgICBvYmpDb3B5W3RoaXMuZ3JvdXBBcnJheU5hbWVdID0gb2JqQ29weVt0aGlzLmdyb3VwQXJyYXlOYW1lXS5maWx0ZXIoZyA9PiBnW3RoaXMuZGlzcGxheU1lbWJlcl0udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZSkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqQ29weTtcbiAgICAgICAgICAgICAgICB9KS5maWx0ZXIoeCA9PiB4W3RoaXMuZ3JvdXBBcnJheU5hbWVdLmxlbmd0aCA+IDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLmFycmF5LmZpbHRlcihuYW1lID0+IG5hbWVbdGhpcy5kaXNwbGF5TWVtYmVyXS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubm9SZXN1bHRzID0gdGhpcy5maWx0ZXJlZEl0ZW1zLmxlbmd0aCA9PT0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IFsuLi50aGlzLmFycmF5XTtcbiAgICAgICAgICAgIHRoaXMubm9SZXN1bHRzID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpbHRlcmVkUmV0dXJuLmVtaXQodGhpcy5maWx0ZXJlZEl0ZW1zKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3dTcGlubmVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbFNwaW5uZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMjAwMCk7XG4gICAgfSk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSwgNTAwKTtcblxuICAgIGlmICghdGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gJ1NlYXJjaC4uLic7XG4gICAgfVxufVxuXG5cblxuICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3QgaXNBbHBoYW51bWVyaWMgPSAoZXZlbnQua2V5ICYmIGV2ZW50LmtleS5sZW5ndGggPT09IDEpIHx8XG4gICAgICAgIChldmVudC5jb2RlID49ICdLZXlBJyAmJiBldmVudC5jb2RlIDw9ICdLZXlaJykgfHxcbiAgICAgICAgKGV2ZW50LmNvZGUgPj0gJ0RpZ2l0MCcgJiYgZXZlbnQuY29kZSA8PSAnRGlnaXQ5JykgfHxcbiAgICAgICAgKGV2ZW50LmNvZGUgPT09ICdTcGFjZScpO1xuXG4gICAgaWYgKGlzQWxwaGFudW1lcmljKSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbn1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZpbHRlcmVkUmV0dXJuLmVtaXQodGhpcy5hcnJheSk7XG4gICAgdGhpcy5zZWFyY2hGb3JtVmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJzZWFyY2hGb3JtXCIgY2xhc3M9XCJtYXQtZmlsdGVyXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogY29sb3IgPyBjb2xvciA6ICd3aGl0ZSd9XCI+XG4gIDxkaXY+XG4gIDxpbnB1dCAjaW5wdXQgY2xhc3M9XCJtYXQtZmlsdGVyLWlucHV0XCIgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiIChrZXlkb3duKT1cImhhbmRsZUtleWRvd24oJGV2ZW50KVwiPlxuICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cImxvY2FsU3Bpbm5lclwiIGNsYXNzPVwic3Bpbm5lclwiIGRpYW1ldGVyPVwiMTZcIj48L21hdC1zcGlubmVyPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIm5vUmVzdWx0c1wiXG4gICAgIGNsYXNzPVwibm9SZXN1bHRzTWVzc2FnZVwiPlxuICB7e25vUmVzdWx0c01lc3NhZ2V9fVxuPC9kaXY+XG48L2Zvcm0+XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CarouselItemDirective {
4
- constructor(templateRef) {
5
- this.templateRef = templateRef;
6
- }
7
- }
8
- CarouselItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CarouselItemDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- CarouselItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CarouselItemDirective, selector: "[carouselItem]", inputs: { carouselItem: "carouselItem" }, ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CarouselItemDirective, decorators: [{
11
- type: Directive,
12
- args: [{
13
- selector: '[carouselItem]'
14
- }]
15
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; }, propDecorators: { carouselItem: [{
16
- type: Input
17
- }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZGlyZWN0aXZlcy9jYXJvdXNlbC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFLOUQsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxZQUFtQixXQUE2QjtRQUE3QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7SUFBSSxDQUFDOzttSEFIMUMscUJBQXFCO3VHQUFyQixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUMzQjtrR0FFVSxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Nhcm91c2VsSXRlbV0nXG59KVxuZXhwb3J0IGNsYXNzIENhcm91c2VsSXRlbURpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIGNhcm91c2VsSXRlbSE6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4pIHsgfVxufSJdfQ==
@@ -1,8 +0,0 @@
1
- export class MenuBreadCrumb {
2
- constructor() {
3
- this.name = "";
4
- this.router = null;
5
- this.current = false;
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1icmVhay1jcnVtYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9pbnRlcmZhY2VzL21lbnUtYnJlYWstY3J1bWIvbWVudS1icmVhay1jcnVtYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNFLFNBQUksR0FBRyxFQUFFLENBQUE7UUFDVCxXQUFNLEdBQUksSUFBSSxDQUFBO1FBQ2QsWUFBTyxHQUFJLEtBQUssQ0FBQTtJQUNsQixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElNZW51QnJlYWRDcnVtYiB7XG4gIG5hbWU6c3RyaW5nLFxuICByb3V0ZXI/OnN0cmluZyxcbiAgY3VycmVudD86Ym9vbGVhblxufVxuXG5leHBvcnQgY2xhc3MgTWVudUJyZWFkQ3J1bWIgaW1wbGVtZW50cyBJTWVudUJyZWFkQ3J1bWIgIHtcbiAgbmFtZSA9IFwiXCJcbiAgcm91dGVyPyA9IG51bGxcbiAgY3VycmVudD8gPSBmYWxzZVxufVxuIl19
@@ -1,37 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as CryptoJS from 'crypto-js';
3
- import * as i0 from "@angular/core";
4
- //declare var require: any
5
- //var CryptoJS = require("crypto-js");
6
- export class CryptoService {
7
- constructor() {
8
- this.key = "ssaldkmaosweiuf231owdalsd0";
9
- }
10
- asignarKey(key) {
11
- this.key = key;
12
- }
13
- encode(data) {
14
- const strData = JSON.stringify(data);
15
- let c = CryptoJS.AES.encrypt(strData, this.key);
16
- return c;
17
- }
18
- decode(data) {
19
- try {
20
- var bytes = CryptoJS.AES.decrypt(data, this.key);
21
- var str = bytes.toString(CryptoJS.enc.Utf8);
22
- return JSON.parse(str);
23
- }
24
- catch (e) {
25
- console.log('Error try to decode string');
26
- }
27
- }
28
- }
29
- CryptoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CryptoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
30
- CryptoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CryptoService, providedIn: 'root' });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CryptoService, decorators: [{
32
- type: Injectable,
33
- args: [{
34
- providedIn: 'root'
35
- }]
36
- }], ctorParameters: function () { return []; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHRvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvY3J5cHRvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQTs7QUFDckMsMEJBQTBCO0FBQzFCLHNDQUFzQztBQUl0QyxNQUFNLE9BQU8sYUFBYTtJQUd0QjtRQUNJLElBQUksQ0FBQyxHQUFHLEdBQUcsNEJBQTRCLENBQUE7SUFDM0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFHO1FBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBQyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJO1FBQ1AsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsR0FBVSxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBUSxDQUFDO1FBQzdELE9BQU8sQ0FBQyxDQUFBO0lBQ2IsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFXO1FBQ2YsSUFBRztZQUNGLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakQsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTVDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QjtRQUFBLE9BQU0sQ0FBQyxFQUFDO1lBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1NBQ3pDO0lBQ0osQ0FBQzs7MkdBeEJRLGFBQWE7K0dBQWIsYUFBYSxjQUZWLE1BQU07NEZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBDcnlwdG9KUyBmcm9tICdjcnlwdG8tanMnXG4vL2RlY2xhcmUgdmFyIHJlcXVpcmU6IGFueVxuLy92YXIgQ3J5cHRvSlMgPSByZXF1aXJlKFwiY3J5cHRvLWpzXCIpO1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuZXhwb3J0IGNsYXNzIENyeXB0b1NlcnZpY2Uge1xuXG4gICAga2V5OnN0cmluZztcbiAgICBjb25zdHJ1Y3Rvcigpe1xuICAgICAgICB0aGlzLmtleSA9IFwic3NhbGRrbWFvc3dlaXVmMjMxb3dkYWxzZDBcIlxuICAgIH1cblxuICAgIGFzaWduYXJLZXkoa2V5KXtcbiAgICAgICAgdGhpcy5rZXk9a2V5O1xuICAgIH1cbiAgICBlbmNvZGUoZGF0YSkge1xuICAgICAgICBjb25zdCBzdHJEYXRhID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgICAgIGxldCBjOnN0cmluZyA9IENyeXB0b0pTLkFFUy5lbmNyeXB0KHN0ckRhdGEsIHRoaXMua2V5KSBhcyBhbnk7XG4gICAgICAgICByZXR1cm4gY1xuICAgIH1cbiAgICBkZWNvZGUoZGF0YTpzdHJpbmcpe1xuICAgICAgIHRyeXtcbiAgICAgICAgdmFyIGJ5dGVzID0gQ3J5cHRvSlMuQUVTLmRlY3J5cHQoZGF0YSwgdGhpcy5rZXkpO1xuICAgICAgICB2YXIgc3RyID0gYnl0ZXMudG9TdHJpbmcoQ3J5cHRvSlMuZW5jLlV0ZjgpO1xuXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKHN0cik7XG4gICAgICAgfWNhdGNoKGUpe1xuICAgICAgICBjb25zb2xlLmxvZygnRXJyb3IgdHJ5IHRvIGRlY29kZSBzdHJpbmcnKVxuICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlbmNvZGVTSEEyNTYoZGF0YSkge1xuICAgIC8vICAgICBjb25zdCBzdHJEYXRhID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgLy8gICAgIHJldHVybiBDcnlwdG9KUy5TSEEyNTYoc3RyRGF0YSwgdGhpcy5rZXkpO1xuICAgIC8vIH1cbn1cbiJdfQ==
@@ -1,166 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as fs from 'file-saver';
3
- import { Workbook } from 'exceljs';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./http.service";
6
- import * as i2 from "./functions.service";
7
- import * as i3 from "./message.service";
8
- export class ExportDataService {
9
- constructor(http, functionEter, message) {
10
- this.http = http;
11
- this.functionEter = functionEter;
12
- this.message = message;
13
- }
14
- async generateExcelWithSheets(title, header, name, bodies, url, params, filtersPost, titleFields, sheetNameFields, BodyFields) {
15
- this.message.openLoading("Cargando", "Generando archivo");
16
- bodies = await this.getDataBody(url, params, bodies, filtersPost);
17
- const workbook = new Workbook();
18
- for (let index = 0; index < bodies.length; index++) {
19
- const body = bodies[index];
20
- if (titleFields) {
21
- title = titleFields.map(param => body[param]).join("-");
22
- }
23
- var nameSheet = "sheet";
24
- if (sheetNameFields) {
25
- nameSheet = sheetNameFields.map(param => body[param]).join("-");
26
- }
27
- const worksheet = await this.generateToXlsx(title, header, `(${(index + 1) + ') ' + nameSheet}`, body, null, null, null, BodyFields, false);
28
- workbook.addWorksheet(worksheet.name, { views: [{ state: 'frozen', ySplit: 1 }] });
29
- const newWorksheet = workbook.getWorksheet(worksheet.name);
30
- newWorksheet.model = worksheet.model;
31
- }
32
- const buffer = await workbook.xlsx.writeBuffer();
33
- this.saveAsExcelFile(buffer, name);
34
- this.message.closeLoading();
35
- }
36
- async generateToXlsx(title, header, name, body, url, params, filtersPost, BodyFields, generateFile = true) {
37
- if (!generateFile)
38
- this.message.openLoading("Cargando", "Generando el archivo");
39
- body = await this.getDataBody(url, params, body, filtersPost);
40
- let workbook = new Workbook();
41
- let worksheet = workbook.addWorksheet(name);
42
- // Add new row
43
- let titleRow = worksheet.addRow([title]);
44
- // Set font, size and style in title row.
45
- titleRow.font = {
46
- name: 'Comic Sans MS',
47
- family: 4,
48
- size: 16,
49
- underline: 'double',
50
- bold: true,
51
- };
52
- // Blank Row
53
- // worksheet.addRow([]);
54
- // let addheader = false
55
- // for (let p of header.filter(x => x.id === null)) {
56
- // worksheet.addRow([body[p.value]??p.value])
57
- // addheader = true
58
- // }
59
- worksheet.addRow([]);
60
- let addheader = false;
61
- for (let p of header.filter(x => x.id === null)) {
62
- let value = p.value;
63
- const matches = value.match(/{(.*?)}/g);
64
- if (matches) {
65
- matches.forEach(match => {
66
- const key = match.slice(1, -1);
67
- value = value.replace(match, body[key] ?? match);
68
- });
69
- }
70
- worksheet.addRow([value]);
71
- addheader = true;
72
- }
73
- if (addheader)
74
- worksheet.addRow([]);
75
- //Add Header Row
76
- let headerRowValue = header.filter(x => x.id != null).map((p) => { return p.value ?? p.id; });
77
- let _headerRowValue = worksheet.addRow(headerRowValue);
78
- // Cell Style : Fill and Border
79
- _headerRowValue.eachCell((cell, number) => {
80
- cell.fill = {
81
- type: 'pattern',
82
- pattern: 'lightUp',
83
- fgColor: { argb: '6775f500' },
84
- bgColor: { argb: '6775f500' },
85
- };
86
- cell.border = {
87
- top: { style: 'thin' },
88
- left: { style: 'thin' },
89
- bottom: { style: 'thin' },
90
- right: { style: 'thin' },
91
- };
92
- });
93
- var headerRow = header.filter(x => x.id != null);
94
- let data = BodyFields != null ? body[BodyFields] ?? [] : body;
95
- for (let d of data) {
96
- var row = [];
97
- for (let h of headerRow) {
98
- var dh = d[`${h.id}`];
99
- if (h.rules) {
100
- for (const rule of h.rules) {
101
- if (rule.rule == enumRules['==']) {
102
- if (dh == rule.valueRule.toString())
103
- dh = rule.valueAction;
104
- }
105
- }
106
- }
107
- row.push(dh?.toString());
108
- }
109
- worksheet.addRow(row);
110
- }
111
- worksheet.columns.forEach(function (column, i) {
112
- var maxLength = 0;
113
- column["eachCell"]({ includeEmpty: true }, function (cell) {
114
- var columnLength = cell.value ? cell.value.toString().length : 10;
115
- if (columnLength > maxLength) {
116
- maxLength = columnLength;
117
- }
118
- });
119
- column.width = maxLength < 10 ? 10 : maxLength;
120
- });
121
- if (!generateFile) {
122
- return worksheet;
123
- }
124
- workbook.xlsx.writeBuffer().then((data) => {
125
- this.saveAsExcelFile(data, name);
126
- });
127
- if (!generateFile)
128
- this.message.closeLoading();
129
- }
130
- saveAsExcelFile(buffer, fileName) {
131
- const data = new Blob([buffer], {
132
- type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'
133
- });
134
- fs.saveAs(data, `${fileName}_export_${new Date().getTime()}.xlsx`);
135
- }
136
- async getDataBody(url, params, body, filtersPost) {
137
- if (body)
138
- return body;
139
- if (url) {
140
- var res;
141
- res = await this.http.postDataBody(url, filtersPost, params);
142
- if (res['count']) {
143
- return res['data'];
144
- }
145
- else {
146
- return res;
147
- }
148
- }
149
- }
150
- }
151
- ExportDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExportDataService, deps: [{ token: i1.HttpService }, { token: i2.FunctionsService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
152
- ExportDataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExportDataService, providedIn: 'root' });
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExportDataService, decorators: [{
154
- type: Injectable,
155
- args: [{
156
- providedIn: 'root'
157
- }]
158
- }], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.FunctionsService }, { type: i3.MessageService }]; } });
159
- var enumRules;
160
- (function (enumRules) {
161
- enumRules[enumRules[">"] = 0] = ">";
162
- enumRules[enumRules["<"] = 1] = "<";
163
- enumRules[enumRules["=="] = 2] = "==";
164
- enumRules[enumRules["!="] = 3] = "!=";
165
- })(enumRules || (enumRules = {}));
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zZXJ2aWNlcy9leHBvcnQtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7QUFPbkMsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixZQUNVLElBQWlCLEVBQ2pCLFlBQThCLEVBQzlCLE9BQXVCO1FBRnZCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQzlCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQUksQ0FBQztJQUV0QyxLQUFLLENBQUMsdUJBQXVCLENBQzNCLEtBQWEsRUFDYixNQUFxQixFQUNyQixJQUFZLEVBQ1osTUFBbUIsRUFDbkIsR0FBWSxFQUNaLE1BQWlCLEVBQ2pCLFdBQXVDLEVBQ3ZDLFdBQXNCLEVBQ3RCLGVBQTBCLEVBQzFCLFVBQWtCO1FBRWxCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFBO1FBRTFELE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQVcsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUE7UUFDNUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUU5QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNsRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFM0Is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QUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3BDLElBQUksRUFBRSxpRkFBaUY7U0FDeEYsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxRQUFRLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLEtBQUssQ0FBQyxXQUFXLENBQUksR0FBVyxFQUFFLE1BQXFCLEVBQUUsSUFBTyxFQUFFLFdBQXVDO1FBQy9HLElBQUksSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXRCLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxHQUFRLENBQUE7WUFDWixHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQzVELElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNoQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTthQUNuQjtpQkFBTTtnQkFDTCxPQUFPLEdBQUcsQ0FBQTthQUNYO1NBQ0Y7SUFFSCxDQUFDOzsrR0ExTFUsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQThMRCxJQUFLLFNBS0o7QUFMRCxXQUFLLFNBQVM7SUFDWixtQ0FBRyxDQUFBO0lBQ0gsbUNBQUcsQ0FBQTtJQUNILHFDQUFJLENBQUE7SUFDSixxQ0FBSSxDQUFBO0FBQ04sQ0FBQyxFQUxJLFNBQVMsS0FBVCxTQUFTLFFBS2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4vbWVzc2FnZS5zZXJ2aWNlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLnNlcnZpY2UnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZmlsZS1zYXZlcic7XG5pbXBvcnQgeyBXb3JrYm9vayB9IGZyb20gJ2V4Y2VsanMnO1xuaW1wb3J0IHsgcGFyYW1zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kYXRhLXRhYmxlL3BhcmFtcyc7XG5pbXBvcnQgeyBGdW5jdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9mdW5jdGlvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBIZWFkZXJGaWx0ZXJzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWx0ZXJzL2hlYWRlci1maWx0ZXJzJztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEV4cG9ydERhdGFTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBTZXJ2aWNlLFxuICAgIHByaXZhdGUgZnVuY3Rpb25FdGVyOiBGdW5jdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZTogTWVzc2FnZVNlcnZpY2UpIHsgfVxuXG4gIGFzeW5jIGdlbmVyYXRlRXhjZWxXaXRoU2hlZXRzPFQ+KFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgaGVhZGVyOiBBcnJheTxwYXJhbXM+LFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBib2RpZXM/OiBBcnJheTxhbnk+LFxuICAgIHVybD86IHN0cmluZyxcbiAgICBwYXJhbXM/OiBwYXJhbXNbXSxcbiAgICBmaWx0ZXJzUG9zdD86IEFycmF5PEhlYWRlckZpbHRlcnM8YW55Pj4sXG4gICAgdGl0bGVGaWVsZHM/OiBzdHJpbmdbXSxcbiAgICBzaGVldE5hbWVGaWVsZHM/OiBzdHJpbmdbXSxcbiAgICBCb2R5RmllbGRzPzpzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcblxuICAgIHRoaXMubWVzc2FnZS5vcGVuTG9hZGluZyhcIkNhcmdhbmRvXCIsIFwiR2VuZXJhbmRvIGFyY2hpdm9cIilcblxuICAgYm9kaWVzID0gYXdhaXQgdGhpcy5nZXREYXRhQm9keTxBcnJheTxUPj4odXJsLCBwYXJhbXMsIGJvZGllcywgZmlsdGVyc1Bvc3QpXG4gIGNvbnN0IHdvcmtib29rID0gbmV3IFdvcmtib29rKCk7XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYm9kaWVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgY29uc3QgYm9keSA9IGJvZGllc1tpbmRleF07XG5cbiAgICAgIGlmICh0aXRsZUZpZWxkcykge1xuICAgICAgICB0aXRsZSA9IHRpdGxlRmllbGRzLm1hcChwYXJhbSA9PiBib2R5W3BhcmFtXSkuam9pbihcIi1cIik7XG4gICAgICB9XG5cbiAgICAgIHZhciBuYW1lU2hlZXQgPSBcInNoZWV0XCI7XG5cbiAgICAgIGlmIChzaGVldE5hbWVGaWVsZHMpIHtcbiAgICAgICAgbmFtZVNoZWV0ID0gc2hlZXROYW1lRmllbGRzLm1hcChwYXJhbSA9PiBib2R5W3BhcmFtXSkuam9pbihcIi1cIik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHdvcmtzaGVldCA9IGF3YWl0IHRoaXMuZ2VuZXJhdGVUb1hsc3godGl0bGUsIGhlYWRlciwgYCgkeyhpbmRleCsxKSsnKSAnK25hbWVTaGVldH1gLCBib2R5LCBudWxsLCBudWxsLCBudWxsLCBCb2R5RmllbGRzLCBmYWxzZSk7XG4gICAgICB3b3JrYm9vay5hZGRXb3Jrc2hlZXQod29ya3NoZWV0Lm5hbWUsIHsgdmlld3M6IFt7IHN0YXRlOiAnZnJvemVuJywgeVNwbGl0OiAxIH1dIH0pO1xuICAgICAgY29uc3QgbmV3V29ya3NoZWV0ID0gd29ya2Jvb2suZ2V0V29ya3NoZWV0KHdvcmtzaGVldC5uYW1lKTtcbiAgICAgIG5ld1dvcmtzaGVldC5tb2RlbCA9IHdvcmtzaGVldC5tb2RlbDtcbiAgICB9XG5cbiAgICBjb25zdCBidWZmZXIgPSBhd2FpdCB3b3JrYm9vay54bHN4LndyaXRlQnVmZmVyKCk7XG4gICAgdGhpcy5zYXZlQXNFeGNlbEZpbGUoYnVmZmVyLCBuYW1lKTtcblxuICAgIHRoaXMubWVzc2FnZS5jbG9zZUxvYWRpbmcoKVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGdlbmVyYXRlVG9YbHN4PFQ+KFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgaGVhZGVyOiBBcnJheTxwYXJhbXM+LFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBib2R5PzogVCxcbiAgICB1cmw/OiBzdHJpbmcsXG4gICAgcGFyYW1zPzogQXJyYXk8cGFyYW1zPixcbiAgICBmaWx0ZXJzUG9zdD86IEFycmF5PEhlYWRlckZpbHRlcnM8YW55Pj4sXG4gICAgQm9keUZpZWxkcz86c3RyaW5nLFxuICAgIGdlbmVyYXRlRmlsZTogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPGFueT4ge1xuXG4gICAgaWYgKCFnZW5lcmF0ZUZpbGUpIHRoaXMubWVzc2FnZS5vcGVuTG9hZGluZyhcIkNhcmdhbmRvXCIsIFwiR2VuZXJhbmRvIGVsIGFyY2hpdm9cIilcblxuICAgIGJvZHkgPSBhd2FpdCB0aGlzLmdldERhdGFCb2R5PFQ+KHVybCwgcGFyYW1zLCBib2R5LCBmaWx0ZXJzUG9zdClcblxuICAgIGxldCB3b3JrYm9vayA9IG5ldyBXb3JrYm9vaygpO1xuICAgIGxldCB3b3Jrc2hlZXQgPSB3b3JrYm9vay5hZGRXb3Jrc2hlZXQobmFtZSk7XG5cbiAgICAvLyBBZGQgbmV3IHJvd1xuICAgIGxldCB0aXRsZVJvdyA9IHdvcmtzaGVldC5hZGRSb3coW3RpdGxlXSk7XG5cbiAgICAvLyBTZXQgZm9udCwgc2l6ZSBhbmQgc3R5bGUgaW4gdGl0bGUgcm93LlxuICAgIHRpdGxlUm93LmZvbnQgPSB7XG4gICAgICBuYW1lOiAnQ29taWMgU2FucyBNUycsXG4gICAgICBmYW1pbHk6IDQsXG4gICAgICBzaXplOiAxNixcbiAgICAgIHVuZGVybGluZTogJ2RvdWJsZScsXG4gICAgICBib2xkOiB0cnVlLFxuICAgIH07XG5cbiAgICAvLyBCbGFuayBSb3dcbiAgICAvLyB3b3Jrc2hlZXQuYWRkUm93KFtdKTtcbiAgICAvLyBsZXQgYWRkaGVhZGVyID0gZmFsc2VcbiAgICAvLyBmb3IgKGxldCBwIG9mIGhlYWRlci5maWx0ZXIoeCA9PiB4LmlkID09PSBudWxsKSkge1xuICAgIC8vICAgd29ya3NoZWV0LmFkZFJvdyhbYm9keVtwLnZhbHVlXT8/cC52YWx1ZV0pXG4gICAgLy8gICBhZGRoZWFkZXIgPSB0cnVlXG4gICAgLy8gfVxuXG4gICAgd29ya3NoZWV0LmFkZFJvdyhbXSk7XG4gICAgbGV0IGFkZGhlYWRlciA9IGZhbHNlO1xuICAgIGZvciAobGV0IHAgb2YgaGVhZGVyLmZpbHRlcih4ID0+IHguaWQgPT09IG51bGwpKSB7XG4gICAgICBsZXQgdmFsdWUgPSBwLnZhbHVlO1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IHZhbHVlLm1hdGNoKC97KC4qPyl9L2cpO1xuICAgICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgICAgbWF0Y2hlcy5mb3JFYWNoKG1hdGNoID0+IHtcbiAgICAgICAgICBjb25zdCBrZXkgPSBtYXRjaC5zbGljZSgxLCAtMSk7XG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKG1hdGNoLCBib2R5W2tleV0gPz8gbWF0Y2gpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHdvcmtzaGVldC5hZGRSb3coW3ZhbHVlXSk7XG4gICAgICBhZGRoZWFkZXIgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChhZGRoZWFkZXIpIHdvcmtzaGVldC5hZGRSb3coW10pO1xuXG4gICAgLy9BZGQgSGVhZGVyIFJvd1xuICAgIGxldCBoZWFkZXJSb3dWYWx1ZSA9IGhlYWRlci5maWx0ZXIoeCA9PiB4LmlkICE9IG51bGwpLm1hcCgocCkgPT4geyByZXR1cm4gcC52YWx1ZT8/cC5pZCB9KVxuICAgIGxldCBfaGVhZGVyUm93VmFsdWUgPSB3b3Jrc2hlZXQuYWRkUm93KGhlYWRlclJvd1ZhbHVlKTtcblxuICAgIC8vIENlbGwgU3R5bGUgOiBGaWxsIGFuZCBCb3JkZXJcbiAgICBfaGVhZGVyUm93VmFsdWUuZWFjaENlbGwoKGNlbGwsIG51bWJlcikgPT4ge1xuICAgICAgY2VsbC5maWxsID0ge1xuICAgICAgICB0eXBlOiAncGF0dGVybicsXG4gICAgICAgIHBhdHRlcm46ICdsaWdodFVwJyxcbiAgICAgICAgZmdDb2xvcjogeyBhcmdiOiAnNjc3NWY1MDAnIH0sXG4gICAgICAgIGJnQ29sb3I6IHsgYXJnYjogJzY3NzVmNTAwJyB9LFxuICAgICAgfTtcbiAgICAgIGNlbGwuYm9yZGVyID0ge1xuICAgICAgICB0b3A6IHsgc3R5bGU6ICd0aGluJyB9LFxuICAgICAgICBsZWZ0OiB7IHN0eWxlOiAndGhpbicgfSxcbiAgICAgICAgYm90dG9tOiB7IHN0eWxlOiAndGhpbicgfSxcbiAgICAgICAgcmlnaHQ6IHsgc3R5bGU6ICd0aGluJyB9LFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHZhciBoZWFkZXJSb3cgPSBoZWFkZXIuZmlsdGVyKHggPT4geC5pZCAhPSBudWxsKVxuXG4gICAgbGV0IGRhdGEgPSBCb2R5RmllbGRzICE9IG51bGwgPyBib2R5W0JvZHlGaWVsZHNdID8/IFtdIDogYm9keVxuICAgIGZvciAobGV0IGQgb2YgZGF0YSkge1xuICAgICAgdmFyIHJvdyA9IFtdXG4gICAgICBmb3IgKGxldCBoIG9mIGhlYWRlclJvdykge1xuICAgICAgICB2YXIgZGggPSBkW2Ake2guaWR9YF1cbiAgICAgICAgaWYgKGgucnVsZXMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHJ1bGUgb2YgaC5ydWxlcykge1xuICAgICAgICAgICAgaWYgKHJ1bGUucnVsZSA9PSBlbnVtUnVsZXNbJz09J10pIHtcbiAgICAgICAgICAgICAgaWYgKGRoID09IHJ1bGUudmFsdWVSdWxlLnRvU3RyaW5nKCkpXG4gICAgICAgICAgICAgICAgZGggPSBydWxlLnZhbHVlQWN0aW9uXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJvdy5wdXNoKGRoPy50b1N0cmluZygpKVxuICAgICAgfVxuICAgICAgd29ya3NoZWV0LmFkZFJvdyhyb3cpO1xuICAgIH1cblxuICAgIHdvcmtzaGVldC5jb2x1bW5zLmZvckVhY2goZnVuY3Rpb24gKGNvbHVtbiwgaSkge1xuICAgICAgdmFyIG1heExlbmd0aCA9IDA7XG4gICAgICBjb2x1bW5bXCJlYWNoQ2VsbFwiXSh7IGluY2x1ZGVFbXB0eTogdHJ1ZSB9LCBmdW5jdGlvbiAoY2VsbCkge1xuICAgICAgICB2YXIgY29sdW1uTGVuZ3RoID0gY2VsbC52YWx1ZSA/IGNlbGwudmFsdWUudG9TdHJpbmcoKS5sZW5ndGggOiAxMDtcbiAgICAgICAgaWYgKGNvbHVtbkxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgICAgIG1heExlbmd0aCA9IGNvbHVtbkxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjb2x1bW4ud2lkdGggPSBtYXhMZW5ndGggPCAxMCA/IDEwIDogbWF4TGVuZ3RoO1xuICAgIH0pO1xuXG4gICAgaWYgKCFnZW5lcmF0ZUZpbGUpIHtcbiAgICAgIHJldHVybiB3b3Jrc2hlZXQ7XG4gICAgfVxuXG4gICAgd29ya2Jvb2sueGxzeC53cml0ZUJ1ZmZlcigpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuc2F2ZUFzRXhjZWxGaWxlKGRhdGEsIG5hbWUpO1xuICAgIH0pO1xuXG4gICAgaWYgKCFnZW5lcmF0ZUZpbGUpIHRoaXMubWVzc2FnZS5jbG9zZUxvYWRpbmcoKVxuICB9XG5cbiAgcHJpdmF0ZSBzYXZlQXNFeGNlbEZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcbiAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtjaGFyc2V0PVVURi04J1xuICAgIH0pO1xuICAgIGZzLnNhdmVBcyhkYXRhLCBgJHtmaWxlTmFtZX1fZXhwb3J0XyR7bmV3IERhdGUoKS5nZXRUaW1lKCl9Lnhsc3hgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0RGF0YUJvZHk8VD4odXJsOiBzdHJpbmcsIHBhcmFtczogQXJyYXk8cGFyYW1zPiwgYm9keTogVCwgZmlsdGVyc1Bvc3Q/OiBBcnJheTxIZWFkZXJGaWx0ZXJzPGFueT4+KTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKGJvZHkpIHJldHVybiBib2R5O1xuXG4gICAgaWYgKHVybCkge1xuICAgICAgdmFyIHJlczogYW55XG4gICAgICByZXMgPSBhd2FpdCB0aGlzLmh0dHAucG9zdERhdGFCb2R5KHVybCwgZmlsdGVyc1Bvc3QsIHBhcmFtcylcbiAgICAgIGlmIChyZXNbJ2NvdW50J10pIHtcbiAgICAgICAgcmV0dXJuIHJlc1snZGF0YSddXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcmVzXG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuZW51bSBlbnVtUnVsZXMge1xuICBcIj5cIixcbiAgXCI8XCIsXG4gIFwiPT1cIixcbiAgXCIhPVwiXG59XG4iXX0=
@@ -1,89 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { TemplateFuelComponent } from '../brainloper-ui/components/report/template-fuel/template-fuel.component';
3
- import { TemplateOtComponent } from '../brainloper-ui/components/report/template-ot/template-ot.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/dialog";
6
- import * as i2 from "./work-order-pdf.service";
7
- import * as i3 from "./fuel-order-pdf.service";
8
- import * as i4 from "./purchase-order-pdf.service";
9
- export class GeneratePdfService {
10
- constructor(dialog, workOrderPdfService, FuelOrderPdfService, purchaseOrderPdfService) {
11
- this.dialog = dialog;
12
- this.workOrderPdfService = workOrderPdfService;
13
- this.FuelOrderPdfService = FuelOrderPdfService;
14
- this.purchaseOrderPdfService = purchaseOrderPdfService;
15
- }
16
- getPdfOt(data, autoGenerateData) {
17
- let autoGenerate = false;
18
- if (autoGenerateData) {
19
- autoGenerate = autoGenerateData;
20
- }
21
- return new Promise((resolve, rejects) => {
22
- let screen = "850px";
23
- // if ( window.screen.width<1000) {
24
- // screen = "100vw"
25
- // }
26
- this.dialog.open(TemplateOtComponent, {
27
- data: {
28
- data,
29
- autoGenerate: autoGenerate
30
- },
31
- width: screen
32
- }).afterClosed().subscribe((res) => {
33
- return resolve(true);
34
- });
35
- });
36
- }
37
- getPdfFo(data, autoGenerateData) {
38
- let autoGenerate = false;
39
- if (autoGenerateData) {
40
- autoGenerate = autoGenerateData;
41
- }
42
- return new Promise((resolve, rejects) => {
43
- let screen = "850px";
44
- this.dialog.open(TemplateFuelComponent, {
45
- data: {
46
- data,
47
- autoGenerate: autoGenerate
48
- },
49
- width: screen
50
- }).afterClosed().subscribe((res) => {
51
- return resolve(true);
52
- });
53
- });
54
- }
55
- getPdfFoV2(data) {
56
- return new Promise((resolve, reject) => {
57
- this.FuelOrderPdfService.generateFuelOrderProfesionalPDF(data)
58
- .then(() => resolve(true))
59
- .catch(error => reject(error));
60
- });
61
- }
62
- getPdfOtV2(data) {
63
- return new Promise((resolve, reject) => {
64
- this.workOrderPdfService.generateWorkOrderPDF(data)
65
- .then(() => resolve(true))
66
- .catch(error => reject(error));
67
- });
68
- }
69
- generatePurchaseOrderPDF(order) {
70
- return new Promise((resolve, reject) => {
71
- this.purchaseOrderPdfService.generatePurchaseOrderPDF(order, { download: false })
72
- .then((doc) => {
73
- const blobUrl = doc.output('bloburl');
74
- window.open(blobUrl, '_blank');
75
- resolve(true);
76
- })
77
- .catch(error => reject(error));
78
- });
79
- }
80
- }
81
- GeneratePdfService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GeneratePdfService, deps: [{ token: i1.MatDialog }, { token: i2.WorkOrderPdfService }, { token: i3.FuelOrderPdfService }, { token: i4.PurchaseOrderPdfService }], target: i0.ɵɵFactoryTarget.Injectable });
82
- GeneratePdfService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GeneratePdfService, providedIn: 'root' });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GeneratePdfService, decorators: [{
84
- type: Injectable,
85
- args: [{
86
- providedIn: 'root'
87
- }]
88
- }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.WorkOrderPdfService }, { type: i3.FuelOrderPdfService }, { type: i4.PurchaseOrderPdfService }]; } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtcGRmLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvZ2VuZXJhdGUtcGRmLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUtqSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQzs7Ozs7O0FBTTNHLE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsWUFDVSxNQUFpQixFQUNqQixtQkFBd0MsRUFDeEMsbUJBQXdDLEVBQ3hDLHVCQUFpRDtRQUhqRCxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQTBCO0lBQ3ZELENBQUM7SUFFTCxRQUFRLENBQUMsSUFBbUIsRUFBRSxnQkFBMEI7UUFDdEQsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFBO1FBQ3hCLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsWUFBWSxHQUFHLGdCQUFnQixDQUFBO1NBQ2hDO1FBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN0QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUE7WUFDcEIsbUNBQW1DO1lBQ25DLHFCQUFxQjtZQUNyQixJQUFJO1lBRUosSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQ3BDLElBQUksRUFBRTtvQkFDSixJQUFJO29CQUNKLFlBQVksRUFBRSxZQUFZO2lCQUMzQjtnQkFDRCxLQUFLLEVBQUUsTUFBTTthQUNkLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDakMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDdEIsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBbUIsRUFBRSxnQkFBMEI7UUFDdEQsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFBO1FBQ3hCLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsWUFBWSxHQUFHLGdCQUFnQixDQUFBO1NBQ2hDO1FBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN0QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUE7WUFFcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7Z0JBQ3RDLElBQUksRUFBRTtvQkFDSixJQUFJO29CQUNKLFlBQVksRUFBRSxZQUFZO2lCQUMzQjtnQkFDRCxLQUFLLEVBQUUsTUFBTTthQUNkLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDakMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDdEIsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBbUI7UUFDNUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDO2lCQUMzRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN6QixLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBbUI7UUFDNUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDO2lCQUNoRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN6QixLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVyQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUErQjtRQUNsRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7aUJBQzlFLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNSLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNuQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDZixDQUFDLENBQ0E7aUJBQ0EsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztnSEFuRlUsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFRlbXBsYXRlRnVlbENvbXBvbmVudCB9IGZyb20gJy4uL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9yZXBvcnQvdGVtcGxhdGUtZnVlbC90ZW1wbGF0ZS1mdWVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBkZk90IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXBvcnQvdGVtcGxhdGUtcGRmLW90JztcbmltcG9ydCB7IFRlbXBsYXRlUGRmRm8gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcG9ydC90ZW1wbGF0ZS1wZmQtZm8nO1xuaW1wb3J0IHsgV29ya09yZGVyUGRmU2VydmljZSB9IGZyb20gJy4vd29yay1vcmRlci1wZGYuc2VydmljZSc7XG5pbXBvcnQgeyBGdWVsT3JkZXJQZGZTZXJ2aWNlIH0gZnJvbSAnLi9mdWVsLW9yZGVyLXBkZi5zZXJ2aWNlJztcbmltcG9ydCB7IFRlbXBsYXRlT3RDb21wb25lbnQgfSBmcm9tICcuLi9icmFpbmxvcGVyLXVpL2NvbXBvbmVudHMvcmVwb3J0L3RlbXBsYXRlLW90L3RlbXBsYXRlLW90LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQdXJjaGFzZU9yZGVyUGRmU2VydmljZSB9IGZyb20gJy4vcHVyY2hhc2Utb3JkZXItcGRmLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGVtcGxhdGVQZGZQdXJjaGFzZU9yZGVyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXBvcnQvdGVtcGxhdGUtcGRmLXB1cmNoYXNlLW9yZGVyJztcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyYXRlUGRmU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICBwcml2YXRlIHdvcmtPcmRlclBkZlNlcnZpY2U6IFdvcmtPcmRlclBkZlNlcnZpY2UsXG4gICAgcHJpdmF0ZSBGdWVsT3JkZXJQZGZTZXJ2aWNlOiBGdWVsT3JkZXJQZGZTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHVyY2hhc2VPcmRlclBkZlNlcnZpY2UgOiBQdXJjaGFzZU9yZGVyUGRmU2VydmljZVxuICApIHsgfVxuXG4gIGdldFBkZk90KGRhdGE6IFRlbXBsYXRlUGRmT3QsIGF1dG9HZW5lcmF0ZURhdGE/OiBib29sZWFuKSB7XG4gICAgbGV0IGF1dG9HZW5lcmF0ZSA9IGZhbHNlXG4gICAgaWYgKGF1dG9HZW5lcmF0ZURhdGEpIHtcbiAgICAgIGF1dG9HZW5lcmF0ZSA9IGF1dG9HZW5lcmF0ZURhdGFcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdHMpID0+IHtcbiAgICAgIGxldCBzY3JlZW4gPSBcIjg1MHB4XCJcbiAgICAgIC8vIGlmICggd2luZG93LnNjcmVlbi53aWR0aDwxMDAwKSB7XG4gICAgICAvLyAgIHNjcmVlbiA9IFwiMTAwdndcIlxuICAgICAgLy8gfVxuXG4gICAgICB0aGlzLmRpYWxvZy5vcGVuKFRlbXBsYXRlT3RDb21wb25lbnQsIHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgYXV0b0dlbmVyYXRlOiBhdXRvR2VuZXJhdGVcbiAgICAgICAgfSxcbiAgICAgICAgd2lkdGg6IHNjcmVlblxuICAgICAgfSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZSh0cnVlKVxuICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgZ2V0UGRmRm8oZGF0YTogVGVtcGxhdGVQZGZGbywgYXV0b0dlbmVyYXRlRGF0YT86IGJvb2xlYW4pIHtcbiAgICBsZXQgYXV0b0dlbmVyYXRlID0gZmFsc2VcbiAgICBpZiAoYXV0b0dlbmVyYXRlRGF0YSkge1xuICAgICAgYXV0b0dlbmVyYXRlID0gYXV0b0dlbmVyYXRlRGF0YVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0cykgPT4ge1xuICAgICAgbGV0IHNjcmVlbiA9IFwiODUwcHhcIlxuXG4gICAgICB0aGlzLmRpYWxvZy5vcGVuKFRlbXBsYXRlRnVlbENvbXBvbmVudCwge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICBhdXRvR2VuZXJhdGU6IGF1dG9HZW5lcmF0ZVxuICAgICAgICB9LFxuICAgICAgICB3aWR0aDogc2NyZWVuXG4gICAgICB9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgIHJldHVybiByZXNvbHZlKHRydWUpXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICBnZXRQZGZGb1YyKGRhdGE6IFRlbXBsYXRlUGRmRm8pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICB0aGlzLkZ1ZWxPcmRlclBkZlNlcnZpY2UuZ2VuZXJhdGVGdWVsT3JkZXJQcm9mZXNpb25hbFBERihkYXRhKVxuICAgICAgICAgIC50aGVuKCgpID0+IHJlc29sdmUodHJ1ZSkpXG4gICAgICAgICAgLmNhdGNoKGVycm9yID0+IHJlamVjdChlcnJvcikpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0UGRmT3RWMihkYXRhOiBUZW1wbGF0ZVBkZk90KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgdGhpcy53b3JrT3JkZXJQZGZTZXJ2aWNlLmdlbmVyYXRlV29ya09yZGVyUERGKGRhdGEpXG4gICAgICAgICAgLnRoZW4oKCkgPT4gcmVzb2x2ZSh0cnVlKSlcbiAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4gcmVqZWN0KGVycm9yKSk7XG5cbiAgICB9KTtcbiAgfVxuXG4gIGdlbmVyYXRlUHVyY2hhc2VPcmRlclBERihvcmRlcjogVGVtcGxhdGVQZGZQdXJjaGFzZU9yZGVyKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIHRoaXMucHVyY2hhc2VPcmRlclBkZlNlcnZpY2UuZ2VuZXJhdGVQdXJjaGFzZU9yZGVyUERGKG9yZGVyLCB7IGRvd25sb2FkOiBmYWxzZSB9KVxuICAgICAgICAgIC50aGVuKChkb2MpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBibG9iVXJsID0gZG9jLm91dHB1dCgnYmxvYnVybCcpO1xuICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKGJsb2JVcmwsICdfYmxhbmsnKTtcbiAgICAgICAgICAgIHJlc29sdmUodHJ1ZSlcbiAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgICAgIC5jYXRjaChlcnJvciA9PiByZWplY3QoZXJyb3IpKTtcblxuICAgIH0pO1xuICB9XG5cblxufVxuIl19