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
@@ -81,22 +81,24 @@ var HttpResponseType;
81
81
  })(HttpResponseType || (HttpResponseType = {}));
82
82
 
83
83
  class LoadingComponent {
84
+ dialogRef;
85
+ data;
86
+ options = {
87
+ path: '/assets/loading.json'
88
+ };
84
89
  constructor(dialogRef, data) {
85
90
  this.dialogRef = dialogRef;
86
91
  this.data = data;
87
- this.options = {
88
- path: '/assets/loading.json'
89
- };
90
92
  }
91
93
  ngOnInit() {
92
94
  }
93
95
  animationCreated(animationItem) {
94
96
  console.log(animationItem);
95
97
  }
98
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoadingComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
99
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LoadingComponent, selector: "app-loading", ngImport: i0, template: "<mat-dialog-content style=\"display: flex; justify-content: center; align-items: center; flex-direction: column;\">\n <div style=\"font-size: 20px;\">\n <strong>{{data.title}}</strong>\n </div>\n <div>\n <!-- <ng-lottie width='170px' [options]=\"options\" (animationCreated)=\"animationCreated($event)\"></ng-lottie> -->\n <img width=\"170px\" src=\"assets/loading.gif\" alt=\"\">\n </div>\n <div style=\"text-align: center;\">\n {{data.message}}\n </div>\n</mat-dialog-content>", styles: [".mat-dialog-container{overflow:hidden!important;background-color:#fff!important}\n"], dependencies: [{ kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }], encapsulation: i0.ViewEncapsulation.None });
96
100
  }
97
- LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LoadingComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
98
- LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: LoadingComponent, selector: "app-loading", ngImport: i0, template: "<mat-dialog-content style=\"display: flex; justify-content: center; align-items: center; flex-direction: column;\">\n <div style=\"font-size: 20px;\">\n <strong>{{data.title}}</strong>\n </div>\n <div>\n <!-- <ng-lottie width='170px' [options]=\"options\" (animationCreated)=\"animationCreated($event)\"></ng-lottie> -->\n <img width=\"170px\" src=\"assets/loading.gif\" alt=\"\">\n </div>\n <div style=\"text-align: center;\">\n {{data.message}}\n </div>\n</mat-dialog-content>", styles: [".mat-dialog-container{overflow:hidden!important;background-color:#fff!important}\n"], dependencies: [{ kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }], encapsulation: i0.ViewEncapsulation.None });
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LoadingComponent, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoadingComponent, decorators: [{
100
102
  type: Component,
101
103
  args: [{ selector: 'app-loading', encapsulation: ViewEncapsulation.None, template: "<mat-dialog-content style=\"display: flex; justify-content: center; align-items: center; flex-direction: column;\">\n <div style=\"font-size: 20px;\">\n <strong>{{data.title}}</strong>\n </div>\n <div>\n <!-- <ng-lottie width='170px' [options]=\"options\" (animationCreated)=\"animationCreated($event)\"></ng-lottie> -->\n <img width=\"170px\" src=\"assets/loading.gif\" alt=\"\">\n </div>\n <div style=\"text-align: center;\">\n {{data.message}}\n </div>\n</mat-dialog-content>", styles: [".mat-dialog-container{overflow:hidden!important;background-color:#fff!important}\n"] }]
102
104
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
@@ -105,11 +107,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
105
107
  }] }]; } });
106
108
 
107
109
  class MessageService {
110
+ dialog;
111
+ loadingNow = false;
112
+ warningQueue = [];
113
+ showingWarning = false;
114
+ loading;
108
115
  constructor(dialog) {
109
116
  this.dialog = dialog;
110
- this.loadingNow = false;
111
- this.warningQueue = [];
112
- this.showingWarning = false;
113
117
  }
114
118
  openLoading(title, message) {
115
119
  if (!this.loadingNow) {
@@ -289,10 +293,10 @@ class MessageService {
289
293
  width: 'auto'
290
294
  });
291
295
  }
296
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
297
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageService, providedIn: 'root' });
292
298
  }
293
- MessageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
294
- MessageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageService, providedIn: 'root' });
295
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MessageService, decorators: [{
299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageService, decorators: [{
296
300
  type: Injectable,
297
301
  args: [{
298
302
  providedIn: 'root'
@@ -300,6 +304,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
300
304
  }], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
301
305
 
302
306
  class HttpService {
307
+ http;
308
+ message;
303
309
  constructor(http, message) {
304
310
  this.http = http;
305
311
  this.message = message;
@@ -426,21 +432,25 @@ class HttpService {
426
432
  this.deleteDataWithResponseType(url, params, withCredentials, responseType).subscribe(res => resolve(res), err => reject(err));
427
433
  });
428
434
  }
435
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpService, deps: [{ token: i1$1.HttpClient }, { token: MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
436
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpService });
429
437
  }
430
- HttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HttpService, deps: [{ token: i1$1.HttpClient }, { token: MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
431
- HttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HttpService });
432
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HttpService, decorators: [{
438
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpService, decorators: [{
433
439
  type: Injectable
434
440
  }], ctorParameters: function () { return [{ type: i1$1.HttpClient }, { type: MessageService }]; } });
435
441
 
436
442
  class TableModalComponent {
443
+ dialogRef;
444
+ data;
445
+ formBuilder;
446
+ http;
447
+ modalForm = new UntypedFormGroup({});
448
+ dataCombo = {};
437
449
  constructor(dialogRef, data, formBuilder, http) {
438
450
  this.dialogRef = dialogRef;
439
451
  this.data = data;
440
452
  this.formBuilder = formBuilder;
441
453
  this.http = http;
442
- this.modalForm = new UntypedFormGroup({});
443
- this.dataCombo = {};
444
454
  }
445
455
  onNoClick() {
446
456
  this.dialogRef.close();
@@ -525,10 +535,10 @@ class TableModalComponent {
525
535
  break;
526
536
  }
527
537
  }
538
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableModalComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1$2.UntypedFormBuilder }, { token: HttpService }], target: i0.ɵɵFactoryTarget.Component });
539
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableModalComponent, selector: "app-table-modal", ngImport: i0, template: "<mat-dialog-content>\n <div style='display:flex; justify-content: space-between;'>\n <div>\n <strong>\n <h3 *ngIf='data.action==\"edit\"'> Editar </h3>\n <h3 *ngIf='data.action==\"add\"'> Agregar </h3>\n </strong>\n </div>\n <div mat-dialog-close>\n <i class=\"fa fa-times-circle\" style=\"font-size: 150%; position: relative;\"></i>\n </div>\n </div>\n\n <form [formGroup]=\"modalForm\">\n\n <div *ngFor='let input of data.columns'>\n\n\n\n <div *ngIf='data.action==\"edit\"; else Agregar'>\n <mat-form-field *ngIf=\"!input.disregardForEdit\">\n <mat-label>{{input.label}}</mat-label>\n <div *ngIf='input.type==\"combo\"; else otherInputEdit'>\n\n <mat-select [value]=\"input.value\" (selectionChange)='onChange(input.ID,$event, input.type)'\n placeholder='{{input.label}}' [required]=\"input.required\">\n <mat-option *ngFor='let data of dataCombo[input.identifierCombo]'\n [value]='data[input.paramsCombo.selectionField]'>\n {{data[input.paramsCombo.visibleField]}}</mat-option>\n </mat-select>\n </div>\n\n <ng-template #otherInputEdit>\n <input [type]='input.type' [name]='input.ID' [value]='input.value'\n (input)='onChange(input.ID,$event, input.type)' matInput [placeholder]='input.label'\n [required]=\"input.required\" />\n </ng-template>\n\n <mat-error>Campo Obligatorio</mat-error>\n </mat-form-field>\n\n </div>\n\n <ng-template #Agregar>\n <mat-form-field *ngIf=\"!input.disregardForAdd\">\n <mat-label>{{input.label}}</mat-label>\n <div *ngIf='input.type==\"combo\"; else otherInput'>\n\n <mat-select (selectionChange)='onChange(input.ID,$event, input.type)'\n placeholder='{{input.label}}' [required]=\"input.required\">\n <mat-option *ngFor='let data of dataCombo[input.identifierCombo]'\n [value]='data[input.paramsCombo.selectionField]'>\n {{data[input.paramsCombo.visibleField]}}</mat-option>\n </mat-select>\n\n </div>\n\n <ng-template #otherInput>\n <input [type]='input.type' [name]='input.ID' (input)='onChange(input.ID, $event, input.type)'\n matInput [placeholder]='input.label' [required]=\"input.required\" />\n\n </ng-template>\n <mat-error>Campo Obligatorio</mat-error>\n </mat-form-field>\n </ng-template>\n\n\n\n\n </div>\n\n <button *ngIf='data.action==\"add\" || data.action==\"edit\"' (click)='onSubmit()' color='primary' mat-raised-button\n [disabled]=\"!modalForm.valid\">Guardar</button>\n\n </form>\n</mat-dialog-content>", styles: ["button{width:100%}mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i7.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: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
528
540
  }
529
- TableModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableModalComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1$2.UntypedFormBuilder }, { token: HttpService }], target: i0.ɵɵFactoryTarget.Component });
530
- TableModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableModalComponent, selector: "app-table-modal", ngImport: i0, template: "<mat-dialog-content>\n <div style='display:flex; justify-content: space-between;'>\n <div>\n <strong>\n <h3 *ngIf='data.action==\"edit\"'> Editar </h3>\n <h3 *ngIf='data.action==\"add\"'> Agregar </h3>\n </strong>\n </div>\n <div mat-dialog-close>\n <i class=\"fa fa-times-circle\" style=\"font-size: 150%; position: relative;\"></i>\n </div>\n </div>\n\n <form [formGroup]=\"modalForm\">\n\n <div *ngFor='let input of data.columns'>\n\n\n\n <div *ngIf='data.action==\"edit\"; else Agregar'>\n <mat-form-field *ngIf=\"!input.disregardForEdit\">\n <mat-label>{{input.label}}</mat-label>\n <div *ngIf='input.type==\"combo\"; else otherInputEdit'>\n\n <mat-select [value]=\"input.value\" (selectionChange)='onChange(input.ID,$event, input.type)'\n placeholder='{{input.label}}' [required]=\"input.required\">\n <mat-option *ngFor='let data of dataCombo[input.identifierCombo]'\n [value]='data[input.paramsCombo.selectionField]'>\n {{data[input.paramsCombo.visibleField]}}</mat-option>\n </mat-select>\n </div>\n\n <ng-template #otherInputEdit>\n <input [type]='input.type' [name]='input.ID' [value]='input.value'\n (input)='onChange(input.ID,$event, input.type)' matInput [placeholder]='input.label'\n [required]=\"input.required\" />\n </ng-template>\n\n <mat-error>Campo Obligatorio</mat-error>\n </mat-form-field>\n\n </div>\n\n <ng-template #Agregar>\n <mat-form-field *ngIf=\"!input.disregardForAdd\">\n <mat-label>{{input.label}}</mat-label>\n <div *ngIf='input.type==\"combo\"; else otherInput'>\n\n <mat-select (selectionChange)='onChange(input.ID,$event, input.type)'\n placeholder='{{input.label}}' [required]=\"input.required\">\n <mat-option *ngFor='let data of dataCombo[input.identifierCombo]'\n [value]='data[input.paramsCombo.selectionField]'>\n {{data[input.paramsCombo.visibleField]}}</mat-option>\n </mat-select>\n\n </div>\n\n <ng-template #otherInput>\n <input [type]='input.type' [name]='input.ID' (input)='onChange(input.ID, $event, input.type)'\n matInput [placeholder]='input.label' [required]=\"input.required\" />\n\n </ng-template>\n <mat-error>Campo Obligatorio</mat-error>\n </mat-form-field>\n </ng-template>\n\n\n\n\n </div>\n\n <button *ngIf='data.action==\"add\" || data.action==\"edit\"' (click)='onSubmit()' color='primary' mat-raised-button\n [disabled]=\"!modalForm.valid\">Guardar</button>\n\n </form>\n</mat-dialog-content>", styles: ["button{width:100%}mat-form-field{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i7.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: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }] });
531
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableModalComponent, decorators: [{
541
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableModalComponent, decorators: [{
532
542
  type: Component,
533
543
  args: [{ selector: 'app-table-modal', template: "<mat-dialog-content>\n <div style='display:flex; justify-content: space-between;'>\n <div>\n <strong>\n <h3 *ngIf='data.action==\"edit\"'> Editar </h3>\n <h3 *ngIf='data.action==\"add\"'> Agregar </h3>\n </strong>\n </div>\n <div mat-dialog-close>\n <i class=\"fa fa-times-circle\" style=\"font-size: 150%; position: relative;\"></i>\n </div>\n </div>\n\n <form [formGroup]=\"modalForm\">\n\n <div *ngFor='let input of data.columns'>\n\n\n\n <div *ngIf='data.action==\"edit\"; else Agregar'>\n <mat-form-field *ngIf=\"!input.disregardForEdit\">\n <mat-label>{{input.label}}</mat-label>\n <div *ngIf='input.type==\"combo\"; else otherInputEdit'>\n\n <mat-select [value]=\"input.value\" (selectionChange)='onChange(input.ID,$event, input.type)'\n placeholder='{{input.label}}' [required]=\"input.required\">\n <mat-option *ngFor='let data of dataCombo[input.identifierCombo]'\n [value]='data[input.paramsCombo.selectionField]'>\n {{data[input.paramsCombo.visibleField]}}</mat-option>\n </mat-select>\n </div>\n\n <ng-template #otherInputEdit>\n <input [type]='input.type' [name]='input.ID' [value]='input.value'\n (input)='onChange(input.ID,$event, input.type)' matInput [placeholder]='input.label'\n [required]=\"input.required\" />\n </ng-template>\n\n <mat-error>Campo Obligatorio</mat-error>\n </mat-form-field>\n\n </div>\n\n <ng-template #Agregar>\n <mat-form-field *ngIf=\"!input.disregardForAdd\">\n <mat-label>{{input.label}}</mat-label>\n <div *ngIf='input.type==\"combo\"; else otherInput'>\n\n <mat-select (selectionChange)='onChange(input.ID,$event, input.type)'\n placeholder='{{input.label}}' [required]=\"input.required\">\n <mat-option *ngFor='let data of dataCombo[input.identifierCombo]'\n [value]='data[input.paramsCombo.selectionField]'>\n {{data[input.paramsCombo.visibleField]}}</mat-option>\n </mat-select>\n\n </div>\n\n <ng-template #otherInput>\n <input [type]='input.type' [name]='input.ID' (input)='onChange(input.ID, $event, input.type)'\n matInput [placeholder]='input.label' [required]=\"input.required\" />\n\n </ng-template>\n <mat-error>Campo Obligatorio</mat-error>\n </mat-form-field>\n </ng-template>\n\n\n\n\n </div>\n\n <button *ngIf='data.action==\"add\" || data.action==\"edit\"' (click)='onSubmit()' color='primary' mat-raised-button\n [disabled]=\"!modalForm.valid\">Guardar</button>\n\n </form>\n</mat-dialog-content>", styles: ["button{width:100%}mat-form-field{width:100%}\n"] }]
534
544
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
@@ -537,13 +547,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
537
547
  }] }, { type: i1$2.UntypedFormBuilder }, { type: HttpService }]; } });
538
548
 
539
549
  class SelectFilterComponent {
550
+ searchFormValueChangesSubscription;
551
+ input;
552
+ array;
553
+ placeholder;
554
+ color;
555
+ displayMember;
556
+ showSpinner = true;
557
+ noResultsMessage = 'No results';
558
+ hasGroup;
559
+ groupArrayName;
560
+ noResults = false;
561
+ localSpinner = false;
562
+ filteredReturn = new EventEmitter();
563
+ filteredItems = [];
564
+ searchForm;
540
565
  constructor(fb) {
541
- this.showSpinner = true;
542
- this.noResultsMessage = 'No results';
543
- this.noResults = false;
544
- this.localSpinner = false;
545
- this.filteredReturn = new EventEmitter();
546
- this.filteredItems = [];
547
566
  this.searchForm = fb.group({
548
567
  value: ''
549
568
  });
@@ -601,10 +620,10 @@ class SelectFilterComponent {
601
620
  this.filteredReturn.emit(this.array);
602
621
  this.searchFormValueChangesSubscription.unsubscribe();
603
622
  }
623
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectFilterComponent, deps: [{ token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
624
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.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: i7.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$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
604
625
  }
605
- SelectFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectFilterComponent, deps: [{ token: i1$2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
606
- 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: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.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: i7.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$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
607
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SelectFilterComponent, decorators: [{
626
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectFilterComponent, decorators: [{
608
627
  type: Component,
609
628
  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"] }]
610
629
  }], ctorParameters: function () { return [{ type: i1$2.FormBuilder }]; }, propDecorators: { input: [{
@@ -639,20 +658,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
639
658
  }] } });
640
659
 
641
660
  class CombosComponent {
661
+ http;
662
+ dataCombos;
663
+ additionalData;
664
+ configuration;
665
+ filter = false;
666
+ checkbox = false;
667
+ required = false;
668
+ disabled = false;
669
+ addFinal = false;
670
+ appearance = '';
671
+ reloadCombo;
672
+ control = new UntypedFormControl();
673
+ tooltipDescription = null;
674
+ tooltipActive = false;
675
+ tooltip;
676
+ changeOption = new EventEmitter();
677
+ changeOptionDataComplete = new EventEmitter();
678
+ returnDataCombo = new EventEmitter();
679
+ filteredList;
642
680
  constructor(http) {
643
681
  this.http = http;
644
- this.filter = false;
645
- this.checkbox = false;
646
- this.required = false;
647
- this.disabled = false;
648
- this.addFinal = false;
649
- this.appearance = '';
650
- this.control = new UntypedFormControl();
651
- this.tooltipDescription = null;
652
- this.tooltipActive = false;
653
- this.changeOption = new EventEmitter();
654
- this.changeOptionDataComplete = new EventEmitter();
655
- this.returnDataCombo = new EventEmitter();
656
682
  }
657
683
  ngOnInit() {
658
684
  if (!this.configuration.label) {
@@ -763,10 +789,10 @@ class CombosComponent {
763
789
  this.tooltip.hide();
764
790
  }
765
791
  }
792
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CombosComponent, deps: [{ token: HttpService }], target: i0.ɵɵFactoryTarget.Component });
793
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CombosComponent, selector: "combos", inputs: { dataCombos: "dataCombos", additionalData: "additionalData", configuration: "configuration", filter: "filter", checkbox: "checkbox", required: "required", disabled: "disabled", addFinal: "addFinal", appearance: "appearance", reloadCombo: "reloadCombo", control: "control" }, outputs: { changeOption: "changeOption", changeOptionDataComplete: "changeOptionDataComplete", returnDataCombo: "returnDataCombo" }, viewQueries: [{ propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div style=\"display: flex; flex-direction: row; justify-content: space-between\">\n <div class=\"combo-container\">\n\n <mat-icon\n class=\"m-1 icon-information\"\n *ngIf=\"tooltipDescription\"\n matTooltip=\"{{tooltipDescription}}\"\n matTooltipPosition=\"above\"\n #tooltip=\"matTooltip\"\n (click)=\"toggleTooltip()\"\n matTooltipClass=\"custom-tooltip\"\n >info</mat-icon>\n\n <mat-form-field style=\"width: 100%\" [appearance]=\"appearance\">\n <mat-label style=\"text-transform: capitalize\">{{\n configuration.label\n }}</mat-label>\n <mat-select [multiple]=\"checkbox\" (selectionChange)=\"selectedData(control)\" [required]=\"required\"\n [formControl]=\"control\" [disabled]=\"disabled\">\n <app-select-filter [noResultsMessage]=\"'No hay resultados'\" *ngIf=\"filter\" [placeholder]=\"'Filter'\" [displayMember]=\"configuration.visibleField\"\n [array]=\"dataCombos\" (filteredReturn)=\"filteredList = $event\">\n </app-select-filter>\n <mat-option [value]=\"data[configuration.selectionField]\" *ngFor=\"let data of filteredList\">\n {{ data[configuration.visibleField] }}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"required\">Campo requerido</mat-error>\n </mat-form-field>\n </div>\n</div>\n\n", styles: [".mat-mdc-form-field{width:100%}.combo-container{width:100%;display:flex;align-items:center}.icon-information{cursor:pointer;color:gray}.mat-icon{font-size:1.1rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}@media (max-width: 400px){combo-container{width:100%;justify-content:center;padding-left:8px;padding-right:8px}.mat-mdc-form-field{width:100%!important;min-width:120px;max-width:100vw;font-size:14px}.mat-mdc-select{font-size:14px}}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i7$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SelectFilterComponent, selector: "app-select-filter", inputs: ["array", "placeholder", "color", "displayMember", "showSpinner", "noResultsMessage", "hasGroup", "groupArrayName"], outputs: ["filteredReturn"] }] });
766
794
  }
767
- CombosComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CombosComponent, deps: [{ token: HttpService }], target: i0.ɵɵFactoryTarget.Component });
768
- CombosComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CombosComponent, selector: "combos", inputs: { dataCombos: "dataCombos", additionalData: "additionalData", configuration: "configuration", filter: "filter", checkbox: "checkbox", required: "required", disabled: "disabled", addFinal: "addFinal", appearance: "appearance", reloadCombo: "reloadCombo", control: "control" }, outputs: { changeOption: "changeOption", changeOptionDataComplete: "changeOptionDataComplete", returnDataCombo: "returnDataCombo" }, viewQueries: [{ propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div style=\"display: flex; flex-direction: row; justify-content: space-between\">\n <div class=\"combo-container\">\n\n <mat-icon\n class=\"m-1 icon-information\"\n *ngIf=\"tooltipDescription\"\n matTooltip=\"{{tooltipDescription}}\"\n matTooltipPosition=\"above\"\n #tooltip=\"matTooltip\"\n (click)=\"toggleTooltip()\"\n matTooltipClass=\"custom-tooltip\"\n >info</mat-icon>\n\n <mat-form-field style=\"width: 100%\" [appearance]=\"appearance\">\n <mat-label style=\"text-transform: capitalize\">{{\n configuration.label\n }}</mat-label>\n <mat-select [multiple]=\"checkbox\" (selectionChange)=\"selectedData(control)\" [required]=\"required\"\n [formControl]=\"control\" [disabled]=\"disabled\">\n <app-select-filter [noResultsMessage]=\"'No hay resultados'\" *ngIf=\"filter\" [placeholder]=\"'Filter'\" [displayMember]=\"configuration.visibleField\"\n [array]=\"dataCombos\" (filteredReturn)=\"filteredList = $event\">\n </app-select-filter>\n <mat-option [value]=\"data[configuration.selectionField]\" *ngFor=\"let data of filteredList\">\n {{ data[configuration.visibleField] }}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"required\">Campo requerido</mat-error>\n </mat-form-field>\n </div>\n</div>\n\n", styles: [".mat-mdc-form-field{width:100%}.combo-container{width:100%;display:flex;align-items:center}.icon-information{cursor:pointer;color:gray}.mat-icon{font-size:1.1rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}@media (max-width: 400px){combo-container{width:100%;justify-content:center;padding-left:8px;padding-right:8px}.mat-mdc-form-field{width:100%!important;min-width:120px;max-width:100vw;font-size:14px}.mat-mdc-select{font-size:14px}}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i7$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: SelectFilterComponent, selector: "app-select-filter", inputs: ["array", "placeholder", "color", "displayMember", "showSpinner", "noResultsMessage", "hasGroup", "groupArrayName"], outputs: ["filteredReturn"] }] });
769
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CombosComponent, decorators: [{
795
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CombosComponent, decorators: [{
770
796
  type: Component,
771
797
  args: [{ selector: 'combos', template: "<div style=\"display: flex; flex-direction: row; justify-content: space-between\">\n <div class=\"combo-container\">\n\n <mat-icon\n class=\"m-1 icon-information\"\n *ngIf=\"tooltipDescription\"\n matTooltip=\"{{tooltipDescription}}\"\n matTooltipPosition=\"above\"\n #tooltip=\"matTooltip\"\n (click)=\"toggleTooltip()\"\n matTooltipClass=\"custom-tooltip\"\n >info</mat-icon>\n\n <mat-form-field style=\"width: 100%\" [appearance]=\"appearance\">\n <mat-label style=\"text-transform: capitalize\">{{\n configuration.label\n }}</mat-label>\n <mat-select [multiple]=\"checkbox\" (selectionChange)=\"selectedData(control)\" [required]=\"required\"\n [formControl]=\"control\" [disabled]=\"disabled\">\n <app-select-filter [noResultsMessage]=\"'No hay resultados'\" *ngIf=\"filter\" [placeholder]=\"'Filter'\" [displayMember]=\"configuration.visibleField\"\n [array]=\"dataCombos\" (filteredReturn)=\"filteredList = $event\">\n </app-select-filter>\n <mat-option [value]=\"data[configuration.selectionField]\" *ngFor=\"let data of filteredList\">\n {{ data[configuration.visibleField] }}\n </mat-option>\n </mat-select>\n <mat-error *ngIf=\"required\">Campo requerido</mat-error>\n </mat-form-field>\n </div>\n</div>\n\n", styles: [".mat-mdc-form-field{width:100%}.combo-container{width:100%;display:flex;align-items:center}.icon-information{cursor:pointer;color:gray}.mat-icon{font-size:1.1rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}@media (max-width: 400px){combo-container{width:100%;justify-content:center;padding-left:8px;padding-right:8px}.mat-mdc-form-field{width:100%!important;min-width:120px;max-width:100vw;font-size:14px}.mat-mdc-select{font-size:14px}}\n"] }]
772
798
  }], ctorParameters: function () { return [{ type: HttpService }]; }, propDecorators: { dataCombos: [{
@@ -1151,10 +1177,10 @@ class WorkOrderPdfService {
1151
1177
  // Resetear color
1152
1178
  doc.setTextColor(0, 0, 0);
1153
1179
  }
1180
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WorkOrderPdfService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1181
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WorkOrderPdfService, providedIn: 'root' });
1154
1182
  }
1155
- WorkOrderPdfService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkOrderPdfService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1156
- WorkOrderPdfService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkOrderPdfService, providedIn: 'root' });
1157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WorkOrderPdfService, decorators: [{
1183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WorkOrderPdfService, decorators: [{
1158
1184
  type: Injectable,
1159
1185
  args: [{
1160
1186
  providedIn: 'root'
@@ -1162,32 +1188,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1162
1188
  }], ctorParameters: function () { return []; } });
1163
1189
 
1164
1190
  class TemplateOtComponent {
1191
+ dialogRef;
1192
+ dataModal;
1193
+ dialog;
1194
+ message;
1195
+ workOrderPdfService;
1196
+ data = {
1197
+ name: '',
1198
+ nit: '',
1199
+ address: '',
1200
+ telephone: '',
1201
+ mail: '',
1202
+ image: '',
1203
+ code: '',
1204
+ date: '',
1205
+ responsible: '',
1206
+ third: '',
1207
+ odometer: '',
1208
+ approved_by: '',
1209
+ description: '',
1210
+ consecutive: '',
1211
+ nameProvider: '',
1212
+ addressProvider: '',
1213
+ area: '',
1214
+ invoiceReference: '',
1215
+ };
1165
1216
  constructor(dialogRef, dataModal, dialog, message, workOrderPdfService) {
1166
1217
  this.dialogRef = dialogRef;
1167
1218
  this.dataModal = dataModal;
1168
1219
  this.dialog = dialog;
1169
1220
  this.message = message;
1170
1221
  this.workOrderPdfService = workOrderPdfService;
1171
- this.data = {
1172
- name: '',
1173
- nit: '',
1174
- address: '',
1175
- telephone: '',
1176
- mail: '',
1177
- image: '',
1178
- code: '',
1179
- date: '',
1180
- responsible: '',
1181
- third: '',
1182
- odometer: '',
1183
- approved_by: '',
1184
- description: '',
1185
- consecutive: '',
1186
- nameProvider: '',
1187
- addressProvider: '',
1188
- area: '',
1189
- invoiceReference: '',
1190
- };
1191
1222
  }
1192
1223
  ngOnInit() {
1193
1224
  this.data = this.dataModal.data;
@@ -1222,12 +1253,12 @@ class TemplateOtComponent {
1222
1253
  this.message.closeLoading();
1223
1254
  });
1224
1255
  }
1256
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateOtComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1.MatDialog }, { token: MessageService }, { token: WorkOrderPdfService }], target: i0.ɵɵFactoryTarget.Component });
1257
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TemplateOtComponent, selector: "app-template-ot", ngImport: i0, template: "<mat-dialog-content id=\"templateOT\" #templateOT>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de trabajo</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Datos del proveedor</h2>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Nombre:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.nameProvider}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressProvider}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Detalles del servicio</h2>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h2 class=\"wrap-text text-start\">{{data.description}}</h2>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden a la factura o cuenta de cobro</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n</mat-dialog-content>\n\n<div class=\"download-container\">\n <button (click)=\"generatePdfWithHtml2Canvas()\" color='primary' mat-raised-button style=\"margin-right: 10px;\">\n Generar PDF\n </button>\n</div>", styles: [".img{background-size:100%!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;height:22mm!important;margin:0!important;padding:0!important}h2{font-size:1rem!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}h3{line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}.text-header{line-height:1.5!important;font-weight:700!important}.text-uppercase{text-transform:uppercase!important}.wrap-text{white-space:pre-wrap!important}.text-content{padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.borde{border:1px solid blue!important}.border-r{border-right:1px solid blue!important;min-height:100%!important;align-self:stretch!important}.container-text{display:flex!important;justify-content:center!important;align-items:center!important;min-height:inherit!important}.container-headers{display:flex!important;align-items:center!important;justify-content:space-evenly!important;width:100%!important;min-height:8mm!important;background:#f0f4ff9c!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.container-headers h2{font-weight:700!important}.flexible-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:11mm!important}.header-section{min-height:25mm!important}.footer-section{min-height:14mm!important;background:#f0f4ff59!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.description-section{min-height:20mm!important;padding:10px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.w-100{width:100%!important}.text-start{text-align:start!important}.white-background{background-color:#fff!important}.download-container{display:flex!important;justify-content:center!important;margin-top:15px!important}\n"], dependencies: [{ kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
1225
1258
  }
1226
- TemplateOtComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TemplateOtComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1.MatDialog }, { token: MessageService }, { token: WorkOrderPdfService }], target: i0.ɵɵFactoryTarget.Component });
1227
- TemplateOtComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TemplateOtComponent, selector: "app-template-ot", ngImport: i0, template: "<mat-dialog-content id=\"templateOT\" #templateOT>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de trabajo</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Datos del proveedor</h2>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Nombre:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.nameProvider}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressProvider}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Detalles del servicio</h2>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h2 class=\"wrap-text text-start\">{{data.description}}</h2>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden a la factura o cuenta de cobro</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n</mat-dialog-content>\n\n<div class=\"download-container\">\n <button (click)=\"generatePdfWithHtml2Canvas()\" color='primary' mat-raised-button style=\"margin-right: 10px;\">\n Generar PDF\n </button>\n</div>", styles: [".img{background-size:100%!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;height:22mm!important;margin:0!important;padding:0!important}h2{font-size:1rem!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}h3{line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}.text-header{line-height:1.5!important;font-weight:700!important}.text-uppercase{text-transform:uppercase!important}.wrap-text{white-space:pre-wrap!important}.text-content{padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.borde{border:1px solid blue!important}.border-r{border-right:1px solid blue!important;min-height:100%!important;align-self:stretch!important}.container-text{display:flex!important;justify-content:center!important;align-items:center!important;min-height:inherit!important}.container-headers{display:flex!important;align-items:center!important;justify-content:space-evenly!important;width:100%!important;min-height:8mm!important;background:rgba(240,244,255,.6117647059)!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.container-headers h2{font-weight:700!important}.flexible-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:11mm!important}.header-section{min-height:25mm!important}.footer-section{min-height:14mm!important;background:rgba(240,244,255,.35)!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.description-section{min-height:20mm!important;padding:10px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.w-100{width:100%!important}.text-start{text-align:start!important}.white-background{background-color:#fff!important}.download-container{display:flex!important;justify-content:center!important;margin-top:15px!important}\n"], dependencies: [{ kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
1228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TemplateOtComponent, decorators: [{
1259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateOtComponent, decorators: [{
1229
1260
  type: Component,
1230
- args: [{ selector: 'app-template-ot', template: "<mat-dialog-content id=\"templateOT\" #templateOT>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de trabajo</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Datos del proveedor</h2>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Nombre:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.nameProvider}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressProvider}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Detalles del servicio</h2>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h2 class=\"wrap-text text-start\">{{data.description}}</h2>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden a la factura o cuenta de cobro</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n</mat-dialog-content>\n\n<div class=\"download-container\">\n <button (click)=\"generatePdfWithHtml2Canvas()\" color='primary' mat-raised-button style=\"margin-right: 10px;\">\n Generar PDF\n </button>\n</div>", styles: [".img{background-size:100%!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;height:22mm!important;margin:0!important;padding:0!important}h2{font-size:1rem!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}h3{line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}.text-header{line-height:1.5!important;font-weight:700!important}.text-uppercase{text-transform:uppercase!important}.wrap-text{white-space:pre-wrap!important}.text-content{padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.borde{border:1px solid blue!important}.border-r{border-right:1px solid blue!important;min-height:100%!important;align-self:stretch!important}.container-text{display:flex!important;justify-content:center!important;align-items:center!important;min-height:inherit!important}.container-headers{display:flex!important;align-items:center!important;justify-content:space-evenly!important;width:100%!important;min-height:8mm!important;background:rgba(240,244,255,.6117647059)!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.container-headers h2{font-weight:700!important}.flexible-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:11mm!important}.header-section{min-height:25mm!important}.footer-section{min-height:14mm!important;background:rgba(240,244,255,.35)!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.description-section{min-height:20mm!important;padding:10px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.w-100{width:100%!important}.text-start{text-align:start!important}.white-background{background-color:#fff!important}.download-container{display:flex!important;justify-content:center!important;margin-top:15px!important}\n"] }]
1261
+ args: [{ selector: 'app-template-ot', template: "<mat-dialog-content id=\"templateOT\" #templateOT>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de trabajo</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Datos del proveedor</h2>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Nombre:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.nameProvider}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressProvider}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Detalles del servicio</h2>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h2 class=\"wrap-text text-start\">{{data.description}}</h2>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden a la factura o cuenta de cobro</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n</mat-dialog-content>\n\n<div class=\"download-container\">\n <button (click)=\"generatePdfWithHtml2Canvas()\" color='primary' mat-raised-button style=\"margin-right: 10px;\">\n Generar PDF\n </button>\n</div>", styles: [".img{background-size:100%!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;height:22mm!important;margin:0!important;padding:0!important}h2{font-size:1rem!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}h3{line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}.text-header{line-height:1.5!important;font-weight:700!important}.text-uppercase{text-transform:uppercase!important}.wrap-text{white-space:pre-wrap!important}.text-content{padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.borde{border:1px solid blue!important}.border-r{border-right:1px solid blue!important;min-height:100%!important;align-self:stretch!important}.container-text{display:flex!important;justify-content:center!important;align-items:center!important;min-height:inherit!important}.container-headers{display:flex!important;align-items:center!important;justify-content:space-evenly!important;width:100%!important;min-height:8mm!important;background:#f0f4ff9c!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.container-headers h2{font-weight:700!important}.flexible-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:11mm!important}.header-section{min-height:25mm!important}.footer-section{min-height:14mm!important;background:#f0f4ff59!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.description-section{min-height:20mm!important;padding:10px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.w-100{width:100%!important}.text-start{text-align:start!important}.white-background{background-color:#fff!important}.download-container{display:flex!important;justify-content:center!important;margin-top:15px!important}\n"] }]
1231
1262
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
1232
1263
  type: Inject,
1233
1264
  args: [MAT_DIALOG_DATA]
@@ -1565,10 +1596,10 @@ class FuelOrderPdfService {
1565
1596
  // Resetear color
1566
1597
  doc.setTextColor(0, 0, 0);
1567
1598
  }
1599
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FuelOrderPdfService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1600
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FuelOrderPdfService, providedIn: 'root' });
1568
1601
  }
1569
- FuelOrderPdfService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FuelOrderPdfService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1570
- FuelOrderPdfService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FuelOrderPdfService, providedIn: 'root' });
1571
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FuelOrderPdfService, decorators: [{
1602
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FuelOrderPdfService, decorators: [{
1572
1603
  type: Injectable,
1573
1604
  args: [{
1574
1605
  providedIn: 'root'
@@ -1576,33 +1607,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1576
1607
  }], ctorParameters: function () { return []; } });
1577
1608
 
1578
1609
  class TemplateFuelComponent {
1610
+ dialogRef;
1611
+ dataModal;
1612
+ dialog;
1613
+ message;
1614
+ FuelOrderPdfService;
1615
+ data = {
1616
+ name: '',
1617
+ nit: '',
1618
+ address: '',
1619
+ telephone: '',
1620
+ mail: '',
1621
+ image: '',
1622
+ code: '',
1623
+ date: '',
1624
+ responsible: '',
1625
+ id_place: '',
1626
+ approved_by: '',
1627
+ detalle: '',
1628
+ description: '',
1629
+ consecutive: '',
1630
+ namePlace: '',
1631
+ addressPlace: '',
1632
+ area: '',
1633
+ odometer: '',
1634
+ invoiceReference: ''
1635
+ };
1579
1636
  constructor(dialogRef, dataModal, dialog, message, FuelOrderPdfService) {
1580
1637
  this.dialogRef = dialogRef;
1581
1638
  this.dataModal = dataModal;
1582
1639
  this.dialog = dialog;
1583
1640
  this.message = message;
1584
1641
  this.FuelOrderPdfService = FuelOrderPdfService;
1585
- this.data = {
1586
- name: '',
1587
- nit: '',
1588
- address: '',
1589
- telephone: '',
1590
- mail: '',
1591
- image: '',
1592
- code: '',
1593
- date: '',
1594
- responsible: '',
1595
- id_place: '',
1596
- approved_by: '',
1597
- detalle: '',
1598
- description: '',
1599
- consecutive: '',
1600
- namePlace: '',
1601
- addressPlace: '',
1602
- area: '',
1603
- odometer: '',
1604
- invoiceReference: ''
1605
- };
1606
1642
  }
1607
1643
  ngOnInit() {
1608
1644
  this.data = this.dataModal.data;
@@ -1639,22 +1675,23 @@ class TemplateFuelComponent {
1639
1675
  this.message.closeLoading();
1640
1676
  });
1641
1677
  }
1678
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateFuelComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1.MatDialog }, { token: MessageService }, { token: FuelOrderPdfService }], target: i0.ɵɵFactoryTarget.Component });
1679
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TemplateFuelComponent, selector: "app-template-fuel", ngImport: i0, template: "<mat-dialog-content id=\"templateFO\" #templateFO>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de combustible</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:44%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <!-- <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div> -->\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Datos del proveedor</h3>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Lugar:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.namePlace}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressPlace}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Detalles del servicio</h3>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h3 class=\"wrap-text text-start\">{{data.detalle}}</h3>\n <h3 class=\"wrap-text text-start\">Descripci\u00F3n: {{data.description}}</h3>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden de venta o factura</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n</mat-dialog-content>\n\n<div class=\"download-container\">\n <button (click)=\"generatePdfWithHtml2Canvas()\" color='primary' mat-raised-button style=\"margin-right: 10px;\">\n Generar PDF\n </button>\n</div>", styles: [".img{background-size:100%!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;height:22mm!important;margin:0!important;padding:0!important}h2{font-size:1rem!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}h3{line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}.text-header{line-height:1.5!important;font-weight:700!important}.text-uppercase{text-transform:uppercase!important}.wrap-text{white-space:pre-wrap!important}.text-content{padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.borde{border:1px solid blue!important}.border-r{border-right:1px solid blue!important;min-height:100%!important;align-self:stretch!important}.container-text{display:flex!important;justify-content:center!important;align-items:center!important;min-height:inherit!important}.container-headers{display:flex!important;align-items:center!important;justify-content:space-evenly!important;width:100%!important;min-height:8mm!important;background:#f0f4ff9c!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.container-headers h2,.container-headers h3{font-weight:700!important}.flexible-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:11mm!important}.header-section{min-height:25mm!important}.footer-section{min-height:14mm!important;background:#f0f4ff59!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.description-section{min-height:20mm!important;padding:10px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.w-100{width:100%!important}.text-start{text-align:start!important}.white-background{background-color:#fff!important}.download-container{display:flex!important;justify-content:center!important;margin-top:15px!important}\n"], dependencies: [{ kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
1642
1680
  }
1643
- TemplateFuelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TemplateFuelComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1.MatDialog }, { token: MessageService }, { token: FuelOrderPdfService }], target: i0.ɵɵFactoryTarget.Component });
1644
- TemplateFuelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TemplateFuelComponent, selector: "app-template-fuel", ngImport: i0, template: "<mat-dialog-content id=\"templateFO\" #templateFO>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de combustible</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:44%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <!-- <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div> -->\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Datos del proveedor</h3>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Lugar:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.namePlace}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressPlace}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Detalles del servicio</h3>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h3 class=\"wrap-text text-start\">{{data.detalle}}</h3>\n <h3 class=\"wrap-text text-start\">Descripci\u00F3n: {{data.description}}</h3>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden de venta o factura</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n</mat-dialog-content>\n\n<div class=\"download-container\">\n <button (click)=\"generatePdfWithHtml2Canvas()\" color='primary' mat-raised-button style=\"margin-right: 10px;\">\n Generar PDF\n </button>\n</div>", styles: [".img{background-size:100%!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;height:22mm!important;margin:0!important;padding:0!important}h2{font-size:1rem!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}h3{line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}.text-header{line-height:1.5!important;font-weight:700!important}.text-uppercase{text-transform:uppercase!important}.wrap-text{white-space:pre-wrap!important}.text-content{padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.borde{border:1px solid blue!important}.border-r{border-right:1px solid blue!important;min-height:100%!important;align-self:stretch!important}.container-text{display:flex!important;justify-content:center!important;align-items:center!important;min-height:inherit!important}.container-headers{display:flex!important;align-items:center!important;justify-content:space-evenly!important;width:100%!important;min-height:8mm!important;background:rgba(240,244,255,.6117647059)!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.container-headers h2,.container-headers h3{font-weight:700!important}.flexible-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:11mm!important}.header-section{min-height:25mm!important}.footer-section{min-height:14mm!important;background:rgba(240,244,255,.35)!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.description-section{min-height:20mm!important;padding:10px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.w-100{width:100%!important}.text-start{text-align:start!important}.white-background{background-color:#fff!important}.download-container{display:flex!important;justify-content:center!important;margin-top:15px!important}\n"], dependencies: [{ kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] });
1645
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TemplateFuelComponent, decorators: [{
1681
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateFuelComponent, decorators: [{
1646
1682
  type: Component,
1647
- args: [{ selector: 'app-template-fuel', template: "<mat-dialog-content id=\"templateFO\" #templateFO>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de combustible</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:44%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <!-- <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div> -->\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Datos del proveedor</h3>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Lugar:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.namePlace}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressPlace}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Detalles del servicio</h3>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h3 class=\"wrap-text text-start\">{{data.detalle}}</h3>\n <h3 class=\"wrap-text text-start\">Descripci\u00F3n: {{data.description}}</h3>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden de venta o factura</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n</mat-dialog-content>\n\n<div class=\"download-container\">\n <button (click)=\"generatePdfWithHtml2Canvas()\" color='primary' mat-raised-button style=\"margin-right: 10px;\">\n Generar PDF\n </button>\n</div>", styles: [".img{background-size:100%!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;height:22mm!important;margin:0!important;padding:0!important}h2{font-size:1rem!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}h3{line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}.text-header{line-height:1.5!important;font-weight:700!important}.text-uppercase{text-transform:uppercase!important}.wrap-text{white-space:pre-wrap!important}.text-content{padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.borde{border:1px solid blue!important}.border-r{border-right:1px solid blue!important;min-height:100%!important;align-self:stretch!important}.container-text{display:flex!important;justify-content:center!important;align-items:center!important;min-height:inherit!important}.container-headers{display:flex!important;align-items:center!important;justify-content:space-evenly!important;width:100%!important;min-height:8mm!important;background:rgba(240,244,255,.6117647059)!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.container-headers h2,.container-headers h3{font-weight:700!important}.flexible-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:11mm!important}.header-section{min-height:25mm!important}.footer-section{min-height:14mm!important;background:rgba(240,244,255,.35)!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.description-section{min-height:20mm!important;padding:10px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.w-100{width:100%!important}.text-start{text-align:start!important}.white-background{background-color:#fff!important}.download-container{display:flex!important;justify-content:center!important;margin-top:15px!important}\n"] }]
1683
+ args: [{ selector: 'app-template-fuel', template: "<mat-dialog-content id=\"templateFO\" #templateFO>\n <div class=\"d-flex flex-column w-100 white-background\">\n\n <!-- Encabezado -->\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:20%\">\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\n </div>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h2>Orden de combustible</h2>\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.area}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.code}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Fecha:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.date}}</h2>\n </div>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Operario:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:44%\">\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\n </div>\n <!-- <div class=\"border-r container-text\" style=\"width:12%\">\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:16%\">\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\n </div> -->\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Datos del proveedor</h3>\n </div>\n\n <div class=\"borde flexible-row\">\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Lugar:</h2>\n </div>\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.namePlace}}</h2>\n </div>\n <div class=\"border-r container-text\" style=\"width:15%\">\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:35%\">\n <h2 class=\"wrap-text\">{{data.addressPlace}}</h2>\n </div>\n </div>\n\n <div class=\"borde container-headers\">\n <h3>Detalles del servicio</h3>\n </div>\n\n <div class=\"borde w-100 description-section\">\n <h3 class=\"wrap-text text-start\">{{data.detalle}}</h3>\n <h3 class=\"wrap-text text-start\">Descripci\u00F3n: {{data.description}}</h3>\n </div>\n\n <div class=\"borde w-100 flexible-row\">\n <div class=\"border-r container-text\" style=\"width:35%\">\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\n </div>\n <div class=\"container-text text-content\" style=\"width:65%\">\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\n </div>\n </div>\n\n <!-- piso -->\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\n <h2>Favor adjuntar la orden de venta o factura</h2>\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\n </div>\n\n </div>\n</mat-dialog-content>\n\n<div class=\"download-container\">\n <button (click)=\"generatePdfWithHtml2Canvas()\" color='primary' mat-raised-button style=\"margin-right: 10px;\">\n Generar PDF\n </button>\n</div>", styles: [".img{background-size:100%!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;height:22mm!important;margin:0!important;padding:0!important}h2{font-size:1rem!important;line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}h3{line-height:1.2!important;margin:0!important;padding:0!important;text-align:center!important}.text-header{line-height:1.5!important;font-weight:700!important}.text-uppercase{text-transform:uppercase!important}.wrap-text{white-space:pre-wrap!important}.text-content{padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.borde{border:1px solid blue!important}.border-r{border-right:1px solid blue!important;min-height:100%!important;align-self:stretch!important}.container-text{display:flex!important;justify-content:center!important;align-items:center!important;min-height:inherit!important}.container-headers{display:flex!important;align-items:center!important;justify-content:space-evenly!important;width:100%!important;min-height:8mm!important;background:#f0f4ff9c!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.container-headers h2,.container-headers h3{font-weight:700!important}.flexible-row{display:flex!important;flex-direction:row!important;align-items:stretch!important;min-height:11mm!important}.header-section{min-height:25mm!important}.footer-section{min-height:14mm!important;background:#f0f4ff59!important;padding:5px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.description-section{min-height:20mm!important;padding:10px!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.w-100{width:100%!important}.text-start{text-align:start!important}.white-background{background-color:#fff!important}.download-container{display:flex!important;justify-content:center!important;margin-top:15px!important}\n"] }]
1648
1684
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
1649
1685
  type: Inject,
1650
1686
  args: [MAT_DIALOG_DATA]
1651
1687
  }] }, { type: i1.MatDialog }, { type: MessageService }, { type: FuelOrderPdfService }]; } });
1652
1688
 
1653
1689
  class BreadCrumbComponent {
1690
+ router;
1691
+ menu = [];
1692
+ selectRouter = new EventEmitter();
1654
1693
  constructor(router) {
1655
1694
  this.router = router;
1656
- this.menu = [];
1657
- this.selectRouter = new EventEmitter();
1658
1695
  }
1659
1696
  ngOnInit() {
1660
1697
  }
@@ -1663,10 +1700,10 @@ class BreadCrumbComponent {
1663
1700
  this.router.navigate([menu.router]);
1664
1701
  this.selectRouter.emit(menu);
1665
1702
  }
1703
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BreadCrumbComponent, deps: [{ token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Component });
1704
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BreadCrumbComponent, selector: "app-bread-crumb", inputs: { menu: "menu" }, outputs: { selectRouter: "selectRouter" }, ngImport: i0, template: "<div aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <li *ngFor=\"let m of menu\" [class]=\"m.current?'active':''\" class=\"breadcrumb-item\" (click)=\"handlerRouter(m)\">{{m.name}}</li>\n </ol>\n</div>\n", styles: [".breadcrumb-item{cursor:pointer}.breadcrumb{background-color:#b7b9bb!important;padding:10px;margin:0}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1666
1705
  }
1667
- BreadCrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbComponent, deps: [{ token: i1$4.Router }], target: i0.ɵɵFactoryTarget.Component });
1668
- BreadCrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BreadCrumbComponent, selector: "app-bread-crumb", inputs: { menu: "menu" }, outputs: { selectRouter: "selectRouter" }, ngImport: i0, template: "<div aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <li *ngFor=\"let m of menu\" [class]=\"m.current?'active':''\" class=\"breadcrumb-item\" (click)=\"handlerRouter(m)\">{{m.name}}</li>\n </ol>\n</div>\n", styles: [".breadcrumb-item{cursor:pointer}.breadcrumb{background-color:#b7b9bb!important;padding:10px;margin:0}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1669
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BreadCrumbComponent, decorators: [{
1706
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BreadCrumbComponent, decorators: [{
1670
1707
  type: Component,
1671
1708
  args: [{ selector: 'app-bread-crumb', template: "<div aria-label=\"breadcrumb\">\n <ol class=\"breadcrumb\">\n <li *ngFor=\"let m of menu\" [class]=\"m.current?'active':''\" class=\"breadcrumb-item\" (click)=\"handlerRouter(m)\">{{m.name}}</li>\n </ol>\n</div>\n", styles: [".breadcrumb-item{cursor:pointer}.breadcrumb{background-color:#b7b9bb!important;padding:10px;margin:0}\n"] }]
1672
1709
  }], ctorParameters: function () { return [{ type: i1$4.Router }]; }, propDecorators: { menu: [{
@@ -1676,15 +1713,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1676
1713
  }] } });
1677
1714
 
1678
1715
  class ButtonIconComponent {
1679
- constructor() {
1680
- this.clickButton = new EventEmitter();
1681
- }
1716
+ clickButton = new EventEmitter();
1717
+ items;
1718
+ constructor() { }
1682
1719
  ngOnInit() {
1683
1720
  }
1721
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1722
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonIconComponent, selector: "app-button-icon", inputs: { items: "items" }, outputs: { clickButton: "clickButton" }, ngImport: i0, template: "<div style=\"height: 100%\" class=\"d-flex flex-wrap justify-content-around align-items-center\">\n <div *ngFor=\"let item of items\" [class]=\"items.length > 6 ? 'col-3' : 'col-4'\">\n <div *ngIf=\"item.active\" class=\"icon-menu\" matTooltip=\"{{ item.description }}\" matTooltipPosition=\"above\" matTooltipClass=\"custom-tooltip\">\n <button style=\"border: none; background: transparent\">\n <div [class]=\"'icon mat-elevation-z6'\" [style.background]=\"item.color\" matRipple (click)=\"clickButton.emit(item)\">\n <i [class]=\"'fa iconFa fa-' + item.icon\" [style.color]=\"item.iconColor ?? 'white'\"></i>\n </div>\n </button>\n <div>\n <h3 style=\"text-align: center; line-height: 20px\">{{ item.name }}</h3>\n </div>\n </div>\n </div>\n</div>\n\n\n\n", styles: ["div.icon-menu{display:flex;align-items:center;flex-direction:column}div.icon{width:120px;background-color:#fff;height:120px;border-radius:22px;cursor:pointer;display:flex;justify-content:center;align-items:center}.iconFa{width:70px;height:70px}font{font-size:.6rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}@media screen and (max-height: 360px){div.icon{width:90px;height:90px;border-radius:18px}.iconFa{width:50px;height:50px}h3{font-size:70%}}@media screen and (max-width: 360px){div.icon{width:80px;height:80px;border-radius:20px}.iconFa{width:50px;height:50px}h3{font-size:70%}}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8$1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i7$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
1684
1723
  }
1685
- ButtonIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1686
- ButtonIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ButtonIconComponent, selector: "app-button-icon", inputs: { items: "items" }, outputs: { clickButton: "clickButton" }, ngImport: i0, template: "<div style=\"height: 100%\" class=\"d-flex flex-wrap justify-content-around align-items-center\">\n <div *ngFor=\"let item of items\" [class]=\"items.length > 6 ? 'col-3' : 'col-4'\">\n <div *ngIf=\"item.active\" class=\"icon-menu\" matTooltip=\"{{ item.description }}\" matTooltipPosition=\"above\" matTooltipClass=\"custom-tooltip\">\n <button style=\"border: none; background: transparent\">\n <div [class]=\"'icon mat-elevation-z6'\" [style.background]=\"item.color\" matRipple (click)=\"clickButton.emit(item)\">\n <i [class]=\"'fa iconFa fa-' + item.icon\" [style.color]=\"item.iconColor ?? 'white'\"></i>\n </div>\n </button>\n <div>\n <h3 style=\"text-align: center; line-height: 20px\">{{ item.name }}</h3>\n </div>\n </div>\n </div>\n</div>\n\n\n\n", styles: ["div.icon-menu{display:flex;align-items:center;flex-direction:column}div.icon{width:120px;background-color:#fff;height:120px;border-radius:22px;cursor:pointer;display:flex;justify-content:center;align-items:center}.iconFa{width:70px;height:70px}font{font-size:.6rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}@media screen and (max-height: 360px){div.icon{width:90px;height:90px;border-radius:18px}.iconFa{width:50px;height:50px}h3{font-size:70%}}@media screen and (max-width: 360px){div.icon{width:80px;height:80px;border-radius:20px}.iconFa{width:50px;height:50px}h3{font-size:70%}}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8$1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i7$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
1687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonIconComponent, decorators: [{
1724
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonIconComponent, decorators: [{
1688
1725
  type: Component,
1689
1726
  args: [{ selector: 'app-button-icon', template: "<div style=\"height: 100%\" class=\"d-flex flex-wrap justify-content-around align-items-center\">\n <div *ngFor=\"let item of items\" [class]=\"items.length > 6 ? 'col-3' : 'col-4'\">\n <div *ngIf=\"item.active\" class=\"icon-menu\" matTooltip=\"{{ item.description }}\" matTooltipPosition=\"above\" matTooltipClass=\"custom-tooltip\">\n <button style=\"border: none; background: transparent\">\n <div [class]=\"'icon mat-elevation-z6'\" [style.background]=\"item.color\" matRipple (click)=\"clickButton.emit(item)\">\n <i [class]=\"'fa iconFa fa-' + item.icon\" [style.color]=\"item.iconColor ?? 'white'\"></i>\n </div>\n </button>\n <div>\n <h3 style=\"text-align: center; line-height: 20px\">{{ item.name }}</h3>\n </div>\n </div>\n </div>\n</div>\n\n\n\n", styles: ["div.icon-menu{display:flex;align-items:center;flex-direction:column}div.icon{width:120px;background-color:#fff;height:120px;border-radius:22px;cursor:pointer;display:flex;justify-content:center;align-items:center}.iconFa{width:70px;height:70px}font{font-size:.6rem}::ng-deep .custom-tooltip{background-color:#fbe870!important;color:#000!important;line-height:17px!important;font-size:.8rem}@media screen and (max-height: 360px){div.icon{width:90px;height:90px;border-radius:18px}.iconFa{width:50px;height:50px}h3{font-size:70%}}@media screen and (max-width: 360px){div.icon{width:80px;height:80px;border-radius:20px}.iconFa{width:50px;height:50px}h3{font-size:70%}}\n"] }]
1690
1727
  }], ctorParameters: function () { return []; }, propDecorators: { clickButton: [{
@@ -1694,13 +1731,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1694
1731
  }] } });
1695
1732
 
1696
1733
  class CarouselItemDirective {
1734
+ templateRef;
1735
+ carouselItem;
1697
1736
  constructor(templateRef) {
1698
1737
  this.templateRef = templateRef;
1699
1738
  }
1739
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CarouselItemDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1740
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CarouselItemDirective, selector: "[carouselItem]", inputs: { carouselItem: "carouselItem" }, ngImport: i0 });
1700
1741
  }
1701
- CarouselItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CarouselItemDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1702
- CarouselItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: CarouselItemDirective, selector: "[carouselItem]", inputs: { carouselItem: "carouselItem" }, ngImport: i0 });
1703
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CarouselItemDirective, decorators: [{
1742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CarouselItemDirective, decorators: [{
1704
1743
  type: Directive,
1705
1744
  args: [{
1706
1745
  selector: '[carouselItem]'
@@ -1710,11 +1749,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1710
1749
  }] } });
1711
1750
 
1712
1751
  class CarouselComponent {
1752
+ cdr;
1753
+ carouselInterval = 0;
1754
+ enableControlsOffset = true;
1755
+ sortedCarouselItems = [];
1756
+ carouselItems;
1713
1757
  constructor(cdr) {
1714
1758
  this.cdr = cdr;
1715
- this.carouselInterval = 0;
1716
- this.enableControlsOffset = true;
1717
- this.sortedCarouselItems = [];
1718
1759
  }
1719
1760
  ngOnInit() { }
1720
1761
  ngAfterContentInit() {
@@ -1729,10 +1770,10 @@ class CarouselComponent {
1729
1770
  this.sortedCarouselItems = this.carouselItems.toArray().sort((a, b) => a.carouselItem - b.carouselItem);
1730
1771
  console.log('Ítems ordenados:', this.sortedCarouselItems.map(item => item.carouselItem));
1731
1772
  }
1773
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CarouselComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1774
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CarouselComponent, selector: "app-carousel", inputs: { carouselInterval: "carouselInterval", enableControlsOffset: "enableControlsOffset" }, queries: [{ propertyName: "carouselItems", predicate: CarouselItemDirective }], ngImport: i0, template: "<div [class.controls-offset-enabled]=\"enableControlsOffset\">\n <ngb-carousel *ngIf=\"sortedCarouselItems.length\" [interval]=\"carouselInterval\" [showNavigationIndicators]=\"false\">\n <ng-container *ngFor=\"let item of sortedCarouselItems\">\n <ng-template ngbSlide [id]=\"'carouselItem' + item.carouselItem\">\n <div class=\"item-container\">\n <ng-container *ngTemplateOutlet=\"item.templateRef\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </ngb-carousel>\n</div>", styles: ["::ng-deep .carousel-control-next-icon{background-image:url(data:image/png;base64,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)!important}::ng-deep .carousel-control-next{display:flex!important;justify-content:flex-end!important}::ng-deep .carousel-control-prev-icon{background-image:url(data:image/png;base64,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)!important}::ng-deep .carousel-control-prev{display:flex!important;justify-content:flex-start!important}::ng-deep .carousel-indicators li{background-color:#212121!important}.item-container{min-height:60vh;margin:0 30px}::ng-deep .carousel-control-prev,::ng-deep .carousel-control-next{width:48px!important;min-width:0!important;max-width:48px!important;align-items:center!important;justify-content:center!important;background:transparent!important;z-index:2;border-radius:50%;top:50%;transform:translateY(-50%);height:48px!important;padding:0!important}@media screen and (max-width: 600px){.item-container{margin:0 10px}::ng-deep .carousel-control-prev,::ng-deep .carousel-control-next{width:32px!important;height:32px!important}.controls-offset-enabled ::ng-deep .carousel-control-prev{left:-15px!important}.controls-offset-enabled ::ng-deep .carousel-control-next{right:-15px!important}}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.NgbCarousel, selector: "ngb-carousel", inputs: ["animation", "activeId", "interval", "wrap", "keyboard", "pauseOnHover", "pauseOnFocus", "showNavigationArrows", "showNavigationIndicators"], outputs: ["slide", "slid"], exportAs: ["ngbCarousel"] }, { kind: "directive", type: i2.NgbSlide, selector: "ng-template[ngbSlide]", inputs: ["id"], outputs: ["slid"] }] });
1732
1775
  }
1733
- CarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CarouselComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1734
- CarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CarouselComponent, selector: "app-carousel", inputs: { carouselInterval: "carouselInterval", enableControlsOffset: "enableControlsOffset" }, queries: [{ propertyName: "carouselItems", predicate: CarouselItemDirective }], ngImport: i0, template: "<div [class.controls-offset-enabled]=\"enableControlsOffset\">\n <ngb-carousel *ngIf=\"sortedCarouselItems.length\" [interval]=\"carouselInterval\" [showNavigationIndicators]=\"false\">\n <ng-container *ngFor=\"let item of sortedCarouselItems\">\n <ng-template ngbSlide [id]=\"'carouselItem' + item.carouselItem\">\n <div class=\"item-container\">\n <ng-container *ngTemplateOutlet=\"item.templateRef\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </ngb-carousel>\n</div>", styles: ["::ng-deep .carousel-control-next-icon{background-image:url(data:image/png;base64,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)!important}::ng-deep .carousel-control-next{display:flex!important;justify-content:flex-end!important}::ng-deep .carousel-control-prev-icon{background-image:url(data:image/png;base64,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)!important}::ng-deep .carousel-control-prev{display:flex!important;justify-content:flex-start!important}::ng-deep .carousel-indicators li{background-color:#212121!important}.item-container{min-height:60vh;margin:0 30px}::ng-deep .carousel-control-prev,::ng-deep .carousel-control-next{width:48px!important;min-width:0!important;max-width:48px!important;align-items:center!important;justify-content:center!important;background:transparent!important;z-index:2;border-radius:50%;top:50%;transform:translateY(-50%);height:48px!important;padding:0!important}@media screen and (max-width: 600px){.item-container{margin:0 10px}::ng-deep .carousel-control-prev,::ng-deep .carousel-control-next{width:32px!important;height:32px!important}.controls-offset-enabled ::ng-deep .carousel-control-prev{left:-15px!important}.controls-offset-enabled ::ng-deep .carousel-control-next{right:-15px!important}}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.NgbCarousel, selector: "ngb-carousel", inputs: ["animation", "activeId", "interval", "wrap", "keyboard", "pauseOnHover", "pauseOnFocus", "showNavigationArrows", "showNavigationIndicators"], outputs: ["slide", "slid"], exportAs: ["ngbCarousel"] }, { kind: "directive", type: i2.NgbSlide, selector: "ng-template[ngbSlide]", inputs: ["id"], outputs: ["slid"] }] });
1735
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CarouselComponent, decorators: [{
1776
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CarouselComponent, decorators: [{
1736
1777
  type: Component,
1737
1778
  args: [{ selector: 'app-carousel', template: "<div [class.controls-offset-enabled]=\"enableControlsOffset\">\n <ngb-carousel *ngIf=\"sortedCarouselItems.length\" [interval]=\"carouselInterval\" [showNavigationIndicators]=\"false\">\n <ng-container *ngFor=\"let item of sortedCarouselItems\">\n <ng-template ngbSlide [id]=\"'carouselItem' + item.carouselItem\">\n <div class=\"item-container\">\n <ng-container *ngTemplateOutlet=\"item.templateRef\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </ngb-carousel>\n</div>", styles: ["::ng-deep .carousel-control-next-icon{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYAAAAF/CAYAAABAAx5zAAAACXBIWXMAABJ0AAASdAHeZh94AAA4zUlEQVR4Xu2dCXiVxfX/2cIW2cNOQAxgWBLWAGGXTRalooAiWq2KW10KotZirW1/KrVaBRXrWutaFAFRFBSQHRIghCXsBEF2AoQlyJLlfw7N6//2GshNct9752Y+eZ77RMl933fm886c75wzM2dKlOAHAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEAhtAiVDu/h2lP6HH35okJyc3DYxMTE+NTW1SVpaWo2MjIzwrKys0qVKlcouW7bs+csuuywjIiIirW7duvvatWu3qnfv3vNq1qyZZgchagkBCECgGBHYunVr1GuvvXb/VVdd9b0adjXw5cqVOxcWFpYtn5wyZcr84qN/UzGoWLHimRo1ahzt3r370okTJ445cuRI9WKEhqpAAAIQKH4Ejh49Wm3KlCnDBw8e/HW1atWOVahQ4Sc19FLTQn1Kly6dI/c4W6dOnQO33377BwsWLOglXkOp4keOGkEAAhAIUQISzqkwa9asAc2bN0+Rkf4pMfrZhTX6F7tOvYPKlSufHDp06IzVq1e3C1FUFBsCEIBA8SGwcePGZjfffPMnYpxP6Ig9LwNesmTJHIn15+hv/bvz//p9/XfPa/T/NUQkoaA87yXikiUhpSOPPPLIS3v27KlffEhSEwhAAAIhQuDkyZPh77333q21a9feL8Y62zHu3gIgcf8c/ZQvX/6CYc/PM3AEQL97KUGR+51v2LDh7pdffnns2bNny4YINooJAQhAILQJyEqeRiNHjvxEwz0XM9L5GXpf/67C4ngM3t6C/nt4ePiZESNGfJ6UlNQ2tKlSeghAAAKGE0hISOjQvn37lbqiJ69Rvz8EQQ39pT7e4qHeQv369ff97W9/+316enoVwxFSPAhAAAKhR2DJkiVdmjZtukVDPt5G2DO+7+vo/mLfy08AVGS8hUavqVSp0mnxTKakpKQ0Dz26lBgCEICAoQSWLl0aL8Z/W15xfH+M+j3FwFcByOu5Ik5ZrVu3Xjd79uyrDUVJsSAAAQiEDoGVK1e2i4qKytP4F3W0X5jrPQUir+tVpJo0aZI6Y8aM60KHMiWFAAQgYBiBnTt3NpLUDKt9WcFTGGNemGscAbjUtboBLTIycv8nn3xys2FIKQ4EIAAB8wmcOnUq/JZbbvlYJnwzHWN7sfX5hTHkhb3GFwHQe6sINGrUaM/UqVOHm0+bEkIAAhAwiMCkSZMelKWepz1X++ia/sIabn9d56sAOCIgieWWfPrppzcZhJaiQAACEDCXgEz6dq5Vq9YBz7X33uvw/WXQC3of70ni/K5XTyA6Onr7zJkzf2UucUoGAQhAwAACx48fr6wJ3UyK+3sa+YIKgF6rdZH9Cxs+//xzwkEGtDGKAAEIGErgX//61+2yw/Z0fiPrYP29MAKgZZUMpVmdO3deO3369BsMRU+xIAABCASPwK5duyJlvf9Wf6/t96dYFFYAtAySSC7ryiuv3P3ZZ5/dGDzKPBkCEICAgQTGjx//jCRaO+MYbFPi/kUNATnXq7DJxHZOq1attn3xxRfXGfgKKBIEIACBwBM4cOBA7Xr16u0zbdWPt/dQFA9A76XXy6ljOS1bttw+bdq0YYEnzRMhAAEIGEbgww8/HOUZ+1dDacK6fzcEQOumnkBMTMyWL7/8cohhr4LiQAACEAgsgdtuu+0DPXDF5PCPM4LPLx2Et2h4/r9nimn1BLp27bpKRIAlooFtbjwNAhAwhYAcvF6tcePGqU74pyCbrS5lbN34W1FDQFomRwT0t4qAzAlslQRyA015H5QDAhCAQMAIzJkzp5+ERDI8R/+mioA/BMCppyMEjgh88803gwIGnQdBAAIQMIHAM888M17i/edtFQAVAj22UjyBLfPmzetrwjuhDBCAAARcJ5CRkVFBdv5+4532wSYPwPEEVATi4uLWikc0wHXwPAACEIBAsAmkpaVVk3z/2/Ma/Zu4D8CNeQXPiWFZCZXTpk2bTXPnzu0X7HfD8yEAAQi4SmDHjh2X16xZ8xACUPLns4jleMmc2NjYreIJMDHsauvj5hCAQFAJyEHvcZInJ91mAfD0KtTr0R3DKgJt27bduGDBgquC+oJ4OAQgAAG3CMyaNWtQ5cqV81wBZEsIyDus5Mx/aDioU6dOyYiAW62P+0Kg8ARKFf5SrnQIyB6AiOzs7DCI/JeAGP+fUZw5c6bExo0bW0uOpBeWL1/eBUYQgIA5BBAAP7yLEydOVBEBKO2HWxWLWwiLEs4nJyenxOnTp0ts3ry59bhx415dvHhxj2JRSSoBgWJAAAHww0uUUW55MXQl/XCrYnsLEcnSKgKPP/74y3JaWrdiW1EqBoEQIoAA+OFlyWgXjpfgqF6AegTp6emlNmzY0Paee+55b9GiRT39gJ5bQAACRSCA4SoCPOdSSQCX6YfbFMtbqOHXHxUB/ZFNcyXk0JyoRx555BXmBIrlK6dSIUQAAfDDy6pQocJp2QilWUD5yYOA53yAMyewZcuWmLFjx77GnABNBgLBI4AA+IG9rHc/IQKAF1AAluoJbN26Nfaxxx6buGzZsq4FuJSvQgACEDCHgGTAvFr2ARzXSId+/Jlt07lncfjtzUU3iwm3nPbt229ABMxpz5QEAhAoAIHVq1e3kZ3ARxCA/wpgfh9vIdAdwx07dkxetWpVhwJg56sQgAAEgk9g7969tevWrbsXAcjf+HuLgyMG6gmoCCQmJnYM/hulBBCAAAR8JHDq1KkKPXr0WCDGTJe8EALywQvISyw1bYSKwMqVK+N8RM/XIAABCASXQFZWVkk5EOYPciDM2bwMW34hEZv/7h0OyhWBNYSDgtumeToEIFAAArKxqauEMdIRgIKHgTy9Jj1XQIRUD5pPXLt2bWwBXgFfhQAEIBAcAocOHarRqFGjnWLAfhEGsnmE72vdHU9ABUCvkfOVc/r167coKSmpXXDeKE+FAAQg4COBzMzM0r/+9a8/kF3B5zxHtLamg/bV8F/se8otIiLi7IABAxaIJ9Dax9fA1yAAAQgEh8BXX301WJY0nvQOAxXVGNp4vXoCuk9AROC8TLAnrFmzpm1w3ipPhQAEIOADAQkDRTRo0GC3E8Yw9VD4UBAUZeicLCbhoOzu3bsnrF+/PsaH18BXIAABCASegIaBRo8e/U65cuUuzAM4oaBQMLgmltHzoHmdE5CJ4ZXMCQS+XfNECEDARwJy+lV07dq193t6ASYa11Apk6cI6BLRLl26rExOTmZOwMf2yNcgAIEAEpA9AaUky+U/ypcvf2EymE/RGTgioL8l82pOnz59FuMJBLBR8ygIQMB3Ajt37rxcl4SyAqjoxl8F1NMLUKY6JyCewCo8Ad/bJN+EAAQCROD8+fNlPvroo5tlRdApPAD/iIC3EDhzAuwYDlCj5jEQgIDvBI4dO1a1b9++c8PCwv5nQhivoPCC4O0JyM7rbJ0Ylmys7X1/M3wTAhCAQAAIyGlXXWvVqnXI0+gjAEUXAO/VQZ06dVpDArkANGgeAQEI+E7g3LlzYS+++OIjEgrK8N4bgBD4Twg0HMScgO/tkm9CAAIBIpCenl5F9wbIEsZfZAplfqDwIuCwc7wBRwSYEwhQw+YxEICAbwRkh3DNESNGTK1YseJ5x3DhARTd+HtODDtLRCUclIQI+NYu+RYEIBAgAnJqWL1rrrnma1nH/rMI4AEUXQQ89wg4IhAfH78aEQhQw+YxEICAbwRSU1Mb9+7d+3vZJJaF8S+68fdk6D0x3K1bt0QSyPnWLvkWBCAQIALbtm1rItktF0u+IETAjzulvZeIVqlSJVtEYCWeQIAaNo+BAAR8IyD5gppLmGKFZ9I4PAL/eASeWUR1nwCegG9tkm9BAAIBJLBhw4aWMmGZqMcfYvz9Y/w9J4WdVNy6OiguLm4tnkAAGzePggAE8icgO1jbtW3bdg0i4D8B8BQBxxtQEZDzBBIld1Cb/N8K34AABCAQIAKJiYlxrVu3XispI/AE/Dgn4OlVqTegcwJ6shieQIAaNo+BAAR8I7B8+fLOsbGx6xEB/3oCjgg4J4vlzgkwMexbs+RbEIBAoAgsXbq0q3gC62SJ6M/J45gb8J8geM0JrEtISOgUqHfLcyAAAQjkS0CSx3Vv3779GjwB/xl+FVHH+Osh8/oRTyCHJaL5Nke+AAEIBJqAikCrVq1SEAH/ioC3EOicgGzKW7ZixYr4QL9jngcBCEDgogSWLFnSrWXLlhsRAf+KgLcnEBERcb5Xr14rZCK+I80RAhCAgDEEZE6gi04Ms0TUfyLgCICnEKgnIJvyksQT6GzMy6cgEIAABHLnBJLwBPwnAp6hIEcIdE5AThaTFaKrOtDqIAABCBhDYNmyZfG6OggR8K8IqBB4ioEuEZVDZVbjCRjT9CkIBCCgBMQodZJw0DrCQf4XAedcBv2tO4Y7d+6cxJwA/Q4CEDCKgKxb79iuXTtNG8E+AT/uGPYUgFwRyB44cOB88by6GNUAKAwEIGA3Ad281LNnz8V4Av73BJyQkP4WTyBLTxZjs5jd/Y3aQ8A4Apo7SDaLJSEC7omAEw7q2LFjMp6AcV2AAkHAbgIqApJFNBkRcFcEwsPDc8QTWL1y5UpWB9nd5ag9BMwioEYp1xNgTsCPcwKeoSD9bzm0J2fIkCGzWR1kVvunNBCwnoDGqPv37z8PT8BdT0DnBGSJ6CoR3TjrGx0AIAABcwioJ5C7OojzBFzyBHROgH0C5rR5SgIBCHgQ0H0Cbdq0Wet4At4pD7zDGvx/wTwGz/MEJG3EalYH0f0gAAGjCOjEsOMJIAAFM/C+CKLneQIyMbxGDvEhi6hRPYDCQMByAmqU5Ozb5ZLgLFPz3iME/hGCvM4T0DkBdgxb3uGoPgRMI6Dr1nUTk4oAAuAfAXA8BO8sorIpbwWegGk9gPJAwHICep6AxKpXycRllqcn4Euog+9cXDS8PYEaNWqcl4PmZQqGVNKWdzmqDwGzCCxcuLCnzAmsF08gyzFcGHf/eASenpUmkOvQocNaPAGz2j+lgYD1BObPn9+7WbNmO8qUKcMSUZeWiKqoqgho2E0n4q1vdACAAATMITB79uwBUVFROxEB/4z+L+ZFOSJAOMictk9JIAABITBr1qzBjRo1+hERcFcEdB+GhN3W4gnQ7SAAAaMIzJw5c8jll1++GxFwVwQ0d1Dfvn0XskTUqOZPYSAAARUBiVWvQgTcE4HcVNKaO0iydJA7iF4HAQgYRODzzz+/ITIyci8i4I4IOCuEZPWVnjG8ijkBgxo/RYEABEqUmDJlyo01a9Y86hyHeLGJTf694CJRsmTJCzuwdf+FJpCTM4ZXs0SUXgcBCBhF4O9///vjVatWzVCDhaEvuKG/GDPl6YiAx8liazhZzKjmT2EgYDeB9PT0KuPHj59Qr169wwiA/wRAWToi4AiBs0RUsoh2tLvVUXsIQMAYAgcOHKg9evTo9ypWrIgX4OJGMec8AQkHJREOMqb5UxAIQGD37t2RQ4cOnYkI+NcL8PSqPOcEdMewiEBnWh4EIAABIwikpqY2lnNvZ4kIZBIO8r8QOALgTAzL4T0pMifAeQJGtH4KAQEIlFARuO222z5GBNwRAM8EchUqVNAdw+v0JDeaHgQgAAEjCGzfvj1q5MiRn4mBysYT8J8QeJ/LoJPDKgJt27ZdL6m7uxrx8ikEBCAAgS1btjTr16/ffETAXQFwRKB169Ybli5d2oWWBwEIQMAIAps2bYru06fPAhGBLDyBogtBXh6As1TUCQctWLCglxEvn0JAAAIQSElJaTFq1KjPqlevfhoR+F8R8DboRf3/8PDwC+GgRYsWdaflQQACEDCCwNq1a1sPHz78i/Lly7NPwGOfQFENfl7XOyIgnkBPI14+hYAABCCwatWqDnFxcUma5hhP4L+egBsCoPfEE6C/QQACxhHQ3PZ60Aki4K4AOCIQExOziXCQcd2AAkHAXgIqAgMHDpwnCeTO6YYmMokWfnI4Pw9CJ4ZjY2NTEAF7+xs1h4BxBCSFQRdZHbRUUklnIgLuCYCzRFQ8gY3z5s3rbVxDoEAQgICdBGTjUveuXbsmiQhkOyLgPaJlruDS4pCfB+AsEdXJ9xYtWmyeP3/+VXa2NmoNAQgYR2DhwoVXxcfHJ3t6Ap5GDQHwjwCoEKgIdOjQIfm7777rZ1xDoEAQgICdBFQEevfuvcyZE8jLG0AI8haC/DwA77/L6qDsli1bbhYR6Gtna6PWEICAcQRkkrLXr371qzkiAj/PCeAJ5D83UFABcFYHiQhsmT179tXGNQQKBAEI2ElAPQE5/FznBC6IgKcngAfgHw/AEQw9s0HnBBABO/satYaAkQRk92pvFQHxBM4jAP73ADyFNCwsLEc25q35+uuvBxnZGCgUBCBgHwFdHdS/f/8FslmMVNL5HC+ZXwjoYp6Tc12lSpWyWrVqtVlEYKB9LY0aQwACRhKQtMbdevTosYwdw0VbBXSp0JmHCOTonMDMmTOHGNkYKBQEIGAfAfUE5MjDDYjAxUWgsB6ACoNzrYbaxBPI1s1iM2bM+JV9LY0aQwACRhKQ8267aO4gWcNOOCiPcFBRBMDTO9D76MRwkyZNUqdOnXqDkY2BQkEAAvYRSEhI6DRo0KC5V1xxxaFLhTRs/Ju/BMBhV6ZMmZzIyMg9iIB9/YwaQ8BYAppAbsCAAfPxBAp2oExhRFFFoEGDBnunTJkywtgGQcEgAAG7COh5Ap07d16JCPx/EfC3B+DpCagIfPrpp8PtamXUFgIQMJZAUlJSW9knsEJEgDOGfThQpjAegFc4aO9nn302zNgGQcEgAAG7CMjxkrHXXXfdrNq1ax8vioHj2l+uLvL2KC677LKcpk2bpn7++efX29XKqC0EIGAsgXXr1sUOGTLkGznwJBNDnv+OYV8ZeQuALhFVEWjWrNkOmRjGEzC2R1AwCFhGQEQgpmfPnosRAXcFwFMEpk2bNtSyZkZ1IQABUwmsX7++Va9evRYhAv4Rgbw8ACcxn+MJEA4ytTdQLghYSCAlJaXF9ddfP1M2Mp31NdTB9wp3KL3uym7cuPGu6dOnX2dhU6PKEICAiQREBFqOHDlyKp5AwTyB/JaRev9dTxZzRIC0ESb2BMoEAUsJbNiwoaWcLLYAEfBdBAojAI4IyM7snZJA7lpLmxvVhgAETCOwcePG5oiA+wLgnDEcGxub8tVXXw02rR1QHghAwFICmzZtir7pppumypzAOWL9RUsnnZ+HoOcJyMliW7755psBljY3qg0BCJhGYPPmzdEjRoyYRjjIXQHITSWt5wlsRgRM6wWUBwIWE9BwUN++fb8XEfg5bYT3iNZ2DyG/EX5+f3eWiOp5AioCnDFscYej6hAwjYB4AldeffXVcyUcdF6NPQJQsGyivgpArieQFRUVtXPOnDn9TWsHlAcCELCUwJYtW5rdeuutU2rUqPGTpjr2PGzeMXC2egL5GfiC/l2S9GnaiG1z587tbWlzo9oQgIBpBLZu3dr02muvnS0icAYB8D2ddEEFwFkdFB0dvVVEoI9p7YDyQAAClhIQEWg2bNiwmXXq1DnpxK7xAEr9IixWUKPv+X0VAA8R2LJgwYIeljY3qg0BCJhGYNu2bU2GDx/+hRMOQgDcEQBHBPr16zf/+++/72VaO6A8EICApQS2b9/eRJaIzqhfv/4xW2P//qp3ft5CeHh4pmwW27Bw4UI8AUv7G9WGgHEEUlNTrxg1atRnYqDO62jVXwbRtvvkJwD6d2Gc07p16w2LFy/uZlxDoEAQgICdBHbs2BGlWUQRAd9TR3gLnC8CkCsC2SIC65cuXRpvZ2uj1hCAgHEEdu3a1UjTRkiu+7N4AgUXgvwEwFMwypYtmxMfH5+4YsWKTsY1BAoEAQjYSeDHH3+MfPjhhyfLbtafEIGCiUBBNtbpdytXrpzZpUuXxISEhI52tjZqDQEIGEdg79699ceMGfOqiMAZRMB3ESiIAKg3oN+PiIj4qUePHstXr17dzriGQIEgAAE7Cezfv7/uPffc866IAOEgMda+TGgXRgDCwsIuiICc57xkzZo1re1sbdQaAhAwjsDBgwdr//a3v31LQhWEg3wQgYIKgOMF6HUy75I1aNCgb9etW9fKuIZAgSAAATsJqAg8/vjjLzVs2PAQ4aCCpZP2xWvw/I6IQGb37t2XSObWaDtbG7WGAASMI5CWlhYxfvz456tUqYIncAlPoDAegKcAOMdLXnXVVQs1aZ9xDYECQQACdhI4fPhwzbFjx76CCFzcCyiqAKgYqAjIvEtmnz59FmjSPjtbG7WGAASMI6CewGOPPfaSiEAG4aBfCoE/BEBFQNN06xLRwYMHz5ENelcY1xAoEAQgYCcBFYEJEyaMr1q16ik1eAWNcxfn7xdVADyv19VBIgLnZWJ4zg8//NDIztZGrSEAAeMIHD16tNpTTz31rHgCpxGBi58nUFCx8xaQXBHIHDJkyNe7d++ONK4hUCAIQMBOAjonIKuDXmROwD0BcOYE5BznbBGBWbJLu4GdrY1aQwACxhE4cuRI9UcffVTnBE4zJ1D0M5YvFkJStnKOc/b999//1r59++oa1xAoEAQgYCcBFYE//vGPz0VGRrJPwIfNYgUNCznf1+RxIrTnNG33nj176tvZ2qg1BCBgHIHccNA/CAf5ljKiMCKg3oGKQPXq1c/dcsstn0q+pnrGNQQKBAEI2ElARCBC0ka8KStXyB3kkiegIlC+fPkLIqCeAHMCdvY1ag0BIwlI2ohad91117/JIuqOJ6ACULp06Z9FQFi/z5yAkV2BQkHATgJikOo99NBDep4AqaT97Al4ThJrOEgTyMl5ztMJB9nZ16g1BIwkoKPS++67720RgXOsDvKfN+C9Skh3DIsIZA8fPnwGImBkV6BQELCTgKxUaSBx6ilioDho3k+egLcAqLjmikDW0KFDv5IjPRva2dqoNQQgYBwBnaQcOXLkp4iAf7yAvARARUDnBdQTGDZs2Ex2DBvXDSgQBOwloCLwm9/85gPCQfmLQH6Hyl/q77lpI7KuueaaOampqY3tbXHUHAIQMIqAbly6995730EECnagTEEFITeLaNaAAQPmbd++PcqoRkBhIAABewmoCOR6AuwTuMicQEENfl7f13CQCG2WnCewaNOmTZwsZm+Xo+YQMIuArg66++6735XNYuQOykME/CEAzl4BEYFsmRieJcdLNjerFVAaCEDAWgK6WezJJ5/UVNInSSX9vyEhfwmAIwKSQC6na9euCXLQfKy1DY6KQwACZhHQtBHPPPPMk3KozAlE4OLppIsqCLlZRHM6d+68Ojk5ubVZrYDSQAAC1hLQQ2WeffbZ8dWqVUtHBP4rAkU1+BdbJqqeQFxc3BpEwNruRsUhYB6B48ePV540adJDNWrUSNPJSzWCNn/cEgDHE+jWrVtCUlJSO/NaAiWCAASsJHDy5Mnwjz76aGRUVNR2RKBoAngpAcndLJbVpUuXleIJtLGysVFpCEDAPAKnTp2qOH369CG1a9fer2vZbfYCilL3/DwIZ4lo9+7dV6xfv76VeS2BEkEAAlYSOH36dLnZs2f3rVev3h5EoHCeQH4C4LFE9HyPHj2Wy+qgGCsbG5WGAATMI6AisHDhwi5yvOQuSW2QWZTRsI3X5icAOhegH/1eeHh4Vs+ePZexWcy8fkCJIGAtgZ9++qnMihUr2sfExCQjAgXzBC62Csgx/J6/1cuSZbhnBw8e/J1sFmthbYOj4hCAgFkEzpw5UzoxMbFts2bNNhEO8l0E8hMAT6/IySJas2bNDBUB8QTYMWxWN6A0ELCXQEZGRpjMCfSpVavWAQ6V8U0ECioA+n09WUxFoF+/fgvWrFnT1t4WR80hAAGjCMhmscpjx459QQ5CP2djTL+gdS6oADjzAXqd5A7KjI+PX8nqIKO6AIWBgN0EEhISOsTGxq4tqDG08fsFEQDl4z03IDuGs2Sz2HISyNnd56g9BIwhICdc1ZPUxt+VK1eO/QH57JQuqAB4i2TujuHMQYMGfasH+RjTCEKwIKVCsMwUGQLGEZDlihkyD5AmAnDeuMIVwwLpBPzSpUu7v/XWW/dJqo5KxbCKAakSAhAQzDykuBMQw39GEsYdkz0CYcW9ribULycnp8TZs2fLT506dbic31DfhDKFYhkQgFB8a5TZOAIS1sgWETgn4QnjyhZqBVKGl/o49cnOzi4hgltx//799cQjKBtq9TShvAiACW+BMoQ8gczMzLBz586V1ZEpP4EhIBvwStSpU+dA48aNU3NXYAXmwcXoKQhAMXqZVCV4BEQAykosuqpsCMsOXinsebIkjCtx2WWXpd9xxx1vy/6AQ/bU3L81RQD8y5O7WUpANoSFy4qU+hKXpk+53AbU+MtRnaduuOGGz6+++upvRAhOu/xIbg8BCEDg4gQkOVwPmQQ+Kt9gGWgRl4HmlRPI+TdNuREdHb3rwQcffDM1NfUK2iQEIACBoBI4cuRI9dtvv/1DSVeQhQDkL4D57QO4mACo8Zdwz8k777zzI9l30TCoL52HQwACENDVJ5IL6OqIiIg0jH/+xl8ZFUYAcrOCZjz00EP/lGWf9Wh5EIAABIJKQCZ+S23durWJpIReSzZQ34x/YQRA2Up4LWPcuHETZcln3aC+dB4OAQhAQCZ7y2zbti1KJiFny/p/DoUpwNxHQTwAWeqZIwK75cknn3z+8OHDEbQ8CEAAAkElIGGfMB35S+6fuXJYyUnHoBEC8s0L8FUA1PhXr1791LPPPvsnnWcJ6kvn4RCAAARks1eZlJSU5nFxcSskNXGGGjMMv2+G3+HkiwDkGv+MJ5544gWMP/0OAhAIOgE5BrJccnJyTNOmTTdzDGTBjL6nSOYnAGr8a9SocfKvf/3rn+WshWpBf/EUAAIQsJuAhH3KLVu2rHPDhg1/yN3ty8i/AHF/XwVAT/6S9A5HJ02aNEZ2Vle2u9VRewhAIOgE1PgvWrSomximfbILFcNfSMOfXwhIR/6SUjv99ddffwDjH/RmTwEgAAE1/rnr/A9h/Asf9snPA1DjL5u8TkycOHEsxp9+BwEIBJ2AxPzLz5w5c4isREljstc/xl+FwHsOwDH+L7300qPp6elVgv7iKQAEIGA3ATX+//nPf0Zqfh+Mv/+Mv7cASBrnHNlFfeqFF174Pcbf7j5H7SFgBAE1/u+9995vJOPkcc1L4xm+4L+LLgaOB6ATvuJdnXn66aefSUtLY5OXEa2fQkDAYgJq/CdPnvxA5cqVMzD+RTf2eQmmCoAaf1nqeeZ3v/vdZIy/xR2OqkPAFAJq/CUU8bhs8DqD8XfH+KsgaG4fGfmfHT169Pvk9jGl9VMOCFhMQA50qfiXv/zlz3K4yFmMv3vGX9k2aNDgyMMPP/zPvXv3cpi7xX2OqkPACAJq/H//+9+/EB4efo4Yv3vGX9lWrFgx+7777nt3586djY14+RQCAhCwl4CuOZc49KsYf3cNvxr/ChUq5PTt23fB9u3bm9jb4qg5BCBgBIETJ05UktHomzIqZeRfxN29+XlOjvHftGlTcyNePoWAAATsJaBrzmUS8h0x/ufzM178vWjeQePGjfePGDHiiy1btlxpb4uj5hCAgBEENOwjZ/i+L6NSRv4uj/xltc/pG2+8ccaGDRtijHj5FAICELCXgOaWv+WWWz4S48/I32Xjr2GfoUOHztq8eXO0vS2OmkMAAkYQ0Nzyd91117uSfoCRfwCM/zXXXDNHRv6tjHj5FAICELCXwMGDB2vdfPPNn4jxZ+TvsvGvX7/+keuvv/4rOTazmb0tjppDAAJGEJBUAzWGDRs2lZF/0SZzfZkMl+R5P40aNWoqxt+Ipk8hIGA3gQMHDtSW0ejnjPzdN/66yeumm26axjp/u/sctYeAEQQOHz4cwcjffcOvnoFspMscPnz4jG3btjU14uVTCAhAwF4CkmSsznXXXTedkb+7ApCb2+ewbKh754cffrjc3hZHzSEAASMIaNjn2muvnVmuXDkmfF2e8JV1/hm33nrrlF27djUy4uVTCAhAwF4Cu3fvjhw0aNAsjL/7I3/JnHr+tttu+0SYN7S3xVFzCEDACAI//vhjAwn7zBDjzzp/F0f+GvZR43/nnXe+z8jfiKZPISBgN4EdO3Zc0b9//zmM/N0f+Us+/4MS8397z549DexuddQeAhAIOgE1/j169Fggxwxm6ooUPu4w0JG/HOB+XM9O4DCXoDd7CgABCEiGyabdu3dfiPF3x+g7YqrGX85J/klO8npNV1jR8iAAAQgElYAaf1nt86UYf1b7uOj5OMZ/zJgxr+zbt69uUF86D4cABCAgScZa9OrV63tG/u6P/KtUqXL68ccff0HzKdHyIAABCASVgJwqdWXnzp2XYfwDY/z/+Mc/Pqt7K4L60nk4BCAAgY0bN0bHx8cvFeOfxWSvewKgYR8Z+WeMGzfupUOHDtWk5UEAAhAIKoGUlJTmnTp1Ws7I3z3Dr6LqGP/HHnvsRUb+QW3yPBwCEFAC69evbylhHzX+jPxdnvCtU6dO2lNPPfV/mkyP1gcBCEAgqAQ07CMj/xUYf/dH/jVr1jz2xBNPPE/YJ6hNnodDAAJKYO3atTEdO3ZMwPi7b/yd1T6M/Ol7EIBA0Alo2Kdr165LwsLCCPu4HPbRCV+Wega9yVMACEBACSQnJ7cW489qHxcNvzPhGxkZuf/JJ598jrAPfQ8CEAg6Ad3kFRcXlygj/2w1UnzcYaCrfTTmP378+Ams9gl6s6cAEIDAunXrYljt447B9xRSJ73D2LFjJ2L86XcQgEDQCcgO32iMf+CMv+T2mURun6A3ewoAAQio8dcJX1b7uCsAOvJv3rz5toceemgyI3/6HQQgEHQCW7dubdqtW7fFGH/3jX/t2rWPSD7/vzPyD3qzpwAQgICkdG7Ws2dPzefPUk8XJ7xzY/6nH3300X8w8qffQQACQSegI//Bgwd/jfF3f+Svh7lozF9O8qoX9BdPASAAAbsJbN68+cp+/frNlTN8OcYxACP/Rx555CVO8rK7z1F7CBhBYPv27VFXXXWVHuZC2Md946/HOL7KyN+Ipk8hIGA3AQ379O7de76M/DH+Lhv/SpUqnbn77rvfYcLX7j5H7SFgBIHU1NTGQ4YM0TN8Mf4BMP733nvvW3v27KlvxMunEBCAgL0Etm3b1uTqq6/+lpG/+xO+mttHT/Ji5G9vf6PmEDCGwI4dO67QsA8jf/eNf0RERPr999//JjF/Y5o/BYGAvQR05N+nT595jPzdN/661POBBx54nZG/vf2NmkPAGAJq/K+99tqvGPkHxvg/+OCDkxn5G9P8KQgE7CUgq32a5a7zZ8LX5QnfmJiYTZrbh5G/vf2NmkPAGAK62od1/u6O+uVl52h6B8ntk6Zn+DLyN6b5UxAI2EtAwj5N+/btqzt8Gfm7PPKXmH+GrvZhh6+9/Y2aQ8AYArLaJ0onfIn5uzv615G/nuGrh7mwzt+Y5k9BIGAvgZ07dzbu37//d+T2CYjxPyUpnZ8nq6e9/Y2aQ8AYArt27WqYu8mLxG4uh32qVq168qmnnvq/gwcP1jKmAVAQCEDATgKa2E1G/rrDF+PvovEvVapUjhp/OcD9uUOHDtW0s7VRawhAwBgCus5fc/tg/N0P+1SrVu3E008//ReMvzHNn4JAwF4Cufn8ifm7OOrXpZ468telnhMmTHgiLS2thr0tjppDAAJGENCRvxzjuIDVPu6O/NX4V69ePf35559//PDhwxh/I1o/hYCAxQQ2bdoUjfF31/A7I38x/sefe+65PzDyt7jDUXUImEJAD3MZOHDgbBn5M+HrYujHGfmr8ZeRf4Qp759yQAAClhLYuHFj89z0Dhh/l41/dHT0tkmTJj189OjRapY2N6oNAQiYQkDDPl27dl3CyN/d0I+O/OvXr7//xRdfHHfkyBGMvykdgHJAwFYCGzZsaJlr/Mnt4/LIv0aNGscmTpz4O0b+tvY26g0BgwisW7cuhpi/u6N+Z8JXjf/LL788hpG/QR2AokDAVgKrV69u361bN8I+Lo76HeMfFRW189VXX33g2LFjVWxtb9QbAhAwhEBycnLr9u3brw4LC8tWI8XHHQYa869bt+5BMf4PStinqiGvn2JAAAK2Eli1alWHXOOP4XdR/NT4a9hHVvs8hPG3tbdRbwgYRCAxMbGj/KyUkT/GPzDG/2HZ5FXdoCZAUSAAARsJJCQkdIqLi1uF8Xcn3OOE0XTkHxERcXTy5Mn3E/O3sadRZwgYRkCNf+vWrddh/ANj/F977bXfEvYxrBNQHAjYSGDZsmVdY2Nj12P8A2P8Gfnb2MuoMwQMJLB06dJukthtcZkyZYj5uxzzJ+xjYAegSBCwlcCiRYt6tmvXLpmRv/sj/8aNG+9644037klPT69sa3uj3hCAgCEElixZ0r1ly5abGfm7b/zr1au3//XXX7+PCV9DGj/FgIDNBNT4t2rVajMjf/eNP2Efm3sadYeAYQQWL17cs3PnzqsY+QfG+OtqH3L7GNYJKA4EbCSgxl92+LLU08XJXmlXF87w1ZH/P//5z3sJ+9jY06gzBAwjIEs9u8k6/42EfQIy8j+iMX/W+RvWCSgOBGwkICP/Xm3atMH4M/K3sflTZwjYS0AmfHt26dIliZF/QEb+pHewt6tRcwiYRWDhwoV9unfvnlS5cuULcWmNT/PxPwNl26JFi81vvvnm3cT8zeoDlAYCVhJQ4x8fH7+uUqVKOaVLl74gAIiAO8Y/MjJyj8T8SexmZU+j0hAwjMD8+fP7d+jQYYsz8neMPwLgXwFwVvu88sor5PM3rA9QHAhYSWDu3LkD5AD3td4jfzwA/xv/3MNcyOdvZU+j0hAwjIAafznMZZMaf89RPyN/d4w/KZ0N6wAUBwK2Epg3b15/Weq5rWLFihcmehEA/xp9Z/KcsI+tPYx6Q8BQAt99990AMf5bWerpjtH3NP4a9pGYPwe4G9oXKBYErCKgYZ9+/fotIbeP+8Zf0ztg/K3qXlQWAuYS+Prrr4dIeodtjPwDY/zJ7WNuX6BkELCKwOzZswc3a9bsR0b+gTH+us6f3D5WdTEqCwEzCcyaNWuIGP89GH/3jb/E/NNffvnlMaR0NrMvUCoIWEVg5syZQ+Ukrx0Y/4AY/2MTJ078nYz8q1nVyKgsBCBgHoFp06aNiI6O3oXxd9/4N2/efOvkyZN/K7l9qprXEigRBCBgFYEvvvji+ssvv/yA5vVxliXy2/9CoOv8GzRosG/SpEkPM/K3qotRWQiYSUBG/sMbN268n5G//w2+p4jmbvI6xsjfzH5AqSBgHYGpU6fe2LBhw4OM/ANi/I9KeocHGPlb182oMATMI/DZZ5/d1KhRI4y/y+cY6Mi/bt26B3Wdf3p6ehXzWgIlggAErCIwffr0G8T472fkz8jfqoZPZSFgOwGZ8B0qMf99xPwDY/z1AHdW+9je66g/BAwg8M033wwS4/8jI//AGH8mfA1o9BQBAhAoUUJO8uojO3xT8xv5lyxZMqewH5aO/jdVtiZ2e+utt0ZLzL8ybQ8CEIBAUAkkJiZ2bNWq1caLGf/CGvxLXWejGKjxr1mz5pE33niDCd+gtngeDgEIXCCQlJTUTs7wXZ1XVk83DL/3PW0RAg2r6chfjP89jPzpfBCAQNAJpKSktOjUqVOCt/EPhOG3SQi8Rv6EfYLe8ikABCwnsHXr1qY9e/ZcVLZs2WxnFB4Mw1/chUBH/hr2+fe//33b8ePHK1ne7Kg+BCAQbAKpqamN5SSvuaYZf0cMiktYyBn5/+tf//oNxj/YrZ7nQwACJXbs2HHFwIEDZ5crV86okX9x8wSckf+77757B8afjgcBCASdwPbt26P69u07V4z/hayeJoR88itDKHoDOvKvVatWmhj/O8X4E/MPesunABCwnMC2bduaqPGXsE/IGP9QDAnpyL9p06Y7NOZ/4sSJyyxvdlQfAhAINoGdO3de3qdPn3mO8dcRqn7yG32b9PdQ8ATU+Gs+f4n530Fit2C3ep4PAQiU2LdvX90hQ4Z85YR91JAiAP5P9ZAb8z/63nvv/UZG/qz2oe9BAALBJaCj0FGjRn2Sl/EPNQ9AvRFTvQAn5q/Gn5F/cNs8T4cABITA2bNny7700ktjypcvf94xnKE48jd9dZCO/GNjY1M++OCDXxPzp+tBAAJGEPjyyy+vqVy58nHH+JsUzy9qWUzxBNT4y7kJP2rMn6WeRjR7CgEBCOzfv79OTEzMOh3xIwD+j/crUzX+utRTRv63njx5ktU+dDsIQMAMArr5KDw8/HRxNP4mLA11jP/7779PegczmjylgAAElIBOQrZt2zZZRv9G7/QN1TCQY/w/+uijUTLyD6fVQQACEDCGwLRp066vVKnSqeI8+g+WF+AY/w8//PAWJnyNafIUBAIQcAiMHDnyM0nvnIkA+Df27+T2yU3sRnoHuhwEIGAWAdn0VadevXp7nTXzRQ2zhML1jtC5+dsjq+cdjPzNavOUBgIQyCUgh7oPkPDPCRtG/4EKAznGn9w+dDMI+J9AKf/f0t47yiEv0efOnQuzl4B/ay7Gv0SNGjWOPv/8849ed91102Vfhc6t8AMBCPiJAALgJ5Bi+MusW7euTWZm5gUBkBGyn+5s520k5q/G/9iECRMev/7666dWqVJFPSt+IAABCJhHICMjo4Ic7p5kU/zfrTCQE/bRfP7k9jGvrVMiCEDAi4AYqso6ASz/HHL5/os62ezU2R+/1fi3aNFii8T8byerJ90MAu4SIATkJ76nT5+uIAngyvnpdlbeRmP+9evX3zd27NgXJeY/TWL+J60EQaUhAIHQIiBn/V5erVq1Y3gAhVv/r+v8IyIijr3zzjt3cYxjaLV9Shu6BPAA/PTuzpw5Uz4nJweeheCpI38Rz/Tnnnvu90z4FgIgl0CgkATKFPI6LvMiIKuAyiEABW8WavybNWu2Y8yYMS8OHz78P1WrVtUU2vxAAAIBIMCI1U+Qs7KySvvpVtbcRo2/TJwfePjhh1+68cYbP8b4W/PqqaghBBAAP70IGf2z8L8ALNX4i8E/+eijjz5/0003fYTxLwA8vgoBPxEgBOQnkJr+WZZTagpofvIhkBvzP/Hkk0/+Vc5Mfl/j/0CDAAQCTwAB8BPzMmXKnM/dBOanOxbP26jxl129p/7whz88c9ttt71TvXp1XTnFDwQgEAQCCICfoJcrV+6sGLcsP92uWN7GCfs88cQTz2L8i+UrplIhRgAB8NMLK1++/E+yll3PAeAnDwK5I//T48aN+/sdd9zxpiZ5AxQEIBBcAkwC+4l/hQoVzlSsWPE0SeB+CVSZSNgn45FHHvn76NGjX8f4+6nRcRsIFJEAAlBEgM7l4gGcrVmz5lHmAf4XqBr/K6+8cqeu9rn33ntfEUZpfkLObSAAgSISQACKCNC5XEb/P0VHR2+xbR5Alr9elGDuyP/0Lbfc8oGGfSTVwxE/4eY2EICAHwggAH6AqLfQc4C7du26WFYDXZgHuJRh9NMjjb6NGn9J5nb2rrvuelvCPpPr1KlzwOgCUzgIQAACRSEwf/783rKhyfojITUMJjH/nySr56tyTnK9ojDlWghAAAIhQSAtLa1Go0aNdmlOe3UCippnPxSu13p6frTMUVFRe8aPH//8gQMH6oTEi6OQELCUACEgP774yy677JSEgRJkOeiF/QDFPQzkXT8N+wiDczfccMNUnfAl7OPHxsWtIAAB8wksWLCgZ+75tcXeC/Ae+YeHh2dJXp9pP/zww+XmvylKCAEIQMDPBPQYwzZt2qwVL0DzAv0cHgmFcE5Byugd+hHjf15O8Zq1devWZn5Gyu0gAAEIhA6Bjz/++OZKlSplOEayIIY1VL7rKQCyCS5n2LBhMzdt2tQ8dN4SJYUABCDgAoFDhw7VlD0Bm/WYw+IoAp7GXzbA5XTq1Gml/HR0ASW3hAAEIBB6BN5///1fF1cvwBEASYCXExMTkyLzHleF3huixBCAAARcIqAHm3fs2DFRNob9PBcQKuGdS5XTMf5ly5bNadGixaY5c+YMcAkht4UABCAQugQWLVrUTRKfpTn7AtR4hrIIOMZfRC0nMjJyz9dffz04dN8OJYcABCDgIgE5KD5swoQJT+j+gNwkcSG7NNRzLkN2O59644037nMRHbeGAAQgEPoEjh07VvXWW2/9WFbKnHNEQD0Cz08oeAWOAEjSu8ybb755ik50h/7boQYQgAAEXCawe/fuyD59+nwvK2Y0UdwFLyCUBMAps076duvWbemGDRtauYyM20MAAhAoPgRkjXx0fHx8ghjRPEVABcFET8Ax/jLpm6WTvsuXL48vPm+FmkAAAhAIEIG1a9fGtm3bNlmM6f/sEna8AZMEwDH8+ltSXec0adJk+7fffts/QKh4DAQgAIHiRyAxMTEuNjZ2Q14iYIoAeBp/HfnLip8fZ8yYcV3xexvUCAIQgECACSQkJHRs2bLlRm8RcCaJAy0EjsH3XKmk/ybhqqymTZtumzlz5pAAI+JxEIAABIovAUmd0CEuLm61TAyf9za8gRYAz30Kavj1+bJq6Wy7du2SFi9e3K34vgVqBgEIQCBIBHbu3Hn5qFGjpkj66FOeeYM8R+Rui4FnuEf/WzZ5ZVWrVu24nOH775SUlBZBQsNjIQABCBR/Aunp6VU++OCDW+Uksd2yxv6c92jcGZH7Wwi8Db+mr5YzfE9pKut33nnnLk1lUfzpU0MIQAACBhCQtfUt//znP/+lXr16ByX8ciYvISiqGHgbfWfEr4a/devW6/7xj3+Mk2McaxuAgyJAAAIQsI/A6tWr2/3pT3/6a926dQ/o7uG8QkN5GfKC/JveU+YezmioR/cmSFqHe+Xw9rr20abGELCbQEm7q29u7detWxczf/78vm+//fbovXv3Njx79myY5BYqnZWVVbqgZw3rWb3iUWTLqqPz6l3oss7+/ft/27lz5+WyQ/k7ye1z3FwSlAwCEHCLAALgFlk/3VeMf73k5OS2y5Yt6ybHLV65YsWKzqdOnapy/vx5FYNS+hgRhJ/fozNXoAZfD6eXT6Ymo2vVqtVGNfayByFZNqMlRUREHPFTEbkNBCAQogQQgBB7cZs3b24m3kEbCdnUl0Rz1U6fPl1RxCAsOztbbH6pHBnln5PzeU9Vr179qIR4joqhT2vWrNmWOnXqHJBJ5p9CrLoUFwIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIBAqBL4f9t8QTLxeH4PAAAAAElFTkSuQmCC)!important}::ng-deep .carousel-control-next{display:flex!important;justify-content:flex-end!important}::ng-deep .carousel-control-prev-icon{background-image:url(data:image/png;base64,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)!important}::ng-deep .carousel-control-prev{display:flex!important;justify-content:flex-start!important}::ng-deep .carousel-indicators li{background-color:#212121!important}.item-container{min-height:60vh;margin:0 30px}::ng-deep .carousel-control-prev,::ng-deep .carousel-control-next{width:48px!important;min-width:0!important;max-width:48px!important;align-items:center!important;justify-content:center!important;background:transparent!important;z-index:2;border-radius:50%;top:50%;transform:translateY(-50%);height:48px!important;padding:0!important}@media screen and (max-width: 600px){.item-container{margin:0 10px}::ng-deep .carousel-control-prev,::ng-deep .carousel-control-next{width:32px!important;height:32px!important}.controls-offset-enabled ::ng-deep .carousel-control-prev{left:-15px!important}.controls-offset-enabled ::ng-deep .carousel-control-next{right:-15px!important}}\n"] }]
1738
1779
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { carouselInterval: [{
@@ -1813,10 +1854,10 @@ class FunctionsService {
1813
1854
  number = "0" + number;
1814
1855
  return number;
1815
1856
  }
1857
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FunctionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1858
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FunctionsService, providedIn: 'root' });
1816
1859
  }
1817
- FunctionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FunctionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1818
- FunctionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FunctionsService, providedIn: 'root' });
1819
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FunctionsService, decorators: [{
1860
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FunctionsService, decorators: [{
1820
1861
  type: Injectable,
1821
1862
  args: [{
1822
1863
  providedIn: 'root'
@@ -1824,15 +1865,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1824
1865
  }], ctorParameters: function () { return []; } });
1825
1866
 
1826
1867
  class FiltersComponent {
1868
+ functionEter;
1869
+ http;
1870
+ headerFilters = [];
1871
+ applyFilters = new EventEmitter();
1872
+ headerFiltersValue = "-1";
1873
+ headerFiltersSelected = [];
1874
+ campaignOne;
1875
+ campaignTwo;
1876
+ fecha;
1877
+ movil = ScreenSizeUtil.isMobile();
1878
+ filtersPost = [];
1827
1879
  constructor(functionEter, http) {
1828
1880
  this.functionEter = functionEter;
1829
1881
  this.http = http;
1830
- this.headerFilters = [];
1831
- this.applyFilters = new EventEmitter();
1832
- this.headerFiltersValue = "-1";
1833
- this.headerFiltersSelected = [];
1834
- this.movil = ScreenSizeUtil.isMobile();
1835
- this.filtersPost = [];
1836
1882
  this.loadDates();
1837
1883
  this.loadDatesBetween();
1838
1884
  }
@@ -2018,10 +2064,10 @@ class FiltersComponent {
2018
2064
  this.applyFilters.emit(this.filtersPost);
2019
2065
  }
2020
2066
  }
2067
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FiltersComponent, deps: [{ token: FunctionsService }, { token: HttpService }], target: i0.ɵɵFactoryTarget.Component });
2068
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FiltersComponent, selector: "app-filters", inputs: { headerFilters: "headerFilters" }, outputs: { applyFilters: "applyFilters" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"headerFilters && headerFilters.length > 0\" style=\"display: flex; width: 100%; flex-wrap: wrap;\" class=\"col-12 mb-2\">\n <div class=\"col-md-4 col-12 pe-3\">\n <mat-form-field >\n <mat-label>Filtros</mat-label>\n <mat-select (selectionChange)=\"selectFilter($event)\" [(ngModel)]=\"headerFiltersValue\">\n <mat-option\n *ngFor=\"let f of headerFilters\"\n value=\"{{ f.labelFilter }}\"\n >\n {{ f.labelFilter }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div *ngFor=\"let item of headerFiltersSelected\" class=\"col-md-4 col-12 d-flex align-items-center\">\n <mat-form-field *ngIf=\"item.type == 'select'\">\n <mat-label>Filtrar por {{item.labelFilter}}</mat-label>\n <mat-select (selectionChange)=\"selectFilterData($event, item)\" [value]=\"item.value\">\n <app-select-filter\n [placeholder]=\"'Filter'\"\n [displayMember]=\"item.visibleField\"\n [array]=\"item.body\"\n (filteredReturn)=\"item.filteredList = $event\"\n [noResultsMessage]=\"'No hay resultados'\"\n >\n </app-select-filter>\n <mat-option\n *ngFor=\"let data of item.filteredList\"\n value=\"{{ data[item.primaryKey] }}\"\n >\n {{ data[item.visibleField] }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"item.type == 'date'\" [formGroup]=\"fecha\">\n <mat-label>{{item.labelFilter}}</mat-label>\n <input (dateInput)=\"selectFilterData($event, item)\" matInput [matDatepicker]=\"Fecha\" autocomplete=\"off\" matInput\n formControlName='fecha' required>\n <mat-datepicker-toggle matSuffix [for]=\"Fecha\">\n </mat-datepicker-toggle>\n <mat-datepicker dateInput #Fecha [touchUi]='movil?true:false'></mat-datepicker>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"item.type == 'dateRange'\">\n <mat-label>{{item.labelFilter}}</mat-label>\n <mat-date-range-input\n [formGroup]=\"campaignOne\"\n [rangePicker]=\"campaignOnePicker\"\n [comparisonStart]=\"campaignTwo.value.start\"\n [comparisonEnd]=\"campaignTwo.value.end\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\">\n <input (dateInput)=\"selectFilterData($event, item)\" matEndDate placeholder=\"End date\" formControlName=\"end\">\n </mat-date-range-input>\n <mat-datepicker-toggle matSuffix [for]=\"campaignOnePicker\"></mat-datepicker-toggle>\n <mat-date-range-picker #campaignOnePicker></mat-date-range-picker>\n </mat-form-field>\n\n <div class=\"p-2\" style=\"cursor: pointer\" (click)=\"delteFilter(item)\"><mat-icon>cancel</mat-icon></div>\n\n </div>\n</div>\n", styles: ["mat-form-field{padding:0!important;width:100%}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i7.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: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i9.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i9.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i9.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i9.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i9.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i9.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i9.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: SelectFilterComponent, selector: "app-select-filter", inputs: ["array", "placeholder", "color", "displayMember", "showSpinner", "noResultsMessage", "hasGroup", "groupArrayName"], outputs: ["filteredReturn"] }] });
2021
2069
  }
2022
- FiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FiltersComponent, deps: [{ token: FunctionsService }, { token: HttpService }], target: i0.ɵɵFactoryTarget.Component });
2023
- FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FiltersComponent, selector: "app-filters", inputs: { headerFilters: "headerFilters" }, outputs: { applyFilters: "applyFilters" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"headerFilters && headerFilters.length > 0\" style=\"display: flex; width: 100%; flex-wrap: wrap;\" class=\"col-12 mb-2\">\n <div class=\"col-md-4 col-12 pe-3\">\n <mat-form-field >\n <mat-label>Filtros</mat-label>\n <mat-select (selectionChange)=\"selectFilter($event)\" [(ngModel)]=\"headerFiltersValue\">\n <mat-option\n *ngFor=\"let f of headerFilters\"\n value=\"{{ f.labelFilter }}\"\n >\n {{ f.labelFilter }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div *ngFor=\"let item of headerFiltersSelected\" class=\"col-md-4 col-12 d-flex align-items-center\">\n <mat-form-field *ngIf=\"item.type == 'select'\">\n <mat-label>Filtrar por {{item.labelFilter}}</mat-label>\n <mat-select (selectionChange)=\"selectFilterData($event, item)\" [value]=\"item.value\">\n <app-select-filter\n [placeholder]=\"'Filter'\"\n [displayMember]=\"item.visibleField\"\n [array]=\"item.body\"\n (filteredReturn)=\"item.filteredList = $event\"\n [noResultsMessage]=\"'No hay resultados'\"\n >\n </app-select-filter>\n <mat-option\n *ngFor=\"let data of item.filteredList\"\n value=\"{{ data[item.primaryKey] }}\"\n >\n {{ data[item.visibleField] }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"item.type == 'date'\" [formGroup]=\"fecha\">\n <mat-label>{{item.labelFilter}}</mat-label>\n <input (dateInput)=\"selectFilterData($event, item)\" matInput [matDatepicker]=\"Fecha\" autocomplete=\"off\" matInput\n formControlName='fecha' required>\n <mat-datepicker-toggle matSuffix [for]=\"Fecha\">\n </mat-datepicker-toggle>\n <mat-datepicker dateInput #Fecha [touchUi]='movil?true:false'></mat-datepicker>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"item.type == 'dateRange'\">\n <mat-label>{{item.labelFilter}}</mat-label>\n <mat-date-range-input\n [formGroup]=\"campaignOne\"\n [rangePicker]=\"campaignOnePicker\"\n [comparisonStart]=\"campaignTwo.value.start\"\n [comparisonEnd]=\"campaignTwo.value.end\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\">\n <input (dateInput)=\"selectFilterData($event, item)\" matEndDate placeholder=\"End date\" formControlName=\"end\">\n </mat-date-range-input>\n <mat-datepicker-toggle matSuffix [for]=\"campaignOnePicker\"></mat-datepicker-toggle>\n <mat-date-range-picker #campaignOnePicker></mat-date-range-picker>\n </mat-form-field>\n\n <div class=\"p-2\" style=\"cursor: pointer\" (click)=\"delteFilter(item)\"><mat-icon>cancel</mat-icon></div>\n\n </div>\n</div>\n", styles: ["mat-form-field{padding:0!important;width:100%}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i7.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: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i8$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i9.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i9.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i9.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i9.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i9.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i9.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i9.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: SelectFilterComponent, selector: "app-select-filter", inputs: ["array", "placeholder", "color", "displayMember", "showSpinner", "noResultsMessage", "hasGroup", "groupArrayName"], outputs: ["filteredReturn"] }] });
2024
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FiltersComponent, decorators: [{
2070
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FiltersComponent, decorators: [{
2025
2071
  type: Component,
2026
2072
  args: [{ selector: 'app-filters', template: "<div *ngIf=\"headerFilters && headerFilters.length > 0\" style=\"display: flex; width: 100%; flex-wrap: wrap;\" class=\"col-12 mb-2\">\n <div class=\"col-md-4 col-12 pe-3\">\n <mat-form-field >\n <mat-label>Filtros</mat-label>\n <mat-select (selectionChange)=\"selectFilter($event)\" [(ngModel)]=\"headerFiltersValue\">\n <mat-option\n *ngFor=\"let f of headerFilters\"\n value=\"{{ f.labelFilter }}\"\n >\n {{ f.labelFilter }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n\n <div *ngFor=\"let item of headerFiltersSelected\" class=\"col-md-4 col-12 d-flex align-items-center\">\n <mat-form-field *ngIf=\"item.type == 'select'\">\n <mat-label>Filtrar por {{item.labelFilter}}</mat-label>\n <mat-select (selectionChange)=\"selectFilterData($event, item)\" [value]=\"item.value\">\n <app-select-filter\n [placeholder]=\"'Filter'\"\n [displayMember]=\"item.visibleField\"\n [array]=\"item.body\"\n (filteredReturn)=\"item.filteredList = $event\"\n [noResultsMessage]=\"'No hay resultados'\"\n >\n </app-select-filter>\n <mat-option\n *ngFor=\"let data of item.filteredList\"\n value=\"{{ data[item.primaryKey] }}\"\n >\n {{ data[item.visibleField] }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"item.type == 'date'\" [formGroup]=\"fecha\">\n <mat-label>{{item.labelFilter}}</mat-label>\n <input (dateInput)=\"selectFilterData($event, item)\" matInput [matDatepicker]=\"Fecha\" autocomplete=\"off\" matInput\n formControlName='fecha' required>\n <mat-datepicker-toggle matSuffix [for]=\"Fecha\">\n </mat-datepicker-toggle>\n <mat-datepicker dateInput #Fecha [touchUi]='movil?true:false'></mat-datepicker>\n </mat-form-field>\n\n <mat-form-field *ngIf=\"item.type == 'dateRange'\">\n <mat-label>{{item.labelFilter}}</mat-label>\n <mat-date-range-input\n [formGroup]=\"campaignOne\"\n [rangePicker]=\"campaignOnePicker\"\n [comparisonStart]=\"campaignTwo.value.start\"\n [comparisonEnd]=\"campaignTwo.value.end\">\n <input matStartDate placeholder=\"Start date\" formControlName=\"start\">\n <input (dateInput)=\"selectFilterData($event, item)\" matEndDate placeholder=\"End date\" formControlName=\"end\">\n </mat-date-range-input>\n <mat-datepicker-toggle matSuffix [for]=\"campaignOnePicker\"></mat-datepicker-toggle>\n <mat-date-range-picker #campaignOnePicker></mat-date-range-picker>\n </mat-form-field>\n\n <div class=\"p-2\" style=\"cursor: pointer\" (click)=\"delteFilter(item)\"><mat-icon>cancel</mat-icon></div>\n\n </div>\n</div>\n", styles: ["mat-form-field{padding:0!important;width:100%}\n"] }]
2027
2073
  }], ctorParameters: function () { return [{ type: FunctionsService }, { type: HttpService }]; }, propDecorators: { headerFilters: [{
@@ -2031,6 +2077,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2031
2077
  }] } });
2032
2078
 
2033
2079
  class ExportDataService {
2080
+ http;
2081
+ functionEter;
2082
+ message;
2034
2083
  constructor(http, functionEter, message) {
2035
2084
  this.http = http;
2036
2085
  this.functionEter = functionEter;
@@ -2172,10 +2221,10 @@ class ExportDataService {
2172
2221
  }
2173
2222
  }
2174
2223
  }
2224
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExportDataService, deps: [{ token: HttpService }, { token: FunctionsService }, { token: MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
2225
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExportDataService, providedIn: 'root' });
2175
2226
  }
2176
- ExportDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExportDataService, deps: [{ token: HttpService }, { token: FunctionsService }, { token: MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
2177
- ExportDataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExportDataService, providedIn: 'root' });
2178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExportDataService, decorators: [{
2227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ExportDataService, decorators: [{
2179
2228
  type: Injectable,
2180
2229
  args: [{
2181
2230
  providedIn: 'root'
@@ -2202,6 +2251,93 @@ const spanishRangeLabel = (page, pageSize, length) => {
2202
2251
  };
2203
2252
  const rolesAndPermissions = modulesByRol;
2204
2253
  class DataTableComponent {
2254
+ dialog;
2255
+ http;
2256
+ message;
2257
+ functionEter;
2258
+ paginatorTranslate;
2259
+ exportService;
2260
+ title;
2261
+ columns;
2262
+ data = [];
2263
+ combo;
2264
+ configuration = {
2265
+ add: false,
2266
+ edit: false,
2267
+ delete: false,
2268
+ active: false,
2269
+ selectable: false,
2270
+ print: false,
2271
+ addPer: false,
2272
+ editPer: false,
2273
+ primaryKey: 'id',
2274
+ exportXslx: false,
2275
+ hideTitle: true,
2276
+ hideFilter: true,
2277
+ notInitialize: false,
2278
+ exportXslxByRow: false,
2279
+ exportXslxWithPages: false,
2280
+ view: false,
2281
+ closeOrder: false,
2282
+ packOff: false,
2283
+ advance: true,
2284
+ advanceLabel: null,
2285
+ income: false,
2286
+ exit: false,
2287
+ sendEmail: false,
2288
+ addComment: false,
2289
+ };
2290
+ reloadTable;
2291
+ url;
2292
+ params;
2293
+ titleLoading = '';
2294
+ messageLoading = '';
2295
+ headerFileXlsm = [];
2296
+ headerFilters = [];
2297
+ xslxTitleFields;
2298
+ xslxSheetNameFields;
2299
+ xslxBodyFields;
2300
+ xslxParams = null;
2301
+ roleId = 0;
2302
+ moduleId = 0;
2303
+ subModuleId = 0;
2304
+ hasAccessToAll = true;
2305
+ rolesAndPermissionUser = {};
2306
+ clickRow = new EventEmitter();
2307
+ add = new EventEmitter();
2308
+ edit = new EventEmitter();
2309
+ delete = new EventEmitter();
2310
+ print = new EventEmitter();
2311
+ exportXslxByRow = new EventEmitter();
2312
+ active = new EventEmitter();
2313
+ selected = new EventEmitter();
2314
+ view = new EventEmitter();
2315
+ closeOrder = new EventEmitter();
2316
+ packOff = new EventEmitter();
2317
+ advance = new EventEmitter();
2318
+ income = new EventEmitter();
2319
+ exit = new EventEmitter();
2320
+ internalData = new EventEmitter();
2321
+ sendEmail = new EventEmitter();
2322
+ addComment = new EventEmitter();
2323
+ fileIconClick = new EventEmitter();
2324
+ movil = ScreenSizeUtil.isMobile();
2325
+ filtersPost = [];
2326
+ paginator;
2327
+ selectedRows = []; /** almacena las filas seleccionadas */
2328
+ checkboxs = {};
2329
+ selectAll = false;
2330
+ indeterminateState = false;
2331
+ filters;
2332
+ originalData = [];
2333
+ paginatorActive = true;
2334
+ screen = true;
2335
+ id_compania;
2336
+ pageSizeOptions = [5, 10, 25, 50, 100];
2337
+ pageSize = screen.width > 500 ? 10 : 5;
2338
+ length = 0;
2339
+ page = 0;
2340
+ above = ['above'];
2205
2341
  constructor(dialog, http, message, functionEter, paginatorTranslate, exportService) {
2206
2342
  this.dialog = dialog;
2207
2343
  this.http = http;
@@ -2209,76 +2345,6 @@ class DataTableComponent {
2209
2345
  this.functionEter = functionEter;
2210
2346
  this.paginatorTranslate = paginatorTranslate;
2211
2347
  this.exportService = exportService;
2212
- this.data = [];
2213
- this.configuration = {
2214
- add: false,
2215
- edit: false,
2216
- delete: false,
2217
- active: false,
2218
- selectable: false,
2219
- print: false,
2220
- addPer: false,
2221
- editPer: false,
2222
- primaryKey: 'id',
2223
- exportXslx: false,
2224
- hideTitle: true,
2225
- hideFilter: true,
2226
- notInitialize: false,
2227
- exportXslxByRow: false,
2228
- exportXslxWithPages: false,
2229
- view: false,
2230
- closeOrder: false,
2231
- packOff: false,
2232
- advance: true,
2233
- advanceLabel: null,
2234
- income: false,
2235
- exit: false,
2236
- sendEmail: false,
2237
- addComment: false,
2238
- };
2239
- this.titleLoading = '';
2240
- this.messageLoading = '';
2241
- this.headerFileXlsm = [];
2242
- this.headerFilters = [];
2243
- this.xslxParams = null;
2244
- this.roleId = 0;
2245
- this.moduleId = 0;
2246
- this.subModuleId = 0;
2247
- this.hasAccessToAll = true;
2248
- this.rolesAndPermissionUser = {};
2249
- this.clickRow = new EventEmitter();
2250
- this.add = new EventEmitter();
2251
- this.edit = new EventEmitter();
2252
- this.delete = new EventEmitter();
2253
- this.print = new EventEmitter();
2254
- this.exportXslxByRow = new EventEmitter();
2255
- this.active = new EventEmitter();
2256
- this.selected = new EventEmitter();
2257
- this.view = new EventEmitter();
2258
- this.closeOrder = new EventEmitter();
2259
- this.packOff = new EventEmitter();
2260
- this.advance = new EventEmitter();
2261
- this.income = new EventEmitter();
2262
- this.exit = new EventEmitter();
2263
- this.internalData = new EventEmitter();
2264
- this.sendEmail = new EventEmitter();
2265
- this.addComment = new EventEmitter();
2266
- this.fileIconClick = new EventEmitter();
2267
- this.movil = ScreenSizeUtil.isMobile();
2268
- this.filtersPost = [];
2269
- this.selectedRows = []; /** almacena las filas seleccionadas */
2270
- this.checkboxs = {};
2271
- this.selectAll = false;
2272
- this.indeterminateState = false;
2273
- this.originalData = [];
2274
- this.paginatorActive = true;
2275
- this.screen = true;
2276
- this.pageSizeOptions = [5, 10, 25, 50, 100];
2277
- this.pageSize = screen.width > 500 ? 10 : 5;
2278
- this.length = 0;
2279
- this.page = 0;
2280
- this.above = ['above'];
2281
- this.buttonsConfig = [];
2282
2348
  this.paginatorTranslate.itemsPerPageLabel = 'Elementos por página';
2283
2349
  this.paginatorTranslate.nextPageLabel = 'Siguiente página';
2284
2350
  this.paginatorTranslate.lastPageLabel = 'Última página';
@@ -2286,6 +2352,7 @@ class DataTableComponent {
2286
2352
  this.paginatorTranslate.firstPageLabel = 'Primera página';
2287
2353
  this.paginatorTranslate.getRangeLabel = spanishRangeLabel;
2288
2354
  }
2355
+ buttonsConfig = [];
2289
2356
  async ngOnInit() {
2290
2357
  this.validateRolAndPermission();
2291
2358
  if (window.screen.width > 1000) {
@@ -2796,10 +2863,10 @@ class DataTableComponent {
2796
2863
  });
2797
2864
  this.applyFilters();
2798
2865
  }
2866
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataTableComponent, deps: [{ token: i1.MatDialog }, { token: HttpService }, { token: MessageService }, { token: FunctionsService }, { token: i5.MatPaginatorIntl }, { token: ExportDataService }], target: i0.ɵɵFactoryTarget.Component });
2867
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataTableComponent, selector: "data-table", inputs: { title: "title", columns: "columns", data: "data", combo: "combo", configuration: "configuration", reloadTable: "reloadTable", url: "url", params: "params", titleLoading: "titleLoading", messageLoading: "messageLoading", headerFileXlsm: "headerFileXlsm", headerFilters: "headerFilters", xslxTitleFields: "xslxTitleFields", xslxSheetNameFields: "xslxSheetNameFields", xslxBodyFields: "xslxBodyFields", xslxParams: "xslxParams", roleId: "roleId", moduleId: "moduleId", subModuleId: "subModuleId" }, outputs: { clickRow: "clickRow", add: "add", edit: "edit", delete: "delete", print: "print", exportXslxByRow: "exportXslxByRow", active: "active", selected: "selected", view: "view", closeOrder: "closeOrder", packOff: "packOff", advance: "advance", income: "income", exit: "exit", internalData: "internalData", sendEmail: "sendEmail", addComment: "addComment", fileIconClick: "fileIconClick" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"contenedor-tabla\">\n <div class=\"table-title-mobile\" *ngIf=\"!configuration.hideTitle\">\n <strong>{{ title }}</strong>\n </div>\n\n <app-filters [headerFilters]=\"headerFilters\" (applyFilters)=\"applyFilters($event)\">\n </app-filters>\n\n <div class=\"row mb-2\" style=\"width: 99%\">\n <div *ngIf=\"!configuration.hideFilter\" class=\"col-12 d-flex justify-content-center\">\n <mat-form-field class=\"filter\">\n <mat-label>Filtrar</mat-label>\n <input type=\"text\" [(ngModel)]=\"filters\" (keyup)=\"changeFilters()\" matInput placeholder=\"Filtrar\" />\n </mat-form-field>\n </div>\n </div>\n\n <div class=\"col-12 d-flex flex-row justify-content-between align-items-center p-2\">\n <div class=\"d-none d-md-block me-md-3 w-100\" style=\"font-size: 1rem\">\n <span class=\"fw-bold\" *ngIf=\"selectedRows.length > 0 && configuration.selectable\">\n {{ selectedRows.length }}\n {{ selectedRows.length === 1 ? 'Seleccionado' : 'Seleccionados' }}\n </span>\n </div>\n <div class=\"d-flex justify-content-end w-100\">\n <ng-container *ngTemplateOutlet=\"buttonsTable\"></ng-container>\n </div>\n </div>\n\n <table class=\"table_Eter table-hover\">\n <thead class=\"dark\">\n <tr>\n <th *ngIf=\"configuration.selectable\" style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" (change)=\"seletecAllEvent($event)\" [(ngModel)]=\"selectAll\"\n [indeterminate]=\"indeterminateState\">\n </mat-checkbox>\n </th>\n <th [class]=\"column.style?.movil\" *ngFor=\"let column of columns\" scope=\"col\" [ngStyle]=\"column.style\">\n {{ column.label }}\n </th>\n <th *ngIf=\"shouldShowMenu()\"></th>\n </tr>\n </thead>\n <tbody class=\"mat-elevation-z3\">\n <tr style=\"cursor: pointer\" *ngFor=\"let row of data\" (click)=\"clickOnRoW(row)\"\n [class]=\"checkboxs[row[configuration.primaryKey]] ? 'selected-row' : ''\">\n <th *ngIf=\"configuration.selectable\" style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" [(ngModel)]=\"checkboxs[row[configuration.primaryKey]]\" (click)=\"clicked($event)\"\n (change)=\"selection(row, $event)\">\n </mat-checkbox>\n </th>\n <th [class]=\"column.style?.movil\" [ngStyle]=\"column.style\" scope=\"row\" *ngFor=\"let column of columns\">\n <ng-container *ngIf=\"\n column.type === 'file' ||\n (column.rules && evaluateRules(row[column.ID], column.rules));\n else displayValue\n \">\n <div (click)=\"onFileIconClick($event, row[column.ID])\">\n <i class=\"fa fa-file\" style=\"cursor: pointer\"></i>\n </div>\n </ng-container>\n <ng-template #displayValue>\n {{ row[column.ID] }}\n </ng-template>\n </th>\n\n <th *ngIf=\"shouldShowMenu()\" class=\"d-flex justify-content-center align-items-center\"\n style=\"overflow: visible;\">\n <mat-icon (click)=\"showMenu($event)\" [matMenuTriggerFor]=\"menu\" matRipple class=\"menu_more_vert\"\n aria-hidden=\"false\" aria-label=\"Example delete icon\">more_vert</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n <div *ngFor=\"let btn of buttonsConfig\">\n <button *ngIf=\"btn.condition()\" (click)=\"action(btn.action, row)\" mat-menu-item\n class=\"d-flex align-items-center w-100\">\n <i class=\"fa {{ btn.icon }} btn-accion\" style=\"font-size: 120%; margin-right: 10px\"></i>\n {{ btn.tooltip }}\n </button>\n </div>\n </mat-menu>\n </th>\n </tr>\n </tbody>\n </table>\n\n <div *ngIf=\"length == 0 && data.length == 0\" style=\"margin-left: 10px\">\n <strong>No se encontr\u00F3 informaci\u00F3n</strong>\n </div>\n\n <mat-paginator *ngIf=\"paginatorActive\" [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\"\n showFirstLastButtons (page)=\"changePage($event)\"></mat-paginator>\n</div>\n\n<ng-template #buttonsTable let-fontSize=\"fontSize\" let-marginRight=\"marginRight\" class=\"button-table\">\n <ng-container *ngFor=\"let btn of buttonsConfig\">\n <div *ngIf=\"btn.conditionShowHeader()\" (click)=\"action(btn.action)\" matTooltip=\"{{ btn.tooltip }}\"\n matTooltipPosition=\"above\">\n <i class=\"fa {{ btn.icon }} btn-accion\" [ngStyle]=\"{\n 'font-size': fontSize ? fontSize : '170%',\n 'margin-right': marginRight ? marginRight : '15px'\n }\"></i>\n </div>\n </ng-container>\n</ng-template>", styles: [".contenedor-tabla{width:100%;overflow-x:auto}.table_Eter{width:100%;margin-bottom:4px;color:primary;border-collapse:collapse}.table_Eter .dark th{color:#fff;background-color:#343a40;border-color:#454d55;text-align:center;vertical-align:middle}.table_Eter thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table_Eter th,.table_Eter td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}th{text-align:inherit}*,*:before,*:after{box-sizing:border-box}.btn-accion{cursor:pointer}mat-form-field{padding:0!important;width:90%}.table-title-mobile{display:block;margin-bottom:10px;font-size:1.2rem;text-align:center}.filter{padding:0;margin-bottom:10px}.selected-row{color:#212529;background-color:#00000013}.button-table{flex:.5;display:flex;flex-direction:row;justify-content:flex-end}button:focus{outline:none!important}@media only screen and (max-width: 600px){.no-movil{display:none}::ng-deep .mat-mdc-paginator-range-label{margin:0!important}}::ng-deep .mat-mdc-paginator{background:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i8$1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.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: "component", type: i13.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i7$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FiltersComponent, selector: "app-filters", inputs: ["headerFilters"], outputs: ["applyFilters"] }] });
2799
2868
  }
2800
- DataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataTableComponent, deps: [{ token: i1.MatDialog }, { token: HttpService }, { token: MessageService }, { token: FunctionsService }, { token: i5.MatPaginatorIntl }, { token: ExportDataService }], target: i0.ɵɵFactoryTarget.Component });
2801
- DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DataTableComponent, selector: "data-table", inputs: { title: "title", columns: "columns", data: "data", combo: "combo", configuration: "configuration", reloadTable: "reloadTable", url: "url", params: "params", titleLoading: "titleLoading", messageLoading: "messageLoading", headerFileXlsm: "headerFileXlsm", headerFilters: "headerFilters", xslxTitleFields: "xslxTitleFields", xslxSheetNameFields: "xslxSheetNameFields", xslxBodyFields: "xslxBodyFields", xslxParams: "xslxParams", roleId: "roleId", moduleId: "moduleId", subModuleId: "subModuleId" }, outputs: { clickRow: "clickRow", add: "add", edit: "edit", delete: "delete", print: "print", exportXslxByRow: "exportXslxByRow", active: "active", selected: "selected", view: "view", closeOrder: "closeOrder", packOff: "packOff", advance: "advance", income: "income", exit: "exit", internalData: "internalData", sendEmail: "sendEmail", addComment: "addComment", fileIconClick: "fileIconClick" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"contenedor-tabla\">\n <div class=\"table-title-mobile\" *ngIf=\"!configuration.hideTitle\">\n <strong>{{ title }}</strong>\n </div>\n\n <app-filters [headerFilters]=\"headerFilters\" (applyFilters)=\"applyFilters($event)\">\n </app-filters>\n\n <div class=\"row mb-2\" style=\"width: 99%\">\n <div *ngIf=\"!configuration.hideFilter\" class=\"col-12 d-flex justify-content-center\">\n <mat-form-field class=\"filter\">\n <mat-label>Filtrar</mat-label>\n <input type=\"text\" [(ngModel)]=\"filters\" (keyup)=\"changeFilters()\" matInput placeholder=\"Filtrar\" />\n </mat-form-field>\n </div>\n </div>\n\n <div class=\"col-12 d-flex flex-row justify-content-between align-items-center p-2\">\n <div class=\"d-none d-md-block me-md-3 w-100\" style=\"font-size: 1rem\">\n <span class=\"fw-bold\" *ngIf=\"selectedRows.length > 0 && configuration.selectable\">\n {{ selectedRows.length }}\n {{ selectedRows.length === 1 ? 'Seleccionado' : 'Seleccionados' }}\n </span>\n </div>\n <div class=\"d-flex justify-content-end w-100\">\n <ng-container *ngTemplateOutlet=\"buttonsTable\"></ng-container>\n </div>\n </div>\n\n <table class=\"table_Eter table-hover\">\n <thead class=\"dark\">\n <tr>\n <th *ngIf=\"configuration.selectable\" style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" (change)=\"seletecAllEvent($event)\" [(ngModel)]=\"selectAll\"\n [indeterminate]=\"indeterminateState\">\n </mat-checkbox>\n </th>\n <th [class]=\"column.style?.movil\" *ngFor=\"let column of columns\" scope=\"col\" [ngStyle]=\"column.style\">\n {{ column.label }}\n </th>\n <th *ngIf=\"shouldShowMenu()\"></th>\n </tr>\n </thead>\n <tbody class=\"mat-elevation-z3\">\n <tr style=\"cursor: pointer\" *ngFor=\"let row of data\" (click)=\"clickOnRoW(row)\"\n [class]=\"checkboxs[row[configuration.primaryKey]] ? 'selected-row' : ''\">\n <th *ngIf=\"configuration.selectable\" style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" [(ngModel)]=\"checkboxs[row[configuration.primaryKey]]\" (click)=\"clicked($event)\"\n (change)=\"selection(row, $event)\">\n </mat-checkbox>\n </th>\n <th [class]=\"column.style?.movil\" [ngStyle]=\"column.style\" scope=\"row\" *ngFor=\"let column of columns\">\n <ng-container *ngIf=\"\n column.type === 'file' ||\n (column.rules && evaluateRules(row[column.ID], column.rules));\n else displayValue\n \">\n <div (click)=\"onFileIconClick($event, row[column.ID])\">\n <i class=\"fa fa-file\" style=\"cursor: pointer\"></i>\n </div>\n </ng-container>\n <ng-template #displayValue>\n {{ row[column.ID] }}\n </ng-template>\n </th>\n\n <th *ngIf=\"shouldShowMenu()\" class=\"d-flex justify-content-center align-items-center\"\n style=\"overflow: visible;\">\n <mat-icon (click)=\"showMenu($event)\" [matMenuTriggerFor]=\"menu\" matRipple class=\"menu_more_vert\"\n aria-hidden=\"false\" aria-label=\"Example delete icon\">more_vert</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n <div *ngFor=\"let btn of buttonsConfig\">\n <button *ngIf=\"btn.condition()\" (click)=\"action(btn.action, row)\" mat-menu-item\n class=\"d-flex align-items-center w-100\">\n <i class=\"fa {{ btn.icon }} btn-accion\" style=\"font-size: 120%; margin-right: 10px\"></i>\n {{ btn.tooltip }}\n </button>\n </div>\n </mat-menu>\n </th>\n </tr>\n </tbody>\n </table>\n\n <div *ngIf=\"length == 0 && data.length == 0\" style=\"margin-left: 10px\">\n <strong>No se encontr\u00F3 informaci\u00F3n</strong>\n </div>\n\n <mat-paginator *ngIf=\"paginatorActive\" [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\"\n showFirstLastButtons (page)=\"changePage($event)\"></mat-paginator>\n</div>\n\n<ng-template #buttonsTable let-fontSize=\"fontSize\" let-marginRight=\"marginRight\" class=\"button-table\">\n <ng-container *ngFor=\"let btn of buttonsConfig\">\n <div *ngIf=\"btn.conditionShowHeader()\" (click)=\"action(btn.action)\" matTooltip=\"{{ btn.tooltip }}\"\n matTooltipPosition=\"above\">\n <i class=\"fa {{ btn.icon }} btn-accion\" [ngStyle]=\"{\n 'font-size': fontSize ? fontSize : '170%',\n 'margin-right': marginRight ? marginRight : '15px'\n }\"></i>\n </div>\n </ng-container>\n</ng-template>", styles: [".contenedor-tabla{width:100%;overflow-x:auto}.table_Eter{width:100%;margin-bottom:4px;color:primary;border-collapse:collapse}.table_Eter .dark th{color:#fff;background-color:#343a40;border-color:#454d55;text-align:center;vertical-align:middle}.table_Eter thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table_Eter th,.table_Eter td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}th{text-align:inherit}*,*:before,*:after{box-sizing:border-box}.btn-accion{cursor:pointer}mat-form-field{padding:0!important;width:90%}.table-title-mobile{display:block;margin-bottom:10px;font-size:1.2rem;text-align:center}.filter{padding:0;margin-bottom:10px}.selected-row{color:#212529;background-color:#00000013}.button-table{flex:.5;display:flex;flex-direction:row;justify-content:flex-end}button:focus{outline:none!important}@media only screen and (max-width: 600px){.no-movil{display:none}::ng-deep .mat-mdc-paginator-range-label{margin:0!important}}::ng-deep .mat-mdc-paginator{background:transparent!important}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i8$1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.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: "component", type: i13.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i7$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FiltersComponent, selector: "app-filters", inputs: ["headerFilters"], outputs: ["applyFilters"] }] });
2802
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DataTableComponent, decorators: [{
2869
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataTableComponent, decorators: [{
2803
2870
  type: Component,
2804
2871
  args: [{ selector: 'data-table', template: "<div class=\"contenedor-tabla\">\n <div class=\"table-title-mobile\" *ngIf=\"!configuration.hideTitle\">\n <strong>{{ title }}</strong>\n </div>\n\n <app-filters [headerFilters]=\"headerFilters\" (applyFilters)=\"applyFilters($event)\">\n </app-filters>\n\n <div class=\"row mb-2\" style=\"width: 99%\">\n <div *ngIf=\"!configuration.hideFilter\" class=\"col-12 d-flex justify-content-center\">\n <mat-form-field class=\"filter\">\n <mat-label>Filtrar</mat-label>\n <input type=\"text\" [(ngModel)]=\"filters\" (keyup)=\"changeFilters()\" matInput placeholder=\"Filtrar\" />\n </mat-form-field>\n </div>\n </div>\n\n <div class=\"col-12 d-flex flex-row justify-content-between align-items-center p-2\">\n <div class=\"d-none d-md-block me-md-3 w-100\" style=\"font-size: 1rem\">\n <span class=\"fw-bold\" *ngIf=\"selectedRows.length > 0 && configuration.selectable\">\n {{ selectedRows.length }}\n {{ selectedRows.length === 1 ? 'Seleccionado' : 'Seleccionados' }}\n </span>\n </div>\n <div class=\"d-flex justify-content-end w-100\">\n <ng-container *ngTemplateOutlet=\"buttonsTable\"></ng-container>\n </div>\n </div>\n\n <table class=\"table_Eter table-hover\">\n <thead class=\"dark\">\n <tr>\n <th *ngIf=\"configuration.selectable\" style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" (change)=\"seletecAllEvent($event)\" [(ngModel)]=\"selectAll\"\n [indeterminate]=\"indeterminateState\">\n </mat-checkbox>\n </th>\n <th [class]=\"column.style?.movil\" *ngFor=\"let column of columns\" scope=\"col\" [ngStyle]=\"column.style\">\n {{ column.label }}\n </th>\n <th *ngIf=\"shouldShowMenu()\"></th>\n </tr>\n </thead>\n <tbody class=\"mat-elevation-z3\">\n <tr style=\"cursor: pointer\" *ngFor=\"let row of data\" (click)=\"clickOnRoW(row)\"\n [class]=\"checkboxs[row[configuration.primaryKey]] ? 'selected-row' : ''\">\n <th *ngIf=\"configuration.selectable\" style=\"justify-content: center\">\n <mat-checkbox color=\"primary\" [(ngModel)]=\"checkboxs[row[configuration.primaryKey]]\" (click)=\"clicked($event)\"\n (change)=\"selection(row, $event)\">\n </mat-checkbox>\n </th>\n <th [class]=\"column.style?.movil\" [ngStyle]=\"column.style\" scope=\"row\" *ngFor=\"let column of columns\">\n <ng-container *ngIf=\"\n column.type === 'file' ||\n (column.rules && evaluateRules(row[column.ID], column.rules));\n else displayValue\n \">\n <div (click)=\"onFileIconClick($event, row[column.ID])\">\n <i class=\"fa fa-file\" style=\"cursor: pointer\"></i>\n </div>\n </ng-container>\n <ng-template #displayValue>\n {{ row[column.ID] }}\n </ng-template>\n </th>\n\n <th *ngIf=\"shouldShowMenu()\" class=\"d-flex justify-content-center align-items-center\"\n style=\"overflow: visible;\">\n <mat-icon (click)=\"showMenu($event)\" [matMenuTriggerFor]=\"menu\" matRipple class=\"menu_more_vert\"\n aria-hidden=\"false\" aria-label=\"Example delete icon\">more_vert</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n <div *ngFor=\"let btn of buttonsConfig\">\n <button *ngIf=\"btn.condition()\" (click)=\"action(btn.action, row)\" mat-menu-item\n class=\"d-flex align-items-center w-100\">\n <i class=\"fa {{ btn.icon }} btn-accion\" style=\"font-size: 120%; margin-right: 10px\"></i>\n {{ btn.tooltip }}\n </button>\n </div>\n </mat-menu>\n </th>\n </tr>\n </tbody>\n </table>\n\n <div *ngIf=\"length == 0 && data.length == 0\" style=\"margin-left: 10px\">\n <strong>No se encontr\u00F3 informaci\u00F3n</strong>\n </div>\n\n <mat-paginator *ngIf=\"paginatorActive\" [length]=\"length\" [pageSize]=\"pageSize\" [pageSizeOptions]=\"pageSizeOptions\"\n showFirstLastButtons (page)=\"changePage($event)\"></mat-paginator>\n</div>\n\n<ng-template #buttonsTable let-fontSize=\"fontSize\" let-marginRight=\"marginRight\" class=\"button-table\">\n <ng-container *ngFor=\"let btn of buttonsConfig\">\n <div *ngIf=\"btn.conditionShowHeader()\" (click)=\"action(btn.action)\" matTooltip=\"{{ btn.tooltip }}\"\n matTooltipPosition=\"above\">\n <i class=\"fa {{ btn.icon }} btn-accion\" [ngStyle]=\"{\n 'font-size': fontSize ? fontSize : '170%',\n 'margin-right': marginRight ? marginRight : '15px'\n }\"></i>\n </div>\n </ng-container>\n</ng-template>", styles: [".contenedor-tabla{width:100%;overflow-x:auto}.table_Eter{width:100%;margin-bottom:4px;color:primary;border-collapse:collapse}.table_Eter .dark th{color:#fff;background-color:#343a40;border-color:#454d55;text-align:center;vertical-align:middle}.table_Eter thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table_Eter th,.table_Eter td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}th{text-align:inherit}*,*:before,*:after{box-sizing:border-box}.btn-accion{cursor:pointer}mat-form-field{padding:0!important;width:90%}.table-title-mobile{display:block;margin-bottom:10px;font-size:1.2rem;text-align:center}.filter{padding:0;margin-bottom:10px}.selected-row{color:#212529;background-color:#00000013}.button-table{flex:.5;display:flex;flex-direction:row;justify-content:flex-end}button:focus{outline:none!important}@media only screen and (max-width: 600px){.no-movil{display:none}::ng-deep .mat-mdc-paginator-range-label{margin:0!important}}::ng-deep .mat-mdc-paginator{background:transparent!important}\n"] }]
2805
2872
  }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: HttpService }, { type: MessageService }, { type: FunctionsService }, { type: i5.MatPaginatorIntl }, { type: ExportDataService }]; }, propDecorators: { title: [{
@@ -2913,10 +2980,10 @@ class FileFormsService {
2913
2980
  }
2914
2981
  return (formD);
2915
2982
  }
2983
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileFormsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2984
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileFormsService, providedIn: 'root' });
2916
2985
  }
2917
- FileFormsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileFormsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2918
- FileFormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileFormsService, providedIn: 'root' });
2919
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileFormsService, decorators: [{
2986
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileFormsService, decorators: [{
2920
2987
  type: Injectable,
2921
2988
  args: [{
2922
2989
  providedIn: 'root'
@@ -2924,19 +2991,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2924
2991
  }], ctorParameters: function () { return []; } });
2925
2992
 
2926
2993
  class FileInputComponent {
2994
+ fileForms;
2995
+ http;
2996
+ message;
2997
+ formBuilder;
2998
+ styleImg;
2999
+ type;
3000
+ border;
3001
+ imageSrc;
3002
+ styleForm;
3003
+ sizePicture;
3004
+ edit;
3005
+ formFile;
3006
+ color = 'primary';
3007
+ disabled = false;
3008
+ multiple = false;
3009
+ accept;
3010
+ fileControl;
3011
+ maxSize = 16;
3012
+ size = 100000; //tamaño a comprimir las imagenes en bites
3013
+ fileName = '';
3014
+ params;
3015
+ fileSave = new EventEmitter();
3016
+ typeFile;
3017
+ files;
3018
+ file = null;
3019
+ icon = 'folder';
2927
3020
  constructor(fileForms, http, message, formBuilder) {
2928
3021
  this.fileForms = fileForms;
2929
3022
  this.http = http;
2930
3023
  this.message = message;
2931
3024
  this.formBuilder = formBuilder;
2932
- this.color = 'primary';
2933
- this.disabled = false;
2934
- this.multiple = false;
2935
- this.maxSize = 16;
2936
- this.size = 100000; //tamaño a comprimir las imagenes en bites
2937
- this.fileSave = new EventEmitter();
2938
- this.file = null;
2939
- this.icon = 'folder';
2940
3025
  this.formFile = this.formBuilder.group({
2941
3026
  requiredfile: []
2942
3027
  });
@@ -2944,6 +3029,7 @@ class FileInputComponent {
2944
3029
  Validators.required
2945
3030
  ]);
2946
3031
  }
3032
+ form;
2947
3033
  ngOnInit() {
2948
3034
  this.form = this.formBuilder.group({
2949
3035
  file: []
@@ -3002,6 +3088,7 @@ class FileInputComponent {
3002
3088
  const file = $event.target['files'][0];
3003
3089
  if (!file)
3004
3090
  return;
3091
+ this.fileName = file.name;
3005
3092
  if (file.size < 15000000) {
3006
3093
  this.file = file;
3007
3094
  const mime = file.type;
@@ -3078,12 +3165,12 @@ class FileInputComponent {
3078
3165
  selectFile($event) {
3079
3166
  console.log($event);
3080
3167
  }
3168
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileInputComponent, deps: [{ token: FileFormsService }, { token: HttpService }, { token: MessageService }, { token: i1$2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
3169
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileInputComponent, selector: "file-input", inputs: { params: "params", icon: "icon" }, outputs: { fileSave: "fileSave" }, ngImport: i0, template: "<div *ngIf=\"params.input == 'vista'\" [class]='edit' [ngStyle]=\"sizePicture\">\n \n <img *ngIf=\"imageSrc\" [ngStyle]=\"styleImg\" src=\"{{this.imageSrc}}\" />\n <div *ngIf=\"!imageSrc\" [ngStyle]=\"styleImg\"></div>\n\n\t<div *ngIf=\"params.edit == true\" class=\"entrada\" [ngStyle]=\"border\">\n\t\t<input id=\"input\" type=\"file\" title='Subir archivo' [accept]='type'\n\t\t\tstyle='width: 100%; height: 100%; opacity: 0; overflow: hidden; z-index: 1; cursor: pointer;'\n\t\t\t(change)='fileChange($event)'>\n\t</div>\n\n</div>\n<div *ngIf=\"params.input == 'formulario'\">\n <mat-form-field [ngStyle]=\"styleForm\" (click)=\"fileInput.click()\" style=\"cursor:pointer;\">\n <mat-label>{{params.label}}</mat-label>\n <input disabled type=\"text\" matInput [placeholder]=\"params.label\" [value]=\"fileName || ''\" readonly style=\"pointer-events:none; background:transparent;\">\n <button mat-icon-button matSuffix type=\"button\" tabindex=\"-1\" style=\"pointer-events:none;\">\n <mat-icon *ngIf=\"typeFile=='imagen'\">add_a_photo</mat-icon>\n <mat-icon *ngIf=\"typeFile=='pdf'\">picture_as_pdf</mat-icon>\n <mat-icon *ngIf=\"typeFile=='doc'\">insert_drive_file</mat-icon>\n </button>\n </mat-form-field>\n <input #fileInput id=\"input\" type=\"file\" title=\"Subir archivo\" [accept]=\"type\" style=\"display: none;\" (change)=\"fileChange($event)\">\n</div>\n", styles: ["p{font-family:Lato}.dropzone{min-height:400px;min-width:400px;display:table;width:100%;background-color:#eee;border:dotted 1px #aaa}.text-wrapper{display:table-cell;vertical-align:middle}.centered{font-family:sans-serif;font-size:1.3em;font-weight:700;text-align:center}.img :hover{background-image:url(data:image/png;base64,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);background-color:#cfd0d5;background-position:center;background-size:25%;background-repeat:no-repeat;transition:background-color 1s;cursor:pointer}.img{position:relative}.entrada{position:absolute;top:0;right:0;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i7.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"] }] });
3081
3170
  }
3082
- FileInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileInputComponent, deps: [{ token: FileFormsService }, { token: HttpService }, { token: MessageService }, { token: i1$2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component });
3083
- FileInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FileInputComponent, selector: "file-input", inputs: { params: "params", icon: "icon" }, outputs: { fileSave: "fileSave" }, ngImport: i0, template: "<div *ngIf=\"params.input == 'vista'\" [class]='edit' [ngStyle]=\"sizePicture\">\n \n <img *ngIf=\"imageSrc\" [ngStyle]=\"styleImg\" src=\"{{this.imageSrc}}\" />\n <div *ngIf=\"!imageSrc\" [ngStyle]=\"styleImg\"></div>\n\n\t<div *ngIf=\"params.edit == true\" class=\"entrada\" [ngStyle]=\"border\">\n\t\t<input id=\"input\" type=\"file\" title='Subir archivo' [accept]='type'\n\t\t\tstyle='width: 100%; height: 100%; opacity: 0; overflow: hidden; z-index: 1; cursor: pointer;'\n\t\t\t(change)='fileChange($event)'>\n\t</div>\n\n</div>\n<div *ngIf=\"params.input == 'formulario'\">\n\n \t<!-- <mat-form-field [ngStyle]=\"styleForm\"> -->\n <!-- <ngx-mat-file-input [formControlName=\"file\" placeholder=\"Basic Input\">\n </ngx-mat-file-input> -->\n\n <!-- </mat-form-field> -->\n\n <mat-form-field [ngStyle]=\"styleForm\">\n <mat-label>{{params.label}}</mat-label>\n <div style=\"display: flex;\">\n <input disabled type=\"text\" matInput [placeholder]=\"params.label\" readonly=\"true\">\n <input id=\"input\" type=\"file\" title='Subir archivo' [accept]='type'\n style='width: 100%; height: 100%; opacity: 0; overflow: hidden; z-index: 1; cursor: pointer;'\n (change)='fileChange($event)'>\n </div>\n <mat-icon *ngIf=\"typeFile=='imagen'\" matSuffix>add_a_photo</mat-icon>\n <mat-icon *ngIf=\"typeFile=='pdf'\" matSuffix>picture_as_pdf</mat-icon>\n\t <mat-icon *ngIf=\"typeFile=='doc'\" matSuffix>insert_drive_file</mat-icon>\n </mat-form-field>\n\n</div>\n", styles: ["p{font-family:Lato}.dropzone{min-height:400px;min-width:400px;display:table;width:100%;background-color:#eee;border:dotted 1px #aaa}.text-wrapper{display:table-cell;vertical-align:middle}.centered{font-family:sans-serif;font-size:1.3em;font-weight:700;text-align:center}.img :hover{background-image:url(data:image/png;base64,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);background-color:#cfd0d5;background-position:center;background-size:25%;background-repeat:no-repeat;transition:background-color 1s;cursor:pointer}.img{position:relative}.entrada{position:absolute;top:0;right:0;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i7.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"] }] });
3084
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileInputComponent, decorators: [{
3171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileInputComponent, decorators: [{
3085
3172
  type: Component,
3086
- args: [{ selector: 'file-input', template: "<div *ngIf=\"params.input == 'vista'\" [class]='edit' [ngStyle]=\"sizePicture\">\n \n <img *ngIf=\"imageSrc\" [ngStyle]=\"styleImg\" src=\"{{this.imageSrc}}\" />\n <div *ngIf=\"!imageSrc\" [ngStyle]=\"styleImg\"></div>\n\n\t<div *ngIf=\"params.edit == true\" class=\"entrada\" [ngStyle]=\"border\">\n\t\t<input id=\"input\" type=\"file\" title='Subir archivo' [accept]='type'\n\t\t\tstyle='width: 100%; height: 100%; opacity: 0; overflow: hidden; z-index: 1; cursor: pointer;'\n\t\t\t(change)='fileChange($event)'>\n\t</div>\n\n</div>\n<div *ngIf=\"params.input == 'formulario'\">\n\n \t<!-- <mat-form-field [ngStyle]=\"styleForm\"> -->\n <!-- <ngx-mat-file-input [formControlName=\"file\" placeholder=\"Basic Input\">\n </ngx-mat-file-input> -->\n\n <!-- </mat-form-field> -->\n\n <mat-form-field [ngStyle]=\"styleForm\">\n <mat-label>{{params.label}}</mat-label>\n <div style=\"display: flex;\">\n <input disabled type=\"text\" matInput [placeholder]=\"params.label\" readonly=\"true\">\n <input id=\"input\" type=\"file\" title='Subir archivo' [accept]='type'\n style='width: 100%; height: 100%; opacity: 0; overflow: hidden; z-index: 1; cursor: pointer;'\n (change)='fileChange($event)'>\n </div>\n <mat-icon *ngIf=\"typeFile=='imagen'\" matSuffix>add_a_photo</mat-icon>\n <mat-icon *ngIf=\"typeFile=='pdf'\" matSuffix>picture_as_pdf</mat-icon>\n\t <mat-icon *ngIf=\"typeFile=='doc'\" matSuffix>insert_drive_file</mat-icon>\n </mat-form-field>\n\n</div>\n", styles: ["p{font-family:Lato}.dropzone{min-height:400px;min-width:400px;display:table;width:100%;background-color:#eee;border:dotted 1px #aaa}.text-wrapper{display:table-cell;vertical-align:middle}.centered{font-family:sans-serif;font-size:1.3em;font-weight:700;text-align:center}.img :hover{background-image:url(data:image/png;base64,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);background-color:#cfd0d5;background-position:center;background-size:25%;background-repeat:no-repeat;transition:background-color 1s;cursor:pointer}.img{position:relative}.entrada{position:absolute;top:0;right:0;width:100%;height:100%}\n"] }]
3173
+ args: [{ selector: 'file-input', template: "<div *ngIf=\"params.input == 'vista'\" [class]='edit' [ngStyle]=\"sizePicture\">\n \n <img *ngIf=\"imageSrc\" [ngStyle]=\"styleImg\" src=\"{{this.imageSrc}}\" />\n <div *ngIf=\"!imageSrc\" [ngStyle]=\"styleImg\"></div>\n\n\t<div *ngIf=\"params.edit == true\" class=\"entrada\" [ngStyle]=\"border\">\n\t\t<input id=\"input\" type=\"file\" title='Subir archivo' [accept]='type'\n\t\t\tstyle='width: 100%; height: 100%; opacity: 0; overflow: hidden; z-index: 1; cursor: pointer;'\n\t\t\t(change)='fileChange($event)'>\n\t</div>\n\n</div>\n<div *ngIf=\"params.input == 'formulario'\">\n <mat-form-field [ngStyle]=\"styleForm\" (click)=\"fileInput.click()\" style=\"cursor:pointer;\">\n <mat-label>{{params.label}}</mat-label>\n <input disabled type=\"text\" matInput [placeholder]=\"params.label\" [value]=\"fileName || ''\" readonly style=\"pointer-events:none; background:transparent;\">\n <button mat-icon-button matSuffix type=\"button\" tabindex=\"-1\" style=\"pointer-events:none;\">\n <mat-icon *ngIf=\"typeFile=='imagen'\">add_a_photo</mat-icon>\n <mat-icon *ngIf=\"typeFile=='pdf'\">picture_as_pdf</mat-icon>\n <mat-icon *ngIf=\"typeFile=='doc'\">insert_drive_file</mat-icon>\n </button>\n </mat-form-field>\n <input #fileInput id=\"input\" type=\"file\" title=\"Subir archivo\" [accept]=\"type\" style=\"display: none;\" (change)=\"fileChange($event)\">\n</div>\n", styles: ["p{font-family:Lato}.dropzone{min-height:400px;min-width:400px;display:table;width:100%;background-color:#eee;border:dotted 1px #aaa}.text-wrapper{display:table-cell;vertical-align:middle}.centered{font-family:sans-serif;font-size:1.3em;font-weight:700;text-align:center}.img :hover{background-image:url(data:image/png;base64,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);background-color:#cfd0d5;background-position:center;background-size:25%;background-repeat:no-repeat;transition:background-color 1s;cursor:pointer}.img{position:relative}.entrada{position:absolute;top:0;right:0;width:100%;height:100%}\n"] }]
3087
3174
  }], ctorParameters: function () { return [{ type: FileFormsService }, { type: HttpService }, { type: MessageService }, { type: i1$2.UntypedFormBuilder }]; }, propDecorators: { params: [{
3088
3175
  type: Input
3089
3176
  }], fileSave: [{
@@ -3093,17 +3180,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3093
3180
  }] } });
3094
3181
 
3095
3182
  class ButtonLabelComponent {
3096
- constructor() {
3097
- this.updateLabel = new EventEmitter();
3098
- this.labels = [];
3099
- this.labelsEdit = [];
3100
- this.color = null;
3101
- this.iconColor = null;
3102
- this.modeEdit = [];
3103
- this.currentValueToEdit = "";
3104
- this.indexToedit = -1;
3105
- this.initEventClink = false;
3106
- }
3183
+ constructor() { }
3184
+ updateLabel = new EventEmitter();
3185
+ labels = [];
3186
+ labelsEdit = [];
3187
+ color = null;
3188
+ iconColor = null;
3189
+ modeEdit = [];
3190
+ currentValueToEdit = "";
3191
+ indexToedit = -1;
3192
+ spanElement;
3193
+ initEventClink = false;
3107
3194
  ngOnInit() {
3108
3195
  }
3109
3196
  ngOnChanges(changes) {
@@ -3150,10 +3237,10 @@ class ButtonLabelComponent {
3150
3237
  ngOnDestroy() {
3151
3238
  document.removeEventListener('click', ($event) => this.onPageClick($event));
3152
3239
  }
3240
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3241
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonLabelComponent, selector: "app-button-label", inputs: { labels: "labels", labelsEdit: "labelsEdit", color: "color", iconColor: "iconColor" }, outputs: { updateLabel: "updateLabel" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"labels\" class=\"d-flex justify-content-center my-3 flex-wrap\">\n <div *ngFor=\"let item of labels;\">\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\">\n {{item}}\n </h4>\n </div>\n</div>\n\n<div *ngIf=\"labelsEdit\" class=\"d-flex justify-content-center my-3 flex-wrap\">\n <div *ngFor=\"let item of labelsEdit; let i = index\">\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\" [id]=\"'button-edit-' + i\">\n <h6 *ngIf=\"item.label\" class=\"mr-1 font-weight-bold m-0\">{{item.label}} </h6>\n <div *ngIf=\"!modeEdit[i]\">{{item.value}}</div>\n <div class=\"cursor-pointer\" (click)='editLabel(i)' *ngIf=\"!modeEdit[i] && item.edit\" matTooltip=\"Editar\" matTooltipPosition=\"above\">\n <mat-icon class=\"ml-1 pencil-edit cursor-pointer\" matTooltip=\"Editar\" matTooltipPosition=\"above\" [style.color]=\"iconColor\">edit</mat-icon>\n </div>\n\n <input *ngIf=\"modeEdit[i] && item.edit\" type=\"text\" [(ngModel)]='currentValueToEdit' matInput placeholder=\"Filtrar\">\n\n <div class=\"cursor-pointer\" (click)='finishEditLabel(i)' *ngIf=\"modeEdit[i] && item.edit\" matTooltip=\"Aceptar\" matTooltipPosition=\"above\">\n <i class=\"fa fa-check btn-accion\" style=\"margin-left: 15px;\"></i>\n </div>\n\n </h4>\n </div>\n</div>\n", styles: [".label-text{padding:5px;margin:5px 10px;border-radius:10px;-webkit-text-decoration:center;text-decoration:center;font-weight:500}.pencil-edit{font-size:16px;display:flex;align-items:center;justify-content:center}.cursor-pointer{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.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: i7$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
3153
3242
  }
3154
- ButtonLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3155
- ButtonLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ButtonLabelComponent, selector: "app-button-label", inputs: { labels: "labels", labelsEdit: "labelsEdit", color: "color", iconColor: "iconColor" }, outputs: { updateLabel: "updateLabel" }, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"labels\" class=\"d-flex justify-content-center my-3 flex-wrap\">\n <div *ngFor=\"let item of labels;\">\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\">\n {{item}}\n </h4>\n </div>\n</div>\n\n<div *ngIf=\"labelsEdit\" class=\"d-flex justify-content-center my-3 flex-wrap\">\n <div *ngFor=\"let item of labelsEdit; let i = index\">\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\" [id]=\"'button-edit-' + i\">\n <h6 *ngIf=\"item.label\" class=\"mr-1 font-weight-bold m-0\">{{item.label}} </h6>\n <div *ngIf=\"!modeEdit[i]\">{{item.value}}</div>\n <div class=\"cursor-pointer\" (click)='editLabel(i)' *ngIf=\"!modeEdit[i] && item.edit\" matTooltip=\"Editar\" matTooltipPosition=\"above\">\n <mat-icon class=\"ml-1 pencil-edit cursor-pointer\" matTooltip=\"Editar\" matTooltipPosition=\"above\" [style.color]=\"iconColor\">edit</mat-icon>\n </div>\n\n <input *ngIf=\"modeEdit[i] && item.edit\" type=\"text\" [(ngModel)]='currentValueToEdit' matInput placeholder=\"Filtrar\">\n\n <div class=\"cursor-pointer\" (click)='finishEditLabel(i)' *ngIf=\"modeEdit[i] && item.edit\" matTooltip=\"Aceptar\" matTooltipPosition=\"above\">\n <i class=\"fa fa-check btn-accion\" style=\"margin-left: 15px;\"></i>\n </div>\n\n </h4>\n </div>\n</div>\n", styles: [".label-text{padding:5px;margin:5px 10px;border-radius:10px;-webkit-text-decoration:center;text-decoration:center;font-weight:500}.pencil-edit{font-size:16px;display:flex;align-items:center;justify-content:center}.cursor-pointer{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.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: i7$1.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
3156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonLabelComponent, decorators: [{
3243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonLabelComponent, decorators: [{
3157
3244
  type: Component,
3158
3245
  args: [{ selector: 'app-button-label', template: "<div *ngIf=\"labels\" class=\"d-flex justify-content-center my-3 flex-wrap\">\n <div *ngFor=\"let item of labels;\">\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\">\n {{item}}\n </h4>\n </div>\n</div>\n\n<div *ngIf=\"labelsEdit\" class=\"d-flex justify-content-center my-3 flex-wrap\">\n <div *ngFor=\"let item of labelsEdit; let i = index\">\n <h4 *ngIf=\"item && item != ''\" class=\"mat-elevation-z2 label-text d-flex d-flex-row\" [style.background]=\"color?color:'#343a401a'\" [id]=\"'button-edit-' + i\">\n <h6 *ngIf=\"item.label\" class=\"mr-1 font-weight-bold m-0\">{{item.label}} </h6>\n <div *ngIf=\"!modeEdit[i]\">{{item.value}}</div>\n <div class=\"cursor-pointer\" (click)='editLabel(i)' *ngIf=\"!modeEdit[i] && item.edit\" matTooltip=\"Editar\" matTooltipPosition=\"above\">\n <mat-icon class=\"ml-1 pencil-edit cursor-pointer\" matTooltip=\"Editar\" matTooltipPosition=\"above\" [style.color]=\"iconColor\">edit</mat-icon>\n </div>\n\n <input *ngIf=\"modeEdit[i] && item.edit\" type=\"text\" [(ngModel)]='currentValueToEdit' matInput placeholder=\"Filtrar\">\n\n <div class=\"cursor-pointer\" (click)='finishEditLabel(i)' *ngIf=\"modeEdit[i] && item.edit\" matTooltip=\"Aceptar\" matTooltipPosition=\"above\">\n <i class=\"fa fa-check btn-accion\" style=\"margin-left: 15px;\"></i>\n </div>\n\n </h4>\n </div>\n</div>\n", styles: [".label-text{padding:5px;margin:5px 10px;border-radius:10px;-webkit-text-decoration:center;text-decoration:center;font-weight:500}.pencil-edit{font-size:16px;display:flex;align-items:center;justify-content:center}.cursor-pointer{cursor:pointer}\n"] }]
3159
3246
  }], ctorParameters: function () { return []; }, propDecorators: { updateLabel: [{
@@ -3207,157 +3294,157 @@ const Material = [
3207
3294
  MatNativeDateModule
3208
3295
  ];
3209
3296
  class BrainloperUiModule {
3297
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BrainloperUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3298
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: BrainloperUiModule, declarations: [DataTableComponent,
3299
+ TableModalComponent,
3300
+ CombosComponent,
3301
+ FileInputComponent,
3302
+ LoadingComponent,
3303
+ TemplateFuelComponent,
3304
+ BreadCrumbComponent,
3305
+ TemplateOtComponent,
3306
+ ButtonLabelComponent,
3307
+ ButtonIconComponent,
3308
+ CarouselComponent,
3309
+ FiltersComponent,
3310
+ SelectFilterComponent,
3311
+ CarouselItemDirective], imports: [LottieModule,
3312
+ CommonModule,
3313
+ MatButtonModule, MatSlideToggleModule,
3314
+ MatProgressBarModule,
3315
+ MatRippleModule,
3316
+ MatBottomSheetModule,
3317
+ MatChipsModule,
3318
+ MatTreeModule,
3319
+ MatButtonModule,
3320
+ MatButtonToggleModule,
3321
+ MatBadgeModule,
3322
+ MatIconModule,
3323
+ MatProgressSpinnerModule,
3324
+ MatToolbarModule,
3325
+ MatSidenavModule,
3326
+ MatMenuModule,
3327
+ MatListModule,
3328
+ MatDividerModule,
3329
+ MatGridListModule,
3330
+ MatExpansionModule,
3331
+ MatTabsModule,
3332
+ MatCardModule,
3333
+ MatStepperModule,
3334
+ MatFormFieldModule,
3335
+ MatInputModule,
3336
+ MatSelectModule,
3337
+ MatAutocompleteModule,
3338
+ MatCheckboxModule,
3339
+ MatRadioModule,
3340
+ MatDatepickerModule,
3341
+ MatTooltipModule,
3342
+ MatSnackBarModule,
3343
+ MatDialogModule,
3344
+ MatTableModule,
3345
+ MatSortModule,
3346
+ MatPaginatorModule,
3347
+ MatSliderModule,
3348
+ MatNativeDateModule, NgbModule,
3349
+ FormsModule,
3350
+ ReactiveFormsModule,
3351
+ HttpClientModule, i1$4.RouterModule, MatTooltipModule], exports: [MatSlideToggleModule,
3352
+ MatProgressBarModule,
3353
+ MatRippleModule,
3354
+ MatBottomSheetModule,
3355
+ MatChipsModule,
3356
+ MatTreeModule,
3357
+ MatButtonModule,
3358
+ MatButtonToggleModule,
3359
+ MatBadgeModule,
3360
+ MatIconModule,
3361
+ MatProgressSpinnerModule,
3362
+ MatToolbarModule,
3363
+ MatSidenavModule,
3364
+ MatMenuModule,
3365
+ MatListModule,
3366
+ MatDividerModule,
3367
+ MatGridListModule,
3368
+ MatExpansionModule,
3369
+ MatTabsModule,
3370
+ MatCardModule,
3371
+ MatStepperModule,
3372
+ MatFormFieldModule,
3373
+ MatInputModule,
3374
+ MatSelectModule,
3375
+ MatAutocompleteModule,
3376
+ MatCheckboxModule,
3377
+ MatRadioModule,
3378
+ MatDatepickerModule,
3379
+ MatTooltipModule,
3380
+ MatSnackBarModule,
3381
+ MatDialogModule,
3382
+ MatTableModule,
3383
+ MatSortModule,
3384
+ MatPaginatorModule,
3385
+ MatSliderModule,
3386
+ MatNativeDateModule, DataTableComponent,
3387
+ TableModalComponent,
3388
+ CombosComponent,
3389
+ FileInputComponent,
3390
+ LoadingComponent,
3391
+ BreadCrumbComponent,
3392
+ ButtonLabelComponent,
3393
+ ButtonIconComponent,
3394
+ NgbModule,
3395
+ CarouselComponent,
3396
+ FiltersComponent,
3397
+ SelectFilterComponent,
3398
+ CarouselItemDirective] });
3399
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BrainloperUiModule, providers: [
3400
+ HttpService
3401
+ ], imports: [LottieModule,
3402
+ CommonModule,
3403
+ MatButtonModule,
3404
+ Material,
3405
+ NgbModule,
3406
+ FormsModule,
3407
+ ReactiveFormsModule,
3408
+ HttpClientModule,
3409
+ RouterModule.forRoot([]),
3410
+ MatTooltipModule, MatSlideToggleModule,
3411
+ MatProgressBarModule,
3412
+ MatRippleModule,
3413
+ MatBottomSheetModule,
3414
+ MatChipsModule,
3415
+ MatTreeModule,
3416
+ MatButtonModule,
3417
+ MatButtonToggleModule,
3418
+ MatBadgeModule,
3419
+ MatIconModule,
3420
+ MatProgressSpinnerModule,
3421
+ MatToolbarModule,
3422
+ MatSidenavModule,
3423
+ MatMenuModule,
3424
+ MatListModule,
3425
+ MatDividerModule,
3426
+ MatGridListModule,
3427
+ MatExpansionModule,
3428
+ MatTabsModule,
3429
+ MatCardModule,
3430
+ MatStepperModule,
3431
+ MatFormFieldModule,
3432
+ MatInputModule,
3433
+ MatSelectModule,
3434
+ MatAutocompleteModule,
3435
+ MatCheckboxModule,
3436
+ MatRadioModule,
3437
+ MatDatepickerModule,
3438
+ MatTooltipModule,
3439
+ MatSnackBarModule,
3440
+ MatDialogModule,
3441
+ MatTableModule,
3442
+ MatSortModule,
3443
+ MatPaginatorModule,
3444
+ MatSliderModule,
3445
+ MatNativeDateModule, NgbModule] });
3210
3446
  }
3211
- BrainloperUiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BrainloperUiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3212
- BrainloperUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BrainloperUiModule, declarations: [DataTableComponent,
3213
- TableModalComponent,
3214
- CombosComponent,
3215
- FileInputComponent,
3216
- LoadingComponent,
3217
- TemplateFuelComponent,
3218
- BreadCrumbComponent,
3219
- TemplateOtComponent,
3220
- ButtonLabelComponent,
3221
- ButtonIconComponent,
3222
- CarouselComponent,
3223
- FiltersComponent,
3224
- SelectFilterComponent,
3225
- CarouselItemDirective], imports: [LottieModule,
3226
- CommonModule,
3227
- MatButtonModule, MatSlideToggleModule,
3228
- MatProgressBarModule,
3229
- MatRippleModule,
3230
- MatBottomSheetModule,
3231
- MatChipsModule,
3232
- MatTreeModule,
3233
- MatButtonModule,
3234
- MatButtonToggleModule,
3235
- MatBadgeModule,
3236
- MatIconModule,
3237
- MatProgressSpinnerModule,
3238
- MatToolbarModule,
3239
- MatSidenavModule,
3240
- MatMenuModule,
3241
- MatListModule,
3242
- MatDividerModule,
3243
- MatGridListModule,
3244
- MatExpansionModule,
3245
- MatTabsModule,
3246
- MatCardModule,
3247
- MatStepperModule,
3248
- MatFormFieldModule,
3249
- MatInputModule,
3250
- MatSelectModule,
3251
- MatAutocompleteModule,
3252
- MatCheckboxModule,
3253
- MatRadioModule,
3254
- MatDatepickerModule,
3255
- MatTooltipModule,
3256
- MatSnackBarModule,
3257
- MatDialogModule,
3258
- MatTableModule,
3259
- MatSortModule,
3260
- MatPaginatorModule,
3261
- MatSliderModule,
3262
- MatNativeDateModule, NgbModule,
3263
- FormsModule,
3264
- ReactiveFormsModule,
3265
- HttpClientModule, i1$4.RouterModule, MatTooltipModule], exports: [MatSlideToggleModule,
3266
- MatProgressBarModule,
3267
- MatRippleModule,
3268
- MatBottomSheetModule,
3269
- MatChipsModule,
3270
- MatTreeModule,
3271
- MatButtonModule,
3272
- MatButtonToggleModule,
3273
- MatBadgeModule,
3274
- MatIconModule,
3275
- MatProgressSpinnerModule,
3276
- MatToolbarModule,
3277
- MatSidenavModule,
3278
- MatMenuModule,
3279
- MatListModule,
3280
- MatDividerModule,
3281
- MatGridListModule,
3282
- MatExpansionModule,
3283
- MatTabsModule,
3284
- MatCardModule,
3285
- MatStepperModule,
3286
- MatFormFieldModule,
3287
- MatInputModule,
3288
- MatSelectModule,
3289
- MatAutocompleteModule,
3290
- MatCheckboxModule,
3291
- MatRadioModule,
3292
- MatDatepickerModule,
3293
- MatTooltipModule,
3294
- MatSnackBarModule,
3295
- MatDialogModule,
3296
- MatTableModule,
3297
- MatSortModule,
3298
- MatPaginatorModule,
3299
- MatSliderModule,
3300
- MatNativeDateModule, DataTableComponent,
3301
- TableModalComponent,
3302
- CombosComponent,
3303
- FileInputComponent,
3304
- LoadingComponent,
3305
- BreadCrumbComponent,
3306
- ButtonLabelComponent,
3307
- ButtonIconComponent,
3308
- NgbModule,
3309
- CarouselComponent,
3310
- FiltersComponent,
3311
- SelectFilterComponent,
3312
- CarouselItemDirective] });
3313
- BrainloperUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BrainloperUiModule, providers: [
3314
- HttpService
3315
- ], imports: [LottieModule,
3316
- CommonModule,
3317
- MatButtonModule,
3318
- Material,
3319
- NgbModule,
3320
- FormsModule,
3321
- ReactiveFormsModule,
3322
- HttpClientModule,
3323
- RouterModule.forRoot([]),
3324
- MatTooltipModule, MatSlideToggleModule,
3325
- MatProgressBarModule,
3326
- MatRippleModule,
3327
- MatBottomSheetModule,
3328
- MatChipsModule,
3329
- MatTreeModule,
3330
- MatButtonModule,
3331
- MatButtonToggleModule,
3332
- MatBadgeModule,
3333
- MatIconModule,
3334
- MatProgressSpinnerModule,
3335
- MatToolbarModule,
3336
- MatSidenavModule,
3337
- MatMenuModule,
3338
- MatListModule,
3339
- MatDividerModule,
3340
- MatGridListModule,
3341
- MatExpansionModule,
3342
- MatTabsModule,
3343
- MatCardModule,
3344
- MatStepperModule,
3345
- MatFormFieldModule,
3346
- MatInputModule,
3347
- MatSelectModule,
3348
- MatAutocompleteModule,
3349
- MatCheckboxModule,
3350
- MatRadioModule,
3351
- MatDatepickerModule,
3352
- MatTooltipModule,
3353
- MatSnackBarModule,
3354
- MatDialogModule,
3355
- MatTableModule,
3356
- MatSortModule,
3357
- MatPaginatorModule,
3358
- MatSliderModule,
3359
- MatNativeDateModule, NgbModule] });
3360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BrainloperUiModule, decorators: [{
3447
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BrainloperUiModule, decorators: [{
3361
3448
  type: NgModule,
3362
3449
  args: [{
3363
3450
  declarations: [
@@ -3413,6 +3500,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3413
3500
  //declare var require: any
3414
3501
  //var CryptoJS = require("crypto-js");
3415
3502
  class CryptoService {
3503
+ key;
3416
3504
  constructor() {
3417
3505
  this.key = "ssaldkmaosweiuf231owdalsd0";
3418
3506
  }
@@ -3434,10 +3522,10 @@ class CryptoService {
3434
3522
  console.log('Error try to decode string');
3435
3523
  }
3436
3524
  }
3525
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CryptoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3526
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CryptoService, providedIn: 'root' });
3437
3527
  }
3438
- CryptoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CryptoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3439
- CryptoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CryptoService, providedIn: 'root' });
3440
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CryptoService, decorators: [{
3528
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CryptoService, decorators: [{
3441
3529
  type: Injectable,
3442
3530
  args: [{
3443
3531
  providedIn: 'root'
@@ -3445,9 +3533,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3445
3533
  }], ctorParameters: function () { return []; } });
3446
3534
 
3447
3535
  class SessionService {
3536
+ cripto;
3537
+ key = "V2xoU2JHTnBRbnBpTWxvd1pESkdlVnBUUW10YVYzaHNaRzFXZG1OSE1XeGlibEU9"; //btoa 3 rounds
3448
3538
  constructor(cripto) {
3449
3539
  this.cripto = cripto;
3450
- this.key = "V2xoU2JHTnBRbnBpTWxvd1pESkdlVnBUUW10YVYzaHNaRzFXZG1OSE1XeGlibEU9"; //btoa 3 rounds
3451
3540
  }
3452
3541
  getMain() {
3453
3542
  const info = sessionStorage.getItem(this.key);
@@ -3473,10 +3562,10 @@ class SessionService {
3473
3562
  const info = this.getMain();
3474
3563
  return info || {};
3475
3564
  }
3565
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionService, deps: [{ token: CryptoService }], target: i0.ɵɵFactoryTarget.Injectable });
3566
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionService, providedIn: 'root' });
3476
3567
  }
3477
- SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SessionService, deps: [{ token: CryptoService }], target: i0.ɵɵFactoryTarget.Injectable });
3478
- SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SessionService, providedIn: 'root' });
3479
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SessionService, decorators: [{
3568
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionService, decorators: [{
3480
3569
  type: Injectable,
3481
3570
  args: [{
3482
3571
  providedIn: 'root'
@@ -3484,6 +3573,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3484
3573
  }], ctorParameters: function () { return [{ type: CryptoService }]; } });
3485
3574
 
3486
3575
  class PurchaseOrderPdfService {
3576
+ functions;
3487
3577
  constructor(functions) {
3488
3578
  this.functions = functions;
3489
3579
  }
@@ -3646,10 +3736,10 @@ class PurchaseOrderPdfService {
3646
3736
  const footerWidth = doc.getStringUnitWidth(footerText) * 8 / doc.internal.scaleFactor;
3647
3737
  doc.text(footerText, (pageWidth - footerWidth) / 2, pageHeight - 20);
3648
3738
  }
3739
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PurchaseOrderPdfService, deps: [{ token: FunctionsService }], target: i0.ɵɵFactoryTarget.Injectable });
3740
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PurchaseOrderPdfService, providedIn: 'root' });
3649
3741
  }
3650
- PurchaseOrderPdfService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PurchaseOrderPdfService, deps: [{ token: FunctionsService }], target: i0.ɵɵFactoryTarget.Injectable });
3651
- PurchaseOrderPdfService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PurchaseOrderPdfService, providedIn: 'root' });
3652
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PurchaseOrderPdfService, decorators: [{
3742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PurchaseOrderPdfService, decorators: [{
3653
3743
  type: Injectable,
3654
3744
  args: [{
3655
3745
  providedIn: 'root'
@@ -3657,6 +3747,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3657
3747
  }], ctorParameters: function () { return [{ type: FunctionsService }]; } });
3658
3748
 
3659
3749
  class GeneratePdfService {
3750
+ dialog;
3751
+ workOrderPdfService;
3752
+ FuelOrderPdfService;
3753
+ purchaseOrderPdfService;
3660
3754
  constructor(dialog, workOrderPdfService, FuelOrderPdfService, purchaseOrderPdfService) {
3661
3755
  this.dialog = dialog;
3662
3756
  this.workOrderPdfService = workOrderPdfService;
@@ -3727,10 +3821,10 @@ class GeneratePdfService {
3727
3821
  .catch(error => reject(error));
3728
3822
  });
3729
3823
  }
3824
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GeneratePdfService, deps: [{ token: i1.MatDialog }, { token: WorkOrderPdfService }, { token: FuelOrderPdfService }, { token: PurchaseOrderPdfService }], target: i0.ɵɵFactoryTarget.Injectable });
3825
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GeneratePdfService, providedIn: 'root' });
3730
3826
  }
3731
- GeneratePdfService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GeneratePdfService, deps: [{ token: i1.MatDialog }, { token: WorkOrderPdfService }, { token: FuelOrderPdfService }, { token: PurchaseOrderPdfService }], target: i0.ɵɵFactoryTarget.Injectable });
3732
- GeneratePdfService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GeneratePdfService, providedIn: 'root' });
3733
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GeneratePdfService, decorators: [{
3827
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GeneratePdfService, decorators: [{
3734
3828
  type: Injectable,
3735
3829
  args: [{
3736
3830
  providedIn: 'root'
@@ -3738,9 +3832,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3738
3832
  }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: WorkOrderPdfService }, { type: FuelOrderPdfService }, { type: PurchaseOrderPdfService }]; } });
3739
3833
 
3740
3834
  class LocalStorageService {
3835
+ prefix = 'bl-f';
3836
+ store = window.localStorage;
3741
3837
  constructor() {
3742
- this.prefix = 'bl-f';
3743
- this.store = window.localStorage;
3744
3838
  this.prefix += '.';
3745
3839
  }
3746
3840
  /**
@@ -3839,10 +3933,10 @@ class LocalStorageService {
3839
3933
  }
3840
3934
  return item.value;
3841
3935
  }
3936
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3937
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalStorageService, providedIn: 'root' });
3842
3938
  }
3843
- LocalStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3844
- LocalStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalStorageService, providedIn: 'root' });
3845
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalStorageService, decorators: [{
3939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalStorageService, decorators: [{
3846
3940
  type: Injectable,
3847
3941
  args: [{
3848
3942
  providedIn: 'root',
@@ -3850,11 +3944,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3850
3944
  }], ctorParameters: function () { return []; } });
3851
3945
 
3852
3946
  class MenuBreadCrumb {
3853
- constructor() {
3854
- this.name = "";
3855
- this.router = null;
3856
- this.current = false;
3857
- }
3947
+ name = "";
3948
+ router = null;
3949
+ current = false;
3858
3950
  }
3859
3951
 
3860
3952
  var enumActions;