general-library-union 2.5.40 → 2.5.41
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.
- package/esm2022/src/app/core/componentes/filtro-general/filtro-general.component.mjs +25 -16
- package/esm2022/src/app/core/servicios/data-exporter-table.utils.mjs +21 -1
- package/esm2022/src/app/seguridad/modelos/TareasModel.mjs +1 -1
- package/fesm2022/general-library-union.mjs +63 -34
- package/fesm2022/general-library-union.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/core/componentes/filtro-general/filtro-general.component.d.ts +7 -6
- package/src/app/core/servicios/data-exporter-table.utils.d.ts +3 -0
- package/src/app/layout/app.menuitem.component.d.ts +1 -1
- package/src/app/seguridad/modelos/TareasModel.d.ts +1 -1
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import { CommonModule, DatePipe } from '@angular/common';
|
|
2
|
-
import { Component, ContentChild, EventEmitter, Input,
|
|
2
|
+
import { Component, ContentChild, EventEmitter, Input, Optional, Output, SkipSelf, TemplateRef, ViewChild, } from '@angular/core';
|
|
3
3
|
import { FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
4
|
import { TranslateModule } from '@ngx-translate/core';
|
|
5
5
|
import { ButtonModule } from 'primeng/button';
|
|
6
6
|
import { ChipModule } from 'primeng/chip';
|
|
7
|
-
import { Dialog } from 'primeng/dialog';
|
|
8
7
|
import { OverlayPanel, OverlayPanelModule } from 'primeng/overlaypanel';
|
|
9
8
|
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "primeng/
|
|
11
|
-
import * as i2 from "primeng/
|
|
12
|
-
import * as i3 from "
|
|
13
|
-
import * as i4 from "@
|
|
14
|
-
import * as i5 from "
|
|
15
|
-
import * as i6 from "
|
|
9
|
+
import * as i1 from "primeng/dialog";
|
|
10
|
+
import * as i2 from "primeng/chip";
|
|
11
|
+
import * as i3 from "primeng/overlaypanel";
|
|
12
|
+
import * as i4 from "@angular/forms";
|
|
13
|
+
import * as i5 from "@ngx-translate/core";
|
|
14
|
+
import * as i6 from "primeng/button";
|
|
15
|
+
import * as i7 from "@angular/common";
|
|
16
16
|
export class FiltroGeneralComponent {
|
|
17
|
+
elRef;
|
|
18
|
+
renderer;
|
|
19
|
+
dialog;
|
|
17
20
|
overlayPanel;
|
|
18
21
|
filtros;
|
|
19
22
|
datatable;
|
|
@@ -26,10 +29,12 @@ export class FiltroGeneralComponent {
|
|
|
26
29
|
chips = [];
|
|
27
30
|
isApply = false;
|
|
28
31
|
clickListener = null;
|
|
29
|
-
renderer
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
constructor(elRef, renderer, dialog // Inyecta el p-dialog si existe
|
|
33
|
+
) {
|
|
34
|
+
this.elRef = elRef;
|
|
35
|
+
this.renderer = renderer;
|
|
36
|
+
this.dialog = dialog;
|
|
37
|
+
}
|
|
33
38
|
ngOnInit() {
|
|
34
39
|
if (this.filtros === undefined) {
|
|
35
40
|
}
|
|
@@ -165,13 +170,17 @@ export class FiltroGeneralComponent {
|
|
|
165
170
|
ngOnDestroy() {
|
|
166
171
|
this.removeClickListener();
|
|
167
172
|
}
|
|
168
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FiltroGeneralComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
169
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: FiltroGeneralComponent, isStandalone: true, selector: "app-filtro-general", inputs: { filtros: "filtros", datatable: "datatable" }, outputs: { metodoRegresar: "metodoRegresar", metodoRegresarAdicional: "metodoRegresarAdicional" }, queries: [{ propertyName: "inputFilters", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: ["op"], descendants: true }, { propertyName: "panel", first: true, predicate: OverlayPanel, descendants: true }], ngImport: i0, template: "<div class=\"flex justify-content-start align-items-center\">\n <div class=\"flex align-items-center\">\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\n <button\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-filter\"\n class=\"p-button-rounded p-button-outlined\"\n (click)=\"abrirPanel($event)\"\n ></button>\n </div>\n <div class=\"ml-3\">\n <p-chip\n *ngFor=\"let chip of chips\"\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 100 ? chip.labelMostrar.substring(0, 100) + '...' : chip.labelMostrar)\"\n styleClass=\"m-1\"\n [removable]=\"true\"\n (onRemove)=\"removeChip(chip)\"\n ></p-chip>\n </div>\n</div>\n\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\n <div class=\"grid p-input-filled\">\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\n <div class=\"flex justify-content-end mt-2 align-items-center\">\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\n </div>\n </form>\n </div>\n</p-overlayPanel>\n", styles: [".grid .flex button:last-child{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: ChipModule }, { kind: "component", type:
|
|
173
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FiltroGeneralComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.Dialog, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
174
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: FiltroGeneralComponent, isStandalone: true, selector: "app-filtro-general", inputs: { filtros: "filtros", datatable: "datatable" }, outputs: { metodoRegresar: "metodoRegresar", metodoRegresarAdicional: "metodoRegresarAdicional" }, queries: [{ propertyName: "inputFilters", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "overlayPanel", first: true, predicate: ["op"], descendants: true }, { propertyName: "panel", first: true, predicate: OverlayPanel, descendants: true }], ngImport: i0, template: "<div class=\"flex justify-content-start align-items-center\">\n <div class=\"flex align-items-center\">\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\n <button\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-filter\"\n class=\"p-button-rounded p-button-outlined\"\n (click)=\"abrirPanel($event)\"\n ></button>\n </div>\n <div class=\"ml-3\">\n <p-chip\n *ngFor=\"let chip of chips\"\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 100 ? chip.labelMostrar.substring(0, 100) + '...' : chip.labelMostrar)\"\n styleClass=\"m-1\"\n [removable]=\"true\"\n (onRemove)=\"removeChip(chip)\"\n ></p-chip>\n </div>\n</div>\n\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\n <div class=\"grid p-input-filled\">\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\n <div class=\"flex justify-content-end mt-2 align-items-center\">\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\n </div>\n </form>\n </div>\n</p-overlayPanel>\n", styles: [".grid .flex button:last-child{width:auto}\n"], dependencies: [{ kind: "ngmodule", type: ChipModule }, { kind: "component", type: i2.Chip, selector: "p-chip", inputs: ["label", "icon", "image", "alt", "style", "styleClass", "removable", "removeIcon"], outputs: ["onRemove", "onImageError"] }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i3.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
170
175
|
}
|
|
171
176
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: FiltroGeneralComponent, decorators: [{
|
|
172
177
|
type: Component,
|
|
173
178
|
args: [{ selector: 'app-filtro-general', imports: [ChipModule, OverlayPanelModule, ReactiveFormsModule, TranslateModule, ButtonModule, FormsModule, CommonModule], standalone: true, template: "<div class=\"flex justify-content-start align-items-center\">\n <div class=\"flex align-items-center\">\n <h4 class=\"m-0 mr-2 text-black-alpha-90\">Filtros</h4>\n <button\n pButton\n pRipple\n type=\"button\"\n icon=\"pi pi-filter\"\n class=\"p-button-rounded p-button-outlined\"\n (click)=\"abrirPanel($event)\"\n ></button>\n </div>\n <div class=\"ml-3\">\n <p-chip\n *ngFor=\"let chip of chips\"\n [label]=\"chip.header + ': ' + (chip.labelMostrar.length > 100 ? chip.labelMostrar.substring(0, 100) + '...' : chip.labelMostrar)\"\n styleClass=\"m-1\"\n [removable]=\"true\"\n (onRemove)=\"removeChip(chip)\"\n ></p-chip>\n </div>\n</div>\n\n<p-overlayPanel #op (onHide)=\"onHide()\" [dismissable]=\"false\" [showCloseIcon]=\"true\">\n <div class=\"grid p-input-filled\">\n <form [formGroup]=\"filterForm\" class=\"p-fluid col-12\">\n <ng-container *ngTemplateOutlet=\"inputFilters; context: { $implicit: filterForm }\"></ng-container>\n <div class=\"flex justify-content-end mt-2 align-items-center\">\n <button pButton pRipple (click)=\"aplicarFiltros()\" class=\"ml-2\">{{'link_aplicar' | translate}}</button>\n <button pButton pRipple (click)=\"limpiarFiltros()\" icon=\"glyphicons glyphicons-cleaning\" class=\"p-button-rounded p-button-outlined ml-2\"></button>\n </div>\n </form>\n </div>\n</p-overlayPanel>\n", styles: [".grid .flex button:last-child{width:auto}\n"] }]
|
|
174
|
-
}], ctorParameters: () => [
|
|
179
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.Dialog, decorators: [{
|
|
180
|
+
type: Optional
|
|
181
|
+
}, {
|
|
182
|
+
type: SkipSelf
|
|
183
|
+
}] }], propDecorators: { overlayPanel: [{
|
|
175
184
|
type: ViewChild,
|
|
176
185
|
args: ['op']
|
|
177
186
|
}], filtros: [{
|
|
@@ -189,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
|
|
|
189
198
|
type: ContentChild,
|
|
190
199
|
args: [TemplateRef]
|
|
191
200
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdHJvLWdlbmVyYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2NvbXBvbmVudGVzL2ZpbHRyby1nZW5lcmFsL2ZpbHRyby1nZW5lcmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9jb21wb25lbnRlcy9maWx0cm8tZ2VuZXJhbC9maWx0cm8tZ2VuZXJhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBU3hFLE1BQU0sT0FBTyxzQkFBc0I7SUFDaEIsWUFBWSxDQUFNO0lBRTFCLE9BQU8sQ0FBUTtJQUVmLFNBQVMsQ0FBQztJQUVULGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3BDLHVCQUF1QixHQUFHLElB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QUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNraXBTZWxmLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG4gIFJlbmRlcmVyMixcbiAgRWxlbWVudFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgQ2hpcE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2hpcCc7XG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBPdmVybGF5UGFuZWwsIE92ZXJsYXlQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZpbHRyby1nZW5lcmFsJyxcbiAgaW1wb3J0czogW0NoaXBNb2R1bGUsIE92ZXJsYXlQYW5lbE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBCdXR0b25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdHJvLWdlbmVyYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0cm8tZ2VuZXJhbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0cm9HZW5lcmFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnb3AnKSBvdmVybGF5UGFuZWw6IGFueTtcblxuICBASW5wdXQoKSBmaWx0cm9zOiBhbnlbXTtcblxuICBASW5wdXQoKSBkYXRhdGFibGU7XG5cbiAgQE91dHB1dCgpIG1ldG9kb1JlZ3Jlc2FyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgbWV0b2RvUmVncmVzYXJBZGljaW9uYWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZChPdmVybGF5UGFuZWwpIHBhbmVsOiBPdmVybGF5UGFuZWw7XG4gIHB1YmxpYyBldmVudG9QYW5lbDtcbiAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZikgaW5wdXRGaWx0ZXJzOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIGZpbHRlckZvcm06IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuXG4gIGNoaXBzOiBhbnlbXSA9IFtdO1xuXG4gIGlzQXBwbHk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGNsaWNrTGlzdGVuZXI6IEZ1bmN0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICBwcml2YXRlIGVsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIGRpYWxvZyA9IGluamVjdChEaWFsb2csIHsgb3B0aW9uYWw6IHRydWUsIHNlbGY6IHRydWUgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWx0cm9zID09PSB1bmRlZmluZWQpIHtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0cm9zLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmFkZENvbnRyb2woY29udHJvbC5maWVsZCwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25IaWRlKCkge1xuICAgIGlmICghdGhpcy5pc0FwcGx5KSB7XG4gICAgICB0aGlzLmZpbHRyb3MuZm9yRWFjaCgoZmlsdHJvKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoaXBBY3RpdmUgPSB0aGlzLmNoaXBzLmZpbmQoXG4gICAgICAgICAgKGNoaXApID0+IGNoaXAuZmllbGQgPT09IGZpbHRyby5maWVsZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRyby5maWVsZCkuc2V0VmFsdWUoY2hpcEFjdGl2ZT8udmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuaXNBcHBseSA9IGZhbHNlO1xuICB9XG5cbiAgYWJyaXJQYW5lbChldmVudCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnRvUGFuZWwgPSBldmVudDtcbiAgICB0aGlzLnBhbmVsLnNob3coZXZlbnQpO1xuICAgIHRoaXMuc2hvd092ZXJsYXkodGhpcy5vdmVybGF5UGFuZWwsIGV2ZW50KVxuICB9XG5cbiAgbGltcGlhckZpbHRyb3MoKSB7XG4gICAgdGhpcy5pc0FwcGx5ID0gZmFsc2U7XG4gICAgdGhpcy5jaGlwcyA9IFtdO1xuICAgIHRoaXMuZmlsdGVyRm9ybS5yZXNldCgpO1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoKTtcbiAgfVxuXG4gIGFwbGljYXJGaWx0cm9zKCkge1xuICAgIHRoaXMuaXNBcHBseSA9IHRydWU7XG4gICAgdGhpcy5wYW5lbC5oaWRlKCk7XG4gICAgdGhpcy5jaGlwcyA9IFtdO1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoKTtcbiAgfVxuXG4gIHJlbW92ZUNoaXAoY2hpcCkge1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoY2hpcCk7XG4gIH1cblxuICBfdXBkYXRlRmlsdGVycyhjaGlwPzogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVycyA9IHt9O1xuICAgIHRoaXMuZmlsdHJvcy5mb3JFYWNoKChmaWx0cm8pID0+IHtcbiAgICAgIGlmIChjaGlwPy5maWVsZCAhPT0gZmlsdHJvLmZpZWxkKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0cm8uZmllbGQpLnZhbHVlO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICBmaWx0ZXJzW2ZpbHRyby5maWVsZF0gPSB7IHZhbHVlOiB2YWx1ZSwgbWF0Y2hNb2RlOiBmaWx0cm8ubWF0Y2hNb2RlIH07XG5cbiAgICAgICAgICBpZiAoIWNoaXApIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICB2YXIgbW9zdHJhciA9ICcnO1xuICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICBtb3N0cmFyID0gbW9zdHJhciArICcgLSAnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZVtpXSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICAgIG1vc3RyYXIgPSBtb3N0cmFyICsgbmV3IERhdGVQaXBlKCdlbi1VUycpLnRyYW5zZm9ybSh2YWx1ZVtpXSwgJ2RkL01NL3l5eXknKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBtb3N0cmFyID0gbW9zdHJhciArIHZhbHVlW2ldXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuY2hpcHMucHVzaCh7XG4gICAgICAgICAgICAgICAgZmllbGQ6IGZpbHRyby5maWVsZCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICAgICAgbGFiZWw6IGZpbHRyby52YWx1ZXMgPyBmaWx0cm8udmFsdWVzKHZhbHVlKSA6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogZmlsdHJvLmhlYWRlcixcbiAgICAgICAgICAgICAgICBsYWJlbE1vc3RyYXI6IG1vc3RyYXJcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmNoaXBzLnB1c2goe1xuICAgICAgICAgICAgICAgIGZpZWxkOiBmaWx0cm8uZmllbGQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBmaWx0cm8udmFsdWVzID8gZmlsdHJvLnZhbHVlcyh2YWx1ZSkgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IGZpbHRyby5oZWFkZXIsXG4gICAgICAgICAgICAgICAgbGFiZWxNb3N0cmFyOiBmaWx0cm8uZm9ybWF0RGF0ZVxuICAgICAgICAgICAgICAgICAgPyBuZXcgRGF0ZVBpcGUoJ2VuLVVTJykudHJhbnNmb3JtKHZhbHVlLCAnZGQvTU0veXl5eScpXG4gICAgICAgICAgICAgICAgICA6IGZpbHRyby52YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgPyBmaWx0cm8udmFsdWVzKHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICA6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGZvcm1hdERhdGU6IGZpbHRyby5mb3JtYXREYXRlLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2hpcHMgPSB0aGlzLmNoaXBzLmZpbHRlcigoY2hpcCkgPT4gY2hpcC5maWVsZCAhPT0gZmlsdHJvLmZpZWxkKTtcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0cm8uZmllbGQpLnNldFZhbHVlKG51bGwpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICh0aGlzLmRhdGF0YWJsZSkge1xuICAgICAgaWYgKHRoaXMuZGF0YXRhYmxlLnRhYmxlPy5maWx0ZXJzKSB7XG4gICAgICAgIHRoaXMuZGF0YXRhYmxlLnRhYmxlLmZpbHRlcnMgPSBmaWx0ZXJzO1xuICAgICAgICB0aGlzLmRhdGF0YWJsZS50YWJsZS5fZmlsdGVyKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGF0YWJsZS5maWx0ZXJzID0gZmlsdGVycztcbiAgICAgICAgdGhpcy5kYXRhdGFibGUuX2ZpbHRlcigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1ldG9kb1JlZ3Jlc2FyLmVtaXQoZmlsdGVycyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubWV0b2RvUmVncmVzYXJBZGljaW9uYWwpIHtcbiAgICAgIHRoaXMubWV0b2RvUmVncmVzYXJBZGljaW9uYWwuZW1pdChmaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICAvL2xpc3RlbmVyIGRlbCBvdmVybGF5IEBhdXRvciBKZXN1cy1SYW1pcmV6XG4gIHNob3dPdmVybGF5KG9wOiBhbnksIGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuY2xpY2tMaXN0ZW5lciA9IG51bGxcbiAgICAvLyBNb3N0cmFyIGVsIG92ZXJsYXkgcGFuZWxcbiAgICBvcC5zaG93KGV2ZW50KTsgLy9tdWVzdHJhIGVsIG92ZXJsYXktcGFuZWxcbiAgICBpZiAodGhpcy5kaWFsb2cpIC8qIFNpIGVsIG92ZXJsYXkgZXN0w6EgZGVudHJvIGRlIHVuIHAtZGlhbG9nLCB1c2EgZWwgbcOpdG9kbyBkZSBvY3VsdGFyIGFsIHBlcmRlciBlbCBmb2NvKi8ge1xuICAgICAgLy8gRWxpbWluYXIgY3VhbHF1aWVyIGxpc3RlbmVyIGFudGVyaW9yXG4gICAgICBpZiAodGhpcy5jbGlja0xpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuY2xpY2tMaXN0ZW5lcigpO1xuICAgICAgfVxuICAgICAgLy8gIGFkaWNpb25hciBsaXN0ZW5lciBwYXJhIGNlcnJhciBlbCBvdmVybGF5IGFsIGhhY2VyIGNsaWMgZnVlcmEgZGUgw6lsXG4gICAgICB0aGlzLmNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoY2xpY2tFdmVudDogRXZlbnQpID0+ICB7XG4gICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGVPdmVybGF5ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGNsaWNrRXZlbnQudGFyZ2V0KTtcbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlT3ZlcmxheSkge1xuICAgICAgICAgIG9wLmhpZGUoKTtcbiAgICAgICAgICB0aGlzLnJlbW92ZUNsaWNrTGlzdGVuZXIoKTsgLy8gcmVtdWV2ZSBlbCBvdmVybGF5XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUNsaWNrTGlzdGVuZXIoKSB7XG4gICAgaWYgKHRoaXMuY2xpY2tMaXN0ZW5lcikge1xuICAgICAgdGhpcy5jbGlja0xpc3RlbmVyKCk7XG4gICAgICB0aGlzLmNsaWNrTGlzdGVuZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVtb3ZlQ2xpY2tMaXN0ZW5lcigpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxoNCBjbGFzcz1cIm0tMCBtci0yIHRleHQtYmxhY2stYWxwaGEtOTBcIj5GaWx0cm9zPC9oND5cbiAgICA8YnV0dG9uXG4gICAgICBwQnV0dG9uXG4gICAgICBwUmlwcGxlXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGljb249XCJwaSBwaS1maWx0ZXJcIlxuICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLW91dGxpbmVkXCJcbiAgICAgIChjbGljayk9XCJhYnJpclBhbmVsKCRldmVudClcIlxuICAgID48L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtbC0zXCI+XG4gICAgPHAtY2hpcFxuICAgICAgKm5nRm9yPVwibGV0IGNoaXAgb2YgY2hpcHNcIlxuICAgICAgW2xhYmVsXT1cImNoaXAuaGVhZGVyICsgJzogJyArIChjaGlwLmxhYmVsTW9zdHJhci5sZW5ndGggPiAxMDAgPyBjaGlwLmxhYmVsTW9zdHJhci5zdWJzdHJpbmcoMCwgMTAwKSArICcuLi4nIDogY2hpcC5sYWJlbE1vc3RyYXIpXCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJtLTFcIlxuICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcbiAgICAgIChvblJlbW92ZSk9XCJyZW1vdmVDaGlwKGNoaXApXCJcbiAgICA+PC9wLWNoaXA+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxwLW92ZXJsYXlQYW5lbCAjb3AgKG9uSGlkZSk9XCJvbkhpZGUoKVwiIFtkaXNtaXNzYWJsZV09XCJmYWxzZVwiIFtzaG93Q2xvc2VJY29uXT1cInRydWVcIj5cbiAgPGRpdiBjbGFzcz1cImdyaWQgcC1pbnB1dC1maWxsZWRcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiBjbGFzcz1cInAtZmx1aWQgY29sLTEyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRGaWx0ZXJzOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZmlsdGVyRm9ybSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJhcGxpY2FyRmlsdHJvcygpXCIgY2xhc3M9XCJtbC0yXCI+e3snbGlua19hcGxpY2FyJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJsaW1waWFyRmlsdHJvcygpXCIgaWNvbj1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1jbGVhbmluZ1wiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1vdXRsaW5lZCBtbC0yXCI+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuPC9wLW92ZXJsYXlQYW5lbD5cbiJdfQ==
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdHJvLWdlbmVyYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb3JlL2NvbXBvbmVudGVzL2ZpbHRyby1nZW5lcmFsL2ZpbHRyby1nZW5lcmFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9jb21wb25lbnRlcy9maWx0cm8tZ2VuZXJhbC9maWx0cm8tZ2VuZXJhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixRQUFRLEVBQUMsV0FBVyxFQUFDLFNBQVMsR0FBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUFTeEUsTUFBTSxPQUFPLHNCQUFzQjtJQXdCdkI7SUFBMkI7SUFDSDtJQXhCakIsWUFBWSxDQUFNO0lBRTFCLE9BQU8sQ0FBUTtJQUVmLFNBQVMsQ0FBQztJQUVULGNBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3BDLHVCQUF1QixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFOUIsS0FBSyxDQUFl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YXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNraXBTZWxmLFRlbXBsYXRlUmVmLFZpZXdDaGlsZCx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IENoaXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NoaXAnO1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xuaW1wb3J0IHsgT3ZlcmxheVBhbmVsLCBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWx0cm8tZ2VuZXJhbCcsXG4gIGltcG9ydHM6IFtDaGlwTW9kdWxlLCBPdmVybGF5UGFuZWxNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgQnV0dG9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRyby1nZW5lcmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdHJvLWdlbmVyYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdHJvR2VuZXJhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ29wJykgb3ZlcmxheVBhbmVsOiBhbnk7XG5cbiAgQElucHV0KCkgZmlsdHJvczogYW55W107XG5cbiAgQElucHV0KCkgZGF0YXRhYmxlO1xuXG4gIEBPdXRwdXQoKSBtZXRvZG9SZWdyZXNhciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG1ldG9kb1JlZ3Jlc2FyQWRpY2lvbmFsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGQoT3ZlcmxheVBhbmVsKSBwYW5lbDogT3ZlcmxheVBhbmVsO1xuICBwdWJsaWMgZXZlbnRvUGFuZWw7XG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIGlucHV0RmlsdGVyczogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmaWx0ZXJGb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcblxuICBjaGlwczogYW55W10gPSBbXTtcblxuICBpc0FwcGx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBjbGlja0xpc3RlbmVyOiBGdW5jdGlvbiB8IG51bGwgPSBudWxsO1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHByaXZhdGUgZGlhbG9nOiBEaWFsb2cgLy8gSW55ZWN0YSBlbCBwLWRpYWxvZyBzaSBleGlzdGVcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWx0cm9zID09PSB1bmRlZmluZWQpIHtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0cm9zLmZvckVhY2goKGNvbnRyb2wpID0+IHtcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmFkZENvbnRyb2woY29udHJvbC5maWVsZCwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb25IaWRlKCkge1xuICAgIGlmICghdGhpcy5pc0FwcGx5KSB7XG4gICAgICB0aGlzLmZpbHRyb3MuZm9yRWFjaCgoZmlsdHJvKSA9PiB7XG4gICAgICAgIGNvbnN0IGNoaXBBY3RpdmUgPSB0aGlzLmNoaXBzLmZpbmQoXG4gICAgICAgICAgKGNoaXApID0+IGNoaXAuZmllbGQgPT09IGZpbHRyby5maWVsZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KGZpbHRyby5maWVsZCkuc2V0VmFsdWUoY2hpcEFjdGl2ZT8udmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuaXNBcHBseSA9IGZhbHNlO1xuICB9XG5cbiAgYWJyaXJQYW5lbChldmVudCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnRvUGFuZWwgPSBldmVudDtcbiAgICB0aGlzLnBhbmVsLnNob3coZXZlbnQpO1xuICAgIHRoaXMuc2hvd092ZXJsYXkodGhpcy5vdmVybGF5UGFuZWwsIGV2ZW50KVxuICB9XG5cbiAgbGltcGlhckZpbHRyb3MoKSB7XG4gICAgdGhpcy5pc0FwcGx5ID0gZmFsc2U7XG4gICAgdGhpcy5jaGlwcyA9IFtdO1xuICAgIHRoaXMuZmlsdGVyRm9ybS5yZXNldCgpO1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoKTtcbiAgfVxuXG4gIGFwbGljYXJGaWx0cm9zKCkge1xuICAgIHRoaXMuaXNBcHBseSA9IHRydWU7XG4gICAgdGhpcy5wYW5lbC5oaWRlKCk7XG4gICAgdGhpcy5jaGlwcyA9IFtdO1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoKTtcbiAgfVxuXG4gIHJlbW92ZUNoaXAoY2hpcCkge1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcnMoY2hpcCk7XG4gIH1cblxuICBfdXBkYXRlRmlsdGVycyhjaGlwPzogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVycyA9IHt9O1xuICAgIHRoaXMuZmlsdHJvcy5mb3JFYWNoKChmaWx0cm8pID0+IHtcbiAgICAgIGlmIChjaGlwPy5maWVsZCAhPT0gZmlsdHJvLmZpZWxkKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0cm8uZmllbGQpLnZhbHVlO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICBmaWx0ZXJzW2ZpbHRyby5maWVsZF0gPSB7IHZhbHVlOiB2YWx1ZSwgbWF0Y2hNb2RlOiBmaWx0cm8ubWF0Y2hNb2RlIH07XG5cbiAgICAgICAgICBpZiAoIWNoaXApIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICB2YXIgbW9zdHJhciA9ICcnO1xuICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICBtb3N0cmFyID0gbW9zdHJhciArICcgLSAnXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZVtpXSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgICAgICAgIG1vc3RyYXIgPSBtb3N0cmFyICsgbmV3IERhdGVQaXBlKCdlbi1VUycpLnRyYW5zZm9ybSh2YWx1ZVtpXSwgJ2RkL01NL3l5eXknKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBtb3N0cmFyID0gbW9zdHJhciArIHZhbHVlW2ldXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuY2hpcHMucHVzaCh7XG4gICAgICAgICAgICAgICAgZmllbGQ6IGZpbHRyby5maWVsZCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICAgICAgbGFiZWw6IGZpbHRyby52YWx1ZXMgPyBmaWx0cm8udmFsdWVzKHZhbHVlKSA6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGhlYWRlcjogZmlsdHJvLmhlYWRlcixcbiAgICAgICAgICAgICAgICBsYWJlbE1vc3RyYXI6IG1vc3RyYXJcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmNoaXBzLnB1c2goe1xuICAgICAgICAgICAgICAgIGZpZWxkOiBmaWx0cm8uZmllbGQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBmaWx0cm8udmFsdWVzID8gZmlsdHJvLnZhbHVlcyh2YWx1ZSkgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IGZpbHRyby5oZWFkZXIsXG4gICAgICAgICAgICAgICAgbGFiZWxNb3N0cmFyOiBmaWx0cm8uZm9ybWF0RGF0ZVxuICAgICAgICAgICAgICAgICAgPyBuZXcgRGF0ZVBpcGUoJ2VuLVVTJykudHJhbnNmb3JtKHZhbHVlLCAnZGQvTU0veXl5eScpXG4gICAgICAgICAgICAgICAgICA6IGZpbHRyby52YWx1ZXNcbiAgICAgICAgICAgICAgICAgICAgPyBmaWx0cm8udmFsdWVzKHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICA6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGZvcm1hdERhdGU6IGZpbHRyby5mb3JtYXREYXRlLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2hpcHMgPSB0aGlzLmNoaXBzLmZpbHRlcigoY2hpcCkgPT4gY2hpcC5maWVsZCAhPT0gZmlsdHJvLmZpZWxkKTtcbiAgICAgICAgdGhpcy5maWx0ZXJGb3JtLmdldChmaWx0cm8uZmllbGQpLnNldFZhbHVlKG51bGwpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGlmICh0aGlzLmRhdGF0YWJsZSkge1xuICAgICAgaWYgKHRoaXMuZGF0YXRhYmxlLnRhYmxlPy5maWx0ZXJzKSB7XG4gICAgICAgIHRoaXMuZGF0YXRhYmxlLnRhYmxlLmZpbHRlcnMgPSBmaWx0ZXJzO1xuICAgICAgICB0aGlzLmRhdGF0YWJsZS50YWJsZS5fZmlsdGVyKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGF0YWJsZS5maWx0ZXJzID0gZmlsdGVycztcbiAgICAgICAgdGhpcy5kYXRhdGFibGUuX2ZpbHRlcigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1ldG9kb1JlZ3Jlc2FyLmVtaXQoZmlsdGVycyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubWV0b2RvUmVncmVzYXJBZGljaW9uYWwpIHtcbiAgICAgIHRoaXMubWV0b2RvUmVncmVzYXJBZGljaW9uYWwuZW1pdChmaWx0ZXJzKTtcbiAgICB9XG4gIH1cblxuICAvL2xpc3RlbmVyIGRlbCBvdmVybGF5IEBhdXRvciBKZXN1cy1SYW1pcmV6XG4gIHNob3dPdmVybGF5KG9wOiBhbnksIGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMuY2xpY2tMaXN0ZW5lciA9IG51bGxcbiAgICAvLyBNb3N0cmFyIGVsIG92ZXJsYXkgcGFuZWxcbiAgICBvcC5zaG93KGV2ZW50KTsgLy9tdWVzdHJhIGVsIG92ZXJsYXktcGFuZWxcbiAgICBpZiAodGhpcy5kaWFsb2cpIC8qIFNpIGVsIG92ZXJsYXkgZXN0w6EgZGVudHJvIGRlIHVuIHAtZGlhbG9nLCB1c2EgZWwgbcOpdG9kbyBkZSBvY3VsdGFyIGFsIHBlcmRlciBlbCBmb2NvKi8ge1xuICAgICAgLy8gRWxpbWluYXIgY3VhbHF1aWVyIGxpc3RlbmVyIGFudGVyaW9yXG4gICAgICBpZiAodGhpcy5jbGlja0xpc3RlbmVyKSB7XG4gICAgICAgIHRoaXMuY2xpY2tMaXN0ZW5lcigpO1xuICAgICAgfVxuICAgICAgLy8gIGFkaWNpb25hciBsaXN0ZW5lciBwYXJhIGNlcnJhciBlbCBvdmVybGF5IGFsIGhhY2VyIGNsaWMgZnVlcmEgZGUgw6lsXG4gICAgICB0aGlzLmNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoY2xpY2tFdmVudDogRXZlbnQpID0+ICB7XG4gICAgICAgIGNvbnN0IGNsaWNrZWRJbnNpZGVPdmVybGF5ID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGNsaWNrRXZlbnQudGFyZ2V0KTtcbiAgICAgICAgaWYgKCFjbGlja2VkSW5zaWRlT3ZlcmxheSkge1xuICAgICAgICAgIG9wLmhpZGUoKTtcbiAgICAgICAgICB0aGlzLnJlbW92ZUNsaWNrTGlzdGVuZXIoKTsgLy8gcmVtdWV2ZSBlbCBvdmVybGF5XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZUNsaWNrTGlzdGVuZXIoKSB7XG4gICAgaWYgKHRoaXMuY2xpY2tMaXN0ZW5lcikge1xuICAgICAgdGhpcy5jbGlja0xpc3RlbmVyKCk7XG4gICAgICB0aGlzLmNsaWNrTGlzdGVuZXIgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucmVtb3ZlQ2xpY2tMaXN0ZW5lcigpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDxoNCBjbGFzcz1cIm0tMCBtci0yIHRleHQtYmxhY2stYWxwaGEtOTBcIj5GaWx0cm9zPC9oND5cbiAgICA8YnV0dG9uXG4gICAgICBwQnV0dG9uXG4gICAgICBwUmlwcGxlXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGljb249XCJwaSBwaS1maWx0ZXJcIlxuICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLW91dGxpbmVkXCJcbiAgICAgIChjbGljayk9XCJhYnJpclBhbmVsKCRldmVudClcIlxuICAgID48L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtbC0zXCI+XG4gICAgPHAtY2hpcFxuICAgICAgKm5nRm9yPVwibGV0IGNoaXAgb2YgY2hpcHNcIlxuICAgICAgW2xhYmVsXT1cImNoaXAuaGVhZGVyICsgJzogJyArIChjaGlwLmxhYmVsTW9zdHJhci5sZW5ndGggPiAxMDAgPyBjaGlwLmxhYmVsTW9zdHJhci5zdWJzdHJpbmcoMCwgMTAwKSArICcuLi4nIDogY2hpcC5sYWJlbE1vc3RyYXIpXCJcbiAgICAgIHN0eWxlQ2xhc3M9XCJtLTFcIlxuICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcbiAgICAgIChvblJlbW92ZSk9XCJyZW1vdmVDaGlwKGNoaXApXCJcbiAgICA+PC9wLWNoaXA+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxwLW92ZXJsYXlQYW5lbCAjb3AgKG9uSGlkZSk9XCJvbkhpZGUoKVwiIFtkaXNtaXNzYWJsZV09XCJmYWxzZVwiIFtzaG93Q2xvc2VJY29uXT1cInRydWVcIj5cbiAgPGRpdiBjbGFzcz1cImdyaWQgcC1pbnB1dC1maWxsZWRcIj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiBjbGFzcz1cInAtZmx1aWQgY29sLTEyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5wdXRGaWx0ZXJzOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZmlsdGVyRm9ybSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTIgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJhcGxpY2FyRmlsdHJvcygpXCIgY2xhc3M9XCJtbC0yXCI+e3snbGlua19hcGxpY2FyJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIChjbGljayk9XCJsaW1waWFyRmlsdHJvcygpXCIgaWNvbj1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy1jbGVhbmluZ1wiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1vdXRsaW5lZCBtbC0yXCI+PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuPC9wLW92ZXJsYXlQYW5lbD5cbiJdfQ==
|
|
@@ -40,5 +40,25 @@ export class DataExporter {
|
|
|
40
40
|
const data = new Blob([buffer], { type: EXCEL_TYPE });
|
|
41
41
|
FileSaver.saveAs(data, `${fileName}_export_${new Date().getTime()}${EXCEL_EXTENSION}`);
|
|
42
42
|
}
|
|
43
|
+
exportCSV(lista, columnas, nombreArchivo) {
|
|
44
|
+
const listaParaExportar = lista;
|
|
45
|
+
const csvContent = this.convertirAFormatoCSV(listaParaExportar, columnas);
|
|
46
|
+
this.descargarArchivoCSV(csvContent, nombreArchivo);
|
|
47
|
+
}
|
|
48
|
+
convertirAFormatoCSV(data, columns) {
|
|
49
|
+
const csvHeader = columns.join(',') + '\n';
|
|
50
|
+
const csvRows = data.map(item => columns.map(col => item[col]).join(',')).join('\n');
|
|
51
|
+
return csvHeader + csvRows + '\n';
|
|
52
|
+
}
|
|
53
|
+
descargarArchivoCSV(csvContent, nombreArchivo) {
|
|
54
|
+
const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
|
|
55
|
+
const url = window.URL.createObjectURL(blob);
|
|
56
|
+
const link = document.createElement('a');
|
|
57
|
+
link.href = url;
|
|
58
|
+
link.setAttribute('download', `${nombreArchivo}.csv`);
|
|
59
|
+
document.body.appendChild(link);
|
|
60
|
+
link.click();
|
|
61
|
+
document.body.removeChild(link);
|
|
62
|
+
}
|
|
43
63
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1leHBvcnRlci10YWJsZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9zZXJ2aWNpb3MvZGF0YS1leHBvcnRlci10YWJsZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEtBQUssU0FBUyxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRW5DLE1BQU0sT0FBTyxZQUFZO0lBRXJCLGdCQUFnQixDQUFDO0lBRWpCLFNBQVMsQ0FBQyxLQUFZLEVBQUUsYUFBb0IsRUFBRSxhQUFxQjtRQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQVksRUFBRSxhQUFxQjtRQUNqRCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEQsU0FBUyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU3RSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pCLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxLQUFZLEVBQUUsYUFBcUIsRUFBRSxRQUFrQjtRQUM3RSxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEQsU0FBUyxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVyRSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sWUFBWSxHQUFRLEVBQUUsQ0FBQztZQUM3QixRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNuQixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQVcsRUFBRSxRQUFnQjtRQUN6QyxNQUFNLFVBQVUsR0FBRyxpRkFBaUYsQ0FBQztRQUNyRyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUM7UUFDaEMsTUFBTSxJQUFJLEdBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQzVELFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxXQUFXLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVksRUFBRSxRQUFrQixFQUFFLGFBQXFCO1FBQzdELE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUUsQ0FBQztRQUMzRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxJQUFXLEVBQUUsT0FBaUI7UUFDL0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDM0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckYsT0FBTyxTQUFTLEdBQUcsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsVUFBZSxFQUFFLGFBQXFCO1FBQ3RELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsR0FBRyxhQUFhLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBqc1BERiBmcm9tIFwianNwZGZcIjtcbmltcG9ydCBcImpzcGRmLWF1dG90YWJsZVwiO1xuaW1wb3J0ICogYXMgRmlsZVNhdmVyIGZyb20gJ2ZpbGUtc2F2ZXInO1xuaW1wb3J0IHsgV29ya2Jvb2sgfSBmcm9tICdleGNlbGpzJztcblxuZXhwb3J0IGNsYXNzIERhdGFFeHBvcnRlciB7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gICAgZXhwb3J0UGRmKGxpc3RhOiBhbnlbXSwgZXhwb3J0Q29sdW1uczogYW55W10sIG5vbWJyZUFyY2hpdm86IHN0cmluZykge1xuICAgICAgICBjb25zb2xlLmxvZyhsaXN0YSk7XG4gICAgICAgIGNvbnN0IGRvYyA9IG5ldyBqc1BERigncCcsICdwdCcpO1xuICAgICAgICBkb2NbJ2F1dG9UYWJsZSddKGV4cG9ydENvbHVtbnMsIGxpc3RhKTtcbiAgICAgICAgZG9jLnNhdmUobm9tYnJlQXJjaGl2byArIFwiLnBkZlwiKTtcbiAgICB9XG5cbiAgICBhc3luYyBleHBvcnRFeGNlbChsaXN0YTogYW55W10sIG5vbWJyZUFyY2hpdm86IHN0cmluZykge1xuICAgICAgICBjb25zdCB3b3JrYm9vayA9IG5ldyBXb3JrYm9vaygpO1xuICAgICAgICBjb25zdCB3b3Jrc2hlZXQgPSB3b3JrYm9vay5hZGRXb3Jrc2hlZXQoJ2RhdGEnKTtcblxuICAgICAgICB3b3Jrc2hlZXQuY29sdW1ucyA9IE9iamVjdC5rZXlzKGxpc3RhWzBdKS5tYXAoa2V5ID0+ICh7IGhlYWRlcjoga2V5LCBrZXkgfSkpO1xuXG4gICAgICAgIGxpc3RhLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICB3b3Jrc2hlZXQuYWRkUm93KGl0ZW0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBidWZmZXIgPSBhd2FpdCB3b3JrYm9vay54bHN4LndyaXRlQnVmZmVyKCk7XG4gICAgICAgIHRoaXMuc2F2ZUFzRXhjZWxGaWxlKGJ1ZmZlciwgbm9tYnJlQXJjaGl2byk7XG4gICAgfVxuXG4gICAgYXN5bmMgZXhwb3J0RXhjZWxDb2x1bW5hcyhsaXN0YTogYW55W10sIG5vbWJyZUFyY2hpdm86IHN0cmluZywgY29sdW1uYXM6IHN0cmluZ1tdKSB7XG4gICAgICAgIGNvbnN0IHdvcmtib29rID0gbmV3IFdvcmtib29rKCk7XG4gICAgICAgIGNvbnN0IHdvcmtzaGVldCA9IHdvcmtib29rLmFkZFdvcmtzaGVldCgnZGF0YScpO1xuXG4gICAgICAgIHdvcmtzaGVldC5jb2x1bW5zID0gY29sdW1uYXMubWFwKGNvbCA9PiAoeyBoZWFkZXI6IGNvbCwga2V5OiBjb2wgfSkpO1xuXG4gICAgICAgIGxpc3RhLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWx0ZXJlZEl0ZW06IGFueSA9IHt9O1xuICAgICAgICAgICAgY29sdW1uYXMuZm9yRWFjaChjb2wgPT4ge1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkSXRlbVtjb2xdID0gaXRlbVtjb2xdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB3b3Jrc2hlZXQuYWRkUm93KGZpbHRlcmVkSXRlbSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGJ1ZmZlciA9IGF3YWl0IHdvcmtib29rLnhsc3gud3JpdGVCdWZmZXIoKTtcbiAgICAgICAgdGhpcy5zYXZlQXNFeGNlbEZpbGUoYnVmZmVyLCBub21icmVBcmNoaXZvKTtcbiAgICB9XG5cbiAgICBzYXZlQXNFeGNlbEZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgRVhDRUxfVFlQRSA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtjaGFyc2V0PVVURi04JztcbiAgICAgICAgY29uc3QgRVhDRUxfRVhURU5TSU9OID0gJy54bHN4JztcbiAgICAgICAgY29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7IHR5cGU6IEVYQ0VMX1RZUEUgfSk7XG4gICAgICAgIEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgYCR7ZmlsZU5hbWV9X2V4cG9ydF8ke25ldyBEYXRlKCkuZ2V0VGltZSgpfSR7RVhDRUxfRVhURU5TSU9OfWApO1xuICAgIH1cblxuICAgIGV4cG9ydENTVihsaXN0YTogYW55W10sIGNvbHVtbmFzOiBzdHJpbmdbXSwgbm9tYnJlQXJjaGl2bzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGxpc3RhUGFyYUV4cG9ydGFyID0gbGlzdGE7XG4gICAgICAgIGNvbnN0IGNzdkNvbnRlbnQgPSB0aGlzLmNvbnZlcnRpckFGb3JtYXRvQ1NWKGxpc3RhUGFyYUV4cG9ydGFyLCBjb2x1bW5hcyApO1xuICAgICAgICB0aGlzLmRlc2NhcmdhckFyY2hpdm9DU1YoY3N2Q29udGVudCwgbm9tYnJlQXJjaGl2byk7XG4gICAgfVxuXG4gICAgY29udmVydGlyQUZvcm1hdG9DU1YoZGF0YTogYW55W10sIGNvbHVtbnM6IHN0cmluZ1tdKSB7XG4gICAgICAgIGNvbnN0IGNzdkhlYWRlciA9IGNvbHVtbnMuam9pbignLCcpICsgJ1xcbic7XG4gICAgICAgIGNvbnN0IGNzdlJvd3MgPSBkYXRhLm1hcChpdGVtID0+IGNvbHVtbnMubWFwKGNvbCA9PiBpdGVtW2NvbF0pLmpvaW4oJywnKSkuam9pbignXFxuJyk7XG4gICAgICAgIHJldHVybiBjc3ZIZWFkZXIgKyBjc3ZSb3dzICsgJ1xcbic7XG4gICAgfVxuXG4gICAgZGVzY2FyZ2FyQXJjaGl2b0NTVihjc3ZDb250ZW50OiBhbnksIG5vbWJyZUFyY2hpdm86IHN0cmluZykge1xuICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2NzdkNvbnRlbnRdLCB7IHR5cGU6ICd0ZXh0L2NzdjtjaGFyc2V0PXV0Zi04OycgfSk7XG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICBsaW5rLmhyZWYgPSB1cmw7XG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGAke25vbWJyZUFyY2hpdm99LmNzdmApO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICAgICAgICBsaW5rLmNsaWNrKCk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG4gICAgfVxufVxuIl19
|
|
@@ -51,4 +51,4 @@ export class TareasModel {
|
|
|
51
51
|
this.nombrePadre = nombrepadre;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFyZWFzTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3NlZ3VyaWRhZC9tb2RlbG9zL1RhcmVhc01vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLGVBQWUsQ0FBTTtJQUNyQixlQUFlLENBQU07SUFDckIsVUFBVSxDQUFRO0lBQ2xCLGtCQUFrQixDQUFRO0lBQzFCLFVBQVUsQ0FBUTtJQUNsQixVQUFVLENBQVE7SUFDbEIsS0FBSyxDQUFTO0lBQ2QsWUFBWSxDQUFRO0lBQ3BCLEtBQUssQ0FBUTtJQUNiLE1BQU0sQ0FBUTtJQUNkLEdBQUcsQ0FBUTtJQUNYLFdBQVcsQ0FBUTtJQUNuQixLQUFLLENBQVE7SUFDYixZQUFZLENBQVE7SUFDcEIsSUFBSSxDQUFNO0lBQ1YsTUFBTSxDQUFNO0lBQ1osR0FBRyxDQUFRO0lBQ1gsSUFBSSxDQUFNO0lBQ1YsTUFBTSxDQUFRO0lBQ2QsTUFBTSxDQUFRO0lBQ2QsWUFBWSxDQUFRO0lBQ3BCLEtBQUssQ0FBUTtJQUNiLFNBQVMsQ0FBUTtJQUNqQixLQUFLLENBQVE7SUFDYixlQUFlLENBQVE7SUFDdkIsVUFBVSxDQUFRO0lBQ2xCLEtBQUssQ0FBUTtJQUNiLFlBQVksQ0FBUTtJQUNwQixRQUFRLENBQVE7SUFDaEIsWUFBWSxDQUFRO0lBQ3BCLFlBQVksQ0FBUTtJQUNwQixXQUFXLENBQVE7SUFDbkIsUUFBUSxDQUFRO0lBQ2hCLFlBQVksQ0FBUTtJQUNwQixTQUFTLENBQVE7SUFDakIsVUFBVSxDQUFRO0lBQ2xCLFdBQVcsQ0FBUTtJQUNuQixXQUFXLENBQVE7SUFDbkIsVUFBVSxDQUFPO0lBQ2pCLFdBQVcsQ0FBTztJQUNsQixTQUFTLENBQVE7SUFDakIsS0FBSyxDQUFRO0lBQ2IsS0FBSyxDQUFPO0lBQ1osV0FBVyxDQUFRO0lBQ25CLFdBQVcsQ0FBZTtJQUMxQixXQUFXLENBQVE7SUFFbkIsWUFBWSxXQUFrQixFQUFFLFdBQWtCLEVBQUMsS0FBWTtRQUMzRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgVGFyZWFzTW9kZWx7XG4gICAgZmVjaGFBZGljaW9uYWRvOkRhdGU7XG4gICAgZmVjaGFNb2RpZmljYWRvOkRhdGU7XG4gICAgYWRpY2lvbmFkbzpzdHJpbmc7XG4gICAgY29udHJvbFNlZ3VpbWllbnRvOnN0cmluZztcbiAgICBsbGF2ZVRhYmxhOnN0cmluZztcbiAgICBtb2RpZmljYWRvOnN0cmluZztcbiAgICBjaGVjazpib29sZWFuO1xuICAgIGxsYXZlUGVybWlzbzpzdHJpbmc7XG4gICAgbGxhdmU6c3RyaW5nO1xuICAgIGNvZGlnbzpzdHJpbmc7XG4gICAga2V5OnN0cmluZztcbiAgICBkZXNjcmlwY2lvbjpzdHJpbmc7XG4gICAgcGFkcmU6c3RyaW5nO1xuICAgIHVybHByaW5jaXBhbDpzdHJpbmc7XG4gICAgdXJsczpudWxsO1xuICAgIGFjY2lvbjpudWxsO1xuICAgIGdpZjpzdHJpbmc7XG4gICAgdGlwbzpudWxsO1xuICAgIGVzdGFkbzpzdHJpbmc7XG4gICAgbW9kdWxvOnN0cmluZztcbiAgICBub21icmVNb2R1bG86c3RyaW5nO1xuICAgIG9yZGVuOm51bWJlcjtcbiAgICBwYXJhbWV0cm86c3RyaW5nO1xuICAgIG51ZXZvOnN0cmluZztcbiAgICBjb21vZGluQnVzcXVlZGE6c3RyaW5nO1xuICAgIGxsYXZlR3J1cG86c3RyaW5nO1xuICAgIGF5dWRhOnN0cmluZztcbiAgICBsbGF2ZURpcmVjdG86c3RyaW5nO1xuICAgIHNob3J0Y3V0OnN0cmluZztcbiAgICBsbGF2ZUVtcHJlc2E6c3RyaW5nO1xuICAgIGxhYmVsRW1wcmVzYTpzdHJpbmc7XG4gICAgbm9tYnJlUGFkcmU6c3RyaW5nO1xuICAgIGdpZlBhZHJlOnN0cmluZztcbiAgICBub21icmVBYnVlbG86c3RyaW5nO1xuICAgIGdpZkFidWVsbzpzdHJpbmc7XG4gICAgb3JkZW5QYWRyZTpzdHJpbmc7XG4gICAgb3JkZW5BYnVlbG86c3RyaW5nO1xuICAgIGxpc3RhVGFyZWFzOnN0cmluZztcbiAgICBhcGxpY2FjaW9uOnN0cmluZ1xuICAgIHNpZ2xhTW9kdWxvOnN0cmluZ1xuICAgIGNvbmZpZ0NtczpzdHJpbmc7XG4gICAgZ3J1cG86c3RyaW5nO1xuICAgIGFsaWFzOnN0cmluZ1xuICAgIG5vbWJyZVRhYmxhOnN0cmluZztcbiAgICB0YXJlYXNIaWphczpUYXJlYXNNb2RlbFtdO1xuICAgIGljb25vTW9kdWxvOnN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGRlc2NyaXBjaW9uOnN0cmluZywgbm9tYnJlcGFkcmU6c3RyaW5nLGljb25vOnN0cmluZywpe1xuICAgICAgICB0aGlzLmRlc2NyaXBjaW9uID0gZGVzY3JpcGNpb247XG4gICAgICAgIHRoaXMuZ2lmID0gaWNvbm87XG4gICAgICAgIHRoaXMubm9tYnJlUGFkcmUgPSBub21icmVwYWRyZTtcbiAgICB9XG59Il19
|