brainloper-ui 14.0.17 → 14.0.18
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/esm2020/brainloper-ui.mjs +5 -0
- package/esm2020/public_api.mjs +53 -0
- package/esm2020/src/app/modules/brainloper-ui/brainloper-ui.module.mjs +305 -0
- package/esm2020/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.mjs +29 -0
- package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.mjs +23 -0
- package/esm2020/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.mjs +83 -0
- package/esm2020/src/app/modules/brainloper-ui/components/carousel/carousel.component.mjs +31 -0
- package/esm2020/src/app/modules/brainloper-ui/components/combos/combos.component.mjs +176 -0
- package/esm2020/src/app/modules/brainloper-ui/components/data-table/data-table.component.mjs +691 -0
- package/esm2020/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.mjs +118 -0
- package/esm2020/src/app/modules/brainloper-ui/components/file-input/file-input.component.mjs +185 -0
- package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.mjs +2 -0
- package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.mjs +2 -0
- package/esm2020/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.mjs +2 -0
- package/esm2020/src/app/modules/brainloper-ui/components/filters/filters.component.mjs +222 -0
- package/esm2020/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.mjs +80 -0
- package/esm2020/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.mjs +81 -0
- package/esm2020/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.mjs +108 -0
- package/esm2020/src/app/modules/data/rolesAndPermissions.mjs +491 -0
- package/esm2020/src/app/modules/interfaces/buttons/button-icon.mjs +2 -0
- package/esm2020/src/app/modules/interfaces/buttons/button-lavel-edit.mjs +2 -0
- package/esm2020/src/app/modules/interfaces/combos/combos-configuration.mjs +2 -0
- package/esm2020/src/app/modules/interfaces/common/Permissions.mjs +8 -0
- package/esm2020/src/app/modules/interfaces/data-table/params.mjs +2 -0
- package/esm2020/src/app/modules/interfaces/data-table/rules.mjs +2 -0
- package/esm2020/src/app/modules/interfaces/data-table/table-columns.mjs +2 -0
- package/esm2020/src/app/modules/interfaces/data-table/table-configuration.mjs +2 -0
- package/esm2020/src/app/modules/interfaces/enum/enumActions.mjs +7 -0
- package/esm2020/src/app/modules/interfaces/enum/enumRules.mjs +8 -0
- package/esm2020/src/app/modules/interfaces/file-forms-service/file-forms-params.mjs +2 -0
- package/esm2020/src/app/modules/interfaces/file-forms-service/file-input-params.mjs +2 -0
- package/esm2020/src/app/modules/interfaces/filters/header-filters.mjs +2 -0
- package/esm2020/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.mjs +8 -0
- package/esm2020/src/app/modules/interfaces/report/template-pdf-ot.mjs +2 -0
- package/esm2020/src/app/modules/interfaces/report/template-pfd-fo.mjs +2 -0
- package/esm2020/src/app/modules/services/crypto.service.mjs +37 -0
- package/esm2020/src/app/modules/services/export-data.service.mjs +166 -0
- package/esm2020/src/app/modules/services/file-forms.service.mjs +24 -0
- package/esm2020/src/app/modules/services/functions.service.mjs +54 -0
- package/esm2020/src/app/modules/services/generate-pdf.service.mjs +58 -0
- package/esm2020/src/app/modules/services/http.service.mjs +154 -0
- package/esm2020/src/app/modules/services/loading/loading.component.mjs +28 -0
- package/esm2020/src/app/modules/services/local-storage.service.mjs +115 -0
- package/esm2020/src/app/modules/services/message.service.mjs +200 -0
- package/esm2020/src/app/modules/services/screen-size-util.mjs +6 -0
- package/esm2020/src/app/modules/services/session.service.mjs +42 -0
- package/fesm2015/brainloper-ui.mjs +3443 -0
- package/fesm2015/brainloper-ui.mjs.map +1 -0
- package/fesm2020/brainloper-ui.mjs +3404 -0
- package/fesm2020/brainloper-ui.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/package.json +1 -5
- package/public_api.d.ts +52 -0
- package/src/app/modules/brainloper-ui/brainloper-ui.module.d.ts +73 -0
- package/src/app/modules/brainloper-ui/components/bread-crumb/bread-crumb.component.d.ts +13 -0
- package/src/app/modules/brainloper-ui/components/buttons/button-icon/button-icon.component.d.ts +10 -0
- package/src/app/modules/brainloper-ui/components/buttons/button-label/button-label.component.d.ts +24 -0
- package/src/app/modules/brainloper-ui/components/carousel/carousel.component.d.ts +12 -0
- package/src/app/modules/brainloper-ui/components/combos/combos.component.d.ts +46 -0
- package/src/app/modules/brainloper-ui/components/data-table/data-table.component.d.ts +121 -0
- package/src/app/modules/brainloper-ui/components/data-table/table-modal/table-modal.component.d.ts +21 -0
- package/src/app/modules/brainloper-ui/components/file-input/file-input.component.d.ts +42 -0
- package/src/app/modules/brainloper-ui/components/file-input/imagenes/doc.d.ts +2 -0
- package/src/app/modules/brainloper-ui/components/file-input/imagenes/fondoTransparente.d.ts +2 -0
- package/src/app/modules/brainloper-ui/components/file-input/imagenes/pdf.d.ts +2 -0
- package/src/app/modules/brainloper-ui/components/filters/filters.component.d.ts +30 -0
- package/src/app/modules/brainloper-ui/components/report/generate-pdf/generate-pdf.component.d.ts +35 -0
- package/src/app/modules/brainloper-ui/components/report/template-fuel/template-fuel.component.d.ts +36 -0
- package/src/app/modules/brainloper-ui/components/select-filter/select-filter.component.d.ts +26 -0
- package/src/app/modules/data/rolesAndPermissions.d.ts +2 -0
- package/src/app/modules/interfaces/buttons/button-icon.d.ts +9 -0
- package/src/app/modules/interfaces/buttons/button-lavel-edit.d.ts +6 -0
- package/src/app/modules/interfaces/combos/combos-configuration.d.ts +13 -0
- package/src/app/modules/interfaces/common/Permissions.d.ts +40 -0
- package/src/app/modules/interfaces/data-table/params.d.ts +7 -0
- package/src/app/modules/interfaces/data-table/rules.d.ts +8 -0
- package/src/app/modules/interfaces/data-table/table-columns.d.ts +25 -0
- package/src/app/modules/interfaces/data-table/table-configuration.d.ts +25 -0
- package/src/app/modules/interfaces/enum/enumActions.d.ts +5 -0
- package/src/app/modules/interfaces/enum/enumRules.d.ts +6 -0
- package/src/app/modules/interfaces/file-forms-service/file-forms-params.d.ts +4 -0
- package/src/app/modules/interfaces/file-forms-service/file-input-params.d.ts +13 -0
- package/src/app/modules/interfaces/filters/header-filters.d.ts +13 -0
- package/src/app/modules/interfaces/menu-break-crumb/menu-break-crumb.d.ts +10 -0
- package/src/app/modules/interfaces/report/template-pdf-ot.d.ts +19 -0
- package/src/app/modules/interfaces/report/template-pfd-fo.d.ts +20 -0
- package/src/app/modules/services/crypto.service.d.ts +10 -0
- package/src/app/modules/services/export-data.service.d.ts +18 -0
- package/src/app/modules/services/file-forms.service.d.ts +7 -0
- package/src/app/modules/services/functions.service.d.ts +13 -0
- package/src/app/modules/services/generate-pdf.service.d.ts +12 -0
- package/src/app/modules/services/http.service.d.ts +21 -0
- package/src/app/modules/services/loading/loading.component.d.ts +15 -0
- package/src/app/modules/services/local-storage.service.d.ts +49 -0
- package/src/app/modules/services/message.service.d.ts +23 -0
- package/src/app/modules/services/screen-size-util.d.ts +3 -0
- package/src/app/modules/services/session.service.d.ts +14 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class MenuBreadCrumb {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.name = "";
|
|
4
|
+
this.router = null;
|
|
5
|
+
this.current = false;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1icmVhay1jcnVtYi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9pbnRlcmZhY2VzL21lbnUtYnJlYWstY3J1bWIvbWVudS1icmVhay1jcnVtYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNFLFNBQUksR0FBRyxFQUFFLENBQUE7UUFDVCxXQUFNLEdBQUksSUFBSSxDQUFBO1FBQ2QsWUFBTyxHQUFJLEtBQUssQ0FBQTtJQUNsQixDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElNZW51QnJlYWRDcnVtYiB7XHJcbiAgbmFtZTpzdHJpbmcsXHJcbiAgcm91dGVyPzpzdHJpbmcsXHJcbiAgY3VycmVudD86Ym9vbGVhblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTWVudUJyZWFkQ3J1bWIgaW1wbGVtZW50cyBJTWVudUJyZWFkQ3J1bWIgIHtcclxuICBuYW1lID0gXCJcIlxyXG4gIHJvdXRlcj8gPSBudWxsXHJcbiAgY3VycmVudD8gPSBmYWxzZVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtcGRmLW90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ludGVyZmFjZXMvcmVwb3J0L3RlbXBsYXRlLXBkZi1vdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUZW1wbGF0ZVBkZk90IHtcclxuICBuYW1lPzpzdHJpbmcsXHJcbiAgbml0PzpzdHJpbmcsXHJcbiAgYWRkcmVzcz86c3RyaW5nLFxyXG4gIHRlbGVwaG9uZT86c3RyaW5nLFxyXG4gIG1haWw/OnN0cmluZyxcclxuICBpbWFnZT86c3RyaW5nLFxyXG4gIGNvZGU/OnN0cmluZyxcclxuICBkYXRlPzpzdHJpbmcsXHJcbiAgcmVzcG9uc2libGU/OnN0cmluZyxcclxuICB0aGlyZD86c3RyaW5nLFxyXG4gIG9kb21ldGVyPzpzdHJpbmcsXHJcbiAgYXBwcm92ZWRfYnk/OnN0cmluZyxcclxuICBkZXNjcmlwdGlvbj86c3RyaW5nLFxyXG4gIGNvbnNlY3V0aXZlPzpzdHJpbmcsXHJcbiAgbmFtZVByb3ZpZGVyPzpzdHJpbmcsXHJcbiAgYWRkcmVzc1Byb3ZpZGVyPzpzdHJpbmcsXHJcbiAgYXJlYT86IHN0cmluZ1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtcGZkLWZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ludGVyZmFjZXMvcmVwb3J0L3RlbXBsYXRlLXBmZC1mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUZW1wbGF0ZVBkZkZvIHtcclxuICAgIG5hbWU/OnN0cmluZyxcclxuICAgIG5pdD86c3RyaW5nLFxyXG4gICAgYWRkcmVzcz86c3RyaW5nLFxyXG4gICAgdGVsZXBob25lPzpzdHJpbmcsXHJcbiAgICBtYWlsPzpzdHJpbmcsXHJcbiAgICBpbWFnZT86c3RyaW5nLFxyXG4gICAgY29kZT86c3RyaW5nLFxyXG4gICAgZGF0ZT86c3RyaW5nLFxyXG4gICAgcmVzcG9uc2libGU/OnN0cmluZyxcclxuICAgIGlkX3BsYWNlPzpzdHJpbmcsXHJcbiAgICBhcHByb3ZlZF9ieT86c3RyaW5nLFxyXG4gICAgZGVzY3JpcHRpb24/OnN0cmluZyxcclxuICAgIGRldGFsbGU/OnN0cmluZyxcclxuICAgIGNvbnNlY3V0aXZlPzpzdHJpbmcsXHJcbiAgICBuYW1lUGxhY2U/OnN0cmluZyxcclxuICAgIGFkZHJlc3NQbGFjZT86c3RyaW5nLFxyXG4gICAgYXJlYT86IHN0cmluZ1xyXG4gICAgb2RvbWV0ZXI/OiBzdHJpbmcsXHJcbiAgfVxyXG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as CryptoJS from 'crypto-js';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
//declare var require: any
|
|
5
|
+
//var CryptoJS = require("crypto-js");
|
|
6
|
+
export class CryptoService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.key = "ssaldkmaosweiuf231owdalsd0";
|
|
9
|
+
}
|
|
10
|
+
asignarKey(key) {
|
|
11
|
+
this.key = key;
|
|
12
|
+
}
|
|
13
|
+
encode(data) {
|
|
14
|
+
const strData = JSON.stringify(data);
|
|
15
|
+
let c = CryptoJS.AES.encrypt(strData, this.key);
|
|
16
|
+
return c;
|
|
17
|
+
}
|
|
18
|
+
decode(data) {
|
|
19
|
+
try {
|
|
20
|
+
var bytes = CryptoJS.AES.decrypt(data, this.key);
|
|
21
|
+
var str = bytes.toString(CryptoJS.enc.Utf8);
|
|
22
|
+
return JSON.parse(str);
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
console.log('Error try to decode string');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
CryptoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CryptoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
CryptoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CryptoService, providedIn: 'root' });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CryptoService, decorators: [{
|
|
32
|
+
type: Injectable,
|
|
33
|
+
args: [{
|
|
34
|
+
providedIn: 'root'
|
|
35
|
+
}]
|
|
36
|
+
}], ctorParameters: function () { return []; } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHRvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvY3J5cHRvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssUUFBUSxNQUFNLFdBQVcsQ0FBQTs7QUFDckMsMEJBQTBCO0FBQzFCLHNDQUFzQztBQUl0QyxNQUFNLE9BQU8sYUFBYTtJQUd0QjtRQUNJLElBQUksQ0FBQyxHQUFHLEdBQUcsNEJBQTRCLENBQUE7SUFDM0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFHO1FBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBQyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJO1FBQ1AsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsR0FBVSxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBUSxDQUFDO1FBQzdELE9BQU8sQ0FBQyxDQUFBO0lBQ2IsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFXO1FBQ2YsSUFBRztZQUNGLElBQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakQsSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTVDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QjtRQUFBLE9BQU0sQ0FBQyxFQUFDO1lBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO1NBQ3pDO0lBQ0osQ0FBQzs7MEdBeEJRLGFBQWE7OEdBQWIsYUFBYSxjQUZWLE1BQU07MkZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIENyeXB0b0pTIGZyb20gJ2NyeXB0by1qcydcclxuLy9kZWNsYXJlIHZhciByZXF1aXJlOiBhbnlcclxuLy92YXIgQ3J5cHRvSlMgPSByZXF1aXJlKFwiY3J5cHRvLWpzXCIpO1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxuICB9KVxyXG5leHBvcnQgY2xhc3MgQ3J5cHRvU2VydmljZSB7XHJcblxyXG4gICAga2V5OnN0cmluZztcclxuICAgIGNvbnN0cnVjdG9yKCl7XHJcbiAgICAgICAgdGhpcy5rZXkgPSBcInNzYWxka21hb3N3ZWl1ZjIzMW93ZGFsc2QwXCJcclxuICAgIH1cclxuXHJcbiAgICBhc2lnbmFyS2V5KGtleSl7XHJcbiAgICAgICAgdGhpcy5rZXk9a2V5O1xyXG4gICAgfVxyXG4gICAgZW5jb2RlKGRhdGEpIHtcclxuICAgICAgICBjb25zdCBzdHJEYXRhID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XHJcbiAgICAgICAgbGV0IGM6c3RyaW5nID0gQ3J5cHRvSlMuQUVTLmVuY3J5cHQoc3RyRGF0YSwgdGhpcy5rZXkpIGFzIGFueTtcclxuICAgICAgICAgcmV0dXJuIGNcclxuICAgIH1cclxuICAgIGRlY29kZShkYXRhOnN0cmluZyl7XHJcbiAgICAgICB0cnl7XHJcbiAgICAgICAgdmFyIGJ5dGVzID0gQ3J5cHRvSlMuQUVTLmRlY3J5cHQoZGF0YSwgdGhpcy5rZXkpO1xyXG4gICAgICAgIHZhciBzdHIgPSBieXRlcy50b1N0cmluZyhDcnlwdG9KUy5lbmMuVXRmOCk7XHJcblxyXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKHN0cik7XHJcbiAgICAgICB9Y2F0Y2goZSl7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0Vycm9yIHRyeSB0byBkZWNvZGUgc3RyaW5nJylcclxuICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBlbmNvZGVTSEEyNTYoZGF0YSkge1xyXG4gICAgLy8gICAgIGNvbnN0IHN0ckRhdGEgPSBKU09OLnN0cmluZ2lmeShkYXRhKTtcclxuICAgIC8vICAgICByZXR1cm4gQ3J5cHRvSlMuU0hBMjU2KHN0ckRhdGEsIHRoaXMua2V5KTtcclxuICAgIC8vIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as fs from 'file-saver';
|
|
3
|
+
import { Workbook } from 'exceljs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./http.service";
|
|
6
|
+
import * as i2 from "./functions.service";
|
|
7
|
+
import * as i3 from "./message.service";
|
|
8
|
+
export class ExportDataService {
|
|
9
|
+
constructor(http, functionEter, message) {
|
|
10
|
+
this.http = http;
|
|
11
|
+
this.functionEter = functionEter;
|
|
12
|
+
this.message = message;
|
|
13
|
+
}
|
|
14
|
+
async generateExcelWithSheets(title, header, name, bodies, url, params, filtersPost, titleFields, sheetNameFields, BodyFields) {
|
|
15
|
+
this.message.openLoading("Cargando", "Generando archivo");
|
|
16
|
+
bodies = await this.getDataBody(url, params, bodies, filtersPost);
|
|
17
|
+
const workbook = new Workbook();
|
|
18
|
+
for (let index = 0; index < bodies.length; index++) {
|
|
19
|
+
const body = bodies[index];
|
|
20
|
+
if (titleFields) {
|
|
21
|
+
title = titleFields.map(param => body[param]).join("-");
|
|
22
|
+
}
|
|
23
|
+
var nameSheet = "sheet";
|
|
24
|
+
if (sheetNameFields) {
|
|
25
|
+
nameSheet = sheetNameFields.map(param => body[param]).join("-");
|
|
26
|
+
}
|
|
27
|
+
const worksheet = await this.generateToXlsx(title, header, `(${(index + 1) + ') ' + nameSheet}`, body, null, null, null, BodyFields, false);
|
|
28
|
+
workbook.addWorksheet(worksheet.name, { views: [{ state: 'frozen', ySplit: 1 }] });
|
|
29
|
+
const newWorksheet = workbook.getWorksheet(worksheet.name);
|
|
30
|
+
newWorksheet.model = worksheet.model;
|
|
31
|
+
}
|
|
32
|
+
const buffer = await workbook.xlsx.writeBuffer();
|
|
33
|
+
this.saveAsExcelFile(buffer, name);
|
|
34
|
+
this.message.closeLoading();
|
|
35
|
+
}
|
|
36
|
+
async generateToXlsx(title, header, name, body, url, params, filtersPost, BodyFields, generateFile = true) {
|
|
37
|
+
if (!generateFile)
|
|
38
|
+
this.message.openLoading("Cargando", "Generando el archivo");
|
|
39
|
+
body = await this.getDataBody(url, params, body, filtersPost);
|
|
40
|
+
let workbook = new Workbook();
|
|
41
|
+
let worksheet = workbook.addWorksheet(name);
|
|
42
|
+
// Add new row
|
|
43
|
+
let titleRow = worksheet.addRow([title]);
|
|
44
|
+
// Set font, size and style in title row.
|
|
45
|
+
titleRow.font = {
|
|
46
|
+
name: 'Comic Sans MS',
|
|
47
|
+
family: 4,
|
|
48
|
+
size: 16,
|
|
49
|
+
underline: 'double',
|
|
50
|
+
bold: true,
|
|
51
|
+
};
|
|
52
|
+
// Blank Row
|
|
53
|
+
// worksheet.addRow([]);
|
|
54
|
+
// let addheader = false
|
|
55
|
+
// for (let p of header.filter(x => x.id === null)) {
|
|
56
|
+
// worksheet.addRow([body[p.value]??p.value])
|
|
57
|
+
// addheader = true
|
|
58
|
+
// }
|
|
59
|
+
worksheet.addRow([]);
|
|
60
|
+
let addheader = false;
|
|
61
|
+
for (let p of header.filter(x => x.id === null)) {
|
|
62
|
+
let value = p.value;
|
|
63
|
+
const matches = value.match(/{(.*?)}/g);
|
|
64
|
+
if (matches) {
|
|
65
|
+
matches.forEach(match => {
|
|
66
|
+
const key = match.slice(1, -1);
|
|
67
|
+
value = value.replace(match, body[key] ?? match);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
worksheet.addRow([value]);
|
|
71
|
+
addheader = true;
|
|
72
|
+
}
|
|
73
|
+
if (addheader)
|
|
74
|
+
worksheet.addRow([]);
|
|
75
|
+
//Add Header Row
|
|
76
|
+
let headerRowValue = header.filter(x => x.id != null).map((p) => { return p.value ?? p.id; });
|
|
77
|
+
let _headerRowValue = worksheet.addRow(headerRowValue);
|
|
78
|
+
// Cell Style : Fill and Border
|
|
79
|
+
_headerRowValue.eachCell((cell, number) => {
|
|
80
|
+
cell.fill = {
|
|
81
|
+
type: 'pattern',
|
|
82
|
+
pattern: 'lightUp',
|
|
83
|
+
fgColor: { argb: '6775f500' },
|
|
84
|
+
bgColor: { argb: '6775f500' },
|
|
85
|
+
};
|
|
86
|
+
cell.border = {
|
|
87
|
+
top: { style: 'thin' },
|
|
88
|
+
left: { style: 'thin' },
|
|
89
|
+
bottom: { style: 'thin' },
|
|
90
|
+
right: { style: 'thin' },
|
|
91
|
+
};
|
|
92
|
+
});
|
|
93
|
+
var headerRow = header.filter(x => x.id != null);
|
|
94
|
+
let data = BodyFields != null ? body[BodyFields] ?? [] : body;
|
|
95
|
+
for (let d of data) {
|
|
96
|
+
var row = [];
|
|
97
|
+
for (let h of headerRow) {
|
|
98
|
+
var dh = d[`${h.id}`];
|
|
99
|
+
if (h.rules) {
|
|
100
|
+
for (const rule of h.rules) {
|
|
101
|
+
if (rule.rule == enumRules['==']) {
|
|
102
|
+
if (dh == rule.valueRule.toString())
|
|
103
|
+
dh = rule.valueAction;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
row.push(dh?.toString());
|
|
108
|
+
}
|
|
109
|
+
worksheet.addRow(row);
|
|
110
|
+
}
|
|
111
|
+
worksheet.columns.forEach(function (column, i) {
|
|
112
|
+
var maxLength = 0;
|
|
113
|
+
column["eachCell"]({ includeEmpty: true }, function (cell) {
|
|
114
|
+
var columnLength = cell.value ? cell.value.toString().length : 10;
|
|
115
|
+
if (columnLength > maxLength) {
|
|
116
|
+
maxLength = columnLength;
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
column.width = maxLength < 10 ? 10 : maxLength;
|
|
120
|
+
});
|
|
121
|
+
if (!generateFile) {
|
|
122
|
+
return worksheet;
|
|
123
|
+
}
|
|
124
|
+
workbook.xlsx.writeBuffer().then((data) => {
|
|
125
|
+
this.saveAsExcelFile(data, name);
|
|
126
|
+
});
|
|
127
|
+
if (!generateFile)
|
|
128
|
+
this.message.closeLoading();
|
|
129
|
+
}
|
|
130
|
+
saveAsExcelFile(buffer, fileName) {
|
|
131
|
+
const data = new Blob([buffer], {
|
|
132
|
+
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'
|
|
133
|
+
});
|
|
134
|
+
fs.saveAs(data, `${fileName}_export_${new Date().getTime()}.xlsx`);
|
|
135
|
+
}
|
|
136
|
+
async getDataBody(url, params, body, filtersPost) {
|
|
137
|
+
if (body)
|
|
138
|
+
return body;
|
|
139
|
+
if (url) {
|
|
140
|
+
var res;
|
|
141
|
+
res = await this.http.postDataBody(url, filtersPost, params);
|
|
142
|
+
if (res['count']) {
|
|
143
|
+
return res['data'];
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
return res;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
ExportDataService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExportDataService, deps: [{ token: i1.HttpService }, { token: i2.FunctionsService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
152
|
+
ExportDataService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExportDataService, providedIn: 'root' });
|
|
153
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ExportDataService, decorators: [{
|
|
154
|
+
type: Injectable,
|
|
155
|
+
args: [{
|
|
156
|
+
providedIn: 'root'
|
|
157
|
+
}]
|
|
158
|
+
}], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.FunctionsService }, { type: i3.MessageService }]; } });
|
|
159
|
+
var enumRules;
|
|
160
|
+
(function (enumRules) {
|
|
161
|
+
enumRules[enumRules[">"] = 0] = ">";
|
|
162
|
+
enumRules[enumRules["<"] = 1] = "<";
|
|
163
|
+
enumRules[enumRules["=="] = 2] = "==";
|
|
164
|
+
enumRules[enumRules["!="] = 3] = "!=";
|
|
165
|
+
})(enumRules || (enumRules = {}));
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9zZXJ2aWNlcy9leHBvcnQtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7QUFPbkMsTUFBTSxPQUFPLGlCQUFpQjtJQUU1QixZQUNVLElBQWlCLEVBQ2pCLFlBQThCLEVBQzlCLE9BQXVCO1FBRnZCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQzlCLFlBQU8sR0FBUCxPQUFPLENBQWdCO0lBQUksQ0FBQztJQUV0QyxLQUFLLENBQUMsdUJBQXVCLENBQzNCLEtBQWEsRUFDYixNQUFxQixFQUNyQixJQUFZLEVBQ1osTUFBbUIsRUFDbkIsR0FBWSxFQUNaLE1BQWlCLEVBQ2pCLFdBQXVDLEVBQ3ZDLFdBQXNCLEVBQ3RCLGVBQTBCLEVBQzFCLFVBQWtCO1FBRWxCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFBO1FBRXpELE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQVcsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUE7UUFDM0UsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUVoQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNsRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFM0IsSUFBSSxXQUFXLEVBQUU7Z0JBQ2YsS0FBSyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDekQ7WUFFRCxJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUM7WUFFeEIsSUFBSSxlQUFlLEVBQUU7Z0JBQ25CLFNBQVMsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2pFO1lBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLEdBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0SSxRQUFRLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25GLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELFlBQVksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztTQUN0QztRQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFBO0lBQzdCLENBQUM7SUFFTSxLQUFLLENBQUMsY0FBYyxDQUN6QixLQUFhLEVBQ2IsTUFBcUIsRUFDckIsSUFBWSxFQUNaLElBQVEsRUFDUixHQUFZLEVBQ1osTUFBc0IsRUFDdEIsV0FBdUMsRUFDdkMsVUFBa0IsRUFDbEIsZUFBd0IsSUFBSTtRQUU1QixJQUFJLENBQUMsWUFBWTtZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxzQkFBc0IsQ0FBQyxDQUFBO1FBRS9FLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUksR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUE7UUFFaEUsSUFBSSxRQUFRLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVDLGNBQWM7UUFDZCxJQUFJLFFBQVEsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV6Qyx5Q0FBeUM7UUFDekMsUUFBUSxDQUFDLElBQUksR0FBRztZQUNkLElBQUksRUFBRSxlQUFlO1lBQ3JCLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxFQUFFLEVBQUU7WUFDUixTQUFTLEVBQUUsUUFBUTtZQUNuQixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUM7UUFFRixZQUFZO1FBQ1osd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4QixxREFBcUQ7UUFDckQsK0NBQStDO1FBQy9DLHFCQUFxQjtRQUNyQixJQUFJO1FBRUosU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQixJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsS0FBSyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRTtZQUMvQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ3BCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEMsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDdEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDL0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQztnQkFDbkQsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzFCLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDbEI7UUFFRCxJQUFJLFNBQVM7WUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLGdCQUFnQjtRQUNoQixJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBRSxDQUFDLENBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDMUYsSUFBSSxlQUFlLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV2RCwrQkFBK0I7UUFDL0IsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHO2dCQUNWLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUM3QixPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2FBQzlCLENBQUM7WUFDRixJQUFJLENBQUMsTUFBTSxHQUFHO2dCQUNaLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBQ3RCLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBQ3ZCLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBQ3pCLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7YUFDekIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUE7UUFFaEQsSUFBSSxJQUFJLEdBQUcsVUFBVSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO1FBQzdELEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ2xCLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQTtZQUNaLEtBQUssSUFBSSxDQUFDLElBQUksU0FBUyxFQUFFO2dCQUN2QixJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtnQkFDckIsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO29CQUNYLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTt3QkFDMUIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTs0QkFDaEMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUU7Z0NBQ2pDLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFBO3lCQUN4QjtxQkFDRjtpQkFDRjtnQkFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFBO2FBQ3pCO1lBQ0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QjtRQUVELFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsTUFBTSxFQUFFLENBQUM7WUFDM0MsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsRUFBRSxVQUFVLElBQUk7Z0JBQ3ZELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xFLElBQUksWUFBWSxHQUFHLFNBQVMsRUFBRTtvQkFDNUIsU0FBUyxHQUFHLFlBQVksQ0FBQztpQkFDMUI7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxLQUFLLEdBQUcsU0FBUyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZO1lBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUNoRCxDQUFDO0lBRU8sZUFBZSxDQUFDLE1BQVcsRUFBRSxRQUFnQjtRQUNuRCxNQUFNLElBQUksR0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3BDLElBQUksRUFBRSxpRkFBaUY7U0FDeEYsQ0FBQyxDQUFDO1FBQ0gsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxRQUFRLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLEtBQUssQ0FBQyxXQUFXLENBQUksR0FBVyxFQUFFLE1BQXFCLEVBQUUsSUFBTyxFQUFFLFdBQXVDO1FBQy9HLElBQUksSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRXRCLElBQUksR0FBRyxFQUFFO1lBQ1AsSUFBSSxHQUFRLENBQUE7WUFDWixHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQzVELElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNoQixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTthQUNuQjtpQkFBTTtnQkFDTCxPQUFPLEdBQUcsQ0FBQTthQUNYO1NBQ0Y7SUFFSCxDQUFDOzs4R0ExTFUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COztBQThMRCxJQUFLLFNBS0o7QUFMRCxXQUFLLFNBQVM7SUFDWixtQ0FBRyxDQUFBO0lBQ0gsbUNBQUcsQ0FBQTtJQUNILHFDQUFJLENBQUE7SUFDSixxQ0FBSSxDQUFBO0FBQ04sQ0FBQyxFQUxJLFNBQVMsS0FBVCxTQUFTLFFBS2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4vbWVzc2FnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4vaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0ICogYXMgZnMgZnJvbSAnZmlsZS1zYXZlcic7XHJcbmltcG9ydCB7IFdvcmtib29rIH0gZnJvbSAnZXhjZWxqcyc7XHJcbmltcG9ydCB7IHBhcmFtcyB9IGZyb20gJy4uL2ludGVyZmFjZXMvZGF0YS10YWJsZS9wYXJhbXMnO1xyXG5pbXBvcnQgeyBGdW5jdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9mdW5jdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IEhlYWRlckZpbHRlcnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ZpbHRlcnMvaGVhZGVyLWZpbHRlcnMnO1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFeHBvcnREYXRhU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwU2VydmljZSxcclxuICAgIHByaXZhdGUgZnVuY3Rpb25FdGVyOiBGdW5jdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlOiBNZXNzYWdlU2VydmljZSkgeyB9XHJcblxyXG4gIGFzeW5jIGdlbmVyYXRlRXhjZWxXaXRoU2hlZXRzPFQ+KFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIGhlYWRlcjogQXJyYXk8cGFyYW1zPixcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGJvZGllcz86IEFycmF5PGFueT4sXHJcbiAgICB1cmw/OiBzdHJpbmcsXHJcbiAgICBwYXJhbXM/OiBwYXJhbXNbXSxcclxuICAgIGZpbHRlcnNQb3N0PzogQXJyYXk8SGVhZGVyRmlsdGVyczxhbnk+PixcclxuICAgIHRpdGxlRmllbGRzPzogc3RyaW5nW10sXHJcbiAgICBzaGVldE5hbWVGaWVsZHM/OiBzdHJpbmdbXSxcclxuICAgIEJvZHlGaWVsZHM/OnN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgIHRoaXMubWVzc2FnZS5vcGVuTG9hZGluZyhcIkNhcmdhbmRvXCIsIFwiR2VuZXJhbmRvIGFyY2hpdm9cIilcclxuXHJcbiAgICBib2RpZXMgPSBhd2FpdCB0aGlzLmdldERhdGFCb2R5PEFycmF5PFQ+Pih1cmwsIHBhcmFtcywgYm9kaWVzLCBmaWx0ZXJzUG9zdClcclxuICAgIGNvbnN0IHdvcmtib29rID0gbmV3IFdvcmtib29rKCk7XHJcblxyXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGJvZGllcy5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgY29uc3QgYm9keSA9IGJvZGllc1tpbmRleF07XHJcblxyXG4gICAgICBpZiAodGl0bGVGaWVsZHMpIHtcclxuICAgICAgICB0aXRsZSA9IHRpdGxlRmllbGRzLm1hcChwYXJhbSA9PiBib2R5W3BhcmFtXSkuam9pbihcIi1cIik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHZhciBuYW1lU2hlZXQgPSBcInNoZWV0XCI7XHJcblxyXG4gICAgICBpZiAoc2hlZXROYW1lRmllbGRzKSB7XHJcbiAgICAgICAgbmFtZVNoZWV0ID0gc2hlZXROYW1lRmllbGRzLm1hcChwYXJhbSA9PiBib2R5W3BhcmFtXSkuam9pbihcIi1cIik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHdvcmtzaGVldCA9IGF3YWl0IHRoaXMuZ2VuZXJhdGVUb1hsc3godGl0bGUsIGhlYWRlciwgYCgkeyhpbmRleCsxKSsnKSAnK25hbWVTaGVldH1gLCBib2R5LCBudWxsLCBudWxsLCBudWxsLCBCb2R5RmllbGRzLCBmYWxzZSk7XHJcbiAgICAgIHdvcmtib29rLmFkZFdvcmtzaGVldCh3b3Jrc2hlZXQubmFtZSwgeyB2aWV3czogW3sgc3RhdGU6ICdmcm96ZW4nLCB5U3BsaXQ6IDEgfV0gfSk7XHJcbiAgICAgIGNvbnN0IG5ld1dvcmtzaGVldCA9IHdvcmtib29rLmdldFdvcmtzaGVldCh3b3Jrc2hlZXQubmFtZSk7XHJcbiAgICAgIG5ld1dvcmtzaGVldC5tb2RlbCA9IHdvcmtzaGVldC5tb2RlbDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBidWZmZXIgPSBhd2FpdCB3b3JrYm9vay54bHN4LndyaXRlQnVmZmVyKCk7XHJcbiAgICB0aGlzLnNhdmVBc0V4Y2VsRmlsZShidWZmZXIsIG5hbWUpO1xyXG5cclxuICAgIHRoaXMubWVzc2FnZS5jbG9zZUxvYWRpbmcoKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdlbmVyYXRlVG9YbHN4PFQ+KFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIGhlYWRlcjogQXJyYXk8cGFyYW1zPixcclxuICAgIG5hbWU6IHN0cmluZyxcclxuICAgIGJvZHk/OiBULFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgcGFyYW1zPzogQXJyYXk8cGFyYW1zPixcclxuICAgIGZpbHRlcnNQb3N0PzogQXJyYXk8SGVhZGVyRmlsdGVyczxhbnk+PixcclxuICAgIEJvZHlGaWVsZHM/OnN0cmluZyxcclxuICAgIGdlbmVyYXRlRmlsZTogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPGFueT4ge1xyXG5cclxuICAgIGlmICghZ2VuZXJhdGVGaWxlKSB0aGlzLm1lc3NhZ2Uub3BlbkxvYWRpbmcoXCJDYXJnYW5kb1wiLCBcIkdlbmVyYW5kbyBlbCBhcmNoaXZvXCIpXHJcblxyXG4gICAgYm9keSA9IGF3YWl0IHRoaXMuZ2V0RGF0YUJvZHk8VD4odXJsLCBwYXJhbXMsIGJvZHksIGZpbHRlcnNQb3N0KVxyXG5cclxuICAgIGxldCB3b3JrYm9vayA9IG5ldyBXb3JrYm9vaygpO1xyXG4gICAgbGV0IHdvcmtzaGVldCA9IHdvcmtib29rLmFkZFdvcmtzaGVldChuYW1lKTtcclxuXHJcbiAgICAvLyBBZGQgbmV3IHJvd1xyXG4gICAgbGV0IHRpdGxlUm93ID0gd29ya3NoZWV0LmFkZFJvdyhbdGl0bGVdKTtcclxuXHJcbiAgICAvLyBTZXQgZm9udCwgc2l6ZSBhbmQgc3R5bGUgaW4gdGl0bGUgcm93LlxyXG4gICAgdGl0bGVSb3cuZm9udCA9IHtcclxuICAgICAgbmFtZTogJ0NvbWljIFNhbnMgTVMnLFxyXG4gICAgICBmYW1pbHk6IDQsXHJcbiAgICAgIHNpemU6IDE2LFxyXG4gICAgICB1bmRlcmxpbmU6ICdkb3VibGUnLFxyXG4gICAgICBib2xkOiB0cnVlLFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyBCbGFuayBSb3dcclxuICAgIC8vIHdvcmtzaGVldC5hZGRSb3coW10pO1xyXG4gICAgLy8gbGV0IGFkZGhlYWRlciA9IGZhbHNlXHJcbiAgICAvLyBmb3IgKGxldCBwIG9mIGhlYWRlci5maWx0ZXIoeCA9PiB4LmlkID09PSBudWxsKSkge1xyXG4gICAgLy8gICB3b3Jrc2hlZXQuYWRkUm93KFtib2R5W3AudmFsdWVdPz9wLnZhbHVlXSlcclxuICAgIC8vICAgYWRkaGVhZGVyID0gdHJ1ZVxyXG4gICAgLy8gfVxyXG5cclxuICAgIHdvcmtzaGVldC5hZGRSb3coW10pO1xyXG4gICAgbGV0IGFkZGhlYWRlciA9IGZhbHNlO1xyXG4gICAgZm9yIChsZXQgcCBvZiBoZWFkZXIuZmlsdGVyKHggPT4geC5pZCA9PT0gbnVsbCkpIHtcclxuICAgICAgbGV0IHZhbHVlID0gcC52YWx1ZTtcclxuICAgICAgY29uc3QgbWF0Y2hlcyA9IHZhbHVlLm1hdGNoKC97KC4qPyl9L2cpO1xyXG4gICAgICBpZiAobWF0Y2hlcykge1xyXG4gICAgICAgIG1hdGNoZXMuZm9yRWFjaChtYXRjaCA9PiB7XHJcbiAgICAgICAgICBjb25zdCBrZXkgPSBtYXRjaC5zbGljZSgxLCAtMSk7XHJcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UobWF0Y2gsIGJvZHlba2V5XSA/PyBtYXRjaCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgd29ya3NoZWV0LmFkZFJvdyhbdmFsdWVdKTtcclxuICAgICAgYWRkaGVhZGVyID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYWRkaGVhZGVyKSB3b3Jrc2hlZXQuYWRkUm93KFtdKTtcclxuXHJcbiAgICAvL0FkZCBIZWFkZXIgUm93XHJcbiAgICBsZXQgaGVhZGVyUm93VmFsdWUgPSBoZWFkZXIuZmlsdGVyKHggPT4geC5pZCAhPSBudWxsKS5tYXAoKHApID0+IHsgcmV0dXJuIHAudmFsdWU/P3AuaWQgfSlcclxuICAgIGxldCBfaGVhZGVyUm93VmFsdWUgPSB3b3Jrc2hlZXQuYWRkUm93KGhlYWRlclJvd1ZhbHVlKTtcclxuXHJcbiAgICAvLyBDZWxsIFN0eWxlIDogRmlsbCBhbmQgQm9yZGVyXHJcbiAgICBfaGVhZGVyUm93VmFsdWUuZWFjaENlbGwoKGNlbGwsIG51bWJlcikgPT4ge1xyXG4gICAgICBjZWxsLmZpbGwgPSB7XHJcbiAgICAgICAgdHlwZTogJ3BhdHRlcm4nLFxyXG4gICAgICAgIHBhdHRlcm46ICdsaWdodFVwJyxcclxuICAgICAgICBmZ0NvbG9yOiB7IGFyZ2I6ICc2Nzc1ZjUwMCcgfSxcclxuICAgICAgICBiZ0NvbG9yOiB7IGFyZ2I6ICc2Nzc1ZjUwMCcgfSxcclxuICAgICAgfTtcclxuICAgICAgY2VsbC5ib3JkZXIgPSB7XHJcbiAgICAgICAgdG9wOiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgICBsZWZ0OiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgICBib3R0b206IHsgc3R5bGU6ICd0aGluJyB9LFxyXG4gICAgICAgIHJpZ2h0OiB7IHN0eWxlOiAndGhpbicgfSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIHZhciBoZWFkZXJSb3cgPSBoZWFkZXIuZmlsdGVyKHggPT4geC5pZCAhPSBudWxsKVxyXG5cclxuICAgIGxldCBkYXRhID0gQm9keUZpZWxkcyAhPSBudWxsID8gYm9keVtCb2R5RmllbGRzXSA/PyBbXSA6IGJvZHlcclxuICAgIGZvciAobGV0IGQgb2YgZGF0YSkge1xyXG4gICAgICB2YXIgcm93ID0gW11cclxuICAgICAgZm9yIChsZXQgaCBvZiBoZWFkZXJSb3cpIHtcclxuICAgICAgICB2YXIgZGggPSBkW2Ake2guaWR9YF1cclxuICAgICAgICBpZiAoaC5ydWxlcykge1xyXG4gICAgICAgICAgZm9yIChjb25zdCBydWxlIG9mIGgucnVsZXMpIHtcclxuICAgICAgICAgICAgaWYgKHJ1bGUucnVsZSA9PSBlbnVtUnVsZXNbJz09J10pIHtcclxuICAgICAgICAgICAgICBpZiAoZGggPT0gcnVsZS52YWx1ZVJ1bGUudG9TdHJpbmcoKSlcclxuICAgICAgICAgICAgICAgIGRoID0gcnVsZS52YWx1ZUFjdGlvblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJvdy5wdXNoKGRoPy50b1N0cmluZygpKVxyXG4gICAgICB9XHJcbiAgICAgIHdvcmtzaGVldC5hZGRSb3cocm93KTtcclxuICAgIH1cclxuXHJcbiAgICB3b3Jrc2hlZXQuY29sdW1ucy5mb3JFYWNoKGZ1bmN0aW9uIChjb2x1bW4sIGkpIHtcclxuICAgICAgdmFyIG1heExlbmd0aCA9IDA7XHJcbiAgICAgIGNvbHVtbltcImVhY2hDZWxsXCJdKHsgaW5jbHVkZUVtcHR5OiB0cnVlIH0sIGZ1bmN0aW9uIChjZWxsKSB7XHJcbiAgICAgICAgdmFyIGNvbHVtbkxlbmd0aCA9IGNlbGwudmFsdWUgPyBjZWxsLnZhbHVlLnRvU3RyaW5nKCkubGVuZ3RoIDogMTA7XHJcbiAgICAgICAgaWYgKGNvbHVtbkxlbmd0aCA+IG1heExlbmd0aCkge1xyXG4gICAgICAgICAgbWF4TGVuZ3RoID0gY29sdW1uTGVuZ3RoO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGNvbHVtbi53aWR0aCA9IG1heExlbmd0aCA8IDEwID8gMTAgOiBtYXhMZW5ndGg7XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoIWdlbmVyYXRlRmlsZSkge1xyXG4gICAgICByZXR1cm4gd29ya3NoZWV0O1xyXG4gICAgfVxyXG5cclxuICAgIHdvcmtib29rLnhsc3gud3JpdGVCdWZmZXIoKS50aGVuKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMuc2F2ZUFzRXhjZWxGaWxlKGRhdGEsIG5hbWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKCFnZW5lcmF0ZUZpbGUpIHRoaXMubWVzc2FnZS5jbG9zZUxvYWRpbmcoKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzYXZlQXNFeGNlbEZpbGUoYnVmZmVyOiBhbnksIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG4gICAgICB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCdcclxuICAgIH0pO1xyXG4gICAgZnMuc2F2ZUFzKGRhdGEsIGAke2ZpbGVOYW1lfV9leHBvcnRfJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX0ueGxzeGApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBnZXREYXRhQm9keTxUPih1cmw6IHN0cmluZywgcGFyYW1zOiBBcnJheTxwYXJhbXM+LCBib2R5OiBULCBmaWx0ZXJzUG9zdD86IEFycmF5PEhlYWRlckZpbHRlcnM8YW55Pj4pOiBQcm9taXNlPFQ+IHtcclxuICAgIGlmIChib2R5KSByZXR1cm4gYm9keTtcclxuXHJcbiAgICBpZiAodXJsKSB7XHJcbiAgICAgIHZhciByZXM6IGFueVxyXG4gICAgICByZXMgPSBhd2FpdCB0aGlzLmh0dHAucG9zdERhdGFCb2R5KHVybCwgZmlsdGVyc1Bvc3QsIHBhcmFtcylcclxuICAgICAgaWYgKHJlc1snY291bnQnXSkge1xyXG4gICAgICAgIHJldHVybiByZXNbJ2RhdGEnXVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiByZXNcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbmVudW0gZW51bVJ1bGVzIHtcclxuICBcIj5cIixcclxuICBcIjxcIixcclxuICBcIj09XCIsXHJcbiAgXCIhPVwiXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FileFormsService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
createMultipartForm(file, params) {
|
|
6
|
+
const formD = new FormData();
|
|
7
|
+
formD.append('file', file, 'form-data'); //Asigna el campo File
|
|
8
|
+
if (params) {
|
|
9
|
+
params.forEach((element) => {
|
|
10
|
+
formD.append(element.id, element.value);
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
return (formD);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
FileFormsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileFormsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
FileFormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileFormsService, providedIn: 'root' });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FileFormsService, decorators: [{
|
|
19
|
+
type: Injectable,
|
|
20
|
+
args: [{
|
|
21
|
+
providedIn: 'root'
|
|
22
|
+
}]
|
|
23
|
+
}], ctorParameters: function () { return []; } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1mb3Jtcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3NlcnZpY2VzL2ZpbGUtZm9ybXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLGdCQUFnQixDQUFDO0lBRWpCLG1CQUFtQixDQUFDLElBQVMsRUFBRSxNQUFPO1FBRXBDLE1BQU0sS0FBSyxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7UUFDN0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUMsSUFBSSxFQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUEsc0JBQXNCO1FBQzVELElBQUcsTUFBTSxFQUFDO1lBQ1IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVcsRUFBRSxFQUFFO2dCQUM3QixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3hDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFZixDQUFDOzs2R0FmVSxnQkFBZ0I7aUhBQWhCLGdCQUFnQixjQUZmLE1BQU07MkZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVGb3Jtc1NlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBjcmVhdGVNdWx0aXBhcnRGb3JtKGZpbGU6RmlsZSwgcGFyYW1zPyl7XHJcblxyXG4gICAgY29uc3QgZm9ybUQgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZvcm1ELmFwcGVuZCgnZmlsZScsZmlsZSwnZm9ybS1kYXRhJyk7Ly9Bc2lnbmEgZWwgY2FtcG8gRmlsZVxyXG4gICAgaWYocGFyYW1zKXtcclxuICAgICAgcGFyYW1zLmZvckVhY2goKGVsZW1lbnQ6YW55KSA9PiB7XHJcbiAgICAgICAgZm9ybUQuYXBwZW5kKGVsZW1lbnQuaWQsZWxlbWVudC52YWx1ZSlcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4oZm9ybUQpXHJcblxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FunctionsService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
dateForm(date) {
|
|
6
|
+
let data = new Date(date);
|
|
7
|
+
let change = `${data.getFullYear()}/${data.getMonth() + 1}/${data.getDate()}`;
|
|
8
|
+
return (change);
|
|
9
|
+
}
|
|
10
|
+
dateIso(date) {
|
|
11
|
+
let data = date.toString();
|
|
12
|
+
let cut = data.replace(/(.*)\T.*/, '$1');
|
|
13
|
+
let add = `${cut}T05:00:00.000Z`;
|
|
14
|
+
let fecha = add.replace(/(.*)\T.*/, '$1');
|
|
15
|
+
return (fecha);
|
|
16
|
+
}
|
|
17
|
+
dateDB(date) {
|
|
18
|
+
let day = this.validateTwoDigitFormat(date.getDate().toString());
|
|
19
|
+
let month = this.validateTwoDigitFormat((date.getMonth() + 1).toString());
|
|
20
|
+
return `${date.getFullYear()}-${month}-${day}`;
|
|
21
|
+
}
|
|
22
|
+
dateWithTime(date) {
|
|
23
|
+
if (!date)
|
|
24
|
+
return "";
|
|
25
|
+
var value = date.split("T");
|
|
26
|
+
return value[0] + " " + value[1].split(".")[0];
|
|
27
|
+
}
|
|
28
|
+
areObjectsEqual(obj1, obj2) {
|
|
29
|
+
return JSON.stringify(obj1) === JSON.stringify(obj2);
|
|
30
|
+
}
|
|
31
|
+
removeDuplicateObjects(originalArray) {
|
|
32
|
+
const uniqueArray = [];
|
|
33
|
+
originalArray.forEach((obj) => {
|
|
34
|
+
if (!uniqueArray.some((uniqueObj) => this.areObjectsEqual(obj, uniqueObj))) {
|
|
35
|
+
uniqueArray.push(obj);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
return uniqueArray;
|
|
39
|
+
}
|
|
40
|
+
validateTwoDigitFormat(number) {
|
|
41
|
+
if (number.length == 1)
|
|
42
|
+
number = "0" + number;
|
|
43
|
+
return number;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
FunctionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FunctionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
+
FunctionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FunctionsService, providedIn: 'root' });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FunctionsService, decorators: [{
|
|
49
|
+
type: Injectable,
|
|
50
|
+
args: [{
|
|
51
|
+
providedIn: 'root'
|
|
52
|
+
}]
|
|
53
|
+
}], ctorParameters: function () { return []; } });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvZnVuY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUUzQixnQkFBZ0IsQ0FBQztJQUdqQixRQUFRLENBQUUsSUFBSTtRQUNiLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3pCLElBQUksTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUE7UUFDNUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2pCLENBQUM7SUFFRCxPQUFPLENBQUUsSUFBSTtRQUNYLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUN4QyxJQUFJLEdBQUcsR0FBSSxHQUFHLEdBQUcsZ0JBQWdCLENBQUE7UUFDakMsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDekMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUUsSUFBSTtRQUNWLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUNoRSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUN2RSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEtBQUssSUFBSSxHQUFHLEVBQUUsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVc7UUFDdEIsSUFBRyxDQUFDLElBQUk7WUFBRSxPQUFPLEVBQUUsQ0FBQTtRQUNuQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQzNCLE9BQVEsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2pELENBQUM7SUFFRCxlQUFlLENBQUMsSUFBUyxFQUFFLElBQVM7UUFDbEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELHNCQUFzQixDQUFDLGFBQW9CO1FBQ3pDLE1BQU0sV0FBVyxHQUFVLEVBQUUsQ0FBQztRQUM5QixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxNQUFjO1FBQzNDLElBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUE7UUFDNUMsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDOzs2R0FqRFUsZ0JBQWdCO2lIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGdW5jdGlvbnNTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcblxyXG4gIGRhdGVGb3JtIChkYXRlKSB7XHJcbiAgIGxldCBkYXRhID0gbmV3IERhdGUoZGF0ZSlcclxuICAgbGV0IGNoYW5nZSA9IGAke2RhdGEuZ2V0RnVsbFllYXIoKX0vJHtkYXRhLmdldE1vbnRoKCkgKyAxfS8ke2RhdGEuZ2V0RGF0ZSgpfWBcclxuICAgIHJldHVybiAoY2hhbmdlKVxyXG4gIH1cclxuXHJcbiAgZGF0ZUlzbyAoZGF0ZSkge1xyXG4gICAgbGV0IGRhdGEgPSBkYXRlLnRvU3RyaW5nKCk7XHJcbiAgICBsZXQgY3V0ID0gZGF0YS5yZXBsYWNlKC8oLiopXFxULiovLCAnJDEnKVxyXG4gICAgbGV0IGFkZCAgPSBgJHtjdXR9VDA1OjAwOjAwLjAwMFpgXHJcbiAgICBsZXQgZmVjaGEgPSBhZGQucmVwbGFjZSgvKC4qKVxcVC4qLywgJyQxJylcclxuICAgIHJldHVybiAoZmVjaGEpXHJcbiAgfVxyXG5cclxuICBkYXRlREIgKGRhdGUpIHtcclxuICAgIGxldCBkYXkgPSB0aGlzLnZhbGlkYXRlVHdvRGlnaXRGb3JtYXQoZGF0ZS5nZXREYXRlKCkudG9TdHJpbmcoKSlcclxuICAgIGxldCBtb250aCA9IHRoaXMudmFsaWRhdGVUd29EaWdpdEZvcm1hdCgoZGF0ZS5nZXRNb250aCgpKzEpLnRvU3RyaW5nKCkpXHJcbiAgICByZXR1cm4gYCR7ZGF0ZS5nZXRGdWxsWWVhcigpfS0ke21vbnRofS0ke2RheX1gXHJcbiAgfVxyXG5cclxuICBkYXRlV2l0aFRpbWUoZGF0ZTpzdHJpbmcpOnN0cmluZ3tcclxuICAgIGlmKCFkYXRlKSByZXR1cm4gXCJcIlxyXG4gICAgdmFyIHZhbHVlID0gZGF0ZS5zcGxpdChcIlRcIilcclxuICAgIHJldHVybiAgdmFsdWVbMF0gKyBcIiBcIiArIHZhbHVlWzFdLnNwbGl0KFwiLlwiKVswXVxyXG4gIH1cclxuXHJcbiAgYXJlT2JqZWN0c0VxdWFsKG9iajE6IGFueSwgb2JqMjogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqMSkgPT09IEpTT04uc3RyaW5naWZ5KG9iajIpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRHVwbGljYXRlT2JqZWN0cyhvcmlnaW5hbEFycmF5OiBhbnlbXSk6IGFueVtdIHtcclxuICAgIGNvbnN0IHVuaXF1ZUFycmF5OiBhbnlbXSA9IFtdO1xyXG4gICAgb3JpZ2luYWxBcnJheS5mb3JFYWNoKChvYmopID0+IHtcclxuICAgICAgaWYgKCF1bmlxdWVBcnJheS5zb21lKCh1bmlxdWVPYmopID0+IHRoaXMuYXJlT2JqZWN0c0VxdWFsKG9iaiwgdW5pcXVlT2JqKSkpIHtcclxuICAgICAgICB1bmlxdWVBcnJheS5wdXNoKG9iaik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB1bmlxdWVBcnJheTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGVUd29EaWdpdEZvcm1hdChudW1iZXI6IHN0cmluZyk6c3RyaW5ne1xyXG4gICAgaWYobnVtYmVyLmxlbmd0aCA9PSAxKSBudW1iZXIgPSBcIjBcIiArIG51bWJlclxyXG4gICAgcmV0dXJuIG51bWJlclxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { GeneratePdfComponent } from '../brainloper-ui/components/report/generate-pdf/generate-pdf.component';
|
|
3
|
+
import { TemplateFuelComponent } from '../brainloper-ui/components/report/template-fuel/template-fuel.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/dialog";
|
|
6
|
+
export class GeneratePdfService {
|
|
7
|
+
constructor(dialog) {
|
|
8
|
+
this.dialog = dialog;
|
|
9
|
+
}
|
|
10
|
+
getPdfOt(data, autoGenerateData) {
|
|
11
|
+
let autoGenerate = false;
|
|
12
|
+
if (autoGenerateData) {
|
|
13
|
+
autoGenerate = autoGenerateData;
|
|
14
|
+
}
|
|
15
|
+
return new Promise((resolve, rejects) => {
|
|
16
|
+
let screen = "850px";
|
|
17
|
+
// if ( window.screen.width<1000) {
|
|
18
|
+
// screen = "100vw"
|
|
19
|
+
// }
|
|
20
|
+
this.dialog.open(GeneratePdfComponent, {
|
|
21
|
+
data: {
|
|
22
|
+
data,
|
|
23
|
+
autoGenerate: autoGenerate
|
|
24
|
+
},
|
|
25
|
+
width: screen
|
|
26
|
+
}).afterClosed().subscribe((res) => {
|
|
27
|
+
return resolve(true);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
getPdfFo(data, autoGenerateData) {
|
|
32
|
+
let autoGenerate = false;
|
|
33
|
+
if (autoGenerateData) {
|
|
34
|
+
autoGenerate = autoGenerateData;
|
|
35
|
+
}
|
|
36
|
+
return new Promise((resolve, rejects) => {
|
|
37
|
+
let screen = "850px";
|
|
38
|
+
this.dialog.open(TemplateFuelComponent, {
|
|
39
|
+
data: {
|
|
40
|
+
data,
|
|
41
|
+
autoGenerate: autoGenerate
|
|
42
|
+
},
|
|
43
|
+
width: screen
|
|
44
|
+
}).afterClosed().subscribe((res) => {
|
|
45
|
+
return resolve(true);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
GeneratePdfService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GeneratePdfService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
51
|
+
GeneratePdfService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GeneratePdfService, providedIn: 'root' });
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: GeneratePdfService, decorators: [{
|
|
53
|
+
type: Injectable,
|
|
54
|
+
args: [{
|
|
55
|
+
providedIn: 'root'
|
|
56
|
+
}]
|
|
57
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtcGRmLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvc2VydmljZXMvZ2VuZXJhdGUtcGRmLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUM5RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQzs7O0FBT2pILE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsWUFDVSxNQUFnQjtRQUFoQixXQUFNLEdBQU4sTUFBTSxDQUFVO0lBQ3RCLENBQUM7SUFHTCxRQUFRLENBQUMsSUFBa0IsRUFBRSxnQkFBeUI7UUFDcEQsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFBO1FBQ3hCLElBQUcsZ0JBQWdCLEVBQUM7WUFDbEIsWUFBWSxHQUFHLGdCQUFnQixDQUFBO1NBQ2hDO1FBRUgsT0FBTyxJQUFJLE9BQU8sQ0FBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN2QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUE7WUFDcEIsbUNBQW1DO1lBQ25DLHFCQUFxQjtZQUNyQixJQUFJO1lBRUosSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ3JDLElBQUksRUFBQztvQkFDSCxJQUFJO29CQUNKLFlBQVksRUFBRSxZQUFZO2lCQUMzQjtnQkFDRCxLQUFLLEVBQUMsTUFBTTthQUNiLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbEMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDdEIsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNGLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBa0IsRUFBRSxnQkFBeUI7UUFDcEQsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFBO1FBQ3hCLElBQUcsZ0JBQWdCLEVBQUM7WUFDbEIsWUFBWSxHQUFHLGdCQUFnQixDQUFBO1NBQ2hDO1FBRUgsT0FBTyxJQUFJLE9BQU8sQ0FBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN2QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUE7WUFFcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7Z0JBQ3RDLElBQUksRUFBQztvQkFDSCxJQUFJO29CQUNKLFlBQVksRUFBRSxZQUFZO2lCQUMzQjtnQkFDRCxLQUFLLEVBQUMsTUFBTTthQUNiLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbEMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7WUFDdEIsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNGLENBQUM7OytHQWxEVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEdlbmVyYXRlUGRmQ29tcG9uZW50IH0gZnJvbSAnLi4vYnJhaW5sb3Blci11aS9jb21wb25lbnRzL3JlcG9ydC9nZW5lcmF0ZS1wZGYvZ2VuZXJhdGUtcGRmLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRlbXBsYXRlRnVlbENvbXBvbmVudCB9IGZyb20gJy4uL2JyYWlubG9wZXItdWkvY29tcG9uZW50cy9yZXBvcnQvdGVtcGxhdGUtZnVlbC90ZW1wbGF0ZS1mdWVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRlbXBsYXRlUGRmT3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcG9ydC90ZW1wbGF0ZS1wZGYtb3QnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBkZkZvIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9yZXBvcnQvdGVtcGxhdGUtcGZkLWZvJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEdlbmVyYXRlUGRmU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6TWF0RGlhbG9nXHJcbiAgKSB7IH1cclxuXHJcblxyXG4gIGdldFBkZk90KGRhdGE6VGVtcGxhdGVQZGZPdCwgYXV0b0dlbmVyYXRlRGF0YT86Ym9vbGVhbil7XHJcbiAgICBsZXQgYXV0b0dlbmVyYXRlID0gZmFsc2VcclxuICAgIGlmKGF1dG9HZW5lcmF0ZURhdGEpe1xyXG4gICAgICBhdXRvR2VuZXJhdGUgPSBhdXRvR2VuZXJhdGVEYXRhXHJcbiAgICB9XHJcblxyXG4gIHJldHVybiBuZXcgUHJvbWlzZSggKHJlc29sdmUsIHJlamVjdHMpID0+IHtcclxuICAgIGxldCBzY3JlZW4gPSBcIjg1MHB4XCJcclxuICAgIC8vIGlmICggd2luZG93LnNjcmVlbi53aWR0aDwxMDAwKSB7XHJcbiAgICAvLyAgIHNjcmVlbiA9IFwiMTAwdndcIlxyXG4gICAgLy8gfVxyXG5cclxuICAgIHRoaXMuZGlhbG9nLm9wZW4oR2VuZXJhdGVQZGZDb21wb25lbnQsIHtcclxuICAgICAgZGF0YTp7XHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICBhdXRvR2VuZXJhdGU6IGF1dG9HZW5lcmF0ZVxyXG4gICAgICB9LFxyXG4gICAgICB3aWR0aDpzY3JlZW5cclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCAocmVzKSA9PiB7XHJcbiAgICAgIHJldHVybiByZXNvbHZlKHRydWUpXHJcbiAgICB9KVxyXG4gIH0pXHJcbiAgfVxyXG5cclxuICBnZXRQZGZGbyhkYXRhOlRlbXBsYXRlUGRmRm8sIGF1dG9HZW5lcmF0ZURhdGE/OmJvb2xlYW4pe1xyXG4gICAgbGV0IGF1dG9HZW5lcmF0ZSA9IGZhbHNlXHJcbiAgICBpZihhdXRvR2VuZXJhdGVEYXRhKXtcclxuICAgICAgYXV0b0dlbmVyYXRlID0gYXV0b0dlbmVyYXRlRGF0YVxyXG4gICAgfVxyXG5cclxuICByZXR1cm4gbmV3IFByb21pc2UoIChyZXNvbHZlLCByZWplY3RzKSA9PiB7XHJcbiAgICBsZXQgc2NyZWVuID0gXCI4NTBweFwiXHJcblxyXG4gICAgdGhpcy5kaWFsb2cub3BlbihUZW1wbGF0ZUZ1ZWxDb21wb25lbnQsIHtcclxuICAgICAgZGF0YTp7XHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICBhdXRvR2VuZXJhdGU6IGF1dG9HZW5lcmF0ZVxyXG4gICAgICB9LFxyXG4gICAgICB3aWR0aDpzY3JlZW5cclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCAocmVzKSA9PiB7XHJcbiAgICAgIHJldHVybiByZXNvbHZlKHRydWUpXHJcbiAgICB9KVxyXG4gIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common/http";
|
|
5
|
+
import * as i2 from "./message.service";
|
|
6
|
+
export class HttpService {
|
|
7
|
+
constructor(http, message) {
|
|
8
|
+
this.http = http;
|
|
9
|
+
this.message = message;
|
|
10
|
+
}
|
|
11
|
+
getData(url, params) {
|
|
12
|
+
let data = new HttpParams();
|
|
13
|
+
if (params) {
|
|
14
|
+
params.forEach(element => {
|
|
15
|
+
data = data.append(`${element.id}`, `${element.value}`);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return this.http.get(url, { params: data });
|
|
19
|
+
}
|
|
20
|
+
postData(url, body, params) {
|
|
21
|
+
let data = new HttpParams();
|
|
22
|
+
if (params) {
|
|
23
|
+
params.forEach(element => {
|
|
24
|
+
data = data.append(`${element.id}`, `${element.value}`);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return this.http.post(url, body, { params: data });
|
|
28
|
+
}
|
|
29
|
+
putData(url, body, params) {
|
|
30
|
+
let data = new HttpParams();
|
|
31
|
+
if (params) {
|
|
32
|
+
params.forEach(element => {
|
|
33
|
+
data = data.append(`${element.id}`, `${element.value}`);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return this.http.put(url, body, { params: data });
|
|
37
|
+
}
|
|
38
|
+
deleteData(url, params) {
|
|
39
|
+
let data = new HttpParams();
|
|
40
|
+
if (params) {
|
|
41
|
+
params.forEach(element => {
|
|
42
|
+
data = data.append(`${element.id}`, `${element.value}`);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return this.http.delete(url, { params: data });
|
|
46
|
+
}
|
|
47
|
+
getDataPromise(url, params) {
|
|
48
|
+
let data = new HttpParams();
|
|
49
|
+
if (params) {
|
|
50
|
+
params.forEach(element => {
|
|
51
|
+
data = data.append(`${element.id}`, `${element.value}`);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return new Promise((resolve, reject) => {
|
|
55
|
+
this.http.get(url, { params: data }).subscribe(res => resolve(res), err => reject(err));
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
postDataPromise(url, body, params) {
|
|
59
|
+
let data = new HttpParams();
|
|
60
|
+
if (params) {
|
|
61
|
+
params.forEach(element => {
|
|
62
|
+
data = data.append(`${element.id}`, `${element.value}`);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return new Promise((resolve, reject) => {
|
|
66
|
+
this.http.post(url, body, { params: data }).subscribe(res => resolve(res), err => reject(err));
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
putDataPromise(url, body, params) {
|
|
70
|
+
let data = new HttpParams();
|
|
71
|
+
if (params) {
|
|
72
|
+
params.forEach(element => {
|
|
73
|
+
data = data.append(`${element.id}`, `${element.value}`);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return new Promise((resolve, reject) => {
|
|
77
|
+
this.http.put(url, body, { params: data }).subscribe(res => resolve(res), err => reject(err));
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
deleteDataPromise(url, params) {
|
|
81
|
+
let data = new HttpParams();
|
|
82
|
+
if (params) {
|
|
83
|
+
params.forEach(element => {
|
|
84
|
+
data = data.append(`${element.id}`, `${element.value}`);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
return new Promise((resolve, reject) => {
|
|
88
|
+
this.http.delete(url, { params: data }).subscribe(res => resolve(res), err => reject(err));
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
getDataBody(url, params) {
|
|
92
|
+
let data = new HttpParams();
|
|
93
|
+
if (params) {
|
|
94
|
+
params.forEach(element => {
|
|
95
|
+
data = data.append(`${element.id}`, `${element.value}`);
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return new Promise((resolve, reject) => {
|
|
99
|
+
this.http.get(url, { params: data }).subscribe(res => {
|
|
100
|
+
if (res['code'] === 0 && res['body']) {
|
|
101
|
+
resolve(res['body']);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
resolve(null);
|
|
105
|
+
this.message.Error("Error", res['message']);
|
|
106
|
+
}
|
|
107
|
+
}, err => reject(err));
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
postDataBody(url, body, params) {
|
|
111
|
+
let data = new HttpParams();
|
|
112
|
+
if (params) {
|
|
113
|
+
params.forEach(element => {
|
|
114
|
+
data = data.append(`${element.id}`, `${element.value}`);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
return new Promise((resolve, reject) => {
|
|
118
|
+
this.http.post(url, body, { params: data }).subscribe(res => {
|
|
119
|
+
if (res['code'] === 0 && res['body']) {
|
|
120
|
+
resolve(res['body']);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
resolve(null);
|
|
124
|
+
this.message.Error("Error", res['message']);
|
|
125
|
+
}
|
|
126
|
+
}, err => reject(err));
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
putDataBody(url, body, params) {
|
|
130
|
+
let data = new HttpParams();
|
|
131
|
+
if (params) {
|
|
132
|
+
params.forEach(element => {
|
|
133
|
+
data = data.append(`${element.id}`, `${element.value}`);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return new Promise((resolve, reject) => {
|
|
137
|
+
this.http.put(url, body, { params: data }).subscribe(res => {
|
|
138
|
+
if (res['code'] === 0 && res['body']) {
|
|
139
|
+
resolve(res['body']);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
resolve(null);
|
|
143
|
+
this.message.Error("Error", res['message']);
|
|
144
|
+
}
|
|
145
|
+
}, err => reject(err));
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
HttpService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpService, deps: [{ token: i1.HttpClient }, { token: i2.MessageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
150
|
+
HttpService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpService });
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HttpService, decorators: [{
|
|
152
|
+
type: Injectable
|
|
153
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.MessageService }]; } });
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL3NlcnZpY2VzL2h0dHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUc5RCxNQUFNLE9BQU8sV0FBVztJQUV0QixZQUNVLElBQWlCLEVBQ2pCLE9BQXVCO1FBRHZCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFDN0IsQ0FBQztJQUVMLE9BQU8sQ0FBQyxHQUFVLEVBQUUsTUFBTztRQUV6QixJQUFJLElBQUksR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFBO1FBQzNCLElBQUcsTUFBTSxFQUFDO1lBQ1YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDekIsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN4RCxDQUFDLENBQUMsQ0FBQztTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVUsRUFBRSxJQUFRLEVBQUUsTUFBTztRQUVwQyxJQUFJLElBQUksR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFBO1FBQzNCLElBQUcsTUFBTSxFQUFDO1lBQ1YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDekIsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMs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LENBQUMsQ0FBQTtJQUNKLENBQUM7O3dHQWpMVSxXQUFXOzRHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBIdHRwU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwIDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgbWVzc2FnZTogTWVzc2FnZVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBnZXREYXRhKHVybDpzdHJpbmcsIHBhcmFtcz8pe1xyXG5cclxuICAgIGxldCBkYXRhID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgaWYocGFyYW1zKXtcclxuICAgIHBhcmFtcy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgZGF0YSA9IGRhdGEuYXBwZW5kKGAke2VsZW1lbnQuaWR9YCwgYCR7ZWxlbWVudC52YWx1ZX1gKTtcclxuICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsLCB7cGFyYW1zOmRhdGF9KVxyXG4gIH1cclxuXHJcbiAgcG9zdERhdGEodXJsOnN0cmluZywgYm9keTphbnksIHBhcmFtcz8pe1xyXG5cclxuICAgIGxldCBkYXRhID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgaWYocGFyYW1zKXtcclxuICAgIHBhcmFtcy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgZGF0YSA9IGRhdGEuYXBwZW5kKGAke2VsZW1lbnQuaWR9YCwgYCR7ZWxlbWVudC52YWx1ZX1gKTtcclxuICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHVybCwgYm9keSwge3BhcmFtczpkYXRhfSlcclxuICB9XHJcblxyXG4gIHB1dERhdGEodXJsOnN0cmluZywgYm9keTphbnksIHBhcmFtcz8pe1xyXG5cclxuICAgIGxldCBkYXRhID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgaWYocGFyYW1zKXtcclxuICAgIHBhcmFtcy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgZGF0YSA9IGRhdGEuYXBwZW5kKGAke2VsZW1lbnQuaWR9YCwgYCR7ZWxlbWVudC52YWx1ZX1gKTtcclxuICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQodXJsLCBib2R5LCB7cGFyYW1zOmRhdGF9KVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlRGF0YSh1cmw6c3RyaW5nLCBwYXJhbXM/KXtcclxuICAgIGxldCBkYXRhID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgaWYocGFyYW1zKXtcclxuICAgIHBhcmFtcy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgZGF0YSA9IGRhdGEuYXBwZW5kKGAke2VsZW1lbnQuaWR9YCwgYCR7ZWxlbWVudC52YWx1ZX1gKTtcclxuICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodXJsLCB7cGFyYW1zOmRhdGF9KVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YVByb21pc2UodXJsOnN0cmluZywgcGFyYW1zPyl7XHJcbiAgICBsZXQgZGF0YSA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgIGlmKHBhcmFtcyl7XHJcbiAgICBwYXJhbXMuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgIGRhdGEgPSBkYXRhLmFwcGVuZChgJHtlbGVtZW50LmlkfWAsIGAke2VsZW1lbnQudmFsdWV9YCk7XHJcbiAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSxyZWplY3QpPT57XHJcbiAgICAgIHRoaXMuaHR0cC5nZXQodXJsLCB7cGFyYW1zOmRhdGF9KS5zdWJzY3JpYmUoXHJcbiAgICAgICAgcmVzPT5yZXNvbHZlKHJlcyksXHJcbiAgICAgICAgZXJyPT5yZWplY3QoZXJyKVxyXG4gICAgICApXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcG9zdERhdGFQcm9taXNlKHVybDpzdHJpbmcsIGJvZHk6YW55LCBwYXJhbXM/KXtcclxuICAgIGxldCBkYXRhID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgaWYocGFyYW1zKXtcclxuICAgIHBhcmFtcy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgZGF0YSA9IGRhdGEuYXBwZW5kKGAke2VsZW1lbnQuaWR9YCwgYCR7ZWxlbWVudC52YWx1ZX1gKTtcclxuICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLHJlamVjdCk9PntcclxuICAgICAgdGhpcy5odHRwLnBvc3QodXJsLCBib2R5LCB7cGFyYW1zOmRhdGF9KS5zdWJzY3JpYmUoXHJcbiAgICAgICAgcmVzPT5yZXNvbHZlKHJlcyksXHJcbiAgICAgICAgZXJyPT5yZWplY3QoZXJyKVxyXG4gICAgICApXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHV0RGF0YVByb21pc2UodXJsOnN0cmluZywgYm9keTphbnksIHBhcmFtcz8pe1xyXG4gICAgbGV0IGRhdGEgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICBpZihwYXJhbXMpe1xyXG4gICAgcGFyYW1zLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICBkYXRhID0gZGF0YS5hcHBlbmQoYCR7ZWxlbWVudC5pZH1gLCBgJHtlbGVtZW50LnZhbHVlfWApO1xyXG4gICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUscmVqZWN0KT0+e1xyXG4gICAgICB0aGlzLmh0dHAucHV0KHVybCwgYm9keSwge3BhcmFtczpkYXRhfSkuc3Vic2NyaWJlKFxyXG4gICAgICAgIHJlcz0+cmVzb2x2ZShyZXMpLFxyXG4gICAgICAgIGVycj0+cmVqZWN0KGVycilcclxuICAgICAgKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGRlbGV0ZURhdGFQcm9taXNlKHVybDpzdHJpbmcsIHBhcmFtcz8pe1xyXG4gICAgbGV0IGRhdGEgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICBpZihwYXJhbXMpe1xyXG4gICAgcGFyYW1zLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICBkYXRhID0gZGF0YS5hcHBlbmQoYCR7ZWxlbWVudC5pZH1gLCBgJHtlbGVtZW50LnZhbHVlfWApO1xyXG4gICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUscmVqZWN0KT0+e1xyXG4gICAgICB0aGlzLmh0dHAuZGVsZXRlKHVybCwge3BhcmFtczpkYXRhfSkuc3Vic2NyaWJlKFxyXG4gICAgICAgIHJlcz0+cmVzb2x2ZShyZXMpLFxyXG4gICAgICAgIGVycj0+cmVqZWN0KGVycilcclxuICAgICAgKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldERhdGFCb2R5PFQ+KHVybDpzdHJpbmcsIHBhcmFtcz8pOiBQcm9taXNlPFQ+e1xyXG4gICAgbGV0IGRhdGEgPSBuZXcgSHR0cFBhcmFtcygpXHJcbiAgICBpZihwYXJhbXMpe1xyXG4gICAgcGFyYW1zLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICBkYXRhID0gZGF0YS5hcHBlbmQoYCR7ZWxlbWVudC5pZH1gLCBgJHtlbGVtZW50LnZhbHVlfWApO1xyXG4gICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUscmVqZWN0KT0+e1xyXG4gICAgICB0aGlzLmh0dHAuZ2V0KHVybCwge3BhcmFtczpkYXRhfSkuc3Vic2NyaWJlKFxyXG4gICAgICAgIHJlcz0+IHtcclxuICAgICAgICAgIGlmKHJlc1snY29kZSddID09PSAwICYmIHJlc1snYm9keSddKXtcclxuICAgICAgICAgICAgcmVzb2x2ZShyZXNbJ2JvZHknXSBhcyBUKVxyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHJlc29sdmUobnVsbClcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlLkVycm9yKFwiRXJyb3JcIiwgcmVzWydtZXNzYWdlJ10pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgLFxyXG4gICAgICAgIGVycj0+cmVqZWN0KGVycilcclxuICAgICAgKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHBvc3REYXRhQm9keTxUPih1cmw6c3RyaW5nLCBib2R5OmFueSwgcGFyYW1zPyk6IFByb21pc2U8VD57XHJcbiAgICBsZXQgZGF0YSA9IG5ldyBIdHRwUGFyYW1zKClcclxuICAgIGlmKHBhcmFtcyl7XHJcbiAgICBwYXJhbXMuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgIGRhdGEgPSBkYXRhLmFwcGVuZChgJHtlbGVtZW50LmlkfWAsIGAke2VsZW1lbnQudmFsdWV9YCk7XHJcbiAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSxyZWplY3QpPT57XHJcbiAgICAgIHRoaXMuaHR0cC5wb3N0KHVybCwgYm9keSwge3BhcmFtczpkYXRhfSkuc3Vic2NyaWJlKFxyXG4gICAgICAgIHJlcz0+IHtcclxuICAgICAgICAgIGlmKHJlc1snY29kZSddID09PSAwICYmIHJlc1snYm9keSddKXtcclxuICAgICAgICAgICAgcmVzb2x2ZShyZXNbJ2JvZHknXSBhcyBUKVxyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHJlc29sdmUobnVsbClcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlLkVycm9yKFwiRXJyb3JcIiwgcmVzWydtZXNzYWdlJ10pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgLFxyXG4gICAgICAgIGVycj0+cmVqZWN0KGVycilcclxuICAgICAgKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1dERhdGFCb2R5PFQ+KHVybDpzdHJpbmcsIGJvZHk6YW55LCBwYXJhbXM/KTogUHJvbWlzZTxUPntcclxuICAgIGxldCBkYXRhID0gbmV3IEh0dHBQYXJhbXMoKVxyXG4gICAgaWYocGFyYW1zKXtcclxuICAgIHBhcmFtcy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgZGF0YSA9IGRhdGEuYXBwZW5kKGAke2VsZW1lbnQuaWR9YCwgYCR7ZWxlbWVudC52YWx1ZX1gKTtcclxuICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLHJlamVjdCk9PntcclxuICAgICAgdGhpcy5odHRwLnB1dCh1cmwsIGJvZHksIHtwYXJhbXM6ZGF0YX0pLnN1YnNjcmliZShcclxuICAgICAgICByZXM9PiB7XHJcbiAgICAgICAgICBpZihyZXNbJ2NvZGUnXSA9PT0gMCAmJiByZXNbJ2JvZHknXSl7XHJcbiAgICAgICAgICAgIHJlc29sdmUocmVzWydib2R5J10gYXMgVClcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICByZXNvbHZlKG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZS5FcnJvcihcIkVycm9yXCIsIHJlc1snbWVzc2FnZSddKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICxcclxuICAgICAgICBlcnI9PnJlamVjdChlcnIpXHJcbiAgICAgIClcclxuICAgIH0pXHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|