brainloper-ui 14.1.3 → 14.1.5

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 (97) hide show
  1. package/esm2020/brainloper-ui.mjs +4 -4
  2. package/esm2020/public_api.mjs +56 -56
  3. package/esm2020/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +310 -310
  4. package/esm2020/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +29 -29
  5. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +23 -23
  6. package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +83 -83
  7. package/esm2020/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +40 -40
  8. package/esm2020/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +176 -176
  9. package/esm2020/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +728 -728
  10. package/esm2020/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +118 -118
  11. package/esm2020/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +186 -186
  12. package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.mjs +1 -1
  13. package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.mjs +1 -1
  14. package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.mjs +1 -1
  15. package/esm2020/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +222 -222
  16. package/esm2020/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.mjs +81 -80
  17. package/esm2020/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +82 -81
  18. package/esm2020/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.mjs +108 -108
  19. package/esm2020/src/app/modules/directives/carousel-item.directive.mjs +18 -18
  20. package/esm2020/src/app/modules/interfaces/buttons/button-icon.mjs +2 -2
  21. package/esm2020/src/app/modules/interfaces/buttons/button-lavel-edit.mjs +2 -2
  22. package/esm2020/src/app/modules/interfaces/combos/combos-configuration.mjs +2 -2
  23. package/esm2020/src/app/modules/interfaces/data-table/params.mjs +2 -2
  24. package/esm2020/src/app/modules/interfaces/data-table/rules.mjs +2 -2
  25. package/esm2020/src/app/modules/interfaces/data-table/table-columns.mjs +2 -2
  26. package/esm2020/src/app/modules/interfaces/data-table/table-configuration.mjs +2 -2
  27. package/esm2020/src/app/modules/interfaces/enum/enumActions.mjs +8 -8
  28. package/esm2020/src/app/modules/interfaces/enum/enumRules.mjs +8 -8
  29. package/esm2020/src/app/modules/interfaces/file-forms-service/file-forms-params.mjs +2 -2
  30. package/esm2020/src/app/modules/interfaces/file-forms-service/file-input-params.mjs +2 -2
  31. package/esm2020/src/app/modules/interfaces/filters/header-filters.mjs +2 -2
  32. package/esm2020/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +8 -8
  33. package/esm2020/src/app/modules/interfaces/report/template-pdf-base.mjs +2 -0
  34. package/esm2020/src/app/modules/interfaces/report/template-pdf-ot.mjs +2 -2
  35. package/esm2020/src/app/modules/interfaces/report/template-pfd-fo.mjs +2 -2
  36. package/esm2020/src/app/modules/services/crypto.service.mjs +37 -37
  37. package/esm2020/src/app/modules/services/export-data.service.mjs +166 -166
  38. package/esm2020/src/app/modules/services/file-forms.service.mjs +24 -24
  39. package/esm2020/src/app/modules/services/functions.service.mjs +54 -54
  40. package/esm2020/src/app/modules/services/generate-pdf.service.mjs +58 -58
  41. package/esm2020/src/app/modules/services/http.service.mjs +97 -97
  42. package/esm2020/src/app/modules/services/loading/loading.component.mjs +28 -28
  43. package/esm2020/src/app/modules/services/local-storage.service.mjs +115 -115
  44. package/esm2020/src/app/modules/services/message.service.mjs +200 -200
  45. package/esm2020/src/app/modules/services/screen-size-util.mjs +6 -6
  46. package/esm2020/src/app/modules/services/session.service.mjs +42 -42
  47. package/fesm2015/brainloper-ui.mjs +2814 -2812
  48. package/fesm2015/brainloper-ui.mjs.map +1 -1
  49. package/fesm2020/brainloper-ui.mjs +2774 -2772
  50. package/fesm2020/brainloper-ui.mjs.map +1 -1
  51. package/index.d.ts +5 -5
  52. package/package.json +1 -1
  53. package/public_api.d.ts +55 -55
  54. package/src/app/modules/brainloper-ui/brainloper-ui.module.d.ts +62 -62
  55. package/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.d.ts +13 -13
  56. package/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.d.ts +10 -10
  57. package/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.d.ts +24 -24
  58. package/src/app/modules/brainloper-ui/components/carousel/carousel.component.d.ts +16 -16
  59. package/src/app/modules/brainloper-ui/components/combos/combos.component.d.ts +46 -46
  60. package/src/app/modules/brainloper-ui/components/data-table/data-table.component.d.ts +125 -125
  61. package/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.d.ts +21 -21
  62. package/src/app/modules/brainloper-ui/components/file-input/file-input.component.d.ts +42 -42
  63. package/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.d.ts +2 -2
  64. package/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.d.ts +2 -2
  65. package/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.d.ts +2 -2
  66. package/src/app/modules/brainloper-ui/components/filters/filters.component.d.ts +30 -30
  67. package/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.d.ts +36 -35
  68. package/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.d.ts +37 -36
  69. package/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.d.ts +26 -26
  70. package/src/app/modules/directives/carousel-item.directive.d.ts +9 -9
  71. package/src/app/modules/interfaces/buttons/button-icon.d.ts +9 -9
  72. package/src/app/modules/interfaces/buttons/button-lavel-edit.d.ts +6 -6
  73. package/src/app/modules/interfaces/combos/combos-configuration.d.ts +13 -13
  74. package/src/app/modules/interfaces/data-table/params.d.ts +7 -7
  75. package/src/app/modules/interfaces/data-table/rules.d.ts +8 -8
  76. package/src/app/modules/interfaces/data-table/table-columns.d.ts +25 -25
  77. package/src/app/modules/interfaces/data-table/table-configuration.d.ts +26 -26
  78. package/src/app/modules/interfaces/enum/enumActions.d.ts +6 -6
  79. package/src/app/modules/interfaces/enum/enumRules.d.ts +6 -6
  80. package/src/app/modules/interfaces/file-forms-service/file-forms-params.d.ts +4 -4
  81. package/src/app/modules/interfaces/file-forms-service/file-input-params.d.ts +13 -13
  82. package/src/app/modules/interfaces/filters/header-filters.d.ts +13 -13
  83. package/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.d.ts +10 -10
  84. package/src/app/modules/interfaces/report/template-pdf-base.d.ts +17 -0
  85. package/src/app/modules/interfaces/report/template-pdf-ot.d.ts +6 -19
  86. package/src/app/modules/interfaces/report/template-pfd-fo.d.ts +7 -20
  87. package/src/app/modules/services/crypto.service.d.ts +10 -10
  88. package/src/app/modules/services/export-data.service.d.ts +18 -18
  89. package/src/app/modules/services/file-forms.service.d.ts +7 -7
  90. package/src/app/modules/services/functions.service.d.ts +13 -13
  91. package/src/app/modules/services/generate-pdf.service.d.ts +12 -12
  92. package/src/app/modules/services/http.service.d.ts +22 -22
  93. package/src/app/modules/services/loading/loading.component.d.ts +15 -15
  94. package/src/app/modules/services/local-storage.service.d.ts +49 -49
  95. package/src/app/modules/services/message.service.d.ts +23 -23
  96. package/src/app/modules/services/screen-size-util.d.ts +3 -3
  97. package/src/app/modules/services/session.service.d.ts +14 -14
@@ -1,81 +1,82 @@
1
- import { Component, Inject } from '@angular/core';
2
- import jsPDF from 'jspdf';
3
- import html2canvas from 'html2canvas';
4
- import { MAT_DIALOG_DATA } from '@angular/material/dialog';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/material/dialog";
7
- import * as i2 from "../../../../services/message.service";
8
- import * as i3 from "@angular/material/button";
9
- export class TemplateFuelComponent {
10
- constructor(dialogRef, dataModal, dialog, message) {
11
- this.dialogRef = dialogRef;
12
- this.dataModal = dataModal;
13
- this.dialog = dialog;
14
- this.message = message;
15
- this.data = {
16
- name: '',
17
- nit: '',
18
- address: '',
19
- telephone: '',
20
- mail: '',
21
- image: '',
22
- code: '',
23
- date: '',
24
- responsible: '',
25
- id_place: '',
26
- approved_by: '',
27
- detalle: '',
28
- description: '',
29
- consecutive: '',
30
- namePlace: '',
31
- addressPlace: '',
32
- area: '',
33
- odometer: '',
34
- };
35
- }
36
- ngOnInit() {
37
- this.data = this.dataModal.data;
38
- }
39
- ngAfterViewInit() {
40
- if (this.dataModal.autoGenerate) {
41
- this.downloadPDF();
42
- }
43
- }
44
- downloadPDF() {
45
- this.message.openLoading("Cargando", "Generando PDF");
46
- const DATA = document.getElementById('templateFO');
47
- const doc = new jsPDF('p', 'pt', 'a4');
48
- const options = {
49
- background: 'white',
50
- scale: 3
51
- };
52
- html2canvas(DATA, options)
53
- .then((canvas) => {
54
- const img = canvas.toDataURL('image/PNG');
55
- //add img canvas to pdf
56
- const bufferX = 15;
57
- const bufferY = 15;
58
- const imgProps = doc.getImageProperties(img);
59
- const pdfWidth = doc.internal.pageSize.getWidth() - 2 * bufferX;
60
- const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width;
61
- doc.addImage(img, 'PNG', bufferX, bufferY, pdfWidth, pdfHeight, undefined, 'FAST');
62
- return doc;
63
- })
64
- .then((docResult) => {
65
- //docResult.save(`${new Date().toISOString()}_reporte.pdf`);
66
- docResult.output('dataurlnewwindow', { filename: 'fuekreporte.pdf' });
67
- this.dialog.closeAll();
68
- this.message.closeLoading();
69
- });
70
- }
71
- }
72
- TemplateFuelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TemplateFuelComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1.MatDialog }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Component });
73
- TemplateFuelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TemplateFuelComponent, selector: "app-template-fuel", ngImport: i0, template: "<div id=\"templateFO\" #templateFO>\n <div class=\"template-ot\" style=\"display: flex; flex-direction: column; width:100%; margin:0; background-color: white;\">\n\n <!-- Encabezado -->\n <div class=\"borde\" style=\"width:100%; height:30mm; display:flex; flex-direction: row; align-items: center; \">\n <div style=\"width:70%; display:flex; flex-direction:column; align-items: center;\">\n <h2 style=\"margin:0; padding:0; text-align: center; text-transform: uppercase;\">{{data.name}}</h2>\n <h2 style=\"margin:0; padding:0; text-align: center; \">NIT: {{data.nit}}</h2>\n <div style=\"width:70%; display:flex; flex-direction:row; justify-content: space-around;\">\n <h3 style=\"margin:0; padding:0; text-align: center; \">{{data.address}}</h3>\n <h3 style=\"margin:0; padding:0; text-align: center; \">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:30%;\">\n <div class=\"img\"\n style=\"width:90%; height:100px; margin: 10px; padding: 15px; background-image: url({{data.image}});\">\n </div>\n </div>\n\n\n </div>\n <div class=\"borde\"\n style=\"width:100%; height:10mm; display:flex; flex-direction: row; justify-content: space-around; align-items: center; background: #F0F4FF;\">\n <h2 style=\"margin:0; padding:0;\">ORDEN DE COMBUSTIBLE</h2>\n <h2 style=\"margin:0; padding:0;\">N\u00B0: {{data.consecutive}}</h2>\n\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row; align-items: center\">\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Fecha:</h2>\n </div>\n <div style=\"width:20%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.date}}</h2>\n </div>\n <div style=\"width:18%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Od\u00F3metro:</h2>\n </div>\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.odometer}}</h2>\n </div>\n <div style=\"width:20%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">\u00C1rea:</h2>\n </div>\n <div style=\"width:40%\">\n <h2 style=\"text-align: center; margin-top:20px; padding:0;\">{{data.area}}</h2>\n </div>\n\n </div>\n\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row; align-items: center\">\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">C\u00F3digo:</h2>\n </div>\n <div style=\"width:20%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.code}}</h2>\n </div>\n <div style=\"width:20%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Operario:</h2>\n </div>\n <div style=\"width:45%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.responsible}}</h2>\n </div>\n </div>\n <div class=\"borde\" style=\"width:100%; height:10m; background: #F0F4FF;\">\n <h3 style=\"margin:0; padding:0; text-align: center;\">Datos del proveedor</h3>\n </div>\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row ; align-items: center\">\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Lugar:</h2>\n </div>\n <div style=\"width:35%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">{{data.namePlace}}</h2>\n </div>\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Direcci\u00F3n:</h2>\n </div>\n <div style=\"width:35%\">\n <h2 style=\"text-align: center; margin-top:20px; padding:0;\">{{data.addressPlace}}</h2>\n </div>\n\n </div>\n <div class=\"borde\" style=\"width:100%; height:8mm; background: #F0F4FF;\">\n <h3 style=\"margin:0; padding:0; text-align: center;\">Detalles del servicio</h3>\n </div>\n <div class=\"borde\" style=\"width:100%; height:20mm;\">\n <h3 style=\"margin: 6px 0 0 25px; padding:0;\">{{data.detalle}}</h3>\n <h3 style=\"margin: 0 0 0 25px; padding:0;\">Descripci\u00F3n: {{data.description}}</h3>\n </div>\n\n <div class=\"borde\" style=\"width:100%; height:10mm; display:flex; flex-direction:row; align-items: center\">\n <div style=\"width:35%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin:1px; padding:0;\">AUTORIZADA POR:</h2>\n </div>\n <div style=\"width:65%\">\n <h2 style=\"text-align: center; margin:5px; padding:0;\">{{data.approved_by}}</h2>\n </div>\n\n </div>\n\n <!-- piso -->\n <div class=\"borde\"\n style=\"width:100%; height:15mm; display: flex; flex-direction: column; justify-content: center;\">\n <h3 style=\"margin:0; padding:0; text-align: center;\">Favor adjuntar la orden de venta o factura\n </h3>\n <h3 style=\"margin:0; padding:0; text-align: center;\">{{data.mail}}</h3>\n\n </div>\n\n </div>\n</div>\n\n\n<div style=\"display: flex; justify-content: center; margin-top: 15px;\">\n <button (click)=\"downloadPDF()\" color='primary' mat-raised-button>Generar PDF</button>\n</div>\n", styles: [".img{background-size:100%;background-repeat:no-repeat;background-position:center;background-size:contain}h2{font-size:1rem}.borde{border:1px solid blue}\n"], dependencies: [{ kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TemplateFuelComponent, decorators: [{
75
- type: Component,
76
- args: [{ selector: 'app-template-fuel', template: "<div id=\"templateFO\" #templateFO>\n <div class=\"template-ot\" style=\"display: flex; flex-direction: column; width:100%; margin:0; background-color: white;\">\n\n <!-- Encabezado -->\n <div class=\"borde\" style=\"width:100%; height:30mm; display:flex; flex-direction: row; align-items: center; \">\n <div style=\"width:70%; display:flex; flex-direction:column; align-items: center;\">\n <h2 style=\"margin:0; padding:0; text-align: center; text-transform: uppercase;\">{{data.name}}</h2>\n <h2 style=\"margin:0; padding:0; text-align: center; \">NIT: {{data.nit}}</h2>\n <div style=\"width:70%; display:flex; flex-direction:row; justify-content: space-around;\">\n <h3 style=\"margin:0; padding:0; text-align: center; \">{{data.address}}</h3>\n <h3 style=\"margin:0; padding:0; text-align: center; \">TEL: {{data.telephone}}</h3>\n </div>\n </div>\n <div style=\"width:30%;\">\n <div class=\"img\"\n style=\"width:90%; height:100px; margin: 10px; padding: 15px; background-image: url({{data.image}});\">\n </div>\n </div>\n\n\n </div>\n <div class=\"borde\"\n style=\"width:100%; height:10mm; display:flex; flex-direction: row; justify-content: space-around; align-items: center; background: #F0F4FF;\">\n <h2 style=\"margin:0; padding:0;\">ORDEN DE COMBUSTIBLE</h2>\n <h2 style=\"margin:0; padding:0;\">N\u00B0: {{data.consecutive}}</h2>\n\n </div>\n\n <!-- Cuerpo -->\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row; align-items: center\">\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Fecha:</h2>\n </div>\n <div style=\"width:20%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.date}}</h2>\n </div>\n <div style=\"width:18%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Od\u00F3metro:</h2>\n </div>\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.odometer}}</h2>\n </div>\n <div style=\"width:20%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">\u00C1rea:</h2>\n </div>\n <div style=\"width:40%\">\n <h2 style=\"text-align: center; margin-top:20px; padding:0;\">{{data.area}}</h2>\n </div>\n\n </div>\n\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row; align-items: center\">\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">C\u00F3digo:</h2>\n </div>\n <div style=\"width:20%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.code}}</h2>\n </div>\n <div style=\"width:20%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">Operario:</h2>\n </div>\n <div style=\"width:45%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:5px; padding:0;\">{{data.responsible}}</h2>\n </div>\n </div>\n <div class=\"borde\" style=\"width:100%; height:10m; background: #F0F4FF;\">\n <h3 style=\"margin:0; padding:0; text-align: center;\">Datos del proveedor</h3>\n </div>\n <div class=\"borde\" style=\"width:100%; height:11mm; display:flex; flex-direction:row ; align-items: center\">\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Lugar:</h2>\n </div>\n <div style=\"width:35%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">{{data.namePlace}}</h2>\n </div>\n <div style=\"width:15%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin-top:3px; padding:0;\">Direcci\u00F3n:</h2>\n </div>\n <div style=\"width:35%\">\n <h2 style=\"text-align: center; margin-top:20px; padding:0;\">{{data.addressPlace}}</h2>\n </div>\n\n </div>\n <div class=\"borde\" style=\"width:100%; height:8mm; background: #F0F4FF;\">\n <h3 style=\"margin:0; padding:0; text-align: center;\">Detalles del servicio</h3>\n </div>\n <div class=\"borde\" style=\"width:100%; height:20mm;\">\n <h3 style=\"margin: 6px 0 0 25px; padding:0;\">{{data.detalle}}</h3>\n <h3 style=\"margin: 0 0 0 25px; padding:0;\">Descripci\u00F3n: {{data.description}}</h3>\n </div>\n\n <div class=\"borde\" style=\"width:100%; height:10mm; display:flex; flex-direction:row; align-items: center\">\n <div style=\"width:35%; border-right:1px solid blue; height: 100%;\">\n <h2 style=\"text-align: center; margin:1px; padding:0;\">AUTORIZADA POR:</h2>\n </div>\n <div style=\"width:65%\">\n <h2 style=\"text-align: center; margin:5px; padding:0;\">{{data.approved_by}}</h2>\n </div>\n\n </div>\n\n <!-- piso -->\n <div class=\"borde\"\n style=\"width:100%; height:15mm; display: flex; flex-direction: column; justify-content: center;\">\n <h3 style=\"margin:0; padding:0; text-align: center;\">Favor adjuntar la orden de venta o factura\n </h3>\n <h3 style=\"margin:0; padding:0; text-align: center;\">{{data.mail}}</h3>\n\n </div>\n\n </div>\n</div>\n\n\n<div style=\"display: flex; justify-content: center; margin-top: 15px;\">\n <button (click)=\"downloadPDF()\" color='primary' mat-raised-button>Generar PDF</button>\n</div>\n", styles: [".img{background-size:100%;background-repeat:no-repeat;background-position:center;background-size:contain}h2{font-size:1rem}.borde{border:1px solid blue}\n"] }]
77
- }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
78
- type: Inject,
79
- args: [MAT_DIALOG_DATA]
80
- }] }, { type: i1.MatDialog }, { type: i2.MessageService }]; } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtZnVlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL3JlcG9ydC90ZW1wbGF0ZS1mdWVsL3RlbXBsYXRlLWZ1ZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9yZXBvcnQvdGVtcGxhdGUtZnVlbC90ZW1wbGF0ZS1mdWVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFdBQVcsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxFQUEyQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFPcEYsTUFBTSxPQUFPLHFCQUFxQjtJQXVCaEMsWUFDUyxTQUE4QyxFQUNyQixTQUFTLEVBQ2pDLE1BQWdCLEVBQ2pCLE9BQXVCO1FBSHZCLGNBQVMsR0FBVCxTQUFTLENBQXFDO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQUE7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQXpCaEMsU0FBSSxHQUFHO1lBQ0wsSUFBSSxFQUFFLEVBQUU7WUFDUixHQUFHLEVBQUUsRUFBRTtZQUNQLE9BQU8sRUFBRSxFQUFFO1lBQ1gsU0FBUyxFQUFFLEVBQUU7WUFDYixJQUFJLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRSxFQUFFO1lBQ1QsSUFBSSxFQUFFLEVBQUU7WUFDUixJQUFJLEVBQUUsRUFBRTtZQUNSLFdBQVcsRUFBRSxFQUFFO1lBQ2YsUUFBUSxFQUFFLEVBQUU7WUFDWixXQUFXLEVBQUUsRUFBRTtZQUNmLE9BQU8sRUFBQyxFQUFFO1lBQ1YsV0FBVyxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUUsRUFBRTtZQUNmLFNBQVMsRUFBRSxFQUFFO1lBQ2IsWUFBWSxFQUFFLEVBQUU7WUFDaEIsSUFBSSxFQUFFLEVBQUU7WUFDUixRQUFRLEVBQUMsRUFBRTtTQUNaLENBQUE7SUFPRyxDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUE7SUFDakMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQTtTQUNuQjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQTtRQUNyRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25ELE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUc7WUFDZCxVQUFVLEVBQUUsT0FBTztZQUNuQixLQUFLLEVBQUUsQ0FBQztTQUNULENBQUM7UUFDRixXQUFXLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQzthQUN2QixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNoQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRTNDLHVCQUF1QjtZQUN2QixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbkIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ25CLE1BQU0sUUFBUSxHQUFJLEdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO1lBQy9ELE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ2hFLEdBQUcsQ0FBQyxRQUFRLENBQ1YsR0FBRyxFQUNILEtBQUssRUFDTCxPQUFPLEVBQ1AsT0FBTyxFQUNQLFFBQVEsRUFDUixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sQ0FDUCxDQUFDO1lBQ0YsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNuQiw0REFBNEQ7WUFDM0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBQyxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQTtZQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0hBNUVVLHFCQUFxQiw4Q0F5QnRCLGVBQWU7c0dBekJkLHFCQUFxQix5RENYbEMsNjVNQXFIQTsyRkQxR2EscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjs7MEJBNkIxQixNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQganNQREYgZnJvbSAnanNwZGYnO1xuaW1wb3J0IGh0bWwyY2FudmFzIGZyb20gJ2h0bWwyY2FudmFzJztcbmltcG9ydCB7TWF0RGlhbG9nLCAgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGVtcGxhdGUtZnVlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS1mdWVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGVtcGxhdGUtZnVlbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlRnVlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZGF0YSA9IHtcbiAgICBuYW1lOiAnJyxcbiAgICBuaXQ6ICcnLFxuICAgIGFkZHJlc3M6ICcnLFxuICAgIHRlbGVwaG9uZTogJycsXG4gICAgbWFpbDogJycsXG4gICAgaW1hZ2U6ICcnLFxuICAgIGNvZGU6ICcnLFxuICAgIGRhdGU6ICcnLFxuICAgIHJlc3BvbnNpYmxlOiAnJyxcbiAgICBpZF9wbGFjZTogJycsXG4gICAgYXBwcm92ZWRfYnk6ICcnLFxuICAgIGRldGFsbGU6JycsXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIGNvbnNlY3V0aXZlOiAnJyxcbiAgICBuYW1lUGxhY2U6ICcnLFxuICAgIGFkZHJlc3NQbGFjZTogJycsXG4gICAgYXJlYTogJycsXG4gICAgb2RvbWV0ZXI6JycsXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VGVtcGxhdGVGdWVsQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGFNb2RhbCxcbiAgICBwcml2YXRlIGRpYWxvZzpNYXREaWFsb2csXG4gICAgcHVibGljIG1lc3NhZ2U6IE1lc3NhZ2VTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhTW9kYWwuZGF0YVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCl7XG4gICAgaWYodGhpcy5kYXRhTW9kYWwuYXV0b0dlbmVyYXRlKXtcbiAgICAgIHRoaXMuZG93bmxvYWRQREYoKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkb3dubG9hZFBERigpOiB2b2lkIHtcbiAgICB0aGlzLm1lc3NhZ2Uub3BlbkxvYWRpbmcoXCJDYXJnYW5kb1wiLCBcIkdlbmVyYW5kbyBQREZcIilcbiAgICBjb25zdCBEQVRBID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbXBsYXRlRk8nKTtcbiAgICBjb25zdCBkb2MgPSBuZXcganNQREYoJ3AnLCAncHQnLCAnYTQnKTtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgYmFja2dyb3VuZDogJ3doaXRlJyxcbiAgICAgIHNjYWxlOiAzXG4gICAgfTtcbiAgICBodG1sMmNhbnZhcyhEQVRBLCBvcHRpb25zKVxuICAgICAgLnRoZW4oKGNhbnZhcykgPT4ge1xuICAgICAgIGNvbnN0IGltZyA9IGNhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL1BORycpO1xuXG4gICAgICAvL2FkZCBpbWcgY2FudmFzIHRvIHBkZlxuICAgICAgY29uc3QgYnVmZmVyWCA9IDE1O1xuICAgICAgY29uc3QgYnVmZmVyWSA9IDE1O1xuICAgICAgY29uc3QgaW1nUHJvcHMgPSAoZG9jIGFzIGFueSkuZ2V0SW1hZ2VQcm9wZXJ0aWVzKGltZyk7XG4gICAgICBjb25zdCBwZGZXaWR0aCA9IGRvYy5pbnRlcm5hbC5wYWdlU2l6ZS5nZXRXaWR0aCgpIC0yICogYnVmZmVyWDtcbiAgICAgIGNvbnN0IHBkZkhlaWdodCA9IChpbWdQcm9wcy5oZWlnaHQgKiBwZGZXaWR0aCkgLyBpbWdQcm9wcy53aWR0aDtcbiAgICAgIGRvYy5hZGRJbWFnZShcbiAgICAgICAgaW1nLFxuICAgICAgICAnUE5HJyxcbiAgICAgICAgYnVmZmVyWCxcbiAgICAgICAgYnVmZmVyWSxcbiAgICAgICAgcGRmV2lkdGgsXG4gICAgICAgIHBkZkhlaWdodCxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAnRkFTVCdcbiAgICAgICk7XG4gICAgICByZXR1cm4gZG9jO1xuICAgIH0pXG4gICAgLnRoZW4oKGRvY1Jlc3VsdCkgPT4ge1xuICAgICAvL2RvY1Jlc3VsdC5zYXZlKGAke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX1fcmVwb3J0ZS5wZGZgKTtcbiAgICAgIGRvY1Jlc3VsdC5vdXRwdXQoJ2RhdGF1cmxuZXd3aW5kb3cnLCB7ZmlsZW5hbWU6ICdmdWVrcmVwb3J0ZS5wZGYnfSk7XG4gICAgICB0aGlzLmRpYWxvZy5jbG9zZUFsbCgpXG4gICAgICB0aGlzLm1lc3NhZ2UuY2xvc2VMb2FkaW5nKClcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cInRlbXBsYXRlRk9cIiAjdGVtcGxhdGVGTz5cbiAgICA8ZGl2IGNsYXNzPVwidGVtcGxhdGUtb3RcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IHdpZHRoOjEwMCU7IG1hcmdpbjowOyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcIj5cblxuICAgICAgICA8IS0tIEVuY2FiZXphZG8gIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVcIiBzdHlsZT1cIndpZHRoOjEwMCU7IGhlaWdodDozMG1tOyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IFwiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjcwJTsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7XCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1wiPnt7ZGF0YS5uYW1lfX08L2gyPlxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cIm1hcmdpbjowOyBwYWRkaW5nOjA7IHRleHQtYWxpZ246IGNlbnRlcjsgXCI+TklUOiB7e2RhdGEubml0fX08L2gyPlxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDo3MCU7IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246cm93OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyOyBcIj57e2RhdGEuYWRkcmVzc319PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgPGgzIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyOyBcIj5URUw6IHt7ZGF0YS50ZWxlcGhvbmV9fTwvaDM+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDozMCU7XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZ1wiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6OTAlOyBoZWlnaHQ6MTAwcHg7IG1hcmdpbjogMTBweDsgICBwYWRkaW5nOiAxNXB4OyAgYmFja2dyb3VuZC1pbWFnZTogdXJsKHt7ZGF0YS5pbWFnZX19KTtcIj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiXG4gICAgICAgICAgICBzdHlsZT1cIndpZHRoOjEwMCU7IGhlaWdodDoxMG1tOyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyBhbGlnbi1pdGVtczogY2VudGVyOyBiYWNrZ3JvdW5kOiAjRjBGNEZGO1wiPlxuICAgICAgICAgICAgPGgyIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDtcIj5PUkRFTiBERSBDT01CVVNUSUJMRTwvaDI+XG4gICAgICAgICAgICA8aDIgc3R5bGU9XCJtYXJnaW46MDsgcGFkZGluZzowO1wiPk7CsDoge3tkYXRhLmNvbnNlY3V0aXZlfX08L2gyPlxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gQ3VlcnBvIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVcIiBzdHlsZT1cIndpZHRoOjEwMCU7IGhlaWdodDoxMW1tOyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOnJvdzsgYWxpZ24taXRlbXM6IGNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjE1JTsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCBibHVlOyBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjVweDsgcGFkZGluZzowO1wiPkZlY2hhOjwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoyMCU7IGJvcmRlci1yaWdodDoxcHggc29saWQgIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6NXB4OyBwYWRkaW5nOjA7XCI+e3tkYXRhLmRhdGV9fTwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoxOCU7IGJvcmRlci1yaWdodDoxcHggc29saWQgIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6NXB4OyBwYWRkaW5nOjA7XCI+T2TDs21ldHJvOjwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoxNSU7IGJvcmRlci1yaWdodDoxcHggc29saWQgIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6NXB4OyBwYWRkaW5nOjA7XCI+e3tkYXRhLm9kb21ldGVyfX08L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MjAlOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICBibHVlOyBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjVweDsgcGFkZGluZzowO1wiPsOBcmVhOjwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDo0MCVcIj5cbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6MjBweDsgcGFkZGluZzowO1wiPnt7ZGF0YS5hcmVhfX08L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlXCIgc3R5bGU9XCJ3aWR0aDoxMDAlOyBoZWlnaHQ6MTFtbTsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpyb3c7IGFsaWduLWl0ZW1zOiBjZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoxNSU7IGJvcmRlci1yaWdodDoxcHggc29saWQgIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6NXB4OyBwYWRkaW5nOjA7XCI+Q8OzZGlnbzo8L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MjAlOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICBibHVlOyBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjVweDsgcGFkZGluZzowO1wiPnt7ZGF0YS5jb2RlfX08L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MjAlOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICBibHVlOyBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjVweDsgcGFkZGluZzowO1wiPk9wZXJhcmlvOjwvaDI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDo0NSU7IGJvcmRlci1yaWdodDoxcHggc29saWQgIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6NXB4OyBwYWRkaW5nOjA7XCI+e3tkYXRhLnJlc3BvbnNpYmxlfX08L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlXCIgc3R5bGU9XCJ3aWR0aDoxMDAlOyBoZWlnaHQ6MTBtOyBiYWNrZ3JvdW5kOiAjRjBGNEZGO1wiPlxuICAgICAgICAgICAgPGgzIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyO1wiPkRhdG9zIGRlbCBwcm92ZWVkb3I8L2gzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlXCIgc3R5bGU9XCJ3aWR0aDoxMDAlOyBoZWlnaHQ6MTFtbTsgZGlzcGxheTpmbGV4OyBmbGV4LWRpcmVjdGlvbjpyb3cgOyBhbGlnbi1pdGVtczogY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MTUlOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkIGJsdWU7IGhlaWdodDogMTAwJTtcIj5cbiAgICAgICAgICAgICAgICA8aDIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi10b3A6M3B4OyBwYWRkaW5nOjA7XCI+THVnYXI6PC9oMj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjM1JTsgYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAgYmx1ZTsgaGVpZ2h0OiAxMDAlO1wiPlxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDozcHg7IHBhZGRpbmc6MDtcIj57e2RhdGEubmFtZVBsYWNlfX08L2gyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MTUlOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICBibHVlOyBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tdG9wOjNweDsgcGFkZGluZzowO1wiPkRpcmVjY2nDs246PC9oMj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjM1JVwiPlxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLXRvcDoyMHB4OyBwYWRkaW5nOjA7XCI+e3tkYXRhLmFkZHJlc3NQbGFjZX19PC9oMj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVcIiBzdHlsZT1cIndpZHRoOjEwMCU7IGhlaWdodDo4bW07IGJhY2tncm91bmQ6ICNGMEY0RkY7XCI+XG4gICAgICAgICAgICA8aDMgc3R5bGU9XCJtYXJnaW46MDsgcGFkZGluZzowOyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+RGV0YWxsZXMgZGVsIHNlcnZpY2lvPC9oMz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiIHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OjIwbW07XCI+XG4gICAgICAgICAgICA8aDMgc3R5bGU9XCJtYXJnaW46IDZweCAwIDAgMjVweDsgcGFkZGluZzowO1wiPnt7ZGF0YS5kZXRhbGxlfX08L2gzPlxuICAgICAgICAgICAgPGgzIHN0eWxlPVwibWFyZ2luOiAwIDAgMCAyNXB4OyBwYWRkaW5nOjA7XCI+RGVzY3JpcGNpw7NuOiB7e2RhdGEuZGVzY3JpcHRpb259fTwvaDM+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZVwiIHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OjEwbW07IGRpc3BsYXk6ZmxleDsgZmxleC1kaXJlY3Rpb246cm93OyBhbGlnbi1pdGVtczogY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPVwid2lkdGg6MzUlOyBib3JkZXItcmlnaHQ6MXB4IHNvbGlkIGJsdWU7ICBoZWlnaHQ6IDEwMCU7XCI+XG4gICAgICAgICAgICAgICAgPGgyIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW46MXB4OyBwYWRkaW5nOjA7XCI+QVVUT1JJWkFEQSBQT1I6PC9oMj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIndpZHRoOjY1JVwiPlxuICAgICAgICAgICAgICAgIDxoMiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luOjVweDsgcGFkZGluZzowO1wiPnt7ZGF0YS5hcHByb3ZlZF9ieX19PC9oMj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gcGlzbyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlXCJcbiAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6MTAwJTsgaGVpZ2h0OjE1bW07IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGp1c3RpZnktY29udGVudDogY2VudGVyO1wiPlxuICAgICAgICAgICAgPGgzIHN0eWxlPVwibWFyZ2luOjA7IHBhZGRpbmc6MDsgdGV4dC1hbGlnbjogY2VudGVyO1wiPkZhdm9yIGFkanVudGFyIGxhIG9yZGVuIGRlIHZlbnRhIG8gZmFjdHVyYVxuICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgIDxoMyBzdHlsZT1cIm1hcmdpbjowOyBwYWRkaW5nOjA7IHRleHQtYWxpZ246IGNlbnRlcjtcIj57e2RhdGEubWFpbH19PC9oMz5cblxuICAgICAgICA8L2Rpdj5cblxuICAgIDwvZGl2PlxuPC9kaXY+XG5cblxuPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBtYXJnaW4tdG9wOiAxNXB4O1wiPlxuICAgIDxidXR0b24gKGNsaWNrKT1cImRvd25sb2FkUERGKClcIiBjb2xvcj0ncHJpbWFyeScgbWF0LXJhaXNlZC1idXR0b24+R2VuZXJhciBQREY8L2J1dHRvbj5cbjwvZGl2PlxuIl19
1
+ import { Component, Inject } from '@angular/core';
2
+ import jsPDF from 'jspdf';
3
+ import html2canvas from 'html2canvas';
4
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "../../../../services/message.service";
8
+ import * as i3 from "@angular/material/button";
9
+ export class TemplateFuelComponent {
10
+ constructor(dialogRef, dataModal, dialog, message) {
11
+ this.dialogRef = dialogRef;
12
+ this.dataModal = dataModal;
13
+ this.dialog = dialog;
14
+ this.message = message;
15
+ this.data = {
16
+ name: '',
17
+ nit: '',
18
+ address: '',
19
+ telephone: '',
20
+ mail: '',
21
+ image: '',
22
+ code: '',
23
+ date: '',
24
+ responsible: '',
25
+ id_place: '',
26
+ approved_by: '',
27
+ detalle: '',
28
+ description: '',
29
+ consecutive: '',
30
+ namePlace: '',
31
+ addressPlace: '',
32
+ area: '',
33
+ odometer: '',
34
+ invoiceReference: ''
35
+ };
36
+ }
37
+ ngOnInit() {
38
+ this.data = this.dataModal.data;
39
+ }
40
+ ngAfterViewInit() {
41
+ if (this.dataModal.autoGenerate) {
42
+ this.downloadPDF();
43
+ }
44
+ }
45
+ downloadPDF() {
46
+ this.message.openLoading("Cargando", "Generando PDF");
47
+ const DATA = document.getElementById('templateFO');
48
+ const doc = new jsPDF('p', 'pt', 'a4');
49
+ const options = {
50
+ background: 'white',
51
+ scale: 3
52
+ };
53
+ html2canvas(DATA, options)
54
+ .then((canvas) => {
55
+ const img = canvas.toDataURL('image/PNG');
56
+ //add img canvas to pdf
57
+ const bufferX = 15;
58
+ const bufferY = 15;
59
+ const imgProps = doc.getImageProperties(img);
60
+ const pdfWidth = doc.internal.pageSize.getWidth() - 2 * bufferX;
61
+ const pdfHeight = (imgProps.height * pdfWidth) / imgProps.width;
62
+ doc.addImage(img, 'PNG', bufferX, bufferY, pdfWidth, pdfHeight, undefined, 'FAST');
63
+ return doc;
64
+ })
65
+ .then((docResult) => {
66
+ //docResult.save(`${new Date().toISOString()}_reporte.pdf`);
67
+ docResult.output('dataurlnewwindow', { filename: 'fuekreporte.pdf' });
68
+ this.dialog.closeAll();
69
+ this.message.closeLoading();
70
+ });
71
+ }
72
+ }
73
+ TemplateFuelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TemplateFuelComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i1.MatDialog }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Component });
74
+ TemplateFuelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TemplateFuelComponent, selector: "app-template-fuel", ngImport: i0, template: "<div id=\"templateFO\" #templateFO>\r\n <div class=\"d-flex flex-column w-100 white-background\">\r\n\r\n <!-- Encabezado -->\r\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\r\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\r\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\r\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\r\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\r\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\r\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\r\n </div>\r\n </div>\r\n <div style=\"width:20%\">\r\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"borde container-headers\">\r\n <h2>ORDEN DE COMBUSTIBLE</h2>\r\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\r\n </div>\r\n\r\n <!-- Cuerpo -->\r\n <div class=\"borde w-100 flexible-row\">\r\n <div class=\"border-r container-text\" style=\"width:12%\">\r\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\r\n </div>\r\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\r\n <h2 class=\"wrap-text\">{{data.area}}</h2>\r\n </div>\r\n <div class=\"border-r container-text\" style=\"width:12%\">\r\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\r\n </div>\r\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\r\n <h2 class=\"wrap-text\">{{data.code}}</h2>\r\n </div>\r\n <div class=\"border-r container-text\" style=\"width:12%\">\r\n <h2 class=\"fw-bold\">Fecha:</h2>\r\n </div>\r\n <div class=\"container-text text-content\" style=\"width:16%\">\r\n <h2 class=\"wrap-text\">{{data.date}}</h2>\r\n </div>\r\n </div>\r\n\r\n <div class=\"borde w-100 flexible-row\">\r\n <div class=\"border-r container-text\" style=\"width:12%\">\r\n <h2 class=\"fw-bold\">Operario:</h2>\r\n </div>\r\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\r\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\r\n </div>\r\n <div class=\"border-r container-text\" style=\"width:12%\">\r\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\r\n </div>\r\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\r\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\r\n </div>\r\n <div class=\"border-r container-text\" style=\"width:12%\">\r\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\r\n </div>\r\n <div class=\"container-text text-content\" style=\"width:16%\">\r\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\r\n </div>\r\n </div>\r\n\r\n <div class=\"borde container-headers\">\r\n <h3>Datos del proveedor</h3>\r\n </div>\r\n\r\n <div class=\"borde flexible-row\">\r\n <div class=\"border-r container-text\" style=\"width:15%\">\r\n <h2 class=\"fw-bold\">Lugar:</h2>\r\n </div>\r\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\r\n <h2 class=\"wrap-text\">{{data.namePlace}}</h2>\r\n </div>\r\n <div class=\"border-r container-text\" style=\"width:15%\">\r\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\r\n </div>\r\n <div class=\"container-text text-content\" style=\"width:35%\">\r\n <h2 class=\"wrap-text\">{{data.addressPlace}}</h2>\r\n </div>\r\n </div>\r\n\r\n <div class=\"borde container-headers\">\r\n <h3>Detalles del servicio</h3>\r\n </div>\r\n\r\n <div class=\"borde w-100 description-section\">\r\n <h3 class=\"wrap-text text-start\">{{data.detalle}}</h3>\r\n <h3 class=\"wrap-text text-start\">Descripci\u00F3n: {{data.description}}</h3>\r\n </div>\r\n\r\n <div class=\"borde w-100 flexible-row\">\r\n <div class=\"border-r container-text\" style=\"width:35%\">\r\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\r\n </div>\r\n <div class=\"container-text text-content\" style=\"width:65%\">\r\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\r\n </div>\r\n </div>\r\n\r\n <!-- piso -->\r\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\r\n <h2>Favor adjuntar la orden de venta o factura</h2>\r\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n<div class=\"download-container\">\r\n <button (click)=\"downloadPDF()\" color='primary' mat-raised-button>Generar PDF</button>\r\n</div>\r\n", styles: [".img{background-size:100%;background-repeat:no-repeat;background-position:center;background-size:contain;height:22mm;margin:10px;padding:15px}h2{font-size:1rem;line-height:1.2;margin:0;padding:0;text-align:center}h3{line-height:1.2;margin:0;padding:0;text-align:center}.text-header{line-height:1.5;font-weight:700}.text-uppercase{text-transform:uppercase}.wrap-text{white-space:pre-wrap}.text-content{padding:5px;word-wrap:break-word;overflow-wrap:break-word}.borde{border:1px solid blue}.border-r{border-right:1px solid blue;min-height:100%;align-self:stretch}.container-text{display:flex;justify-content:center;align-items:center;min-height:inherit}.container-headers{display:flex;align-items:center;justify-content:space-evenly;width:100%;min-height:8mm;background:rgba(240,244,255,.6117647059);padding:5px;word-wrap:break-word;overflow-wrap:break-word}.container-headers h2,.container-headers h3{font-weight:700}.flexible-row{display:flex;flex-direction:row;align-items:stretch;min-height:11mm}.header-section{min-height:25mm}.footer-section{min-height:14mm;background:rgba(240,244,255,.35);padding:5px;word-wrap:break-word;overflow-wrap:break-word}.description-section{min-height:20mm;padding:10px;word-wrap:break-word;overflow-wrap:break-word}.w-100{width:100%!important}.text-start{text-align:start}.white-background{background-color:#fff}.download-container{display:flex;justify-content:center;margin-top:15px}\n"], dependencies: [{ kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TemplateFuelComponent, decorators: [{
76
+ type: Component,
77
+ args: [{ selector: 'app-template-fuel', template: "<div id=\"templateFO\" #templateFO>\r\n <div class=\"d-flex flex-column w-100 white-background\">\r\n\r\n <!-- Encabezado -->\r\n <div class=\"borde w-100 d-flex flex-row align-items-center header-section\">\r\n <div class=\"d-flex flex-column align-items-center text-content\" style=\"width:80%\">\r\n <h2 class=\"text-header text-uppercase wrap-text\">{{data.name}}</h2>\r\n <h2 class=\"text-header wrap-text\">NIT: {{data.nit}}</h2>\r\n <div class=\"w-100 d-flex flex-row justify-content-evenly\">\r\n <h3 class=\"text-header wrap-text\">{{data.address}}</h3>\r\n <h3 class=\"text-header wrap-text\">TEL: {{data.telephone}}</h3>\r\n </div>\r\n </div>\r\n <div style=\"width:20%\">\r\n <div class=\"img w-100\" [style.background-image]=\"'url(' + data.image + ')'\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"borde container-headers\">\r\n <h2>ORDEN DE COMBUSTIBLE</h2>\r\n <h2 class=\"wrap-text\">N\u00B0: {{data.consecutive}}</h2>\r\n </div>\r\n\r\n <!-- Cuerpo -->\r\n <div class=\"borde w-100 flexible-row\">\r\n <div class=\"border-r container-text\" style=\"width:12%\">\r\n <h2 class=\"fw-bold\">\u00C1rea:</h2>\r\n </div>\r\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\r\n <h2 class=\"wrap-text\">{{data.area}}</h2>\r\n </div>\r\n <div class=\"border-r container-text\" style=\"width:12%\">\r\n <h2 class=\"fw-bold\">C\u00F3digo:</h2>\r\n </div>\r\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\r\n <h2 class=\"wrap-text\">{{data.code}}</h2>\r\n </div>\r\n <div class=\"border-r container-text\" style=\"width:12%\">\r\n <h2 class=\"fw-bold\">Fecha:</h2>\r\n </div>\r\n <div class=\"container-text text-content\" style=\"width:16%\">\r\n <h2 class=\"wrap-text\">{{data.date}}</h2>\r\n </div>\r\n </div>\r\n\r\n <div class=\"borde w-100 flexible-row\">\r\n <div class=\"border-r container-text\" style=\"width:12%\">\r\n <h2 class=\"fw-bold\">Operario:</h2>\r\n </div>\r\n <div class=\"border-r container-text text-content\" style=\"width:32%\">\r\n <h2 class=\"wrap-text\">{{data.responsible}}</h2>\r\n </div>\r\n <div class=\"border-r container-text\" style=\"width:12%\">\r\n <h2 class=\"fw-bold\">Od\u00F3metro:</h2>\r\n </div>\r\n <div class=\"border-r container-text text-content\" style=\"width:16%\">\r\n <h2 class=\"wrap-text\">{{data.odometer}}</h2>\r\n </div>\r\n <div class=\"border-r container-text\" style=\"width:12%\">\r\n <h2 class=\"fw-bold\">Referencia Factura:</h2>\r\n </div>\r\n <div class=\"container-text text-content\" style=\"width:16%\">\r\n <h2 class=\"wrap-text\">{{data.invoiceReference}}</h2>\r\n </div>\r\n </div>\r\n\r\n <div class=\"borde container-headers\">\r\n <h3>Datos del proveedor</h3>\r\n </div>\r\n\r\n <div class=\"borde flexible-row\">\r\n <div class=\"border-r container-text\" style=\"width:15%\">\r\n <h2 class=\"fw-bold\">Lugar:</h2>\r\n </div>\r\n <div class=\"border-r container-text text-content\" style=\"width:35%\">\r\n <h2 class=\"wrap-text\">{{data.namePlace}}</h2>\r\n </div>\r\n <div class=\"border-r container-text\" style=\"width:15%\">\r\n <h2 class=\"fw-bold\">Direcci\u00F3n:</h2>\r\n </div>\r\n <div class=\"container-text text-content\" style=\"width:35%\">\r\n <h2 class=\"wrap-text\">{{data.addressPlace}}</h2>\r\n </div>\r\n </div>\r\n\r\n <div class=\"borde container-headers\">\r\n <h3>Detalles del servicio</h3>\r\n </div>\r\n\r\n <div class=\"borde w-100 description-section\">\r\n <h3 class=\"wrap-text text-start\">{{data.detalle}}</h3>\r\n <h3 class=\"wrap-text text-start\">Descripci\u00F3n: {{data.description}}</h3>\r\n </div>\r\n\r\n <div class=\"borde w-100 flexible-row\">\r\n <div class=\"border-r container-text\" style=\"width:35%\">\r\n <h2 class=\"fw-bold\">AUTORIZADA POR:</h2>\r\n </div>\r\n <div class=\"container-text text-content\" style=\"width:65%\">\r\n <h2 class=\"wrap-text\">{{data.approved_by}}</h2>\r\n </div>\r\n </div>\r\n\r\n <!-- piso -->\r\n <div class=\"borde d-flex flex-column align-items-center justify-content-center w-100 footer-section\">\r\n <h2>Favor adjuntar la orden de venta o factura</h2>\r\n <h2 class=\"wrap-text\">{{data.mail}}</h2>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n\r\n<div class=\"download-container\">\r\n <button (click)=\"downloadPDF()\" color='primary' mat-raised-button>Generar PDF</button>\r\n</div>\r\n", styles: [".img{background-size:100%;background-repeat:no-repeat;background-position:center;background-size:contain;height:22mm;margin:10px;padding:15px}h2{font-size:1rem;line-height:1.2;margin:0;padding:0;text-align:center}h3{line-height:1.2;margin:0;padding:0;text-align:center}.text-header{line-height:1.5;font-weight:700}.text-uppercase{text-transform:uppercase}.wrap-text{white-space:pre-wrap}.text-content{padding:5px;word-wrap:break-word;overflow-wrap:break-word}.borde{border:1px solid blue}.border-r{border-right:1px solid blue;min-height:100%;align-self:stretch}.container-text{display:flex;justify-content:center;align-items:center;min-height:inherit}.container-headers{display:flex;align-items:center;justify-content:space-evenly;width:100%;min-height:8mm;background:rgba(240,244,255,.6117647059);padding:5px;word-wrap:break-word;overflow-wrap:break-word}.container-headers h2,.container-headers h3{font-weight:700}.flexible-row{display:flex;flex-direction:row;align-items:stretch;min-height:11mm}.header-section{min-height:25mm}.footer-section{min-height:14mm;background:rgba(240,244,255,.35);padding:5px;word-wrap:break-word;overflow-wrap:break-word}.description-section{min-height:20mm;padding:10px;word-wrap:break-word;overflow-wrap:break-word}.w-100{width:100%!important}.text-start{text-align:start}.white-background{background-color:#fff}.download-container{display:flex;justify-content:center;margin-top:15px}\n"] }]
78
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
79
+ type: Inject,
80
+ args: [MAT_DIALOG_DATA]
81
+ }] }, { type: i1.MatDialog }, { type: i2.MessageService }]; } });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtZnVlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL3JlcG9ydC90ZW1wbGF0ZS1mdWVsL3RlbXBsYXRlLWZ1ZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9yZXBvcnQvdGVtcGxhdGUtZnVlbC90ZW1wbGF0ZS1mdWVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFdBQVcsTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxFQUEyQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFPcEYsTUFBTSxPQUFPLHFCQUFxQjtJQXdCaEMsWUFDUyxTQUE4QyxFQUNyQixTQUFTLEVBQ2pDLE1BQWdCLEVBQ2pCLE9BQXVCO1FBSHZCLGNBQVMsR0FBVCxTQUFTLENBQXFDO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQUE7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBVTtRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQTFCaEMsU0FBSSxHQUFHO1lBQ0wsSUFBSSxFQUFFLEVBQUU7WUFDUixHQUFHLEVBQUUsRUFBRTtZQUNQLE9BQU8sRUFBRSxFQUFFO1lBQ1gsU0FBUyxFQUFFLEVBQUU7WUFDYixJQUFJLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRSxFQUFFO1lBQ1QsSUFBSSxFQUFFLEVBQUU7WUFDUixJQUFJLEVBQUUsRUFBRTtZQUNSLFdBQVcsRUFBRSxFQUFFO1lBQ2YsUUFBUSxFQUFFLEVBQUU7WUFDWixXQUFXLEVBQUUsRUFBRTtZQUNmLE9BQU8sRUFBQyxFQUFFO1lBQ1YsV0FBVyxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUUsRUFBRTtZQUNmLFNBQVMsRUFBRSxFQUFFO1lBQ2IsWUFBWSxFQUFFLEVBQUU7WUFDaEIsSUFBSSxFQUFFLEVBQUU7WUFDUixRQUFRLEVBQUMsRUFBRTtZQUNYLGdCQUFnQixFQUFFLEVBQUU7U0FDckIsQ0FBQTtJQU9HLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQTtJQUNqQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUM7WUFDN0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1NBQ25CO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFBO1FBQ3JELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2QyxNQUFNLE9BQU8sR0FBRztZQUNkLFVBQVUsRUFBRSxPQUFPO1lBQ25CLEtBQUssRUFBRSxDQUFDO1NBQ1QsQ0FBQztRQUNGLFdBQVcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO2FBQ3ZCLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFM0MsdUJBQXVCO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNuQixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDbkIsTUFBTSxRQUFRLEdBQUksR0FBVyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7WUFDL0QsTUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDaEUsR0FBRyxDQUFDLFFBQVEsQ0FDVixHQUFHLEVBQ0gsS0FBSyxFQUNMLE9BQU8sRUFDUCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxDQUNQLENBQUM7WUFDRixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ25CLDREQUE0RDtZQUMzRCxTQUFTLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEVBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFDLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFBO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztrSEE3RVUscUJBQXFCLDhDQTBCdEIsZUFBZTtzR0ExQmQscUJBQXFCLHlEQ1hsQywyeUtBb0hBOzJGRHpHYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1COzswQkE4QjFCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQganNQREYgZnJvbSAnanNwZGYnO1xyXG5pbXBvcnQgaHRtbDJjYW52YXMgZnJvbSAnaHRtbDJjYW52YXMnO1xyXG5pbXBvcnQge01hdERpYWxvZywgIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRlbXBsYXRlLWZ1ZWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS1mdWVsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZW1wbGF0ZS1mdWVsLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbXBsYXRlRnVlbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGRhdGEgPSB7XHJcbiAgICBuYW1lOiAnJyxcclxuICAgIG5pdDogJycsXHJcbiAgICBhZGRyZXNzOiAnJyxcclxuICAgIHRlbGVwaG9uZTogJycsXHJcbiAgICBtYWlsOiAnJyxcclxuICAgIGltYWdlOiAnJyxcclxuICAgIGNvZGU6ICcnLFxyXG4gICAgZGF0ZTogJycsXHJcbiAgICByZXNwb25zaWJsZTogJycsXHJcbiAgICBpZF9wbGFjZTogJycsXHJcbiAgICBhcHByb3ZlZF9ieTogJycsXHJcbiAgICBkZXRhbGxlOicnLFxyXG4gICAgZGVzY3JpcHRpb246ICcnLFxyXG4gICAgY29uc2VjdXRpdmU6ICcnLFxyXG4gICAgbmFtZVBsYWNlOiAnJyxcclxuICAgIGFkZHJlc3NQbGFjZTogJycsXHJcbiAgICBhcmVhOiAnJyxcclxuICAgIG9kb21ldGVyOicnLFxyXG4gICAgaW52b2ljZVJlZmVyZW5jZTogJydcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRlbXBsYXRlRnVlbENvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGFNb2RhbCxcclxuICAgIHByaXZhdGUgZGlhbG9nOk1hdERpYWxvZyxcclxuICAgIHB1YmxpYyBtZXNzYWdlOiBNZXNzYWdlU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhTW9kYWwuZGF0YVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCl7XHJcbiAgICBpZih0aGlzLmRhdGFNb2RhbC5hdXRvR2VuZXJhdGUpe1xyXG4gICAgICB0aGlzLmRvd25sb2FkUERGKClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBkb3dubG9hZFBERigpOiB2b2lkIHtcclxuICAgIHRoaXMubWVzc2FnZS5vcGVuTG9hZGluZyhcIkNhcmdhbmRvXCIsIFwiR2VuZXJhbmRvIFBERlwiKVxyXG4gICAgY29uc3QgREFUQSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZW1wbGF0ZUZPJyk7XHJcbiAgICBjb25zdCBkb2MgPSBuZXcganNQREYoJ3AnLCAncHQnLCAnYTQnKTtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICd3aGl0ZScsXHJcbiAgICAgIHNjYWxlOiAzXHJcbiAgICB9O1xyXG4gICAgaHRtbDJjYW52YXMoREFUQSwgb3B0aW9ucylcclxuICAgICAgLnRoZW4oKGNhbnZhcykgPT4ge1xyXG4gICAgICAgY29uc3QgaW1nID0gY2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvUE5HJyk7XHJcblxyXG4gICAgICAvL2FkZCBpbWcgY2FudmFzIHRvIHBkZlxyXG4gICAgICBjb25zdCBidWZmZXJYID0gMTU7XHJcbiAgICAgIGNvbnN0IGJ1ZmZlclkgPSAxNTtcclxuICAgICAgY29uc3QgaW1nUHJvcHMgPSAoZG9jIGFzIGFueSkuZ2V0SW1hZ2VQcm9wZXJ0aWVzKGltZyk7XHJcbiAgICAgIGNvbnN0IHBkZldpZHRoID0gZG9jLmludGVybmFsLnBhZ2VTaXplLmdldFdpZHRoKCkgLTIgKiBidWZmZXJYO1xyXG4gICAgICBjb25zdCBwZGZIZWlnaHQgPSAoaW1nUHJvcHMuaGVpZ2h0ICogcGRmV2lkdGgpIC8gaW1nUHJvcHMud2lkdGg7XHJcbiAgICAgIGRvYy5hZGRJbWFnZShcclxuICAgICAgICBpbWcsXHJcbiAgICAgICAgJ1BORycsXHJcbiAgICAgICAgYnVmZmVyWCxcclxuICAgICAgICBidWZmZXJZLFxyXG4gICAgICAgIHBkZldpZHRoLFxyXG4gICAgICAgIHBkZkhlaWdodCxcclxuICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgJ0ZBU1QnXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybiBkb2M7XHJcbiAgICB9KVxyXG4gICAgLnRoZW4oKGRvY1Jlc3VsdCkgPT4ge1xyXG4gICAgIC8vZG9jUmVzdWx0LnNhdmUoYCR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfV9yZXBvcnRlLnBkZmApO1xyXG4gICAgICBkb2NSZXN1bHQub3V0cHV0KCdkYXRhdXJsbmV3d2luZG93Jywge2ZpbGVuYW1lOiAnZnVla3JlcG9ydGUucGRmJ30pO1xyXG4gICAgICB0aGlzLmRpYWxvZy5jbG9zZUFsbCgpXHJcbiAgICAgIHRoaXMubWVzc2FnZS5jbG9zZUxvYWRpbmcoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJ0ZW1wbGF0ZUZPXCIgI3RlbXBsYXRlRk8+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIHctMTAwIHdoaXRlLWJhY2tncm91bmRcIj5cclxuXHJcbiAgICAgICAgPCEtLSBFbmNhYmV6YWRvICAtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGUgdy0xMDAgZC1mbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBoZWFkZXItc2VjdGlvblwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciB0ZXh0LWNvbnRlbnRcIiBzdHlsZT1cIndpZHRoOjgwJVwiPlxyXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwidGV4dC1oZWFkZXIgdGV4dC11cHBlcmNhc2Ugd3JhcC10ZXh0XCI+e3tkYXRhLm5hbWV9fTwvaDI+XHJcbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJ0ZXh0LWhlYWRlciB3cmFwLXRleHRcIj5OSVQ6IHt7ZGF0YS5uaXR9fTwvaDI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgZC1mbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1ldmVubHlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LWhlYWRlciB3cmFwLXRleHRcIj57e2RhdGEuYWRkcmVzc319PC9oMz5cclxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJ0ZXh0LWhlYWRlciB3cmFwLXRleHRcIj5URUw6IHt7ZGF0YS50ZWxlcGhvbmV9fTwvaDM+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDoyMCVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWcgdy0xMDBcIiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCIndXJsKCcgKyBkYXRhLmltYWdlICsgJyknXCI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZSBjb250YWluZXItaGVhZGVyc1wiPlxyXG4gICAgICAgICAgICA8aDI+T1JERU4gREUgQ09NQlVTVElCTEU8L2gyPlxyXG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJ3cmFwLXRleHRcIj5OwrA6IHt7ZGF0YS5jb25zZWN1dGl2ZX19PC9oMj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSBDdWVycG8gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlIHctMTAwIGZsZXhpYmxlLXJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLXIgY29udGFpbmVyLXRleHRcIiBzdHlsZT1cIndpZHRoOjEyJVwiPlxyXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZnctYm9sZFwiPsOBcmVhOjwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLXIgY29udGFpbmVyLXRleHQgdGV4dC1jb250ZW50XCIgc3R5bGU9XCJ3aWR0aDozMiVcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cIndyYXAtdGV4dFwiPnt7ZGF0YS5hcmVhfX08L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLXIgY29udGFpbmVyLXRleHRcIiBzdHlsZT1cIndpZHRoOjEyJVwiPlxyXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZnctYm9sZFwiPkPDs2RpZ286PC9oMj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItciBjb250YWluZXItdGV4dCB0ZXh0LWNvbnRlbnRcIiBzdHlsZT1cIndpZHRoOjE2JVwiPlxyXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwid3JhcC10ZXh0XCI+e3tkYXRhLmNvZGV9fTwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLXIgY29udGFpbmVyLXRleHRcIiBzdHlsZT1cIndpZHRoOjEyJVwiPlxyXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZnctYm9sZFwiPkZlY2hhOjwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXRleHQgdGV4dC1jb250ZW50XCIgc3R5bGU9XCJ3aWR0aDoxNiVcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cIndyYXAtdGV4dFwiPnt7ZGF0YS5kYXRlfX08L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlIHctMTAwIGZsZXhpYmxlLXJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLXIgY29udGFpbmVyLXRleHRcIiBzdHlsZT1cIndpZHRoOjEyJVwiPlxyXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZnctYm9sZFwiPk9wZXJhcmlvOjwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLXIgY29udGFpbmVyLXRleHQgdGV4dC1jb250ZW50XCIgc3R5bGU9XCJ3aWR0aDozMiVcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cIndyYXAtdGV4dFwiPnt7ZGF0YS5yZXNwb25zaWJsZX19PC9oMj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZXItciBjb250YWluZXItdGV4dFwiIHN0eWxlPVwid2lkdGg6MTIlXCI+XHJcbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJmdy1ib2xkXCI+T2TDs21ldHJvOjwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLXIgY29udGFpbmVyLXRleHQgdGV4dC1jb250ZW50XCIgc3R5bGU9XCJ3aWR0aDoxNiVcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cIndyYXAtdGV4dFwiPnt7ZGF0YS5vZG9tZXRlcn19PC9oMj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLXIgY29udGFpbmVyLXRleHRcIiBzdHlsZT1cIndpZHRoOjEyJVwiPlxyXG4gICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZnctYm9sZFwiPlJlZmVyZW5jaWEgRmFjdHVyYTo8L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10ZXh0IHRleHQtY29udGVudFwiIHN0eWxlPVwid2lkdGg6MTYlXCI+XHJcbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJ3cmFwLXRleHRcIj57e2RhdGEuaW52b2ljZVJlZmVyZW5jZX19PC9oMj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZSBjb250YWluZXItaGVhZGVyc1wiPlxyXG4gICAgICAgICAgICA8aDM+RGF0b3MgZGVsIHByb3ZlZWRvcjwvaDM+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZSBmbGV4aWJsZS1yb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1yIGNvbnRhaW5lci10ZXh0XCIgc3R5bGU9XCJ3aWR0aDoxNSVcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cImZ3LWJvbGRcIj5MdWdhcjo8L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1yIGNvbnRhaW5lci10ZXh0IHRleHQtY29udGVudFwiIHN0eWxlPVwid2lkdGg6MzUlXCI+XHJcbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJ3cmFwLXRleHRcIj57e2RhdGEubmFtZVBsYWNlfX08L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1yIGNvbnRhaW5lci10ZXh0XCIgc3R5bGU9XCJ3aWR0aDoxNSVcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cImZ3LWJvbGRcIj5EaXJlY2Npw7NuOjwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXRleHQgdGV4dC1jb250ZW50XCIgc3R5bGU9XCJ3aWR0aDozNSVcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cIndyYXAtdGV4dFwiPnt7ZGF0YS5hZGRyZXNzUGxhY2V9fTwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9yZGUgY29udGFpbmVyLWhlYWRlcnNcIj5cclxuICAgICAgICAgICAgPGgzPkRldGFsbGVzIGRlbCBzZXJ2aWNpbzwvaDM+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZSB3LTEwMCBkZXNjcmlwdGlvbi1zZWN0aW9uXCI+XHJcbiAgICAgICAgICAgIDxoMyBjbGFzcz1cIndyYXAtdGV4dCB0ZXh0LXN0YXJ0XCI+e3tkYXRhLmRldGFsbGV9fTwvaDM+XHJcbiAgICAgICAgICAgIDxoMyBjbGFzcz1cIndyYXAtdGV4dCB0ZXh0LXN0YXJ0XCI+RGVzY3JpcGNpw7NuOiB7e2RhdGEuZGVzY3JpcHRpb259fTwvaDM+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJib3JkZSB3LTEwMCBmbGV4aWJsZS1yb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlci1yIGNvbnRhaW5lci10ZXh0XCIgc3R5bGU9XCJ3aWR0aDozNSVcIj5cclxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cImZ3LWJvbGRcIj5BVVRPUklaQURBIFBPUjo8L2gyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10ZXh0IHRleHQtY29udGVudFwiIHN0eWxlPVwid2lkdGg6NjUlXCI+XHJcbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJ3cmFwLXRleHRcIj57e2RhdGEuYXBwcm92ZWRfYnl9fTwvaDI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIHBpc28gLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJvcmRlIGQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciB3LTEwMCBmb290ZXItc2VjdGlvblwiPlxyXG4gICAgICAgICAgICA8aDI+RmF2b3IgYWRqdW50YXIgbGEgb3JkZW4gZGUgdmVudGEgbyBmYWN0dXJhPC9oMj5cclxuICAgICAgICAgICAgPGgyIGNsYXNzPVwid3JhcC10ZXh0XCI+e3tkYXRhLm1haWx9fTwvaDI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cImRvd25sb2FkLWNvbnRhaW5lclwiPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiZG93bmxvYWRQREYoKVwiIGNvbG9yPSdwcmltYXJ5JyBtYXQtcmFpc2VkLWJ1dHRvbj5HZW5lcmFyIFBERjwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
@@ -1,108 +1,108 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/forms";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/material/progress-spinner";
6
- import * as i4 from "@angular/material/input";
7
- export class SelectFilterComponent {
8
- constructor(fb) {
9
- this.showSpinner = true;
10
- this.noResultsMessage = 'No results';
11
- this.noResults = false;
12
- this.localSpinner = false;
13
- this.filteredReturn = new EventEmitter();
14
- this.filteredItems = [];
15
- this.searchForm = fb.group({
16
- value: ''
17
- });
18
- }
19
- ngOnInit() {
20
- this.searchFormValueChangesSubscription = this.searchForm.valueChanges.subscribe(value => {
21
- const searchValue = value['value'] ? value['value'].toLowerCase() : '';
22
- if (this.showSpinner) {
23
- this.localSpinner = true;
24
- }
25
- if (searchValue) {
26
- if (this.displayMember == null) {
27
- this.filteredItems = this.array.filter(name => name.toLowerCase().includes(searchValue));
28
- }
29
- else if (this.hasGroup && this.groupArrayName && this.displayMember) {
30
- this.filteredItems = this.array.map(a => {
31
- const objCopy = { ...a };
32
- objCopy[this.groupArrayName] = objCopy[this.groupArrayName].filter(g => g[this.displayMember].toLowerCase().includes(searchValue));
33
- return objCopy;
34
- }).filter(x => x[this.groupArrayName].length > 0);
35
- }
36
- else {
37
- this.filteredItems = this.array.filter(name => name[this.displayMember].toLowerCase().includes(searchValue));
38
- }
39
- this.noResults = this.filteredItems.length === 0;
40
- }
41
- else {
42
- this.filteredItems = [...this.array];
43
- this.noResults = false;
44
- }
45
- this.filteredReturn.emit(this.filteredItems);
46
- setTimeout(() => {
47
- if (this.showSpinner) {
48
- this.localSpinner = false;
49
- }
50
- }, 2000);
51
- });
52
- setTimeout(() => {
53
- this.input.nativeElement.focus();
54
- }, 500);
55
- if (!this.placeholder) {
56
- this.placeholder = 'Search...';
57
- }
58
- }
59
- handleKeydown(event) {
60
- const isAlphanumeric = (event.key && event.key.length === 1) ||
61
- (event.code >= 'KeyA' && event.code <= 'KeyZ') ||
62
- (event.code >= 'Digit0' && event.code <= 'Digit9') ||
63
- (event.code === 'Space');
64
- if (isAlphanumeric) {
65
- event.stopPropagation();
66
- }
67
- }
68
- ngOnDestroy() {
69
- this.filteredReturn.emit(this.array);
70
- this.searchFormValueChangesSubscription.unsubscribe();
71
- }
72
- }
73
- SelectFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectFilterComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
74
- SelectFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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:transparent;background-color:initial;color:gray;width:100%}.spinner{position:absolute;right:16px;top:calc(50% - 8px)}.noResultsMessage{margin-top:10px;font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectFilterComponent, decorators: [{
76
- type: Component,
77
- args: [{ selector: 'app-select-filter', template: "<form [formGroup]=\"searchForm\" class=\"mat-filter\" [ngStyle]=\"{'background-color': color ? color : 'white'}\">\n <div>\n <input #input class=\"mat-filter-input\" matInput placeholder=\"{{placeholder}}\" formControlName=\"value\" (keydown)=\"handleKeydown($event)\">\n <mat-spinner *ngIf=\"localSpinner\" class=\"spinner\" diameter=\"16\"></mat-spinner>\n </div>\n <div *ngIf=\"noResults\"\n class=\"noResultsMessage\">\n {{noResultsMessage}}\n</div>\n</form>\n", styles: [".mat-filter{position:sticky;top:0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:gray;z-index:100;font-size:inherit;box-shadow:none;border-radius:0;padding:16px;box-sizing:border-box}.mat-filter-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;border:0;background-color:transparent;background-color:initial;color:gray;width:100%}.spinner{position:absolute;right:16px;top:calc(50% - 8px)}.noResultsMessage{margin-top:10px;font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}\n"] }]
78
- }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { input: [{
79
- type: ViewChild,
80
- args: ['input', { static: true }]
81
- }], array: [{
82
- type: Input,
83
- args: ['array']
84
- }], placeholder: [{
85
- type: Input,
86
- args: ['placeholder']
87
- }], color: [{
88
- type: Input,
89
- args: ['color']
90
- }], displayMember: [{
91
- type: Input,
92
- args: ['displayMember']
93
- }], showSpinner: [{
94
- type: Input,
95
- args: ['showSpinner']
96
- }], noResultsMessage: [{
97
- type: Input,
98
- args: ['noResultsMessage']
99
- }], hasGroup: [{
100
- type: Input,
101
- args: ['hasGroup']
102
- }], groupArrayName: [{
103
- type: Input,
104
- args: ['groupArrayName']
105
- }], filteredReturn: [{
106
- type: Output
107
- }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL3NlbGVjdC1maWx0ZXIvc2VsZWN0LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL3NlbGVjdC1maWx0ZXIvc2VsZWN0LWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWdCckcsTUFBTSxPQUFPLHFCQUFxQjtJQXNCaEMsWUFBWSxFQUFlO1FBYkwsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDZCxxQkFBZ0IsR0FBRyxZQUFZLENBQUM7UUFJM0QsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNYLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1QyxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUk3QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDekIsS0FBSyxFQUFFLEVBQUU7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckYsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxD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UUFBUSxDQUFDO1lBQ2xELENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQztRQUU3QixJQUFJLGNBQWMsRUFBRTtZQUNoQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUMsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEQsQ0FBQzs7a0hBeEZVLHFCQUFxQjtzR0FBckIscUJBQXFCLHdiQ2hCbEMsOGRBVUE7MkZETWEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjtrR0FPUyxLQUFLO3NCQUExQyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRXBCLEtBQUs7c0JBQXBCLEtBQUs7dUJBQUMsT0FBTztnQkFDUSxXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ0osS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNVLGFBQWE7c0JBQXBDLEtBQUs7dUJBQUMsZUFBZTtnQkFDQSxXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ08sZ0JBQWdCO3NCQUExQyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFDTixRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVU7Z0JBQ1EsY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBS2IsY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBBLFxuICBaLFxuICBaRVJPLFxuICBOSU5FLFxuICBTUEFDRSwgRU5ELCBIT01FLFxufSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VsZWN0LWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LWZpbHRlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95ICB7XG5cbiAgcHJpdmF0ZSBzZWFyY2hGb3JtVmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXQ7XG5cbiAgQElucHV0KCdhcnJheScpIGFycmF5OiBhbnk7XG4gIEBJbnB1dCgncGxhY2Vob2xkZXInKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBASW5wdXQoJ2NvbG9yJykgY29sb3I6IHN0cmluZztcbiAgQElucHV0KCdkaXNwbGF5TWVtYmVyJykgZGlzcGxheU1lbWJlcjogc3RyaW5nO1xuICBASW5wdXQoJ3Nob3dTcGlubmVyJykgc2hvd1NwaW5uZXIgPSB0cnVlO1xuICBASW5wdXQoJ25vUmVzdWx0c01lc3NhZ2UnKSBub1Jlc3VsdHNNZXNzYWdlID0gJ05vIHJlc3VsdHMnO1xuICBASW5wdXQoJ2hhc0dyb3VwJykgaGFzR3JvdXA6IGJvb2xlYW47XG4gIEBJbnB1dCgnZ3JvdXBBcnJheU5hbWUnKSBncm91cEFycmF5TmFtZTogc3RyaW5nO1xuXG4gIG5vUmVzdWx0cyA9IGZhbHNlO1xuXG4gIGxvY2FsU3Bpbm5lciA9IGZhbHNlO1xuICBAT3V0cHV0KCkgZmlsdGVyZWRSZXR1cm4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRJdGVtczogYW55ID0gW107XG4gIHB1YmxpYyBzZWFyY2hGb3JtOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5zZWFyY2hGb3JtID0gZmIuZ3JvdXAoe1xuICAgICAgdmFsdWU6ICcnXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlYXJjaEZvcm1WYWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24gPSB0aGlzLnNlYXJjaEZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgIGNvbnN0IHNlYXJjaFZhbHVlID0gdmFsdWVbJ3ZhbHVlJ10gPyB2YWx1ZVsndmFsdWUnXS50b0xvd2VyQ2FzZSgpIDogJyc7XG4gICAgICAgIGlmICh0aGlzLnNob3dTcGlubmVyKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2FsU3Bpbm5lciA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2VhcmNoVmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRpc3BsYXlNZW1iZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuYXJyYXkuZmlsdGVyKG5hbWUgPT4gbmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaGFzR3JvdXAgJiYgdGhpcy5ncm91cEFycmF5TmFtZSAmJiB0aGlzLmRpc3BsYXlNZW1iZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLmFycmF5Lm1hcChhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2JqQ29weSA9IHsgLi4uYSB9O1xuICAgICAgICAgICAgICAgICAgICBvYmpDb3B5W3RoaXMuZ3JvdXBBcnJheU5hbWVdID0gb2JqQ29weVt0aGlzLmdyb3VwQXJyYXlOYW1lXS5maWx0ZXIoZyA9PiBnW3RoaXMuZGlzcGxheU1lbWJlcl0udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZSkpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqQ29weTtcbiAgICAgICAgICAgICAgICB9KS5maWx0ZXIoeCA9PiB4W3RoaXMuZ3JvdXBBcnJheU5hbWVdLmxlbmd0aCA+IDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLmFycmF5LmZpbHRlcihuYW1lID0+IG5hbWVbdGhpcy5kaXNwbGF5TWVtYmVyXS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFZhbHVlKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubm9SZXN1bHRzID0gdGhpcy5maWx0ZXJlZEl0ZW1zLmxlbmd0aCA9PT0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IFsuLi50aGlzLmFycmF5XTtcbiAgICAgICAgICAgIHRoaXMubm9SZXN1bHRzID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZpbHRlcmVkUmV0dXJuLmVtaXQodGhpcy5maWx0ZXJlZEl0ZW1zKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNob3dTcGlubmVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbFNwaW5uZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMjAwMCk7XG4gICAgfSk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSwgNTAwKTtcblxuICAgIGlmICghdGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gJ1NlYXJjaC4uLic7XG4gICAgfVxufVxuXG5cblxuICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3QgaXNBbHBoYW51bWVyaWMgPSAoZXZlbnQua2V5ICYmIGV2ZW50LmtleS5sZW5ndGggPT09IDEpIHx8XG4gICAgICAgIChldmVudC5jb2RlID49ICdLZXlBJyAmJiBldmVudC5jb2RlIDw9ICdLZXlaJykgfHxcbiAgICAgICAgKGV2ZW50LmNvZGUgPj0gJ0RpZ2l0MCcgJiYgZXZlbnQuY29kZSA8PSAnRGlnaXQ5JykgfHxcbiAgICAgICAgKGV2ZW50LmNvZGUgPT09ICdTcGFjZScpO1xuXG4gICAgaWYgKGlzQWxwaGFudW1lcmljKSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbn1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZpbHRlcmVkUmV0dXJuLmVtaXQodGhpcy5hcnJheSk7XG4gICAgdGhpcy5zZWFyY2hGb3JtVmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJzZWFyY2hGb3JtXCIgY2xhc3M9XCJtYXQtZmlsdGVyXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWNvbG9yJzogY29sb3IgPyBjb2xvciA6ICd3aGl0ZSd9XCI+XG4gIDxkaXY+XG4gIDxpbnB1dCAjaW5wdXQgY2xhc3M9XCJtYXQtZmlsdGVyLWlucHV0XCIgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiIChrZXlkb3duKT1cImhhbmRsZUtleWRvd24oJGV2ZW50KVwiPlxuICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cImxvY2FsU3Bpbm5lclwiIGNsYXNzPVwic3Bpbm5lclwiIGRpYW1ldGVyPVwiMTZcIj48L21hdC1zcGlubmVyPlxuICA8L2Rpdj5cbiAgPGRpdiAqbmdJZj1cIm5vUmVzdWx0c1wiXG4gICAgIGNsYXNzPVwibm9SZXN1bHRzTWVzc2FnZVwiPlxuICB7e25vUmVzdWx0c01lc3NhZ2V9fVxuPC9kaXY+XG48L2Zvcm0+XG4iXX0=
1
+ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/forms";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "@angular/material/progress-spinner";
6
+ import * as i4 from "@angular/material/input";
7
+ export class SelectFilterComponent {
8
+ constructor(fb) {
9
+ this.showSpinner = true;
10
+ this.noResultsMessage = 'No results';
11
+ this.noResults = false;
12
+ this.localSpinner = false;
13
+ this.filteredReturn = new EventEmitter();
14
+ this.filteredItems = [];
15
+ this.searchForm = fb.group({
16
+ value: ''
17
+ });
18
+ }
19
+ ngOnInit() {
20
+ this.searchFormValueChangesSubscription = this.searchForm.valueChanges.subscribe(value => {
21
+ const searchValue = value['value'] ? value['value'].toLowerCase() : '';
22
+ if (this.showSpinner) {
23
+ this.localSpinner = true;
24
+ }
25
+ if (searchValue) {
26
+ if (this.displayMember == null) {
27
+ this.filteredItems = this.array.filter(name => name.toLowerCase().includes(searchValue));
28
+ }
29
+ else if (this.hasGroup && this.groupArrayName && this.displayMember) {
30
+ this.filteredItems = this.array.map(a => {
31
+ const objCopy = { ...a };
32
+ objCopy[this.groupArrayName] = objCopy[this.groupArrayName].filter(g => g[this.displayMember].toLowerCase().includes(searchValue));
33
+ return objCopy;
34
+ }).filter(x => x[this.groupArrayName].length > 0);
35
+ }
36
+ else {
37
+ this.filteredItems = this.array.filter(name => name[this.displayMember].toLowerCase().includes(searchValue));
38
+ }
39
+ this.noResults = this.filteredItems.length === 0;
40
+ }
41
+ else {
42
+ this.filteredItems = [...this.array];
43
+ this.noResults = false;
44
+ }
45
+ this.filteredReturn.emit(this.filteredItems);
46
+ setTimeout(() => {
47
+ if (this.showSpinner) {
48
+ this.localSpinner = false;
49
+ }
50
+ }, 2000);
51
+ });
52
+ setTimeout(() => {
53
+ this.input.nativeElement.focus();
54
+ }, 500);
55
+ if (!this.placeholder) {
56
+ this.placeholder = 'Search...';
57
+ }
58
+ }
59
+ handleKeydown(event) {
60
+ const isAlphanumeric = (event.key && event.key.length === 1) ||
61
+ (event.code >= 'KeyA' && event.code <= 'KeyZ') ||
62
+ (event.code >= 'Digit0' && event.code <= 'Digit9') ||
63
+ (event.code === 'Space');
64
+ if (isAlphanumeric) {
65
+ event.stopPropagation();
66
+ }
67
+ }
68
+ ngOnDestroy() {
69
+ this.filteredReturn.emit(this.array);
70
+ this.searchFormValueChangesSubscription.unsubscribe();
71
+ }
72
+ }
73
+ SelectFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectFilterComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
74
+ SelectFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", 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'}\">\r\n <div>\r\n <input #input class=\"mat-filter-input\" matInput placeholder=\"{{placeholder}}\" formControlName=\"value\" (keydown)=\"handleKeydown($event)\">\r\n <mat-spinner *ngIf=\"localSpinner\" class=\"spinner\" diameter=\"16\"></mat-spinner>\r\n </div>\r\n <div *ngIf=\"noResults\"\r\n class=\"noResultsMessage\">\r\n {{noResultsMessage}}\r\n</div>\r\n</form>\r\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:transparent;background-color:initial;color:gray;width:100%}.spinner{position:absolute;right:16px;top:calc(50% - 8px)}.noResultsMessage{margin-top:10px;font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectFilterComponent, decorators: [{
76
+ type: Component,
77
+ args: [{ selector: 'app-select-filter', template: "<form [formGroup]=\"searchForm\" class=\"mat-filter\" [ngStyle]=\"{'background-color': color ? color : 'white'}\">\r\n <div>\r\n <input #input class=\"mat-filter-input\" matInput placeholder=\"{{placeholder}}\" formControlName=\"value\" (keydown)=\"handleKeydown($event)\">\r\n <mat-spinner *ngIf=\"localSpinner\" class=\"spinner\" diameter=\"16\"></mat-spinner>\r\n </div>\r\n <div *ngIf=\"noResults\"\r\n class=\"noResultsMessage\">\r\n {{noResultsMessage}}\r\n</div>\r\n</form>\r\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:transparent;background-color:initial;color:gray;width:100%}.spinner{position:absolute;right:16px;top:calc(50% - 8px)}.noResultsMessage{margin-top:10px;font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px}\n"] }]
78
+ }], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { input: [{
79
+ type: ViewChild,
80
+ args: ['input', { static: true }]
81
+ }], array: [{
82
+ type: Input,
83
+ args: ['array']
84
+ }], placeholder: [{
85
+ type: Input,
86
+ args: ['placeholder']
87
+ }], color: [{
88
+ type: Input,
89
+ args: ['color']
90
+ }], displayMember: [{
91
+ type: Input,
92
+ args: ['displayMember']
93
+ }], showSpinner: [{
94
+ type: Input,
95
+ args: ['showSpinner']
96
+ }], noResultsMessage: [{
97
+ type: Input,
98
+ args: ['noResultsMessage']
99
+ }], hasGroup: [{
100
+ type: Input,
101
+ args: ['hasGroup']
102
+ }], groupArrayName: [{
103
+ type: Input,
104
+ args: ['groupArrayName']
105
+ }], filteredReturn: [{
106
+ type: Output
107
+ }] } });
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL3NlbGVjdC1maWx0ZXIvc2VsZWN0LWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvYnJhaW5sb3Blci11aS9jb21wb25lbnRzL3NlbGVjdC1maWx0ZXIvc2VsZWN0LWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQWdCckcsTUFBTSxPQUFPLHFCQUFxQjtJQXNCaEMsWUFBWSxFQUFlO1FBYkwsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDZCxxQkFBZ0IsR0FBRyxZQUFZLENBQUM7UUFJM0QsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNYLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1QyxrQkFBYSxHQUFRLEVBQUUsQ0FBQztRQUk3QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDekIsS0FBSyxFQUFFLEVBQUU7U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckYsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxD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UUFBUSxDQUFDO1lBQ2xELENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQztRQUU3QixJQUFJLGNBQWMsRUFBRTtZQUNoQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUMsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEQsQ0FBQzs7a0hBeEZVLHFCQUFxQjtzR0FBckIscUJBQXFCLHdiQ2hCbEMsa2ZBVUE7MkZETWEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQjtrR0FPUyxLQUFLO3NCQUExQyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRXBCLEtBQUs7c0JBQXBCLEtBQUs7dUJBQUMsT0FBTztnQkFDUSxXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ0osS0FBSztzQkFBcEIsS0FBSzt1QkFBQyxPQUFPO2dCQUNVLGFBQWE7c0JBQXBDLEtBQUs7dUJBQUMsZUFBZTtnQkFDQSxXQUFXO3NCQUFoQyxLQUFLO3VCQUFDLGFBQWE7Z0JBQ08sZ0JBQWdCO3NCQUExQyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFDTixRQUFRO3NCQUExQixLQUFLO3VCQUFDLFVBQVU7Z0JBQ1EsY0FBYztzQkFBdEMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBS2IsY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIEEsXHJcbiAgWixcclxuICBaRVJPLFxyXG4gIE5JTkUsXHJcbiAgU1BBQ0UsIEVORCwgSE9NRSxcclxufSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc2VsZWN0LWZpbHRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1maWx0ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VsZWN0RmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kgIHtcclxuXHJcbiAgcHJpdmF0ZSBzZWFyY2hGb3JtVmFsdWVDaGFuZ2VzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dDtcclxuXHJcbiAgQElucHV0KCdhcnJheScpIGFycmF5OiBhbnk7XHJcbiAgQElucHV0KCdwbGFjZWhvbGRlcicpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCdjb2xvcicpIGNvbG9yOiBzdHJpbmc7XHJcbiAgQElucHV0KCdkaXNwbGF5TWVtYmVyJykgZGlzcGxheU1lbWJlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgnc2hvd1NwaW5uZXInKSBzaG93U3Bpbm5lciA9IHRydWU7XHJcbiAgQElucHV0KCdub1Jlc3VsdHNNZXNzYWdlJykgbm9SZXN1bHRzTWVzc2FnZSA9ICdObyByZXN1bHRzJztcclxuICBASW5wdXQoJ2hhc0dyb3VwJykgaGFzR3JvdXA6IGJvb2xlYW47XHJcbiAgQElucHV0KCdncm91cEFycmF5TmFtZScpIGdyb3VwQXJyYXlOYW1lOiBzdHJpbmc7XHJcblxyXG4gIG5vUmVzdWx0cyA9IGZhbHNlO1xyXG5cclxuICBsb2NhbFNwaW5uZXIgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgZmlsdGVyZWRSZXR1cm4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHVibGljIGZpbHRlcmVkSXRlbXM6IGFueSA9IFtdO1xyXG4gIHB1YmxpYyBzZWFyY2hGb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgdGhpcy5zZWFyY2hGb3JtID0gZmIuZ3JvdXAoe1xyXG4gICAgICB2YWx1ZTogJydcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNlYXJjaEZvcm1WYWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24gPSB0aGlzLnNlYXJjaEZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc2VhcmNoVmFsdWUgPSB2YWx1ZVsndmFsdWUnXSA/IHZhbHVlWyd2YWx1ZSddLnRvTG93ZXJDYXNlKCkgOiAnJztcclxuICAgICAgICBpZiAodGhpcy5zaG93U3Bpbm5lcikge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2FsU3Bpbm5lciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoc2VhcmNoVmFsdWUpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZGlzcGxheU1lbWJlciA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkSXRlbXMgPSB0aGlzLmFycmF5LmZpbHRlcihuYW1lID0+IG5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZSkpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaGFzR3JvdXAgJiYgdGhpcy5ncm91cEFycmF5TmFtZSAmJiB0aGlzLmRpc3BsYXlNZW1iZXIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuYXJyYXkubWFwKGEgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9iakNvcHkgPSB7IC4uLmEgfTtcclxuICAgICAgICAgICAgICAgICAgICBvYmpDb3B5W3RoaXMuZ3JvdXBBcnJheU5hbWVdID0gb2JqQ29weVt0aGlzLmdyb3VwQXJyYXlOYW1lXS5maWx0ZXIoZyA9PiBnW3RoaXMuZGlzcGxheU1lbWJlcl0udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvYmpDb3B5O1xyXG4gICAgICAgICAgICAgICAgfSkuZmlsdGVyKHggPT4geFt0aGlzLmdyb3VwQXJyYXlOYW1lXS5sZW5ndGggPiAwKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuYXJyYXkuZmlsdGVyKG5hbWUgPT4gbmFtZVt0aGlzLmRpc3BsYXlNZW1iZXJdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVmFsdWUpKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5ub1Jlc3VsdHMgPSB0aGlzLmZpbHRlcmVkSXRlbXMubGVuZ3RoID09PSAwO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IFsuLi50aGlzLmFycmF5XTtcclxuICAgICAgICAgICAgdGhpcy5ub1Jlc3VsdHMgPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZmlsdGVyZWRSZXR1cm4uZW1pdCh0aGlzLmZpbHRlcmVkSXRlbXMpO1xyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuc2hvd1NwaW5uZXIpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTcGlubmVyID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LCAyMDAwKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfSwgNTAwKTtcclxuXHJcbiAgICBpZiAoIXRoaXMucGxhY2Vob2xkZXIpIHtcclxuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gJ1NlYXJjaC4uLic7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBjb25zdCBpc0FscGhhbnVtZXJpYyA9IChldmVudC5rZXkgJiYgZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSkgfHxcclxuICAgICAgICAoZXZlbnQuY29kZSA+PSAnS2V5QScgJiYgZXZlbnQuY29kZSA8PSAnS2V5WicpIHx8XHJcbiAgICAgICAgKGV2ZW50LmNvZGUgPj0gJ0RpZ2l0MCcgJiYgZXZlbnQuY29kZSA8PSAnRGlnaXQ5JykgfHxcclxuICAgICAgICAoZXZlbnQuY29kZSA9PT0gJ1NwYWNlJyk7XHJcblxyXG4gICAgaWYgKGlzQWxwaGFudW1lcmljKSB7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmZpbHRlcmVkUmV0dXJuLmVtaXQodGhpcy5hcnJheSk7XHJcbiAgICB0aGlzLnNlYXJjaEZvcm1WYWx1ZUNoYW5nZXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiIGNsYXNzPVwibWF0LWZpbHRlclwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGNvbG9yID8gY29sb3IgOiAnd2hpdGUnfVwiPlxyXG4gIDxkaXY+XHJcbiAgPGlucHV0ICNpbnB1dCBjbGFzcz1cIm1hdC1maWx0ZXItaW5wdXRcIiBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCIgKGtleWRvd24pPVwiaGFuZGxlS2V5ZG93bigkZXZlbnQpXCI+XHJcbiAgICA8bWF0LXNwaW5uZXIgKm5nSWY9XCJsb2NhbFNwaW5uZXJcIiBjbGFzcz1cInNwaW5uZXJcIiBkaWFtZXRlcj1cIjE2XCI+PC9tYXQtc3Bpbm5lcj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwibm9SZXN1bHRzXCJcclxuICAgICBjbGFzcz1cIm5vUmVzdWx0c01lc3NhZ2VcIj5cclxuICB7e25vUmVzdWx0c01lc3NhZ2V9fVxyXG48L2Rpdj5cclxuPC9mb3JtPlxyXG4iXX0=