@senior-agronegocio/angular-components 0.0.9859 → 0.0.9860
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/bundles/senior-agronegocio-angular-components.umd.js +50 -797
- package/bundles/senior-agronegocio-angular-components.umd.js.map +1 -1
- package/bundles/senior-agronegocio-angular-components.umd.min.js +2 -2
- package/bundles/senior-agronegocio-angular-components.umd.min.js.map +1 -1
- package/common/agro-regex.constant.d.ts +0 -3
- package/common/agro-string-utils.class.d.ts +0 -3
- package/components/index.d.ts +0 -1
- package/esm2015/common/agro-platform-utils.class.js +7 -8
- package/esm2015/common/agro-regex.constant.js +2 -5
- package/esm2015/common/agro-string-utils.class.js +11 -27
- package/esm2015/components/index.js +1 -2
- package/esm2015/lib-translation.module.js +1 -3
- package/esm2015/pipe/index.js +1 -5
- package/esm2015/public-api.js +3 -3
- package/esm2015/senior-agronegocio-angular-components.js +2 -3
- package/esm2015/services/i18n/en-US.js +2 -9
- package/esm2015/services/i18n/es-CO.js +3 -10
- package/esm2015/services/i18n/pt-BR.js +3 -11
- package/esm2015/services/lib-translation.service.js +3 -3
- package/esm5/common/agro-platform-utils.class.js +7 -8
- package/esm5/common/agro-regex.constant.js +2 -5
- package/esm5/common/agro-string-utils.class.js +11 -27
- package/esm5/components/index.js +1 -2
- package/esm5/lib-translation.module.js +1 -3
- package/esm5/pipe/index.js +1 -5
- package/esm5/public-api.js +3 -3
- package/esm5/senior-agronegocio-angular-components.js +2 -3
- package/esm5/services/i18n/en-US.js +2 -9
- package/esm5/services/i18n/es-CO.js +3 -10
- package/esm5/services/i18n/pt-BR.js +3 -11
- package/esm5/services/lib-translation.service.js +3 -3
- package/fesm2015/senior-agronegocio-angular-components.js +52 -723
- package/fesm2015/senior-agronegocio-angular-components.js.map +1 -1
- package/fesm5/senior-agronegocio-angular-components.js +57 -791
- package/fesm5/senior-agronegocio-angular-components.js.map +1 -1
- package/package.json +55 -7
- package/pipe/index.d.ts +0 -4
- package/public-api.d.ts +2 -2
- package/senior-agronegocio-angular-components.d.ts +1 -2
- package/senior-agronegocio-angular-components.metadata.json +1 -1
- package/services/i18n/en-US.d.ts +1 -8
- package/services/i18n/es-CO.d.ts +1 -8
- package/services/i18n/pt-BR.d.ts +1 -9
- package/common/agro-object-stringifier.class.d.ts +0 -16
- package/components/modal-invoice-pj-selector/index.d.ts +0 -4
- package/components/modal-invoice-pj-selector/modal-invoice-pj-selector-options.interface.d.ts +0 -10
- package/components/modal-invoice-pj-selector/modal-invoice-pj-selector.component.d.ts +0 -40
- package/components/modal-invoice-pj-selector/modal-invoice-pj-selector.module.d.ts +0 -2
- package/components/modal-invoice-pj-selector/services/agro-invoice/agro-invoice.module.d.ts +0 -2
- package/components/modal-invoice-pj-selector/services/agro-invoice/agro-invoice.service.d.ts +0 -16
- package/components/modal-invoice-pj-selector/services/agro-invoice/index.d.ts +0 -2
- package/components/modal-invoice-pj-selector/services/agro-invoice/interfaces.d.ts +0 -73
- package/esm2015/common/agro-object-stringifier.class.js +0 -31
- package/esm2015/components/modal-invoice-pj-selector/index.js +0 -4
- package/esm2015/components/modal-invoice-pj-selector/modal-invoice-pj-selector-options.interface.js +0 -1
- package/esm2015/components/modal-invoice-pj-selector/modal-invoice-pj-selector.component.js +0 -188
- package/esm2015/components/modal-invoice-pj-selector/modal-invoice-pj-selector.module.js +0 -42
- package/esm2015/components/modal-invoice-pj-selector/services/agro-invoice/agro-invoice.module.js +0 -28
- package/esm2015/components/modal-invoice-pj-selector/services/agro-invoice/agro-invoice.service.js +0 -49
- package/esm2015/components/modal-invoice-pj-selector/services/agro-invoice/index.js +0 -3
- package/esm2015/components/modal-invoice-pj-selector/services/agro-invoice/interfaces.js +0 -13
- package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.js +0 -28
- package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.module.js +0 -15
- package/esm2015/pipe/cnpj-cpf/index.js +0 -3
- package/esm2015/pipe/kilogram/index.js +0 -3
- package/esm2015/pipe/kilogram/kilogram.module.js +0 -17
- package/esm2015/pipe/kilogram/kilogram.pipe.js +0 -38
- package/esm2015/pipe/stringifier/index.js +0 -3
- package/esm2015/pipe/stringifier/stringifier.pipe.js +0 -13
- package/esm2015/pipe/stringifier/stringifier.pipe.module.js +0 -15
- package/esm2015/pipe/telephone/index.js +0 -3
- package/esm2015/pipe/telephone/telephone.pipe.js +0 -91
- package/esm2015/pipe/telephone/telephone.pipe.module.js +0 -15
- package/esm2015/services/entity-service.js +0 -124
- package/esm5/common/agro-object-stringifier.class.js +0 -35
- package/esm5/components/modal-invoice-pj-selector/index.js +0 -4
- package/esm5/components/modal-invoice-pj-selector/modal-invoice-pj-selector-options.interface.js +0 -1
- package/esm5/components/modal-invoice-pj-selector/modal-invoice-pj-selector.component.js +0 -197
- package/esm5/components/modal-invoice-pj-selector/modal-invoice-pj-selector.module.js +0 -45
- package/esm5/components/modal-invoice-pj-selector/services/agro-invoice/agro-invoice.module.js +0 -31
- package/esm5/components/modal-invoice-pj-selector/services/agro-invoice/agro-invoice.service.js +0 -56
- package/esm5/components/modal-invoice-pj-selector/services/agro-invoice/index.js +0 -3
- package/esm5/components/modal-invoice-pj-selector/services/agro-invoice/interfaces.js +0 -13
- package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.js +0 -35
- package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.module.js +0 -18
- package/esm5/pipe/cnpj-cpf/index.js +0 -3
- package/esm5/pipe/kilogram/index.js +0 -3
- package/esm5/pipe/kilogram/kilogram.module.js +0 -20
- package/esm5/pipe/kilogram/kilogram.pipe.js +0 -41
- package/esm5/pipe/stringifier/index.js +0 -3
- package/esm5/pipe/stringifier/stringifier.pipe.js +0 -16
- package/esm5/pipe/stringifier/stringifier.pipe.module.js +0 -18
- package/esm5/pipe/telephone/index.js +0 -3
- package/esm5/pipe/telephone/telephone.pipe.js +0 -95
- package/esm5/pipe/telephone/telephone.pipe.module.js +0 -18
- package/esm5/services/entity-service.js +0 -135
- package/pipe/cnpj-cpf/cnpj-cpf.pipe.d.ts +0 -4
- package/pipe/cnpj-cpf/cnpj-cpf.pipe.module.d.ts +0 -2
- package/pipe/cnpj-cpf/index.d.ts +0 -2
- package/pipe/kilogram/index.d.ts +0 -2
- package/pipe/kilogram/kilogram.module.d.ts +0 -2
- package/pipe/kilogram/kilogram.pipe.d.ts +0 -8
- package/pipe/stringifier/index.d.ts +0 -2
- package/pipe/stringifier/stringifier.pipe.d.ts +0 -9
- package/pipe/stringifier/stringifier.pipe.module.d.ts +0 -2
- package/pipe/telephone/index.d.ts +0 -2
- package/pipe/telephone/telephone.pipe.d.ts +0 -21
- package/pipe/telephone/telephone.pipe.module.d.ts +0 -2
- package/services/entity-service.d.ts +0 -72
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { Pipe } from "@angular/core";
|
|
3
|
-
import { AGRO_NUMBERS } from "../../enums/agro-numbers.enum";
|
|
4
|
-
let TelephonePipe = class TelephonePipe {
|
|
5
|
-
/**
|
|
6
|
-
* Transforma um número de telefone aplicando máscara automaticamente.
|
|
7
|
-
* @param value Valor do telefone.
|
|
8
|
-
* @param withDDI Define se deve forçar formatação com DDI (mesmo que não exista).
|
|
9
|
-
*/
|
|
10
|
-
transform(value, withDDI = false) {
|
|
11
|
-
if (!value) {
|
|
12
|
-
return "";
|
|
13
|
-
}
|
|
14
|
-
const digits = this.cleanDigits(value);
|
|
15
|
-
if (!digits) {
|
|
16
|
-
return value.toString();
|
|
17
|
-
}
|
|
18
|
-
const { ddi, ddd, number } = this.extractParts(digits, withDDI);
|
|
19
|
-
return this.formatPhone(ddi, ddd, number, value.toString(), withDDI);
|
|
20
|
-
}
|
|
21
|
-
/** Remove todos os caracteres não numéricos */
|
|
22
|
-
cleanDigits(value) {
|
|
23
|
-
return value.toString().replace(/\D+/g, "");
|
|
24
|
-
}
|
|
25
|
-
/** Extrai DDI, DDD e número, considerando se deve aplicar DDI forçado */
|
|
26
|
-
extractParts(digits, withDDI) {
|
|
27
|
-
const len = digits.length;
|
|
28
|
-
if (withDDI) {
|
|
29
|
-
return this.extractWithDDI(digits);
|
|
30
|
-
}
|
|
31
|
-
if (len <= AGRO_NUMBERS.NINE) {
|
|
32
|
-
return { ddi: "", ddd: "", number: digits };
|
|
33
|
-
}
|
|
34
|
-
if (len <= AGRO_NUMBERS.ELEVEN) {
|
|
35
|
-
return this.extractWithDDD(digits);
|
|
36
|
-
}
|
|
37
|
-
return this.extractWithDDI(digits);
|
|
38
|
-
}
|
|
39
|
-
/** Extrai DDD e número (sem DDI) */
|
|
40
|
-
extractWithDDD(digits) {
|
|
41
|
-
const ddd = digits.slice(0, 2);
|
|
42
|
-
const number = digits.slice(2);
|
|
43
|
-
return { ddi: "", ddd, number };
|
|
44
|
-
}
|
|
45
|
-
/** Extrai DDI, DDD e número */
|
|
46
|
-
extractWithDDI(digits) {
|
|
47
|
-
const len = digits.length;
|
|
48
|
-
let ddiLen = AGRO_NUMBERS.ONE;
|
|
49
|
-
if (len >= AGRO_NUMBERS.FOURTEEN) {
|
|
50
|
-
ddiLen = AGRO_NUMBERS.THREE;
|
|
51
|
-
}
|
|
52
|
-
if (len >= AGRO_NUMBERS.TWELVE) {
|
|
53
|
-
ddiLen = AGRO_NUMBERS.TWO;
|
|
54
|
-
}
|
|
55
|
-
const ddi = digits.slice(AGRO_NUMBERS.ZERO, ddiLen);
|
|
56
|
-
const ddd = digits.slice(ddiLen, ddiLen + AGRO_NUMBERS.TWO);
|
|
57
|
-
const number = digits.slice(ddiLen + AGRO_NUMBERS.TWO);
|
|
58
|
-
return { ddi, ddd, number };
|
|
59
|
-
}
|
|
60
|
-
/** Monta o número formatado */
|
|
61
|
-
formatPhone(ddi, ddd, number, fallback, withDDI) {
|
|
62
|
-
if (!number) {
|
|
63
|
-
return fallback;
|
|
64
|
-
}
|
|
65
|
-
let formatted = "";
|
|
66
|
-
if (withDDI || ddi) {
|
|
67
|
-
formatted += `+${ddi || "55"} `;
|
|
68
|
-
}
|
|
69
|
-
if (ddd) {
|
|
70
|
-
formatted += `(${ddd}) `;
|
|
71
|
-
}
|
|
72
|
-
formatted += this.formatNumber(number);
|
|
73
|
-
return formatted;
|
|
74
|
-
}
|
|
75
|
-
/** Aplica máscara de 8 ou 9 dígitos */
|
|
76
|
-
formatNumber(number) {
|
|
77
|
-
const len = number.length;
|
|
78
|
-
if (len === AGRO_NUMBERS.NINE) {
|
|
79
|
-
return `${number.slice(AGRO_NUMBERS.ZERO, AGRO_NUMBERS.FIVE)}-${number.slice(AGRO_NUMBERS.FIVE)}`;
|
|
80
|
-
}
|
|
81
|
-
if (len === AGRO_NUMBERS.EIGHT) {
|
|
82
|
-
return `${number.slice(AGRO_NUMBERS.ZERO, AGRO_NUMBERS.FOUR)}-${number.slice(AGRO_NUMBERS.FOUR)}`;
|
|
83
|
-
}
|
|
84
|
-
return number;
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
TelephonePipe = __decorate([
|
|
88
|
-
Pipe({ name: "telephone" })
|
|
89
|
-
], TelephonePipe);
|
|
90
|
-
export { TelephonePipe };
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZXBob25lLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbInBpcGUvdGVsZXBob25lL3RlbGVwaG9uZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHN0QsSUFBYSxhQUFhLEdBQTFCLE1BQWEsYUFBYTtJQUN0Qjs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLEtBQXNCLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDN0MsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzQjtRQUVELE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELCtDQUErQztJQUN2QyxXQUFXLENBQUMsS0FBc0I7UUFDdEMsT0FBTyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQseUVBQXlFO0lBQ2pFLFlBQVksQ0FBQyxNQUFjLEVBQUUsT0FBZ0I7UUFDakQsTUFBTSxHQUFHLEdB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Q0FBQztTQUNyRztRQUNELElBQUksR0FBRyxLQUFLLFlBQVksQ0FBQyxLQUFLLEVBQUU7WUFDNUIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNyRztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSixDQUFBO0FBbEdZLGFBQWE7SUFEekIsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDO0dBQ2YsYUFBYSxDQWtHekI7U0FsR1ksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBR1JPX05VTUJFUlMgfSBmcm9tIFwiLi4vLi4vZW51bXMvYWdyby1udW1iZXJzLmVudW1cIjtcclxuXHJcbkBQaXBlKHsgbmFtZTogXCJ0ZWxlcGhvbmVcIiB9KVxyXG5leHBvcnQgY2xhc3MgVGVsZXBob25lUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUcmFuc2Zvcm1hIHVtIG7Dum1lcm8gZGUgdGVsZWZvbmUgYXBsaWNhbmRvIG3DoXNjYXJhIGF1dG9tYXRpY2FtZW50ZS5cclxuICAgICAqIEBwYXJhbSB2YWx1ZSBWYWxvciBkbyB0ZWxlZm9uZS5cclxuICAgICAqIEBwYXJhbSB3aXRoRERJIERlZmluZSBzZSBkZXZlIGZvcsOnYXIgZm9ybWF0YcOnw6NvIGNvbSBEREkgKG1lc21vIHF1ZSBuw6NvIGV4aXN0YSkuXHJcbiAgICAgKi9cclxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLCB3aXRoRERJID0gZmFsc2UpOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGRpZ2l0cyA9IHRoaXMuY2xlYW5EaWdpdHModmFsdWUpO1xyXG4gICAgICAgIGlmICghZGlnaXRzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgeyBkZGksIGRkZCwgbnVtYmVyIH0gPSB0aGlzLmV4dHJhY3RQYXJ0cyhkaWdpdHMsIHdpdGhEREkpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFBob25lKGRkaSwgZGRkLCBudW1iZXIsIHZhbHVlLnRvU3RyaW5nKCksIHdpdGhEREkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBSZW1vdmUgdG9kb3Mgb3MgY2FyYWN0ZXJlcyBuw6NvIG51bcOpcmljb3MgKi9cclxuICAgIHByaXZhdGUgY2xlYW5EaWdpdHModmFsdWU6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxEKy9nLCBcIlwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogRXh0cmFpIERESSwgREREIGUgbsO6bWVybywgY29uc2lkZXJhbmRvIHNlIGRldmUgYXBsaWNhciBEREkgZm9yw6dhZG8gKi9cclxuICAgIHByaXZhdGUgZXh0cmFjdFBhcnRzKGRpZ2l0czogc3RyaW5nLCB3aXRoRERJOiBib29sZWFuKTogeyBkZGk6IHN0cmluZzsgZGRkOiBzdHJpbmc7IG51bWJlcjogc3RyaW5nIH0ge1xyXG4gICAgICAgIGNvbnN0IGxlbiA9IGRpZ2l0cy5sZW5ndGg7XHJcblxyXG4gICAgICAgIGlmICh3aXRoRERJKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RXaXRoRERJKGRpZ2l0cyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAobGVuIDw9IEFHUk9fTlVNQkVSUy5OSU5FKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7IGRkaTogXCJcIiwgZGRkOiBcIlwiLCBudW1iZXI6IGRpZ2l0cyB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGxlbiA8PSBBR1JPX05VTUJFUlMuRUxFVkVOKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmV4dHJhY3RXaXRoREREKGRpZ2l0cyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5leHRyYWN0V2l0aERESShkaWdpdHMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBFeHRyYWkgREREIGUgbsO6bWVybyAoc2VtIERESSkgKi9cclxuICAgIHByaXZhdGUgZXh0cmFjdFdpdGhEREQoZGlnaXRzOiBzdHJpbmcpOiB7IGRkaTogc3RyaW5nOyBkZGQ6IHN0cmluZzsgbnVtYmVyOiBzdHJpbmcgfSB7XHJcbiAgICAgICAgY29uc3QgZGRkID0gZGlnaXRzLnNsaWNlKDAsIDIpO1xyXG4gICAgICAgIGNvbnN0IG51bWJlciA9IGRpZ2l0cy5zbGljZSgyKTtcclxuICAgICAgICByZXR1cm4geyBkZGk6IFwiXCIsIGRkZCwgbnVtYmVyIH07XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEV4dHJhaSBEREksIERERCBlIG7Dum1lcm8gKi9cclxuICAgIHByaXZhdGUgZXh0cmFjdFdpdGhEREkoZGlnaXRzOiBzdHJpbmcpOiB7IGRkaTogc3RyaW5nOyBkZGQ6IHN0cmluZzsgbnVtYmVyOiBzdHJpbmcgfSB7XHJcbiAgICAgICAgY29uc3QgbGVuID0gZGlnaXRzLmxlbmd0aDtcclxuXHJcbiAgICAgICAgbGV0IGRkaUxlbiA9IEFHUk9fTlVNQkVSUy5PTkU7XHJcbiAgICAgICAgaWYgKGxlbiA+PSBBR1JPX05VTUJFUlMuRk9VUlRFRU4pIHtcclxuICAgICAgICAgICAgZGRpTGVuID0gQUdST19OVU1CRVJTLlRIUkVFO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobGVuID49IEFHUk9fTlVNQkVSUy5UV0VMVkUpIHtcclxuICAgICAgICAgICAgZGRpTGVuID0gQUdST19OVU1CRVJTLlRXTztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGRkaSA9IGRpZ2l0cy5zbGljZShBR1JPX05VTUJFUlMuWkVSTywgZGRpTGVuKTtcclxuICAgICAgICBjb25zdCBkZGQgPSBkaWdpdHMuc2xpY2UoZGRpTGVuLCBkZGlMZW4gKyBBR1JPX05VTUJFUlMuVFdPKTtcclxuICAgICAgICBjb25zdCBudW1iZXIgPSBkaWdpdHMuc2xpY2UoZGRpTGVuICsgQUdST19OVU1CRVJTLlRXTyk7XHJcbiAgICAgICAgcmV0dXJuIHsgZGRpLCBkZGQsIG51bWJlciB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBNb250YSBvIG7Dum1lcm8gZm9ybWF0YWRvICovXHJcbiAgICBwcml2YXRlIGZvcm1hdFBob25lKGRkaTogc3RyaW5nLCBkZGQ6IHN0cmluZywgbnVtYmVyOiBzdHJpbmcsIGZhbGxiYWNrOiBzdHJpbmcsIHdpdGhEREk6IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgICAgIGlmICghbnVtYmVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxsYmFjaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBmb3JtYXR0ZWQgPSBcIlwiO1xyXG5cclxuICAgICAgICBpZiAod2l0aERESSB8fCBkZGkpIHtcclxuICAgICAgICAgICAgZm9ybWF0dGVkICs9IGArJHtkZGkgfHwgXCI1NVwifSBgO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGRkKSB7XHJcbiAgICAgICAgICAgIGZvcm1hdHRlZCArPSBgKCR7ZGRkfSkgYDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvcm1hdHRlZCArPSB0aGlzLmZvcm1hdE51bWJlcihudW1iZXIpO1xyXG4gICAgICAgIHJldHVybiBmb3JtYXR0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEFwbGljYSBtw6FzY2FyYSBkZSA4IG91IDkgZMOtZ2l0b3MgKi9cclxuICAgIHByaXZhdGUgZm9ybWF0TnVtYmVyKG51bWJlcjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBsZW4gPSBudW1iZXIubGVuZ3RoO1xyXG4gICAgICAgIGlmIChsZW4gPT09IEFHUk9fTlVNQkVSUy5OSU5FKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtudW1iZXIuc2xpY2UoQUdST19OVU1CRVJTLlpFUk8sIEFHUk9fTlVNQkVSUy5GSVZFKX0tJHtudW1iZXIuc2xpY2UoQUdST19OVU1CRVJTLkZJVkUpfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChsZW4gPT09IEFHUk9fTlVNQkVSUy5FSUdIVCkge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7bnVtYmVyLnNsaWNlKEFHUk9fTlVNQkVSUy5aRVJPLCBBR1JPX05VTUJFUlMuRk9VUil9LSR7bnVtYmVyLnNsaWNlKEFHUk9fTlVNQkVSUy5GT1VSKX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVtYmVyO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { NgModule } from "@angular/core";
|
|
3
|
-
import { CommonModule } from "@angular/common";
|
|
4
|
-
import { TelephonePipe } from "./telephone.pipe";
|
|
5
|
-
let TelephonePipeModule = class TelephonePipeModule {
|
|
6
|
-
};
|
|
7
|
-
TelephonePipeModule = __decorate([
|
|
8
|
-
NgModule({
|
|
9
|
-
declarations: [TelephonePipe],
|
|
10
|
-
imports: [CommonModule],
|
|
11
|
-
exports: [TelephonePipe],
|
|
12
|
-
})
|
|
13
|
-
], TelephonePipeModule);
|
|
14
|
-
export { TelephonePipeModule };
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZXBob25lLnBpcGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1hZ3JvbmVnb2Npby9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJwaXBlL3RlbGVwaG9uZS90ZWxlcGhvbmUucGlwZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU9qRCxJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFtQjtDQUFHLENBQUE7QUFBdEIsbUJBQW1CO0lBTC9CLFFBQVEsQ0FBQztRQUNOLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM3QixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDdkIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO0tBQzNCLENBQUM7R0FDVyxtQkFBbUIsQ0FBRztTQUF0QixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgVGVsZXBob25lUGlwZSB9IGZyb20gXCIuL3RlbGVwaG9uZS5waXBlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbVGVsZXBob25lUGlwZV0sXHJcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcclxuICAgIGV4cG9ydHM6IFtUZWxlcGhvbmVQaXBlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRlbGVwaG9uZVBpcGVNb2R1bGUge31cclxuIl19
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { HttpParams } from "@angular/common/http";
|
|
2
|
-
import { throwError } from "rxjs";
|
|
3
|
-
import { catchError } from "rxjs/operators";
|
|
4
|
-
export class AgroEntityService {
|
|
5
|
-
constructor(http, messageService, entityUrl, actionsUrl, queriesUrl, translate) {
|
|
6
|
-
this.http = http;
|
|
7
|
-
this.messageService = messageService;
|
|
8
|
-
this.entityUrl = entityUrl;
|
|
9
|
-
this.actionsUrl = actionsUrl;
|
|
10
|
-
this.queriesUrl = queriesUrl;
|
|
11
|
-
this.translate = translate;
|
|
12
|
-
this.http = http;
|
|
13
|
-
this.messageService = messageService;
|
|
14
|
-
this.entityUrl = entityUrl;
|
|
15
|
-
this.actionsUrl = actionsUrl;
|
|
16
|
-
this.queriesUrl = queriesUrl;
|
|
17
|
-
this.translate = translate;
|
|
18
|
-
this.defaultCatch = this.defaultCatch.bind(this);
|
|
19
|
-
}
|
|
20
|
-
getListQueryParams(listParams) {
|
|
21
|
-
const ten = 10;
|
|
22
|
-
const { page = 0, size = ten, sort = [], filterQuery = "", displayFields = [] } = listParams;
|
|
23
|
-
let params = new HttpParams();
|
|
24
|
-
params = params.append("size", String(size));
|
|
25
|
-
params = params.append("offset", String(page));
|
|
26
|
-
if (sort && sort.length) {
|
|
27
|
-
params = params.append("orderby", sort.map(this.getBodyFilters()).join(", "));
|
|
28
|
-
}
|
|
29
|
-
if (filterQuery) {
|
|
30
|
-
params = params.append("filter", filterQuery);
|
|
31
|
-
}
|
|
32
|
-
if (displayFields && displayFields.length) {
|
|
33
|
-
params = params.append("displayfields", displayFields.join());
|
|
34
|
-
}
|
|
35
|
-
return params;
|
|
36
|
-
}
|
|
37
|
-
getBodyParams(listParams) {
|
|
38
|
-
const ten = 10;
|
|
39
|
-
const { page = 0, size = ten, sort = [], filterQuery = "", displayFields = [] } = listParams;
|
|
40
|
-
const bodyParams = {};
|
|
41
|
-
bodyParams.size = size;
|
|
42
|
-
bodyParams.offset = page;
|
|
43
|
-
if (sort && sort.length) {
|
|
44
|
-
bodyParams.orderBy = sort.map(this.getBodyFilters()).join(", ");
|
|
45
|
-
}
|
|
46
|
-
if (filterQuery) {
|
|
47
|
-
bodyParams.filter = filterQuery;
|
|
48
|
-
}
|
|
49
|
-
if (displayFields && displayFields.length) {
|
|
50
|
-
bodyParams.displayfields = displayFields.join();
|
|
51
|
-
}
|
|
52
|
-
return bodyParams;
|
|
53
|
-
}
|
|
54
|
-
getBodyFilters() {
|
|
55
|
-
return (s) => {
|
|
56
|
-
let order = "";
|
|
57
|
-
if (s.order === 1) {
|
|
58
|
-
order = " asc";
|
|
59
|
-
}
|
|
60
|
-
if (s.order === -1) {
|
|
61
|
-
order = " desc";
|
|
62
|
-
}
|
|
63
|
-
return `${s.field}${order}`;
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
defaultCatch(errorMsgs = []) {
|
|
67
|
-
const unauthorized_401 = 401;
|
|
68
|
-
// errorMsgs = [...errorMsgs, ...DefaultErrorMessages];
|
|
69
|
-
errorMsgs = [...errorMsgs];
|
|
70
|
-
const zero = 0;
|
|
71
|
-
return catchError((err) => {
|
|
72
|
-
if (err) {
|
|
73
|
-
const errorMessage = errorMsgs.find((eMsg) => eMsg.status === (err === null || err === void 0 ? void 0 : err.status) || zero);
|
|
74
|
-
let summary = err.status ? String(err.status) : "Error";
|
|
75
|
-
let detail = this.getErrorMessage(err);
|
|
76
|
-
if (err.status === unauthorized_401) {
|
|
77
|
-
summary = this.translate.instant("agro.angular_components.error_unauthorized_title");
|
|
78
|
-
detail = this.translate.instant("agro.angular_components.error_unauthorized_description");
|
|
79
|
-
}
|
|
80
|
-
if (errorMessage) {
|
|
81
|
-
summary = errorMessage.summary ? this.translate.instant(errorMessage.summary) : summary;
|
|
82
|
-
detail = errorMessage.detail ? this.translate.instant(errorMessage.detail) : detail;
|
|
83
|
-
}
|
|
84
|
-
this.messageService.add({
|
|
85
|
-
severity: "error",
|
|
86
|
-
summary,
|
|
87
|
-
detail,
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
return throwError(err);
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
getErrorMessage(err) {
|
|
94
|
-
if (err.error && err.error.message) {
|
|
95
|
-
return err.error.message;
|
|
96
|
-
}
|
|
97
|
-
if (err.statusText) {
|
|
98
|
-
return err.statusText;
|
|
99
|
-
}
|
|
100
|
-
if (err.message) {
|
|
101
|
-
return err.message;
|
|
102
|
-
}
|
|
103
|
-
return "Error";
|
|
104
|
-
}
|
|
105
|
-
list(listParams, errorMessage = []) {
|
|
106
|
-
return this.http.get(this.entityUrl, { params: this.getListQueryParams(listParams) }).pipe(this.defaultCatch(errorMessage));
|
|
107
|
-
}
|
|
108
|
-
get(id, errorMessage = []) {
|
|
109
|
-
return this.http.get(`${this.entityUrl}/${id}`).pipe(this.defaultCatch(errorMessage));
|
|
110
|
-
}
|
|
111
|
-
insert(entity, errorMessage = []) {
|
|
112
|
-
return this.http.post(`${this.entityUrl}`, entity).pipe(this.defaultCatch(errorMessage));
|
|
113
|
-
}
|
|
114
|
-
update(id, entity, errorMessage = []) {
|
|
115
|
-
return this.http.put(`${this.entityUrl}/${id}`, entity).pipe(this.defaultCatch(errorMessage));
|
|
116
|
-
}
|
|
117
|
-
delete(id, errorMessage = []) {
|
|
118
|
-
return this.http.delete(`${this.entityUrl}/${id}`).pipe(this.defaultCatch(errorMessage));
|
|
119
|
-
}
|
|
120
|
-
listCustomFilter(listParams, action, errorMessage = []) {
|
|
121
|
-
return this.http.post(`${this.actionsUrl}/${action}`, this.getBodyParams(listParams)).pipe(this.defaultCatch(errorMessage));
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2VudGl0eS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFlBQ2MsSUFBZ0IsRUFDaEIsY0FBOEIsRUFDOUIsU0FBaUIsRUFDakIsVUFBa0IsRUFDbEIsVUFBa0IsRUFDbEIsU0FBMkI7UUFMM0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFFckMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFFM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsVUFBc0I7UUFDNUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFD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QyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxFQUFPLEVBQUUsTUFBUyxFQUFFLGVBQStCLEVBQUU7UUFDL0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBRU0sTUFBTSxDQUFDLEVBQU8sRUFBRSxlQUErQixFQUFFO1FBQ3BELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsVUFBc0IsRUFBRSxNQUFjLEVBQUUsZUFBK0IsRUFBRTtRQUM3RixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNySSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUGFyYW1zLCBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlLCBTb3J0TWV0YSB9IGZyb20gXCJwcmltZW5nXCI7XHJcbmltcG9ydCB7IExpYlRyYW5zbGF0aW9uU2VydmljZSBhcyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2xpYi10cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQWdyb0VudGl0eVNlcnZpY2U8VD4ge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgICAgcHJvdGVjdGVkIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgZW50aXR5VXJsOiBzdHJpbmcsXHJcbiAgICAgICAgcHJvdGVjdGVkIGFjdGlvbnNVcmw6IHN0cmluZyxcclxuICAgICAgICBwcm90ZWN0ZWQgcXVlcmllc1VybDogc3RyaW5nLFxyXG4gICAgICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuaHR0cCA9IGh0dHA7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZSA9IG1lc3NhZ2VTZXJ2aWNlO1xyXG4gICAgICAgIHRoaXMuZW50aXR5VXJsID0gZW50aXR5VXJsO1xyXG4gICAgICAgIHRoaXMuYWN0aW9uc1VybCA9IGFjdGlvbnNVcmw7XHJcbiAgICAgICAgdGhpcy5xdWVyaWVzVXJsID0gcXVlcmllc1VybDtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZSA9IHRyYW5zbGF0ZTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Q2F0Y2ggPSB0aGlzLmRlZmF1bHRDYXRjaC5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRMaXN0UXVlcnlQYXJhbXMobGlzdFBhcmFtczogTGlzdFBhcmFtcykge1xyXG4gICAgICAgIGNvbnN0IHRlbiA9IDEwO1xyXG4gICAgICAgIGNvbnN0IHsgcGFnZSA9IDAsIHNpemUgPSB0ZW4sIHNvcnQgPSBbXSwgZmlsdGVyUXVlcnkgPSBcIlwiLCBkaXNwbGF5RmllbGRzID0gW10gfSA9IGxpc3RQYXJhbXM7XHJcblxyXG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoXCJzaXplXCIsIFN0cmluZyhzaXplKSk7XHJcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChcIm9mZnNldFwiLCBTdHJpbmcocGFnZSkpO1xyXG5cclxuICAgICAgICBpZiAoc29ydCAmJiBzb3J0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKFwib3JkZXJieVwiLCBzb3J0Lm1hcCh0aGlzLmdldEJvZHlGaWx0ZXJzKCkpLmpvaW4oXCIsIFwiKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZmlsdGVyUXVlcnkpIHtcclxuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZChcImZpbHRlclwiLCBmaWx0ZXJRdWVyeSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZGlzcGxheUZpZWxkcyAmJiBkaXNwbGF5RmllbGRzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKFwiZGlzcGxheWZpZWxkc1wiLCBkaXNwbGF5RmllbGRzLmpvaW4oKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcGFyYW1zO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0Qm9keVBhcmFtcyhsaXN0UGFyYW1zOiBMaXN0UGFyYW1zKTogQm9keVBhcmFtcyB7XHJcbiAgICAgICAgY29uc3QgdGVuID0gMTA7XHJcbiAgICAgICAgY29uc3QgeyBwYWdlID0gMCwgc2l6ZSA9IHRlbiwgc29ydCA9IFtdLCBmaWx0ZXJRdWVyeSA9IFwiXCIsIGRpc3BsYXlGaWVsZHMgPSBbXSB9ID0gbGlzdFBhcmFtcztcclxuICAgICAgICBjb25zdCBib2R5UGFyYW1zOiBCb2R5UGFyYW1zID0ge307XHJcblxyXG4gICAgICAgIGJvZHlQYXJhbXMuc2l6ZSA9IHNpemU7XHJcbiAgICAgICAgYm9keVBhcmFtcy5vZmZzZXQgPSBwYWdlO1xyXG5cclxuICAgICAgICBpZiAoc29ydCAmJiBzb3J0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICBib2R5UGFyYW1zLm9yZGVyQnkgPSBzb3J0Lm1hcCh0aGlzLmdldEJvZHlGaWx0ZXJzKCkpLmpvaW4oXCIsIFwiKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmaWx0ZXJRdWVyeSkge1xyXG4gICAgICAgICAgICBib2R5UGFyYW1zLmZpbHRlciA9IGZpbHRlclF1ZXJ5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGRpc3BsYXlGaWVsZHMgJiYgZGlzcGxheUZpZWxkcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgYm9keVBhcmFtcy5kaXNwbGF5ZmllbGRzID0gZGlzcGxheUZpZWxkcy5qb2luKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gYm9keVBhcmFtcztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldEJvZHlGaWx0ZXJzKCk6ICh2YWx1ZTogU29ydE1ldGEsIGluZGV4OiBudW1iZXIsIGFycmF5OiBTb3J0TWV0YVtdKSA9PiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAocykgPT4ge1xyXG4gICAgICAgICAgICBsZXQgb3JkZXIgPSBcIlwiO1xyXG4gICAgICAgICAgICBpZiAocy5vcmRlciA9PT0gMSkge1xyXG4gICAgICAgICAgICAgICAgb3JkZXIgPSBcIiBhc2NcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAocy5vcmRlciA9PT0gLTEpIHtcclxuICAgICAgICAgICAgICAgIG9yZGVyID0gXCIgZGVzY1wiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtzLmZpZWxkfSR7b3JkZXJ9YDtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkZWZhdWx0Q2F0Y2goZXJyb3JNc2dzOiBFcnJvck1lc3NhZ2VbXSA9IFtdKSB7XHJcbiAgICAgICAgY29uc3QgdW5hdXRob3JpemVkXzQwMSA9IDQwMTtcclxuICAgICAgICAvLyBlcnJvck1zZ3MgPSBbLi4uZXJyb3JNc2dzLCAuLi5EZWZhdWx0RXJyb3JNZXNzYWdlc107XHJcbiAgICAgICAgZXJyb3JNc2dzID0gWy4uLmVycm9yTXNnc107XHJcbiAgICAgICAgY29uc3QgemVybyA9IDA7XHJcbiAgICAgICAgcmV0dXJuIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVycm9yTXNncy5maW5kKChlTXNnKSA9PiBlTXNnLnN0YXR1cyA9PT0gZXJyPy5zdGF0dXMgfHwgemVybyk7XHJcbiAgICAgICAgICAgICAgICBsZXQgc3VtbWFyeSA9IGVyci5zdGF0dXMgPyBTdHJpbmcoZXJyLnN0YXR1cykgOiBcIkVycm9yXCI7XHJcbiAgICAgICAgICAgICAgICBsZXQgZGV0YWlsID0gdGhpcy5nZXRFcnJvck1lc3NhZ2UoZXJyKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA9PT0gdW5hdXRob3JpemVkXzQwMSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnkgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiYWdyby5hbmd1bGFyX2NvbXBvbmVudHMuZXJyb3JfdW5hdXRob3JpemVkX3RpdGxlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRldGFpbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5lcnJvcl91bmF1dGhvcml6ZWRfZGVzY3JpcHRpb25cIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHN1bW1hcnkgPSBlcnJvck1lc3NhZ2Uuc3VtbWFyeSA/IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoZXJyb3JNZXNzYWdlLnN1bW1hcnkpIDogc3VtbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICBkZXRhaWwgPSBlcnJvck1lc3NhZ2UuZGV0YWlsID8gdGhpcy50cmFuc2xhdGUuaW5zdGFudChlcnJvck1lc3NhZ2UuZGV0YWlsKSA6IGRldGFpbDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V2ZXJpdHk6IFwiZXJyb3JcIixcclxuICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5LFxyXG4gICAgICAgICAgICAgICAgICAgIGRldGFpbCxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRFcnJvck1lc3NhZ2UoZXJyOiBhbnkpIHtcclxuICAgICAgICBpZiAoZXJyLmVycm9yICYmIGVyci5lcnJvci5tZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlcnIuZXJyb3IubWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGVyci5zdGF0dXNUZXh0KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlcnIuc3RhdHVzVGV4dDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGVyci5tZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlcnIubWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFwiRXJyb3JcIjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbGlzdChsaXN0UGFyYW1zOiBMaXN0UGFyYW1zLCBlcnJvck1lc3NhZ2U6IEVycm9yTWVzc2FnZVtdID0gW10pIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUW10+KHRoaXMuZW50aXR5VXJsLCB7IHBhcmFtczogdGhpcy5nZXRMaXN0UXVlcnlQYXJhbXMobGlzdFBhcmFtcykgfSkucGlwZSh0aGlzLmRlZmF1bHRDYXRjaChlcnJvck1lc3NhZ2UpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0KGlkOiBhbnksIGVycm9yTWVzc2FnZTogRXJyb3JNZXNzYWdlW10gPSBbXSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KGAke3RoaXMuZW50aXR5VXJsfS8ke2lkfWApLnBpcGUodGhpcy5kZWZhdWx0Q2F0Y2goZXJyb3JNZXNzYWdlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGluc2VydChlbnRpdHk6IFQsIGVycm9yTWVzc2FnZTogRXJyb3JNZXNzYWdlW10gPSBbXSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUPihgJHt0aGlzLmVudGl0eVVybH1gLCBlbnRpdHkpLnBpcGUodGhpcy5kZWZhdWx0Q2F0Y2goZXJyb3JNZXNzYWdlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVwZGF0ZShpZDogYW55LCBlbnRpdHk6IFQsIGVycm9yTWVzc2FnZTogRXJyb3JNZXNzYWdlW10gPSBbXSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucHV0PFQ+KGAke3RoaXMuZW50aXR5VXJsfS8ke2lkfWAsIGVudGl0eSkucGlwZSh0aGlzLmRlZmF1bHRDYXRjaChlcnJvck1lc3NhZ2UpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGVsZXRlKGlkOiBhbnksIGVycm9yTWVzc2FnZTogRXJyb3JNZXNzYWdlW10gPSBbXSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPFQ+KGAke3RoaXMuZW50aXR5VXJsfS8ke2lkfWApLnBpcGUodGhpcy5kZWZhdWx0Q2F0Y2goZXJyb3JNZXNzYWdlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGxpc3RDdXN0b21GaWx0ZXIobGlzdFBhcmFtczogTGlzdFBhcmFtcywgYWN0aW9uOiBzdHJpbmcsIGVycm9yTWVzc2FnZTogRXJyb3JNZXNzYWdlW10gPSBbXSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxUW10+KGAke3RoaXMuYWN0aW9uc1VybH0vJHthY3Rpb259YCwgdGhpcy5nZXRCb2R5UGFyYW1zKGxpc3RQYXJhbXMpKS5waXBlKHRoaXMuZGVmYXVsdENhdGNoKGVycm9yTWVzc2FnZSkpO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWRSZXF1ZXN0IHtcclxuICAgIHNlYXJjaDogUmVjRmlsdHJvc01lbnNhZ2VtSW5mbztcclxuICAgIHBhZ2VSZXF1ZXN0OiBSZWNQYWdlUmVxdWVzdDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZWNGaWx0cm9zTWVuc2FnZW1JbmZvIHtcclxuICAgIHRpdHVsbzogc3RyaW5nO1xyXG4gICAgY29udGV1ZG86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXlsb2FkUmVxdWVzdEdydXBvIHtcclxuICAgIHNlYXJjaDogUmVjRmlsdHJvc0dydXBvUHJvZHV0b3I7XHJcbiAgICBwYWdlUmVxdWVzdDogUmVjUGFnZVJlcXVlc3Q7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVjRmlsdHJvc0dydXBvUHJvZHV0b3Ige1xyXG4gICAgbm9tZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlY1BhZ2VSZXF1ZXN0IHtcclxuICAgIG9mZnNldDogbnVtYmVyO1xyXG4gICAgc2l6ZTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQYXJhbXMge1xyXG4gICAgcGFnZT86IG51bWJlcjtcclxuICAgIHNpemU/OiBudW1iZXI7XHJcbiAgICBzb3J0PzogU29ydE1ldGFbXTtcclxuICAgIGZpbHRlclF1ZXJ5Pzogc3RyaW5nO1xyXG4gICAgZGlzcGxheUZpZWxkcz86IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQYXJhbXMge1xyXG4gICAgcGFnZT86IG51bWJlcjtcclxuICAgIHNpemU/OiBudW1iZXI7XHJcbiAgICBzb3J0PzogU29ydE1ldGFbXTtcclxuICAgIGZpbHRlclF1ZXJ5Pzogc3RyaW5nO1xyXG4gICAgZGlzcGxheUZpZWxkcz86IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlY1BhZ2VSZXF1ZXN0IHtcclxuICAgIG9mZnNldDogbnVtYmVyO1xyXG4gICAgc2l6ZTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJvZHlQYXJhbXMge1xyXG4gICAgb2Zmc2V0PzogbnVtYmVyO1xyXG4gICAgc2l6ZT86IG51bWJlcjtcclxuICAgIG9yZGVyQnk/OiBzdHJpbmc7XHJcbiAgICBmaWx0ZXI/OiBzdHJpbmc7XHJcbiAgICBkaXNwbGF5ZmllbGRzPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yTWVzc2FnZSB7XHJcbiAgICBzdGF0dXM6IG51bWJlcjtcclxuICAgIHN1bW1hcnk6IHN0cmluZztcclxuICAgIGRldGFpbD86IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { AgroStringUtils } from "./agro-string-utils.class";
|
|
2
|
-
var AgroObjectStringifier = /** @class */ (function () {
|
|
3
|
-
function AgroObjectStringifier() {
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Formata um objeto concatenando valores segundo as chaves e pipes informados.
|
|
7
|
-
*
|
|
8
|
-
* @param separator Separador entre os valores (ex: "-")
|
|
9
|
-
* @param fields Campos a extrair. Podem conter subpropriedades ("propriedade.subPropriedade") e pipes ("propriedade|nomeDaPipe:arg1:arg2")
|
|
10
|
-
* @param obj Objeto origem
|
|
11
|
-
*/
|
|
12
|
-
AgroObjectStringifier.formatObject = function (separator, fields, obj, usePipes) {
|
|
13
|
-
function mapField(field) {
|
|
14
|
-
var value = AgroObjectStringifier.resolvePath(obj, field);
|
|
15
|
-
if (usePipes === null || usePipes === void 0 ? void 0 : usePipes.hasOwnProperty(field)) {
|
|
16
|
-
return usePipes[field].transform(value);
|
|
17
|
-
}
|
|
18
|
-
return value !== null && value !== void 0 ? value : "";
|
|
19
|
-
}
|
|
20
|
-
function filterValid(v) {
|
|
21
|
-
return typeof v === "number" || AgroStringUtils.isValid(v);
|
|
22
|
-
}
|
|
23
|
-
return fields.map(mapField).filter(filterValid).join(" " + separator + " ");
|
|
24
|
-
};
|
|
25
|
-
/** Resolve um caminho tipo "empresa.cargo" dentro de um objeto */
|
|
26
|
-
AgroObjectStringifier.resolvePath = function (obj, path) {
|
|
27
|
-
function reducer(acc, key) {
|
|
28
|
-
return acc === null || acc === void 0 ? void 0 : acc[key];
|
|
29
|
-
}
|
|
30
|
-
return path.split(".").reduce(reducer, obj);
|
|
31
|
-
};
|
|
32
|
-
return AgroObjectStringifier;
|
|
33
|
-
}());
|
|
34
|
-
export { AgroObjectStringifier };
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyby1vYmplY3Qtc3RyaW5naWZpZXIuY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbW1vbi9hZ3JvLW9iamVjdC1zdHJpbmdpZmllci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFNNUQ7SUFBQTtJQStCQSxDQUFDO0lBOUJHOzs7Ozs7T0FNRztJQUNJLGtDQUFZLEdBQW5CLFVBQW9CLFNBQWlCLEVBQUUsTUFBZ0IsRUFBRSxHQUFRLEVBQUUsUUFBbUI7UUFDbEYsU0FBUyxRQUFRLENBQUMsS0FBYTtZQUMzQixJQUFNLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVELElBQUksUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLGNBQWMsQ0FBQyxLQUFLLEdBQUc7Z0JBQ2pDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMzQztZQUNELE9BQU8sS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxTQUFTLFdBQVcsQ0FBQyxDQUFrQjtZQUNuQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFJLFNBQVMsTUFBRyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGtFQUFrRTtJQUNuRCxpQ0FBVyxHQUExQixVQUEyQixHQUFRLEVBQUUsSUFBWTtRQUM3QyxTQUFTLE9BQU8sQ0FBQyxHQUFRLEVBQUUsR0FBVztZQUNsQyxPQUFPLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRyxHQUFHLEVBQUU7UUFDdEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDTCw0QkFBQztBQUFELENBQUMsQUEvQkQsSUErQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWdyb1N0cmluZ1V0aWxzIH0gZnJvbSBcIi4vYWdyby1zdHJpbmctdXRpbHMuY2xhc3NcIjtcclxuXHJcbmV4cG9ydCB0eXBlIFVzZVBpcGVzID0ge1xyXG4gICAgW2tleTogc3RyaW5nXTogUGlwZVRyYW5zZm9ybTtcclxufTtcclxuXHJcbmV4cG9ydCBjbGFzcyBBZ3JvT2JqZWN0U3RyaW5naWZpZXIge1xyXG4gICAgLyoqXHJcbiAgICAgKiBGb3JtYXRhIHVtIG9iamV0byBjb25jYXRlbmFuZG8gdmFsb3JlcyBzZWd1bmRvIGFzIGNoYXZlcyBlIHBpcGVzIGluZm9ybWFkb3MuXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHNlcGFyYXRvciBTZXBhcmFkb3IgZW50cmUgb3MgdmFsb3JlcyAoZXg6IFwiLVwiKVxyXG4gICAgICogQHBhcmFtIGZpZWxkcyBDYW1wb3MgYSBleHRyYWlyLiBQb2RlbSBjb250ZXIgc3VicHJvcHJpZWRhZGVzIChcInByb3ByaWVkYWRlLnN1YlByb3ByaWVkYWRlXCIpIGUgcGlwZXMgKFwicHJvcHJpZWRhZGV8bm9tZURhUGlwZTphcmcxOmFyZzJcIilcclxuICAgICAqIEBwYXJhbSBvYmogT2JqZXRvIG9yaWdlbVxyXG4gICAgICovXHJcbiAgICBzdGF0aWMgZm9ybWF0T2JqZWN0KHNlcGFyYXRvcjogc3RyaW5nLCBmaWVsZHM6IHN0cmluZ1tdLCBvYmo6IGFueSwgdXNlUGlwZXM/OiBVc2VQaXBlcyk6IHN0cmluZyB7XHJcbiAgICAgICAgZnVuY3Rpb24gbWFwRmllbGQoZmllbGQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gQWdyb09iamVjdFN0cmluZ2lmaWVyLnJlc29sdmVQYXRoKG9iaiwgZmllbGQpO1xyXG4gICAgICAgICAgICBpZiAodXNlUGlwZXM/Lmhhc093blByb3BlcnR5KGZpZWxkKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVzZVBpcGVzW2ZpZWxkXS50cmFuc2Zvcm0odmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA/PyBcIlwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZnVuY3Rpb24gZmlsdGVyVmFsaWQodjogc3RyaW5nIHwgbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdiA9PT0gXCJudW1iZXJcIiB8fCBBZ3JvU3RyaW5nVXRpbHMuaXNWYWxpZCh2KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmaWVsZHMubWFwKG1hcEZpZWxkKS5maWx0ZXIoZmlsdGVyVmFsaWQpLmpvaW4oYCAke3NlcGFyYXRvcn0gYCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIFJlc29sdmUgdW0gY2FtaW5obyB0aXBvIFwiZW1wcmVzYS5jYXJnb1wiIGRlbnRybyBkZSB1bSBvYmpldG8gKi9cclxuICAgIHByaXZhdGUgc3RhdGljIHJlc29sdmVQYXRoKG9iajogYW55LCBwYXRoOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgICAgIGZ1bmN0aW9uIHJlZHVjZXIoYWNjOiBhbnksIGtleTogc3RyaW5nKTogYW55IHtcclxuICAgICAgICAgICAgcmV0dXJuIGFjYz8uW2tleV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwYXRoLnNwbGl0KFwiLlwiKS5yZWR1Y2UocmVkdWNlciwgb2JqKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { ModalInvoicePjSelectorComponent } from "./modal-invoice-pj-selector.component";
|
|
2
|
-
export { ModalInvoicePjSelectorModule } from "./modal-invoice-pj-selector.module";
|
|
3
|
-
export { AgroInvoiceModule, AgroInvoiceService } from "./services/agro-invoice/index";
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbW9kYWwtaW52b2ljZS1wai1zZWxlY3Rvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IE1vZGFsSW52b2ljZVBqU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tIFwiLi9tb2RhbC1pbnZvaWNlLXBqLXNlbGVjdG9yLmNvbXBvbmVudFwiO1xyXG5leHBvcnQgeyBNb2RhbEludm9pY2VQalNlbGVjdG9yTW9kdWxlIH0gZnJvbSBcIi4vbW9kYWwtaW52b2ljZS1wai1zZWxlY3Rvci5tb2R1bGVcIjtcclxuZXhwb3J0IHsgTW9kYWxJbnZvaWNlUGpTZWxlY3Rvck9wdGlvbnMgfSBmcm9tIFwiLi9tb2RhbC1pbnZvaWNlLXBqLXNlbGVjdG9yLW9wdGlvbnMuaW50ZXJmYWNlXCI7XHJcbmV4cG9ydCB7IEFncm9JbnZvaWNlTW9kdWxlLCBBZ3JvSW52b2ljZVNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9hZ3JvLWludm9pY2UvaW5kZXhcIjsiXX0=
|
package/esm5/components/modal-invoice-pj-selector/modal-invoice-pj-selector-options.interface.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW52b2ljZS1wai1zZWxlY3Rvci1vcHRpb25zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItYWdyb25lZ29jaW8vYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9tb2RhbC1pbnZvaWNlLXBqLXNlbGVjdG9yL21vZGFsLWludm9pY2UtcGotc2VsZWN0b3Itb3B0aW9ucy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTW9kYWxJbnZvaWNlUGpTZWxlY3Rvck9wdGlvbnMge1xyXG4gICAgY29tcGFueUlkOiBzdHJpbmc7XHJcbiAgICBicmFuY2hJZDogc3RyaW5nO1xyXG4gICAgcHJvZHVjZXJzSWRzOiBzdHJpbmdbXTtcclxuICAgIHByb2R1Y3RJZDogc3RyaW5nO1xyXG4gICAgcnVyYWxFc3RhdGVJZHM6IHN0cmluZ1tdO1xyXG4gICAgcmVjb3JkU3RhdHVzPzogc3RyaW5nO1xyXG4gICAgaXNzdWFuY2VEYXRlPzogRGF0ZTtcclxuICAgIGludm9pY2VTdGF0dXM/OiBzdHJpbmc7XHJcbn0iXX0=
|
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import { __awaiter, __decorate, __generator } from "tslib";
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
3
|
-
import { debounceTime, finalize, takeUntil } from "rxjs/operators";
|
|
4
|
-
import { Subject } from "rxjs";
|
|
5
|
-
import { FormControl } from "@angular/forms";
|
|
6
|
-
import { AgroInvoiceService } from "./services/agro-invoice/agro-invoice.service";
|
|
7
|
-
import { ButtonPriority } from "@seniorsistemas/angular-components";
|
|
8
|
-
import { AGRO_NUMBERS } from "../../enums/agro-numbers.enum";
|
|
9
|
-
import { LibTranslationService } from "../../services/lib-translation.service";
|
|
10
|
-
var INVOICE_ITEMS = "invoiceItems.*";
|
|
11
|
-
var ModalInvoicePjSelectorComponent = /** @class */ (function () {
|
|
12
|
-
function ModalInvoicePjSelectorComponent(translate, invoiceService) {
|
|
13
|
-
this.translate = translate;
|
|
14
|
-
this.invoiceService = invoiceService;
|
|
15
|
-
this.whenSelectInvoices = new EventEmitter();
|
|
16
|
-
this.buttonPriority = ButtonPriority;
|
|
17
|
-
this.gridColumns = [
|
|
18
|
-
{ field: "number", header: this.translate.instant("agro.angular_components.number") },
|
|
19
|
-
{ field: "series", header: this.translate.instant("agro.angular_components.series") },
|
|
20
|
-
{ field: "invoiceItems", header: this.translate.instant("agro.angular_components.itens") },
|
|
21
|
-
{ field: "quantity", header: this.translate.instant("agro.angular_components.quantity") },
|
|
22
|
-
{ field: "issuanceDate", header: this.translate.instant("agro.angular_components.issuance_date") },
|
|
23
|
-
];
|
|
24
|
-
this.dontHaveAnyInvoice = false;
|
|
25
|
-
this.gridLoading = true;
|
|
26
|
-
this.gridTotalRecords = AGRO_NUMBERS.ZERO;
|
|
27
|
-
this.selected = [];
|
|
28
|
-
this.unselectedIds = new Set();
|
|
29
|
-
this.visible = false;
|
|
30
|
-
this.searchValue = new FormControl("", []);
|
|
31
|
-
this.ngUnsubscribe = new Subject();
|
|
32
|
-
this.currentParams = {
|
|
33
|
-
page: 0,
|
|
34
|
-
size: 10,
|
|
35
|
-
sort: [{ field: "issuanceDate", order: 1 }],
|
|
36
|
-
displayFields: ["*", INVOICE_ITEMS, "issuanceDate"],
|
|
37
|
-
filterQuery: "",
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
ModalInvoicePjSelectorComponent.prototype.ngOnDestroy = function () {
|
|
41
|
-
this.ngUnsubscribe.next();
|
|
42
|
-
this.ngUnsubscribe.complete();
|
|
43
|
-
};
|
|
44
|
-
ModalInvoicePjSelectorComponent.prototype.ngOnInit = function () {
|
|
45
|
-
this.whenSearchValueChanges();
|
|
46
|
-
};
|
|
47
|
-
ModalInvoicePjSelectorComponent.prototype.whenSearchValueChanges = function () {
|
|
48
|
-
var _this = this;
|
|
49
|
-
this.searchValue.valueChanges
|
|
50
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
51
|
-
.pipe(debounceTime(AGRO_NUMBERS.THREE_HUNDRED))
|
|
52
|
-
.subscribe(function (value) {
|
|
53
|
-
if (value) {
|
|
54
|
-
_this.updateGridData({ first: 0, rows: 10, multiSortMeta: [{ field: "issuanceDate", order: 1 }] }, value);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
_this.updateGridData({ first: 0, rows: 10, multiSortMeta: [{ field: "issuanceDate", order: 1 }] });
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
};
|
|
61
|
-
ModalInvoicePjSelectorComponent.prototype.tryToSearchAgain = function () {
|
|
62
|
-
this.gridLoading = true;
|
|
63
|
-
this.updateGridData({ first: 0, rows: 10, multiSortMeta: [{ field: "issuanceDate", order: 1 }] });
|
|
64
|
-
};
|
|
65
|
-
ModalInvoicePjSelectorComponent.prototype.open = function () {
|
|
66
|
-
if (this.checkIfOptionsIsValid()) {
|
|
67
|
-
this.visible = true;
|
|
68
|
-
this.gridData = [];
|
|
69
|
-
this.gridLoading = true;
|
|
70
|
-
this.gridTotalRecords = 0;
|
|
71
|
-
this.selected = [];
|
|
72
|
-
this.unselectedIds.clear();
|
|
73
|
-
this.currentParams = {
|
|
74
|
-
page: 0,
|
|
75
|
-
size: 10,
|
|
76
|
-
sort: [],
|
|
77
|
-
filterQuery: "",
|
|
78
|
-
displayFields: ["*", INVOICE_ITEMS],
|
|
79
|
-
};
|
|
80
|
-
this.updateGridData({ first: 0, rows: 10, multiSortMeta: [{ field: "issuanceDate", order: 1 }] });
|
|
81
|
-
this.selected = [];
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
ModalInvoicePjSelectorComponent.prototype.checkIfOptionsIsValid = function () {
|
|
85
|
-
if (!this.options) {
|
|
86
|
-
return false;
|
|
87
|
-
}
|
|
88
|
-
if (!this.options.companyId || !this.options.branchId) {
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
return true;
|
|
92
|
-
};
|
|
93
|
-
ModalInvoicePjSelectorComponent.prototype.updateGridData = function (event, searchValue) {
|
|
94
|
-
var _this = this;
|
|
95
|
-
var _a;
|
|
96
|
-
this.cancelPooling();
|
|
97
|
-
var _b = this.options, companyId = _b.companyId, branchId = _b.branchId;
|
|
98
|
-
var producerId = this.options.producersIds[0];
|
|
99
|
-
var ruralEstateId = this.options.ruralEstateIds[0];
|
|
100
|
-
var size = event.rows;
|
|
101
|
-
var page = event.first / size;
|
|
102
|
-
var sizePage = event.rows;
|
|
103
|
-
this.currentParams = {
|
|
104
|
-
page: page,
|
|
105
|
-
size: size,
|
|
106
|
-
sort: ((_a = event.multiSortMeta) === null || _a === void 0 ? void 0 : _a.length) ? event.multiSortMeta : [{ field: "issuanceDate", order: 1 }],
|
|
107
|
-
displayFields: ["*", INVOICE_ITEMS, "issuanceDate"],
|
|
108
|
-
};
|
|
109
|
-
this.gridLoading = true;
|
|
110
|
-
this.dontHaveAnyInvoice = false;
|
|
111
|
-
var filterBody = {
|
|
112
|
-
filter: {
|
|
113
|
-
companyId: companyId,
|
|
114
|
-
branchId: branchId,
|
|
115
|
-
producerIds: [producerId],
|
|
116
|
-
ruralEstateIds: [ruralEstateId],
|
|
117
|
-
multiProducts: false,
|
|
118
|
-
productId: this.options.productId,
|
|
119
|
-
},
|
|
120
|
-
pageRequest: {
|
|
121
|
-
offset: page,
|
|
122
|
-
size: sizePage,
|
|
123
|
-
orderBy: this.currentParams.sort.map(function (sort) { return ({ field: sort.field, order: sort.order === 1 ? "asc" : "desc" }); }),
|
|
124
|
-
},
|
|
125
|
-
};
|
|
126
|
-
this.invoiceService
|
|
127
|
-
.invoiceLookupFilter(filterBody)
|
|
128
|
-
.pipe(takeUntil(this.ngUnsubscribe), finalize(function () {
|
|
129
|
-
_this.gridLoading = false;
|
|
130
|
-
}))
|
|
131
|
-
.subscribe(function (result) {
|
|
132
|
-
var _a;
|
|
133
|
-
_this.gridData = ((_a = result === null || result === void 0 ? void 0 : result.result) === null || _a === void 0 ? void 0 : _a.invoices) || [];
|
|
134
|
-
if (_this.gridData.length === 0 && !searchValue) {
|
|
135
|
-
_this.dontHaveAnyInvoice = true;
|
|
136
|
-
}
|
|
137
|
-
_this.gridTotalRecords = result.result.totalElements;
|
|
138
|
-
}, function (error) {
|
|
139
|
-
console.info("Erro ao buscar notas fiscais: ", error);
|
|
140
|
-
}, function () {
|
|
141
|
-
_this.gridLoading = false;
|
|
142
|
-
});
|
|
143
|
-
};
|
|
144
|
-
ModalInvoicePjSelectorComponent.prototype.cancelPooling = function () {
|
|
145
|
-
this.invoiceService.cancelActivePooling();
|
|
146
|
-
};
|
|
147
|
-
ModalInvoicePjSelectorComponent.prototype.add = function () {
|
|
148
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
149
|
-
return __generator(this, function (_a) {
|
|
150
|
-
try {
|
|
151
|
-
this.whenSelectInvoices.emit(this.selected);
|
|
152
|
-
this.resetSpecs();
|
|
153
|
-
}
|
|
154
|
-
catch (error) {
|
|
155
|
-
console.info("Erro ao selecionar notas fiscais: ", error);
|
|
156
|
-
}
|
|
157
|
-
return [2 /*return*/];
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
};
|
|
161
|
-
ModalInvoicePjSelectorComponent.prototype.resetSpecs = function () {
|
|
162
|
-
this.selected = [];
|
|
163
|
-
this.dontHaveAnyInvoice = false;
|
|
164
|
-
this.visible = false;
|
|
165
|
-
this.gridData = [];
|
|
166
|
-
this.gridLoading = false;
|
|
167
|
-
this.gridTotalRecords = 0;
|
|
168
|
-
};
|
|
169
|
-
ModalInvoicePjSelectorComponent.prototype.cancel = function () {
|
|
170
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
171
|
-
return __generator(this, function (_a) {
|
|
172
|
-
this.resetSpecs();
|
|
173
|
-
return [2 /*return*/];
|
|
174
|
-
});
|
|
175
|
-
});
|
|
176
|
-
};
|
|
177
|
-
ModalInvoicePjSelectorComponent.ctorParameters = function () { return [
|
|
178
|
-
{ type: LibTranslationService },
|
|
179
|
-
{ type: AgroInvoiceService }
|
|
180
|
-
]; };
|
|
181
|
-
__decorate([
|
|
182
|
-
Input()
|
|
183
|
-
], ModalInvoicePjSelectorComponent.prototype, "options", void 0);
|
|
184
|
-
__decorate([
|
|
185
|
-
Output()
|
|
186
|
-
], ModalInvoicePjSelectorComponent.prototype, "whenSelectInvoices", void 0);
|
|
187
|
-
ModalInvoicePjSelectorComponent = __decorate([
|
|
188
|
-
Component({
|
|
189
|
-
selector: "s-modal-invoice-pj-selector",
|
|
190
|
-
template: "<p-dialog\r\n header=\"{{ 'agro.angular_components.panel_title_external_invoice_add_external_invoice' | libTranslate }}\"\r\n [(visible)]=\"visible\"\r\n [modal]=\"true\"\r\n class=\"add-invoice-modal\"\r\n [closeOnEscape]=\"false\"\r\n (onHide)=\"cancelPooling()\"\r\n [dismissableMask]=\"false\"\r\n>\r\n <ng-container *ngIf=\"!dontHaveAnyInvoice\">\r\n <div class=\"ui-g\">\r\n <label for=\"invoiceSearchInput\">{{ 'agro.angular_components.number_or_series' | libTranslate }}</label>\r\n <input\r\n type=\"text\"\r\n id=\"invoiceSearchInput\"\r\n pInputText\r\n [formControl]=\"searchValue\"\r\n [placeholder]=\"'' | libTranslate\"\r\n [required]=\"false\"\r\n />\r\n <div class=\"ui-g-12\">\r\n <p-table\r\n [(selection)]=\"selected\"\r\n [value]=\"gridData\"\r\n [columns]=\"gridColumns\"\r\n [scrollable]=\"true\"\r\n dataKey=\"externalInvoiceId\"\r\n [rows]=\"10\"\r\n [paginator]=\"true\"\r\n [lazyLoadOnInit]=\"false\"\r\n [totalRecords]=\"gridTotalRecords\"\r\n [lazy]=\"true\"\r\n (onLazyLoad)=\"updateGridData($event)\"\r\n [resizableColumns]=\"true\"\r\n *sLoadingState=\"gridLoading\"\r\n sortMode=\"multiple\"\r\n [selectionMode]=\"'multiple'\"\r\n >\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th class=\"checkbox\" scope=\"col\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-container *ngFor=\"let col of columns\">\r\n <th class=\"column\" scope=\"col\" *ngIf=\"['invoiceItems', 'quantity'].includes(col.field)\">\r\n {{ col.header }}\r\n </th>\r\n <th\r\n class=\"column\"\r\n [pSortableColumn]=\"col.field\"\r\n scope=\"col\"\r\n *ngIf=\"!['invoiceItems', 'quantity'].includes(col.field)\"\r\n >\r\n {{ col.header }}\r\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"body\" let-rowData let-columns=\"columns\" let-rowIndex=\"rowIndex\">\r\n <tr>\r\n <td class=\"checkbox\" tabindex=\"0\">\r\n <p-tableCheckbox [value]=\"rowData\"></p-tableCheckbox>\r\n </td>\r\n <td\r\n [pSelectableRow]=\"rowData\"\r\n [pSelectableRowIndex]=\"rowIndex\"\r\n *ngFor=\"let col of columns\"\r\n class=\"column\"\r\n tabindex=\"0\"\r\n >\r\n <ng-container [ngSwitch]=\"col.field\">\r\n <ng-container *ngSwitchCase=\"'issuanceDate'\">\r\n {{ rowData[col.field] | localizedDate: 'L' | async }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'invoiceItems'\">\r\n {{ rowData?.totalItems || 0 }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'quantity'\">\r\n {{ rowData?.totalItemsQuantity || 0 | kilogram }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'series'\">\r\n {{ rowData?.seriesLegal || rowData?.series || rowData[col.field] }}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault> {{ rowData[col.field] }} </ng-container>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"paginatorright\">\r\n <span>{{ gridTotalRecords }} registros encontrados</span>\r\n </ng-template>\r\n </p-table>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"dontHaveAnyInvoice\">\r\n <s-empty-state\r\n iconClass=\"fa fa-exclamation-triangle\"\r\n title=\"{{ 'agro.angular_components.add_pj_invoice_modal_no_invoices_found' | libTranslate }}\"\r\n primaryActionLabel=\"{{ 'agro.angular_components.error_server_try_again' | libTranslate }}\"\r\n (primaryAction)=\"tryToSearchAgain()\"\r\n description=\"{{ 'agro.angular_components.no_register_found_for_external_invoices_summary' | libTranslate }}\"\r\n >\r\n </s-empty-state>\r\n </ng-container>\r\n\r\n <p-footer class=\"footer\" *ngIf=\"!dontHaveAnyInvoice\">\r\n <s-button\r\n [priority]=\"buttonPriority.Primary\"\r\n label=\"{{ 'agro.angular_components.panel_title_external_invoice_add_external_invoice' | libTranslate }}\"\r\n [disabled]=\"!selected?.length\"\r\n (click)=\"add()\"\r\n (keydown.enter)=\"add()\"\r\n ></s-button>\r\n <s-button\r\n [priority]=\"buttonPriority.Link\"\r\n label=\"{{ 'agro.angular_components.cancel' | libTranslate }}\"\r\n (click)=\"cancel()\"\r\n (keydown.enter)=\"cancel()\"\r\n ></s-button>\r\n </p-footer>\r\n</p-dialog>\r\n",
|
|
191
|
-
styles: [".footer{width:100%;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center}.add-invoice-modal{width:480px;max-width:480px}.add-invoice-modal input[type=text]{width:100%}.add-invoice-modal .ui-dialog{width:480px!important}.add-invoice-modal .ui-dialog .ui-dialog-content{min-height:175px}td.checkbox,th.checkbox{width:50px}td.column,th.column{min-width:150px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}"]
|
|
192
|
-
})
|
|
193
|
-
], ModalInvoicePjSelectorComponent);
|
|
194
|
-
return ModalInvoicePjSelectorComponent;
|
|
195
|
-
}());
|
|
196
|
-
export { ModalInvoicePjSelectorComponent };
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW52b2ljZS1wai1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWFncm9uZWdvY2lvL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbW9kYWwtaW52b2ljZS1wai1zZWxlY3Rvci9tb2RhbC1pbnZvaWNlLXBqLXNlbGVjdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUcvRSxJQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQztBQU92QztJQXlDSSx5Q0FDcUIsU0FBZ0MsRUFDaEMsY0FBa0M7UUFEbEMsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBekN0Qyx1QkFBa0IsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUc5RSxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUVoQyxnQkFBVyxHQUFHO1lBQ2pCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxP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aXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCB9IGZyb20gXCJwcmltZW5nXCI7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmluYWxpemUsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgTGlzdFBhcmFtcyB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9lbnRpdHktc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBZ3JvSW52b2ljZVNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9hZ3JvLWludm9pY2UvYWdyby1pbnZvaWNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTW9kYWxJbnZvaWNlUGpTZWxlY3Rvck9wdGlvbnMgfSBmcm9tIFwiLi9tb2RhbC1pbnZvaWNlLXBqLXNlbGVjdG9yLW9wdGlvbnMuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7IEJ1dHRvblByaW9yaXR5IH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcclxuaW1wb3J0IHsgQUdST19OVU1CRVJTIH0gZnJvbSBcIi4uLy4uL2VudW1zL2Fncm8tbnVtYmVycy5lbnVtXCI7XHJcbmltcG9ydCB7IExpYlRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9saWItdHJhbnNsYXRpb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBJSW52b2ljZUxvb2t1cEZpbHRlciB9IGZyb20gXCIuL3NlcnZpY2VzL2Fncm8taW52b2ljZS9pbnRlcmZhY2VzXCI7XHJcblxyXG5jb25zdCBJTlZPSUNFX0lURU1TID0gXCJpbnZvaWNlSXRlbXMuKlwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJzLW1vZGFsLWludm9pY2UtcGotc2VsZWN0b3JcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vbW9kYWwtaW52b2ljZS1wai1zZWxlY3Rvci5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuL21vZGFsLWludm9pY2UtcGotc2VsZWN0b3IuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2RhbEludm9pY2VQalNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQElucHV0KCkgcHVibGljIG9wdGlvbnMhOiBNb2RhbEludm9pY2VQalNlbGVjdG9yT3B0aW9ucztcclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgd2hlblNlbGVjdEludm9pY2VzOiBFdmVudEVtaXR0ZXI8YW55W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcclxuXHJcbiAgICBwdWJsaWMgZ3JpZERhdGE6IGFueVtdO1xyXG4gICAgcHVibGljIGJ1dHRvblByaW9yaXR5ID0gQnV0dG9uUHJpb3JpdHk7XHJcblxyXG4gICAgcHVibGljIGdyaWRDb2x1bW5zID0gW1xyXG4gICAgICAgIHsgZmllbGQ6IFwibnVtYmVyXCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLm51bWJlclwiKSB9LFxyXG4gICAgICAgIHsgZmllbGQ6IFwic2VyaWVzXCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLnNlcmllc1wiKSB9LFxyXG4gICAgICAgIHsgZmllbGQ6IFwiaW52b2ljZUl0ZW1zXCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLml0ZW5zXCIpIH0sXHJcbiAgICAgICAgeyBmaWVsZDogXCJxdWFudGl0eVwiLCBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJhZ3JvLmFuZ3VsYXJfY29tcG9uZW50cy5xdWFudGl0eVwiKSB9LFxyXG4gICAgICAgIHsgZmllbGQ6IFwiaXNzdWFuY2VEYXRlXCIsIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImFncm8uYW5ndWxhcl9jb21wb25lbnRzLmlzc3VhbmNlX2RhdGVcIikgfSxcclxuICAgIF07XHJcblxyXG4gICAgcHVibGljIGRvbnRIYXZlQW55SW52b2ljZSA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBncmlkTG9hZGluZyA9IHRydWU7XHJcbiAgICBwdWJsaWMgZ3JpZFRvdGFsUmVjb3JkczogbnVtYmVyID0gQUdST19OVU1CRVJTLlpFUk87XHJcbiAgICBwdWJsaWMgc2VsZWN0ZWQ6IGFueVtdID0gW107XHJcbiAgICBwdWJsaWMgdW5zZWxlY3RlZElkcyA9IG5ldyBTZXQ8bnVtYmVyPigpO1xyXG5cclxuICAgIHB1YmxpYyB2aXNpYmxlID0gZmFsc2U7XHJcblxyXG4gICAgcHVibGljIHNlYXJjaFZhbHVlOiBGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChcIlwiLCBbXSk7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgICBwcml2YXRlIGN1cnJlbnRQYXJhbXM6IExpc3RQYXJhbXMgPSB7XHJcbiAgICAgICAgcGFnZTogMCxcclxuICAgICAgICBzaXplOiAxMCxcclxuICAgICAgICBzb3J0OiBbeyBmaWVsZDogXCJpc3N1YW5jZURhdGVcIiwgb3JkZXI6IDEgfV0sXHJcbiAgICAgICAgZGlzcGxheUZpZWxkczogW1wiKlwiLCBJTlZPSUNFX0lURU1TLCBcImlzc3VhbmNlRGF0ZVwiXSxcclxuICAgICAgICBmaWx0ZXJRdWVyeTogXCJcIixcclxuICAgIH07XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IExpYlRyYW5zbGF0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGludm9pY2VTZXJ2aWNlOiBBZ3JvSW52b2ljZVNlcnZpY2VcclxuICAgICkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLndoZW5TZWFyY2hWYWx1ZUNoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHdoZW5TZWFyY2hWYWx1ZUNoYW5nZXMoKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hWYWx1ZS52YWx1ZUNoYW5nZXNcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXHJcbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZShBR1JPX05VTUJFUlMuVEhSRUVfSFVORFJFRCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlR3JpZERhdGEoeyBmaXJzdDogMCwgcm93czogMTAsIG11bHRpU29ydE1ldGE6IFt7IGZpZWxkOiBcImlzc3VhbmNlRGF0ZVwiLCBvcmRlcjogMSB9XSB9LCB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlR3JpZERhdGEoeyBmaXJzdDogMCwgcm93czogMTAsIG11bHRpU29ydE1ldGE6IFt7IGZpZWxkOiBcImlzc3VhbmNlRGF0ZVwiLCBvcmRlcjogMSB9XSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5VG9TZWFyY2hBZ2FpbigpIHtcclxuICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUdyaWREYXRhKHsgZmlyc3Q6IDAsIHJvd3M6IDEwLCBtdWx0aVNvcnRNZXRhOiBbeyBmaWVsZDogXCJpc3N1YW5jZURhdGVcIiwgb3JkZXI6IDEgfV0gfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb3BlbigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jaGVja0lmT3B0aW9uc0lzVmFsaWQoKSkge1xyXG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmdyaWREYXRhID0gW107XHJcbiAgICAgICAgICAgIHRoaXMuZ3JpZExvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmdyaWRUb3RhbFJlY29yZHMgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gW107XHJcbiAgICAgICAgICAgIHRoaXMudW5zZWxlY3RlZElkcy5jbGVhcigpO1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRQYXJhbXMgPSB7XHJcbiAgICAgICAgICAgICAgICBwYWdlOiAwLFxyXG4gICAgICAgICAgICAgICAgc2l6ZTogMTAsXHJcbiAgICAgICAgICAgICAgICBzb3J0OiBbXSxcclxuICAgICAgICAgICAgICAgIGZpbHRlclF1ZXJ5OiBcIlwiLFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheUZpZWxkczogW1wiKlwiLCBJTlZPSUNFX0lURU1TXSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVHcmlkRGF0YSh7IGZpcnN0OiAwLCByb3dzOiAxMCwgbXVsdGlTb3J0TWV0YTogW3sgZmllbGQ6IFwiaXNzdWFuY2VEYXRlXCIsIG9yZGVyOiAxIH1dIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hlY2tJZk9wdGlvbnNJc1ZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zLmNvbXBhbnlJZCB8fCAhdGhpcy5vcHRpb25zLmJyYW5jaElkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB1cGRhdGVHcmlkRGF0YShldmVudDogTGF6eUxvYWRFdmVudCwgc2VhcmNoVmFsdWU/OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmNhbmNlbFBvb2xpbmcoKTtcclxuICAgICAgICBjb25zdCB7IGNvbXBhbnlJZCwgYnJhbmNoSWQgfSA9IHRoaXMub3B0aW9ucztcclxuXHJcbiAgICAgICAgY29uc3QgcHJvZHVjZXJJZCA9IHRoaXMub3B0aW9ucy5wcm9kdWNlcnNJZHNbMF07XHJcbiAgICAgICAgY29uc3QgcnVyYWxFc3RhdGVJZCA9IHRoaXMub3B0aW9ucy5ydXJhbEVzdGF0ZUlkc1swXTtcclxuXHJcbiAgICAgICAgY29uc3Qgc2l6ZSA9IGV2ZW50LnJvd3M7XHJcbiAgICAgICAgY29uc3QgcGFnZSA9IGV2ZW50LmZpcnN0IC8gc2l6ZTtcclxuXHJcbiAgICAgICAgY29uc3Qgc2l6ZVBhZ2UgPSBldmVudC5yb3dzO1xyXG5cclxuICAgICAgICB0aGlzLmN1cnJlbnRQYXJhbXMgPSB7XHJcbiAgICAgICAgICAgIHBhZ2UsXHJcbiAgICAgICAgICAgIHNpemUsXHJcbiAgICAgICAgICAgIHNvcnQ6IGV2ZW50Lm11bHRpU29ydE1ldGE/Lmxlbmd0aCA/IGV2ZW50Lm11bHRpU29ydE1ldGEgOiBbeyBmaWVsZDogXCJpc3N1YW5jZURhdGVcIiwgb3JkZXI6IDEgfV0sXHJcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZHM6IFtcIipcIiwgSU5WT0lDRV9JVEVNUywgXCJpc3N1YW5jZURhdGVcIl0sXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRvbnRIYXZlQW55SW52b2ljZSA9IGZhbHNlO1xyXG5cclxuICAgICAgICBjb25zdCBmaWx0ZXJCb2R5OiBJSW52b2ljZUxvb2t1cEZpbHRlciA9IHtcclxuICAgICAgICAgICAgZmlsdGVyOiB7XHJcbiAgICAgICAgICAgICAgICBjb21wYW55SWQsXHJcbiAgICAgICAgICAgICAgICBicmFuY2hJZCxcclxuICAgICAgICAgICAgICAgIHByb2R1Y2VySWRzOiBbcHJvZHVjZXJJZF0sXHJcbiAgICAgICAgICAgICAgICBydXJhbEVzdGF0ZUlkczogW3J1cmFsRXN0YXRlSWRdLFxyXG4gICAgICAgICAgICAgICAgbXVsdGlQcm9kdWN0czogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBwcm9kdWN0SWQ6IHRoaXMub3B0aW9ucy5wcm9kdWN0SWQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHBhZ2VSZXF1ZXN0OiB7XHJcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IHBhZ2UsXHJcbiAgICAgICAgICAgICAgICBzaXplOiBzaXplUGFnZSxcclxuICAgICAgICAgICAgICAgIG9yZGVyQnk6IHRoaXMuY3VycmVudFBhcmFtcy5zb3J0Lm1hcCgoc29ydCkgPT4gKHsgZmllbGQ6IHNvcnQuZmllbGQsIG9yZGVyOiBzb3J0Lm9yZGVyID09PSAxID8gXCJhc2NcIiA6IFwiZGVzY1wiIH0pKSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmludm9pY2VTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5pbnZvaWNlTG9va3VwRmlsdGVyKGZpbHRlckJvZHkpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZERhdGEgPSByZXN1bHQ/LnJlc3VsdD8uaW52b2ljZXMgfHwgW107XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZ3JpZERhdGEubGVuZ3RoID09PSAwICYmICFzZWFyY2hWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbnRIYXZlQW55SW52b2ljZSA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZFRvdGFsUmVjb3JkcyA9IHJlc3VsdC5yZXN1bHQudG90YWxFbGVtZW50cztcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmluZm8oXCJFcnJvIGFvIGJ1c2NhciBub3RhcyBmaXNjYWlzOiBcIiwgZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsUG9vbGluZygpIHtcclxuICAgICAgICB0aGlzLmludm9pY2VTZXJ2aWNlLmNhbmNlbEFjdGl2ZVBvb2xpbmcoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBhZGQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgdGhpcy53aGVuU2VsZWN0SW52b2ljZXMuZW1pdCh0aGlzLnNlbGVjdGVkKTtcclxuICAgICAgICAgICAgdGhpcy5yZXNldFNwZWNzKCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgY29uc29sZS5pbmZvKFwiRXJybyBhbyBzZWxlY2lvbmFyIG5vdGFzIGZpc2NhaXM6IFwiLCBlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVzZXRTcGVjcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkID0gW107XHJcbiAgICAgICAgdGhpcy5kb250SGF2ZUFueUludm9pY2UgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmdyaWREYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5ncmlkTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZ3JpZFRvdGFsUmVjb3JkcyA9IDA7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgY2FuY2VsKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIHRoaXMucmVzZXRTcGVjcygpO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|