@seniorsistemas/yms-integration 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/seniorsistemas-yms-integration.umd.js +2922 -1185
- package/bundles/seniorsistemas-yms-integration.umd.js.map +1 -1
- package/bundles/seniorsistemas-yms-integration.umd.min.js +1 -1
- package/bundles/seniorsistemas-yms-integration.umd.min.js.map +1 -1
- package/esm2015/index.js +9 -1
- package/esm2015/seniorsistemas-yms-integration.js +48 -38
- package/esm2015/src/devices/balancas/balancas.service.js +4 -1
- package/esm2015/src/devices/balancas/visualiar-balanca/visualizar-balanca.component.js +8 -25
- package/esm2015/src/devices/balancas/weightScale.js +1 -1
- package/esm2015/src/devices/cancelas/cancelas.service.js +5 -1
- package/esm2015/src/devices/cancelas/controlador-cancela/controlador-cancela.component.js +91 -21
- package/esm2015/src/devices/cancelas/gate.js +1 -1
- package/esm2015/src/devices/dock/dock.module.js +12 -0
- package/esm2015/src/devices/dock/dock.service.js +22 -0
- package/esm2015/src/erp-senior/components/nota-form/nota-form.component.js +24 -9
- package/esm2015/src/erp-senior/core/entities/agenda/agenda.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/cidade/cidade.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/contrato-compra/contrato-compra.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/contrato-compra-item/contrato-compra-item.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/derivacao/derivacao.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/devolucao/devolucao.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/empresa/empresa.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/estado/estado.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/expedicao/expedicao.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/familia-produto/familia-produto.js +5 -7
- package/esm2015/src/erp-senior/core/entities/familia-produto/familia-produto.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/filial/filial.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/log-integracao/log-integracao.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/motorista/motorista.js +1 -1
- package/esm2015/src/erp-senior/core/entities/ordem-compra/ordem-compra.module.js +7 -2
- package/esm2015/src/erp-senior/core/entities/pais/pais.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/pedido-venda/pedido-venda.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/pedido-venda-item/pedido-venda-item.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/pessoa/pessoa.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco-dto.js +1 -5
- package/esm2015/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.js +1 -7
- package/esm2015/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/pessoa-fisica/pessoa-fisica.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/pessoa-juridica/pessoa-juridica.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/processo-avulso/processo-avulso.module.js +7 -2
- package/esm2015/src/erp-senior/core/entities/produto/produto.js +1 -9
- package/esm2015/src/erp-senior/core/entities/produto/produto.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/recebimento-contrato/recebimento.module.js +7 -2
- package/esm2015/src/erp-senior/core/entities/recebimento-ordem-compra/recebimento-ordem-compra.module.js +11 -12
- package/esm2015/src/erp-senior/core/entities/royalty/royalty.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/safra/safra.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/transgenia/transgenia.js +1 -1
- package/esm2015/src/erp-senior/core/entities/transportadora/transportadora.module.js +2 -2
- package/esm2015/src/erp-senior/core/entities/unidade-medida/unidade-medida.module.js +2 -2
- package/esm2015/src/erp-senior/core/verifica-nota-fiscal/verificaNotaFiscal.js +9 -1
- package/esm2015/src/erp-senior/devolucao/form/devolucao-form.component.js +12 -7
- package/esm2015/src/erp-senior/expedicao/form/expedicao-form.component.js +15 -21
- package/esm2015/src/erp-senior/processo-avulso/form/processo-avulso-form.component.js +7 -2
- package/esm2015/src/erp-senior/recebimento/contrato-form/contrato-form.component.js +20 -4
- package/esm2015/src/erp-senior/recebimento/form/recebimento-form.component.js +242 -199
- package/esm2015/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.js +29 -20
- package/esm2015/src/erp-senior/recebimento-ordem-compra/ordem-compra-form/ordem-compra-form.component.js +13 -4
- package/esm2015/src/sam-senior/components/credencial-form/credencial-form.component.js +126 -0
- package/esm2015/src/sam-senior/components/scheduling/lobby.service.js +22 -0
- package/esm2015/src/sam-senior/components/scheduling/scheduling.component.js +191 -0
- package/esm2015/src/sam-senior/components/scheduling/shechuling.service.js +40 -0
- package/esm2015/src/sam-senior/components/visited-info/visited-info.component.js +59 -0
- package/esm2015/src/sam-senior/components/visited-info/visited-info.service.js +26 -0
- package/esm2015/src/sam-senior/components/visitor-edit/visitor-edit-form/visitante-form/visitor-edit-form.component.js +84 -0
- package/esm2015/src/sam-senior/components/visitor-edit/visitor-edit-list/visitor-edit-list.component.js +364 -0
- package/esm2015/src/sam-senior/components/visitor-list/visitor-list.component.js +64 -0
- package/esm2015/src/sam-senior/components/visitor-list/visitor-list.service.js +26 -0
- package/esm2015/src/sam-senior/components/visitor-list.module.js +36 -0
- package/esm2015/src/sam-senior/core/entity-service.js +102 -0
- package/esm2015/src/sam-senior/core/lookup.js +184 -0
- package/esm2015/src/sam-senior/core/utils.js +26 -0
- package/esm2015/src/sam-senior/entities/credential-card-dto.js +9 -0
- package/esm2015/src/sam-senior/entities/lobby-dto.js +3 -0
- package/esm2015/src/sam-senior/entities/scheduling-dto.js +3 -0
- package/esm2015/src/sam-senior/entities/scheduling-visitors.js +3 -0
- package/esm2015/src/sam-senior/entities/scheduling.js +26 -0
- package/esm2015/src/sam-senior/entities/visited.js +3 -0
- package/esm2015/src/sam-senior/entities/visitor-credentials-dto.js +6 -0
- package/esm2015/src/sam-senior/entities/visitor-dto.js +1 -0
- package/esm2015/src/sam-senior/entities/visitor-situation.js +10 -0
- package/esm2015/src/sam-senior/form/form-sam.component.js +61 -0
- package/esm2015/src/sam-senior/models/card-credential.js +7 -0
- package/esm2015/src/sam-senior/models/visit-situation.js +8 -0
- package/esm2015/src/sam-senior/models/visitor-situation.js +10 -0
- package/esm2015/src/sam-senior/models/visitor.js +23 -0
- package/esm2015/src/sam-senior/sam-senior.module.js +75 -0
- package/esm2015/src/utils/build-form-field.js +28 -0
- package/esm5/index.js +9 -1
- package/esm5/seniorsistemas-yms-integration.js +48 -38
- package/esm5/src/devices/balancas/balancas.service.js +4 -1
- package/esm5/src/devices/balancas/visualiar-balanca/visualizar-balanca.component.js +8 -25
- package/esm5/src/devices/balancas/weightScale.js +1 -1
- package/esm5/src/devices/cancelas/cancelas.service.js +5 -1
- package/esm5/src/devices/cancelas/controlador-cancela/controlador-cancela.component.js +94 -21
- package/esm5/src/devices/cancelas/gate.js +1 -1
- package/esm5/src/devices/dock/dock.module.js +15 -0
- package/esm5/src/devices/dock/dock.service.js +25 -0
- package/esm5/src/erp-senior/components/nota-form/nota-form.component.js +24 -9
- package/esm5/src/erp-senior/core/entities/agenda/agenda.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/cidade/cidade.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/contrato-compra/contrato-compra.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/contrato-compra-item/contrato-compra-item.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/derivacao/derivacao.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/devolucao/devolucao.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/empresa/empresa.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/estado/estado.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/expedicao/expedicao.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/familia-produto/familia-produto.js +5 -7
- package/esm5/src/erp-senior/core/entities/familia-produto/familia-produto.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/filial/filial.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/log-integracao/log-integracao.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/motorista/motorista.js +1 -1
- package/esm5/src/erp-senior/core/entities/ordem-compra/ordem-compra.module.js +7 -2
- package/esm5/src/erp-senior/core/entities/pais/pais.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/pedido-venda/pedido-venda.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/pedido-venda-item/pedido-venda-item.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/pessoa/pessoa.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco-dto.js +1 -5
- package/esm5/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.js +1 -7
- package/esm5/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/pessoa-fisica/pessoa-fisica.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/pessoa-juridica/pessoa-juridica.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/processo-avulso/processo-avulso.module.js +7 -2
- package/esm5/src/erp-senior/core/entities/produto/produto.js +1 -9
- package/esm5/src/erp-senior/core/entities/produto/produto.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/recebimento-contrato/recebimento.module.js +7 -2
- package/esm5/src/erp-senior/core/entities/recebimento-ordem-compra/recebimento-ordem-compra.module.js +11 -12
- package/esm5/src/erp-senior/core/entities/royalty/royalty.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/safra/safra.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/transgenia/transgenia.js +1 -1
- package/esm5/src/erp-senior/core/entities/transportadora/transportadora.module.js +2 -2
- package/esm5/src/erp-senior/core/entities/unidade-medida/unidade-medida.module.js +2 -2
- package/esm5/src/erp-senior/core/verifica-nota-fiscal/verificaNotaFiscal.js +9 -1
- package/esm5/src/erp-senior/devolucao/form/devolucao-form.component.js +12 -7
- package/esm5/src/erp-senior/expedicao/form/expedicao-form.component.js +15 -21
- package/esm5/src/erp-senior/processo-avulso/form/processo-avulso-form.component.js +7 -2
- package/esm5/src/erp-senior/recebimento/contrato-form/contrato-form.component.js +21 -4
- package/esm5/src/erp-senior/recebimento/form/recebimento-form.component.js +244 -203
- package/esm5/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.js +29 -20
- package/esm5/src/erp-senior/recebimento-ordem-compra/ordem-compra-form/ordem-compra-form.component.js +14 -4
- package/esm5/src/sam-senior/components/credencial-form/credencial-form.component.js +144 -0
- package/esm5/src/sam-senior/components/scheduling/lobby.service.js +25 -0
- package/esm5/src/sam-senior/components/scheduling/scheduling.component.js +199 -0
- package/esm5/src/sam-senior/components/scheduling/shechuling.service.js +43 -0
- package/esm5/src/sam-senior/components/visited-info/visited-info.component.js +56 -0
- package/esm5/src/sam-senior/components/visited-info/visited-info.service.js +29 -0
- package/esm5/src/sam-senior/components/visitor-edit/visitor-edit-form/visitante-form/visitor-edit-form.component.js +87 -0
- package/esm5/src/sam-senior/components/visitor-edit/visitor-edit-list/visitor-edit-list.component.js +384 -0
- package/esm5/src/sam-senior/components/visitor-list/visitor-list.component.js +82 -0
- package/esm5/src/sam-senior/components/visitor-list/visitor-list.service.js +29 -0
- package/esm5/src/sam-senior/components/visitor-list.module.js +37 -0
- package/esm5/src/sam-senior/core/entity-service.js +107 -0
- package/esm5/src/sam-senior/core/lookup.js +229 -0
- package/esm5/src/sam-senior/core/utils.js +28 -0
- package/esm5/src/sam-senior/entities/credential-card-dto.js +13 -0
- package/esm5/src/sam-senior/entities/lobby-dto.js +7 -0
- package/esm5/src/sam-senior/entities/scheduling-dto.js +7 -0
- package/esm5/src/sam-senior/entities/scheduling-visitors.js +7 -0
- package/esm5/src/sam-senior/entities/scheduling.js +30 -0
- package/esm5/src/sam-senior/entities/visited.js +7 -0
- package/esm5/src/sam-senior/entities/visitor-credentials-dto.js +8 -0
- package/esm5/src/sam-senior/entities/visitor-dto.js +1 -0
- package/esm5/src/sam-senior/entities/visitor-situation.js +10 -0
- package/esm5/src/sam-senior/form/form-sam.component.js +64 -0
- package/esm5/src/sam-senior/models/card-credential.js +7 -0
- package/esm5/src/sam-senior/models/visit-situation.js +8 -0
- package/esm5/src/sam-senior/models/visitor-situation.js +10 -0
- package/esm5/src/sam-senior/models/visitor.js +32 -0
- package/esm5/src/sam-senior/sam-senior.module.js +76 -0
- package/esm5/src/utils/build-form-field.js +29 -0
- package/fesm2015/seniorsistemas-yms-integration.js +2763 -1193
- package/fesm2015/seniorsistemas-yms-integration.js.map +1 -1
- package/fesm5/seniorsistemas-yms-integration.js +2888 -1169
- package/fesm5/seniorsistemas-yms-integration.js.map +1 -1
- package/index.d.ts +7 -0
- package/package.json +3 -3
- package/seniorsistemas-yms-integration.d.ts +47 -37
- package/seniorsistemas-yms-integration.metadata.json +1 -1
- package/src/devices/balancas/balancas.service.d.ts +1 -0
- package/src/devices/balancas/visualiar-balanca/visualizar-balanca.component.d.ts +2 -11
- package/src/devices/balancas/weightScale.d.ts +2 -2
- package/src/devices/cancelas/cancelas.service.d.ts +1 -0
- package/src/devices/cancelas/controlador-cancela/controlador-cancela.component.d.ts +12 -8
- package/src/devices/cancelas/gate.d.ts +2 -0
- package/src/devices/dock/dock.module.d.ts +2 -0
- package/src/devices/dock/dock.service.d.ts +10 -0
- package/src/erp-senior/components/nota-form/nota-form.component.d.ts +7 -1
- package/src/erp-senior/core/entities/motorista/motorista.d.ts +3 -0
- package/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco-dto.d.ts +2 -0
- package/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.d.ts +2 -0
- package/src/erp-senior/core/entities/transgenia/transgenia.d.ts +2 -0
- package/src/erp-senior/core/verifica-nota-fiscal/verificaNotaFiscal.d.ts +2 -0
- package/src/erp-senior/devolucao/form/devolucao-form.component.d.ts +2 -0
- package/src/erp-senior/processo-avulso/form/processo-avulso-form.component.d.ts +2 -0
- package/src/erp-senior/recebimento/contrato-form/contrato-form.component.d.ts +10 -4
- package/src/erp-senior/recebimento/form/recebimento-form.component.d.ts +25 -10
- package/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.d.ts +4 -2
- package/src/erp-senior/recebimento-ordem-compra/ordem-compra-form/ordem-compra-form.component.d.ts +6 -2
- package/src/sam-senior/components/credencial-form/credencial-form.component.d.ts +29 -0
- package/src/sam-senior/components/scheduling/lobby.service.d.ts +9 -0
- package/src/sam-senior/components/scheduling/scheduling.component.d.ts +43 -0
- package/src/sam-senior/components/scheduling/shechuling.service.d.ts +14 -0
- package/src/sam-senior/components/visited-info/visited-info.component.d.ts +15 -0
- package/src/sam-senior/components/visited-info/visited-info.service.d.ts +10 -0
- package/src/sam-senior/components/visitor-edit/visitor-edit-form/visitante-form/visitor-edit-form.component.d.ts +22 -0
- package/src/sam-senior/components/visitor-edit/visitor-edit-list/visitor-edit-list.component.d.ts +56 -0
- package/src/sam-senior/components/visitor-list/visitor-list.component.d.ts +16 -0
- package/src/sam-senior/components/visitor-list/visitor-list.service.d.ts +10 -0
- package/src/sam-senior/components/visitor-list.module.d.ts +5 -0
- package/src/sam-senior/core/entity-service.d.ts +35 -0
- package/src/sam-senior/core/lookup.d.ts +38 -0
- package/src/sam-senior/core/utils.d.ts +18 -0
- package/src/sam-senior/entities/credential-card-dto.d.ts +12 -0
- package/src/sam-senior/entities/lobby-dto.d.ts +5 -0
- package/src/sam-senior/entities/scheduling-dto.d.ts +11 -0
- package/src/sam-senior/entities/scheduling-visitors.d.ts +6 -0
- package/src/sam-senior/entities/scheduling.d.ts +12 -0
- package/src/sam-senior/entities/visited.d.ts +4 -0
- package/src/sam-senior/entities/visitor-credentials-dto.d.ts +6 -0
- package/src/sam-senior/entities/visitor-dto.d.ts +10 -0
- package/src/sam-senior/entities/visitor-situation.d.ts +8 -0
- package/src/sam-senior/form/form-sam.component.d.ts +18 -0
- package/src/sam-senior/models/card-credential.d.ts +16 -0
- package/src/sam-senior/models/visit-situation.d.ts +6 -0
- package/src/sam-senior/models/visitor-situation.d.ts +8 -0
- package/src/sam-senior/models/visitor.d.ts +24 -0
- package/src/sam-senior/sam-senior.module.d.ts +6 -0
- package/src/utils/build-form-field.d.ts +9 -0
|
@@ -8,17 +8,21 @@ import { Subject } from 'rxjs';
|
|
|
8
8
|
import * as _moment from "moment";
|
|
9
9
|
import { OrdemCompraService } from "../../core/entities/ordem-compra/ordem-compra.service";
|
|
10
10
|
import { OrdemCompra } from "../../core/entities/ordem-compra/ordem-compra";
|
|
11
|
+
import { ActivatedRoute } from "@angular/router";
|
|
12
|
+
import { takeUntil } from "rxjs/operators";
|
|
11
13
|
const moment = _moment;
|
|
12
14
|
let OrdemCompraFormComponent = class OrdemCompraFormComponent {
|
|
13
|
-
constructor(dialogRef, dialogConfig, ordemCompraService, translate, fb) {
|
|
15
|
+
constructor(dialogRef, dialogConfig, ordemCompraService, translate, fb, route) {
|
|
14
16
|
this.dialogRef = dialogRef;
|
|
15
17
|
this.dialogConfig = dialogConfig;
|
|
16
18
|
this.ordemCompraService = ordemCompraService;
|
|
17
19
|
this.translate = translate;
|
|
18
20
|
this.fb = fb;
|
|
21
|
+
this.route = route;
|
|
19
22
|
this.ordemCompraLookupDisplayFields = ["codigo", "empresa.nome"];
|
|
20
23
|
this.ordemCompraAdvancedDisplayFields = ["id", "codigo", "empresa.nome", "filial.nome", "pessoa.nome"];
|
|
21
24
|
this.ordemCompraLookupSeparator = " - ";
|
|
25
|
+
this.permissions = {};
|
|
22
26
|
this.ngUnsubscribe = new Subject();
|
|
23
27
|
}
|
|
24
28
|
ngOnInit() {
|
|
@@ -30,6 +34,10 @@ let OrdemCompraFormComponent = class OrdemCompraFormComponent {
|
|
|
30
34
|
this.formGroup = this.getForm();
|
|
31
35
|
this.ordemCompraSearchFields = this.getOrdemCompraFields();
|
|
32
36
|
this.ordemCompraSearchGridFields = this.getOrdemCompraGridFields();
|
|
37
|
+
this.route.data.pipe(takeUntil(this.ngUnsubscribe)).subscribe((dataChanges) => this.onRouteDataChange(dataChanges));
|
|
38
|
+
}
|
|
39
|
+
onRouteDataChange(dataChanges) {
|
|
40
|
+
this.permissions = dataChanges.allPermissions.agenda;
|
|
33
41
|
}
|
|
34
42
|
ngOnDestroy() {
|
|
35
43
|
this.ngUnsubscribe.next();
|
|
@@ -174,13 +182,14 @@ let OrdemCompraFormComponent = class OrdemCompraFormComponent {
|
|
|
174
182
|
};
|
|
175
183
|
OrdemCompraFormComponent = tslib_1.__decorate([
|
|
176
184
|
Component({
|
|
177
|
-
template: "<form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\">\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"ordemCompra\">Ordem Compra</label>\n <s-lookup dataKey=\"id\" name=\"ordemCompra\"\n formControlName=\"ordemCompra\" [searchFields]=\"ordemCompraSearchFields\"\n [searchGridFields]=\"ordemCompraSearchGridFields\"\n [searchGridData]=\"ordemCompraSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"ordemCompraLookupSuggestions\"\n (onLookupRequest)=\"onOrdemCompraLookupRequest($event)\"\n (onSearchRequest)=\"onOrdemCompraSearchRequest($event)\"\n lookupDisplayField=\"label\" [searchTotalRecords]=\"ordemCompraSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.recebimento_ordem_compra_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: ordemCompraSearchTotalRecords}\">\n </s-lookup>\n </div>\n </div>\n \n <div style=\"margin-top: 10px;\">\n <div class=\"separator\"></div>\n <s-button style=\"float: right;\" [label]=\"'save' | translate\" priority=\"primary\" (onClick)=\"save()\"></s-button>\n <s-button style=\"float: right;\" [label]=\"'cancel' | translate\" priority=\"link\" (onClick)=\"close()\"></s-button>\n </div>\n</form>"
|
|
185
|
+
template: "<form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\">\n <div class=\"ui-g-12 ui-md-6\">\n <label for=\"ordemCompra\">Ordem Compra</label>\n <s-lookup dataKey=\"id\" name=\"ordemCompra\"\n formControlName=\"ordemCompra\" [searchFields]=\"ordemCompraSearchFields\"\n [searchGridFields]=\"ordemCompraSearchGridFields\"\n [searchGridData]=\"ordemCompraSearchGridData\" [multiple]=\"false\"\n [lookupSuggestions]=\"ordemCompraLookupSuggestions\"\n (onLookupRequest)=\"onOrdemCompraLookupRequest($event)\"\n (onSearchRequest)=\"onOrdemCompraSearchRequest($event)\"\n lookupDisplayField=\"label\" [searchTotalRecords]=\"ordemCompraSearchTotalRecords\"\n [searchTitle]=\"'yms.erp.recebimento_ordem_compra_search_title' | translate\"\n [searchEmptyTitle]=\"'yms.erp.nothing_found' | translate\"\n [filterLabel]=\"'yms.erp.filter' | translate\" [clearLabel]=\"'yms.erp.clear' | translate\"\n [cancelLabel]=\"'yms.erp.cancel' | translate\" [selectLabel]=\"'yms.erp.select' | translate\"\n [searchTotalRecordsLabel]=\"'yms.erp.total_records' | translate: {value: ordemCompraSearchTotalRecords}\">\n </s-lookup>\n </div>\n </div>\n \n <div style=\"margin-top: 10px;\">\n <div class=\"separator\"></div>\n <s-button style=\"float: right;\" [label]=\"'save' | translate\" priority=\"primary\" (onClick)=\"save()\"\n [disabled]=\"!permissions.editar\"></s-button>\n <s-button style=\"float: right;\" [label]=\"'cancel' | translate\" priority=\"link\" (onClick)=\"close()\"></s-button>\n </div>\n</form>"
|
|
178
186
|
}),
|
|
179
187
|
tslib_1.__metadata("design:paramtypes", [DynamicDialogRef,
|
|
180
188
|
DynamicDialogConfig,
|
|
181
189
|
OrdemCompraService,
|
|
182
190
|
TranslateService,
|
|
183
|
-
FormBuilder
|
|
191
|
+
FormBuilder,
|
|
192
|
+
ActivatedRoute])
|
|
184
193
|
], OrdemCompraFormComponent);
|
|
185
194
|
export { OrdemCompraFormComponent };
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZW0tY29tcHJhLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy9lcnAtc2VuaW9yL3JlY2ViaW1lbnRvLW9yZGVtLWNvbXByYS9vcmRlbS1jb21wcmEtZm9ybS9vcmRlbS1jb21wcmEtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUkzRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDNUUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBS3ZCLElBQWEsd0JBQXdCLEdBQXJDLE1BQWEsd0JBQXdCO0lBa0JqQyxZQUNZLFNBQTJCLEVBQzNCLFlBQWlDLEVBQ2pDLGtCQUFzQyxFQUN0QyxTQUEyQixFQUMzQixFQUFlO1FBSmYsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMs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U0FBUyxDQUFDO1FBQ1AsdXNEQUFpRDtLQUNwRCxDQUFDOzZDQW9CeUIsZ0JBQWdCO1FBQ2IsbUJBQW1CO1FBQ2Isa0JBQWtCO1FBQzNCLGdCQUFnQjtRQUN2QixXQUFXO0dBdkJsQix3QkFBd0IsQ0FvTnBDO1NBcE5ZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciwgRm9ybUFycmF5LCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgRHluYW1pY0RpYWxvZ1JlZiwgRHluYW1pY0RpYWxvZ0NvbmZpZyB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuaW1wb3J0IHsgRm9ybUZpZWxkLCBGaWVsZFR5cGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyBfbW9tZW50IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7IE9yZGVtQ29tcHJhU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2VudGl0aWVzL29yZGVtLWNvbXByYS9vcmRlbS1jb21wcmEuc2VydmljZVwiO1xuaW1wb3J0IHsgUGVzc29hIH0gZnJvbSAnLi8uLi8uLi9jb3JlL2VudGl0aWVzL3Blc3NvYS9wZXNzb2EnO1xuaW1wb3J0IHsgRmlsaWFsIH0gZnJvbSAnLi8uLi8uLi9jb3JlL2VudGl0aWVzL2ZpbGlhbC9maWxpYWwnO1xuaW1wb3J0IHsgQWdlbmRhIH0gZnJvbSBcIi4uLy4uL2NvcmUvZW50aXRpZXMvYWdlbmRhL2FnZW5kYVwiO1xuaW1wb3J0IHsgT3JkZW1Db21wcmEgfSBmcm9tIFwiLi4vLi4vY29yZS9lbnRpdGllcy9vcmRlbS1jb21wcmEvb3JkZW0tY29tcHJhXCI7XG5jb25zdCBtb21lbnQgPSBfbW9tZW50O1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vb3JkZW0tY29tcHJhLWZvcm0uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVtQ29tcHJhRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgICBwdWJsaWMgb3JkZW1Db21wcmFTZWFyY2hGaWVsZHM6IEZvcm1GaWVsZFtdO1xuICAgIHB1YmxpYyBvcmRlbUNvbXByYVNlYXJjaEdyaWRGaWVsZHM6IEZvcm1GaWVsZFtdO1xuICAgIHB1YmxpYyBvcmRlbUNvbXByYVNlYXJjaEdyaWREYXRhOiBPcmRlbUNvbXByYVtdO1xuICAgIHB1YmxpYyBvcmRlbUNvbXByYUxvb2t1cERpc3BsYXlGaWVsZHMgPSBbXCJjb2RpZ29cIiwgXCJlbXByZXNhLm5vbWVcIl07XG4gICAgcHVibGljIG9yZGVtQ29tcHJhQWR2YW5jZWREaXNwbGF5RmllbGRzID0gW1wiaWRcIiwgXCJjb2RpZ29cIiwgXCJlbXByZXNhLm5vbWVcIiwgXCJmaWxpYWwubm9tZVwiLCBcInBlc3NvYS5ub21lXCJdO1xuICAgIHB1YmxpYyBvcmRlbUNvbXByYUxvb2t1cFNlcGFyYXRvciA9IFwiIC0gXCI7XG4gICAgcHVibGljIG9yZGVtQ29tcHJhTG9va3VwU3VnZ2VzdGlvbnM6IE9yZGVtQ29tcHJhW107XG4gICAgcHVibGljIG9yZGVtQ29tcHJhU2VhcmNoVG90YWxSZWNvcmRzOiBudW1iZXI7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgYWdlbmRhOiBBZ2VuZGE7XG4gICAgcHJpdmF0ZSBmaWxpYWw6IEZpbGlhbDtcbiAgICBwcml2YXRlIGZvcm5lY2Vkb3I6IFBlc3NvYTtcbiAgICBwcml2YXRlIG9yZGVuc0NvbXByYTogc3RyaW5nW107XG5cbiAgICBjb25zdHJ1Y3RvciAoXG4gICAgICAgIHByaXZhdGUgZGlhbG9nUmVmOiBEeW5hbWljRGlhbG9nUmVmLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ0NvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBvcmRlbUNvbXByYVNlcnZpY2U6IE9yZGVtQ29tcHJhU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyXG4gICAgKSB7IH1cbiAgIFxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHRoaXMuZGlhbG9nQ29uZmlnO1xuICAgICAgICB0aGlzLmFnZW5kYSA9IGRhdGEuYWdlbmRhO1xuICAgICAgICB0aGlzLmZpbGlhbCA9IGRhdGEuZmlsaWFsO1xuICAgICAgICB0aGlzLmZvcm5lY2Vkb3IgPSBkYXRhLmZvcm5lY2Vkb3I7XG4gICAgICAgIHRoaXMub3JkZW5zQ29tcHJhID0gZGF0YS5vcmRlbnMubWFwKCh7IG9yZGVtQ29tcHJhOiBvcmRlbUNvbXByYSB9OiBhbnkpID0+ICEhb3JkZW1Db21wcmEgPyBvcmRlbUNvbXByYS5pZCA6IHVuZGVmaW5lZCkuZmlsdGVyKCh2YWw6IGFueSkgPT4gISF2YWwpO1xuXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5nZXRGb3JtKCk7XG5cbiAgICAgICAgdGhpcy5vcmRlbUNvbXByYVNlYXJjaEZpZWxkcyA9IHRoaXMuZ2V0T3JkZW1Db21wcmFGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5vcmRlbUNvbXByYVNlYXJjaEdyaWRGaWVsZHMgPSB0aGlzLmdldE9yZGVtQ29tcHJhR3JpZEZpZWxkcygpO1xuICAgIH1cbiAgICBcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uT3JkZW1Db21wcmFMb29rdXBSZXF1ZXN0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3Qgc29ydCA9IHRoaXMub3JkZW1Db21wcmFMb29rdXBEaXNwbGF5RmllbGRzLm1hcCgoZmllbGQ6IGFueSkgPT4gKHsgZmllbGQsIG9yZGVyOiAnQXNjJyB9KSlbMF07XG5cbiAgICAgICAgY29uc3QgZmlsdGVyOiBhbnkgPSB7XG4gICAgICAgICAgICBudW1lcm86ICt2YWx1ZS5yZXBsYWNlKC9cXEQvZywgXCJcIilcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBmaWxpYWwgPSB0aGlzLmZpbGlhbDtcbiAgICAgICAgaWYgKGZpbGlhbCAmJiBmaWxpYWwuZW1wcmVzYSAmJiBmaWxpYWwuZW1wcmVzYS5pZCkge1xuICAgICAgICAgICAgZmlsdGVyLmVtcHJlc2FJZCA9IGZpbGlhbC5lbXByZXNhLmlkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcmRlbUNvbXByYVNlcnZpY2VcbiAgICAgICAgICAgIC5saXN0T3JkZW5zQ29tcHJhKHtcbiAgICAgICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgICAgICAgcGVzc29hSWQ6ICh0aGlzLmZvcm5lY2Vkb3IgfHwge2lkOiB1bmRlZmluZWR9KS5pZCxcbiAgICAgICAgICAgICAgICBmaWxpYWxJZDogKGZpbGlhbCB8fCB7aWQ6IHVuZGVmaW5lZH0pLmlkLFxuICAgICAgICAgICAgICAgIHRpcG9BZ2VuZGFtZW50b0lkOiB0aGlzLmFnZW5kYSAmJiB0aGlzLmFnZW5kYS50aXBvQWdlbmRhbWVudG8gPyB0aGlzLmFnZW5kYS50aXBvQWdlbmRhbWVudG8uaWQgOiBudWxsLFxuICAgICAgICAgICAgICAgIG9yZGVuc0NvbXByYVNlbGVjaW9uYWRvczogdGhpcy5vcmRlbnNDb21wcmEsXG4gICAgICAgICAgICAgICAgcGFnaW5hOiB7XG4gICAgICAgICAgICAgICAgICAgIGxpbWl0OiAzMCxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxuICAgICAgICAgICAgICAgICAgICBsaXN0YU9yZGVuYWNhbzogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbXBvOiBzb3J0LmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVuYWNhbzogc29ydC5vcmRlclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZW1Db21wcmFMb29rdXBTdWdnZXN0aW9ucyA9IGxpc3QuY29udGVudHMubWFwKE9yZGVtQ29tcHJhLmZyb21EdG8pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uT3JkZW1Db21wcmFTZWFyY2hSZXF1ZXN0KGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgeyBmaXJzdCwgcm93cywgbXVsdGlTb3J0TWV0YSwgZmlsdGVyRGF0YSB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBmaXJzdCAvIHJvd3M7XG4gICAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZ2V0T3JkZW1Db21wcmFGaWVsZHMoKVxuICAgICAgICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+IGZpbHRlckRhdGFbbmFtZV0gIT0gdW5kZWZpbmVkICYmIGZpbHRlckRhdGFbbmFtZV0gIT0gXCJcIilcbiAgICAgICAgICAgIC5yZWR1Y2UoKGEsIGI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmEsXG4gICAgICAgICAgICAgICAgICAgIFtiLm5hbWVdOiBmaWx0ZXJEYXRhW2IubmFtZV1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSwge30gYXMgYW55KTtcblxuICAgICAgICBjb25zdCBmaWxpYWwgPSB0aGlzLmZpbGlhbDtcbiAgICAgICAgaWYgKGZpbGlhbCAmJiBmaWxpYWwuZW1wcmVzYSAmJiBmaWxpYWwuZW1wcmVzYS5pZCkge1xuICAgICAgICAgICAgZmlsdGVyLmVtcHJlc2FJZCA9IGZpbGlhbC5lbXByZXNhLmlkO1xuICAgICAgICB9XG5cbiAgICAgICAgZmlsdGVyLmRhdGFFbWlzc2FvID0gZmlsdGVyLmRhdGFFbWlzc2FvICYmIG1vbWVudChmaWx0ZXIuZGF0YUVtaXNzYW8pLmZvcm1hdChcIllZWVktTU0tRERcIik7XG4gICAgICAgIGNvbnN0IHNvcnQgPSAobXVsdGlTb3J0TWV0YSB8fCBbXSkubGVuZ3RoID8geyBmaWVsZDogbXVsdGlTb3J0TWV0YVswXS5maWVsZCwgb3JkZXI6IG11bHRpU29ydE1ldGFbMF0ub3JkZXIgPT09IDEgPyAnQXNjJyA6ICdEZXNjJyB9IDogeyBmaWVsZDogJ251bWVybycsIG9yZGVyOiAnQXNjJyB9O1xuXG4gICAgICAgIHRoaXMub3JkZW1Db21wcmFTZXJ2aWNlXG4gICAgICAgICAgICAubGlzdE9yZGVuc0NvbXByYSh7XG4gICAgICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgICAgICAgIHBlc3NvYUlkOiAodGhpcy5mb3JuZWNlZG9yIHx8IHtpZDogdW5kZWZpbmVkfSkuaWQsXG4gICAgICAgICAgICAgICAgZmlsaWFsSWQ6IChmaWxpYWwgfHwge2lkOiB1bmRlZmluZWR9KS5pZCxcbiAgICAgICAgICAgICAgICB0aXBvQWdlbmRhbWVudG9JZDogdGhpcy5hZ2VuZGEgJiYgdGhpcy5hZ2VuZGEudGlwb0FnZW5kYW1lbnRvID8gdGhpcy5hZ2VuZGEudGlwb0FnZW5kYW1lbnRvLmlkIDogbnVsbCxcbiAgICAgICAgICAgICAgICBvcmRlbnNDb21wcmFTZWxlY2lvbmFkb3M6IHRoaXMub3JkZW5zQ29tcHJhLFxuICAgICAgICAgICAgICAgIHBhZ2luYToge1xuICAgICAgICAgICAgICAgICAgICBsaW1pdDogcm93cyxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiBwYWdlLFxuICAgICAgICAgICAgICAgICAgICBsaXN0YU9yZGVuYWNhbzogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbXBvOiBzb3J0LmZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVuYWNhbzogc29ydC5vcmRlclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZW1Db21wcmFTZWFyY2hHcmlkRGF0YSA9IGxpc3QuY29udGVudHMubWFwKE9yZGVtQ29tcHJhLmZyb21EdG8pO1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZW1Db21wcmFTZWFyY2hUb3RhbFJlY29yZHMgPSBsaXN0LnRvdGFsRWxlbWVudHM7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UmVjUGFnaW5hKGZpcnN0OiBudW1iZXIsIHJvd3M6IG51bWJlciwgc29ydDogYW55KSB7XG4gICAgICAgIGNvbnN0IHBhZ2UgPSBmaXJzdCAvIHJvd3M7XG4gICAgICAgIGNvbnN0IG9yZGVyQnkgPSBzb3J0ICYmIHNvcnQubGVuZ3RoIFxuICAgICAgICAgICAgPyBzb3J0Lm1hcCgoczogYW55KSA9PiAgKHsgY2FtcG86IHMuZmllbGQsIG9yZGVuYWNhbzogcy5vcmRlciA9PT0gMSA/ICdBc2MnIDogJ0Rlc2MnIH0pKSBcbiAgICAgICAgICAgIDogW107XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG9mZnNldDogcGFnZSxcbiAgICAgICAgICAgIGxpbWl0OiByb3dzLFxuICAgICAgICAgICAgbGlzdGFPcmRlbmFjYW86IG9yZGVyQnlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVBbGxGb3JtRmllbGRzKGZvcm1Hcm91cDogRm9ybUdyb3VwKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChmaWVsZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChmaWVsZCk7XG4gICAgICAgICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCl7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoY29udHJvbCk7XG4gICAgICAgICAgICB9IFxuICAgICAgICAgICAgZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2wuY29udHJvbHMuZm9yRWFjaCgoZm9ybTogRm9ybUdyb3VwKSA9PiB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzYXZlKCkge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLnZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHModGhpcy5mb3JtR3JvdXApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2xvc2UodGhpcy5mb3JtR3JvdXAuZ2V0KCdvcmRlbUNvbXByYScpLnZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoZGF0YT86IGFueSkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShkYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZvcm0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIG9yZGVtQ29tcHJhOiBbdW5kZWZpbmVkLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9yZGVtQ29tcHJhRmllbGRzKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJjb2RpZ29cIixcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmVycC5vcmRlbV9jb21wcmFfY29kaWdvXCIpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiZW1wcmVzYS5ub21lXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5lcnAuZW1wcmVzYVwiKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImZpbGlhbC5ub21lXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5lcnAuZmlsaWFsXCIpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9yZGVtQ29tcHJhR3JpZEZpZWxkcygpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiY29kaWdvXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkludGVnZXIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuZXJwLm9yZGVtX2NvbXByYV9jb2RpZ29cIilcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJlbXByZXNhLm5vbWVcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmVycC5lbXByZXNhXCIpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiZmlsaWFsLm5vbWVcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmVycC5maWxpYWxcIilcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJwZXNzb2Eubm9tZVwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuZXJwLnBlc3NvYV9ub21lXCIpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICB9XG59Il19
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZW0tY29tcHJhLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy9lcnAtc2VuaW9yL3JlY2ViaW1lbnRvLW9yZGVtLWNvbXByYS9vcmRlbS1jb21wcmEtZm9ybS9vcmRlbS1jb21wcmEtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUkzRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFLdkIsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBd0I7SUFtQmpDLFlBQ1ksU0FBMkIsRUFDM0IsWUFBaUMsRUFDakMsa0JBQXNDLEVBQ3RDLFNBQTJCLEVBQ2xCLEVBQWUsRUFDZixL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QkFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2FBQ25ELENBQUM7WUFDRixJQUFJLFNBQVMsQ0FBQztnQkFDVixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2dCQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7YUFDbEQsQ0FBQztZQUNGLElBQUksU0FBUyxDQUFDO2dCQUNWLElBQUksRUFBRSxhQUFhO2dCQUNuQixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07Z0JBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQzthQUN2RCxDQUFDO1NBQ0wsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUFBO0FBM05ZLHdCQUF3QjtJQUhwQyxTQUFTLENBQUM7UUFDUCx1dkRBQWlEO0tBQ3BELENBQUM7NkNBcUJ5QixnQkFBZ0I7UUFDYixtQkFBbUI7UUFDYixrQkFBa0I7UUFDM0IsZ0JBQWdCO1FBQ2QsV0FBVztRQUNSLGNBQWM7R0F6QmpDLHdCQUF3QixDQTJOcEM7U0EzTlksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBGb3JtQXJyYXksIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nUmVmLCBEeW5hbWljRGlhbG9nQ29uZmlnIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyBGb3JtRmllbGQsIEZpZWxkVHlwZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIF9tb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgT3JkZW1Db21wcmFTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvZW50aXRpZXMvb3JkZW0tY29tcHJhL29yZGVtLWNvbXByYS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBQZXNzb2EgfSBmcm9tICcuLy4uLy4uL2NvcmUvZW50aXRpZXMvcGVzc29hL3Blc3NvYSc7XG5pbXBvcnQgeyBGaWxpYWwgfSBmcm9tICcuLy4uLy4uL2NvcmUvZW50aXRpZXMvZmlsaWFsL2ZpbGlhbCc7XG5pbXBvcnQgeyBBZ2VuZGEgfSBmcm9tIFwiLi4vLi4vY29yZS9lbnRpdGllcy9hZ2VuZGEvYWdlbmRhXCI7XG5pbXBvcnQgeyBPcmRlbUNvbXByYSB9IGZyb20gXCIuLi8uLi9jb3JlL2VudGl0aWVzL29yZGVtLWNvbXByYS9vcmRlbS1jb21wcmFcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5jb25zdCBtb21lbnQgPSBfbW9tZW50O1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJy4vb3JkZW0tY29tcHJhLWZvcm0uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVtQ29tcHJhRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgICBwdWJsaWMgb3JkZW1Db21wcmFTZWFyY2hGaWVsZHM6IEZvcm1GaWVsZFtdO1xuICAgIHB1YmxpYyBvcmRlbUNvbXByYVNlYXJjaEdyaWRGaWVsZHM6IEZvcm1GaWVsZFtdO1xuICAgIHB1YmxpYyBvcmRlbUNvbXByYVNlYXJjaEdyaWREYXRhOiBPcmRlbUNvbXByYVtdO1xuICAgIHB1YmxpYyBvcmRlbUNvbXByYUxvb2t1cERpc3BsYXlGaWVsZHMgPSBbXCJjb2RpZ29cIiwgXCJlbXByZXNhLm5vbWVcIl07XG4gICAgcHVibGljIG9yZGVtQ29tcHJhQWR2YW5jZWREaXNwbGF5RmllbGRzID0gW1wiaWRcIiwgXCJjb2RpZ29cIiwgXCJlbXByZXNhLm5vbWVcIiwgXCJmaWxpYWwubm9tZVwiLCBcInBlc3NvYS5ub21lXCJdO1xuICAgIHB1YmxpYyBvcmRlbUNvbXByYUxvb2t1cFNlcGFyYXRvciA9IFwiIC0gXCI7XG4gICAgcHVibGljIG9yZGVtQ29tcHJhTG9va3VwU3VnZ2VzdGlvbnM6IE9yZGVtQ29tcHJhW107XG4gICAgcHVibGljIG9yZGVtQ29tcHJhU2VhcmNoVG90YWxSZWNvcmRzOiBudW1iZXI7XG4gICAgcHVibGljIHBlcm1pc3Npb25zOiBhbnkgPSB7fTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBhZ2VuZGE6IEFnZW5kYTtcbiAgICBwcml2YXRlIGZpbGlhbDogRmlsaWFsO1xuICAgIHByaXZhdGUgZm9ybmVjZWRvcjogUGVzc29hO1xuICAgIHByaXZhdGUgb3JkZW5zQ29tcHJhOiBzdHJpbmdbXTtcblxuICAgIGNvbnN0cnVjdG9yIChcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dSZWY6IER5bmFtaWNEaWFsb2dSZWYsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nQ29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLFxuICAgICAgICBwcml2YXRlIG9yZGVtQ29tcHJhU2VydmljZTogT3JkZW1Db21wcmFTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICkgeyB9XG4gICBcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBkYXRhIH0gPSB0aGlzLmRpYWxvZ0NvbmZpZztcbiAgICAgICAgdGhpcy5hZ2VuZGEgPSBkYXRhLmFnZW5kYTtcbiAgICAgICAgdGhpcy5maWxpYWwgPSBkYXRhLmZpbGlhbDtcbiAgICAgICAgdGhpcy5mb3JuZWNlZG9yID0gZGF0YS5mb3JuZWNlZG9yO1xuICAgICAgICB0aGlzLm9yZGVuc0NvbXByYSA9IGRhdGEub3JkZW5zLm1hcCgoeyBvcmRlbUNvbXByYTogb3JkZW1Db21wcmEgfTogYW55KSA9PiAhIW9yZGVtQ29tcHJhID8gb3JkZW1Db21wcmEuaWQgOiB1bmRlZmluZWQpLmZpbHRlcigodmFsOiBhbnkpID0+ICEhdmFsKTtcblxuICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZ2V0Rm9ybSgpO1xuXG4gICAgICAgIHRoaXMub3JkZW1Db21wcmFTZWFyY2hGaWVsZHMgPSB0aGlzLmdldE9yZGVtQ29tcHJhRmllbGRzKCk7XG4gICAgICAgIHRoaXMub3JkZW1Db21wcmFTZWFyY2hHcmlkRmllbGRzID0gdGhpcy5nZXRPcmRlbUNvbXByYUdyaWRGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5yb3V0ZS5kYXRhLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZGF0YUNoYW5nZXM6IGFueSkgPT4gdGhpcy5vblJvdXRlRGF0YUNoYW5nZShkYXRhQ2hhbmdlcykpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblJvdXRlRGF0YUNoYW5nZShkYXRhQ2hhbmdlczogYW55KSB7XG4gICAgICAgIHRoaXMucGVybWlzc2lvbnMgPSBkYXRhQ2hhbmdlcy5hbGxQZXJtaXNzaW9ucy5hZ2VuZGE7XG4gICAgfVxuICAgIFxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25PcmRlbUNvbXByYUxvb2t1cFJlcXVlc3QodmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzb3J0ID0gdGhpcy5vcmRlbUNvbXByYUxvb2t1cERpc3BsYXlGaWVsZHMubWFwKChmaWVsZDogYW55KSA9PiAoeyBmaWVsZCwgb3JkZXI6ICdBc2MnIH0pKVswXTtcblxuICAgICAgICBjb25zdCBmaWx0ZXI6IGFueSA9IHtcbiAgICAgICAgICAgIG51bWVybzogK3ZhbHVlLnJlcGxhY2UoL1xcRC9nLCBcIlwiKVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGZpbGlhbCA9IHRoaXMuZmlsaWFsO1xuICAgICAgICBpZiAoZmlsaWFsICYmIGZpbGlhbC5lbXByZXNhICYmIGZpbGlhbC5lbXByZXNhLmlkKSB7XG4gICAgICAgICAgICBmaWx0ZXIuZW1wcmVzYUlkID0gZmlsaWFsLmVtcHJlc2EuaWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9yZGVtQ29tcHJhU2VydmljZVxuICAgICAgICAgICAgLmxpc3RPcmRlbnNDb21wcmEoe1xuICAgICAgICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICAgICAgICBwZXNzb2FJZDogKHRoaXMuZm9ybmVjZWRvciB8fCB7aWQ6IHVuZGVmaW5lZH0pLmlkLFxuICAgICAgICAgICAgICAgIGZpbGlhbElkOiAoZmlsaWFsIHx8IHtpZDogdW5kZWZpbmVkfSkuaWQsXG4gICAgICAgICAgICAgICAgdGlwb0FnZW5kYW1lbnRvSWQ6IHRoaXMuYWdlbmRhICYmIHRoaXMuYWdlbmRhLnRpcG9BZ2VuZGFtZW50byA/IHRoaXMuYWdlbmRhLnRpcG9BZ2VuZGFtZW50by5pZCA6IG51bGwsXG4gICAgICAgICAgICAgICAgb3JkZW5zQ29tcHJhU2VsZWNpb25hZG9zOiB0aGlzLm9yZGVuc0NvbXByYSxcbiAgICAgICAgICAgICAgICBwYWdpbmE6IHtcbiAgICAgICAgICAgICAgICAgICAgbGltaXQ6IDMwLFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIGxpc3RhT3JkZW5hY2FvOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FtcG86IHNvcnQuZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZW5hY2FvOiBzb3J0Lm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobGlzdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcmRlbUNvbXByYUxvb2t1cFN1Z2dlc3Rpb25zID0gbGlzdC5jb250ZW50cy5tYXAoT3JkZW1Db21wcmEuZnJvbUR0byk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25PcmRlbUNvbXByYVNlYXJjaFJlcXVlc3QoZXZlbnQ6IGFueSkge1xuICAgICAgICBjb25zdCB7IGZpcnN0LCByb3dzLCBtdWx0aVNvcnRNZXRhLCBmaWx0ZXJEYXRhIH0gPSBldmVudDtcbiAgICAgICAgY29uc3QgcGFnZSA9IGZpcnN0IC8gcm93cztcbiAgICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5nZXRPcmRlbUNvbXByYUZpZWxkcygpXG4gICAgICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT4gZmlsdGVyRGF0YVtuYW1lXSAhPSB1bmRlZmluZWQgJiYgZmlsdGVyRGF0YVtuYW1lXSAhPSBcIlwiKVxuICAgICAgICAgICAgLnJlZHVjZSgoYSwgYjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYSxcbiAgICAgICAgICAgICAgICAgICAgW2IubmFtZV06IGZpbHRlckRhdGFbYi5uYW1lXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9LCB7fSBhcyBhbnkpO1xuXG4gICAgICAgIGNvbnN0IGZpbGlhbCA9IHRoaXMuZmlsaWFsO1xuICAgICAgICBpZiAoZmlsaWFsICYmIGZpbGlhbC5lbXByZXNhICYmIGZpbGlhbC5lbXByZXNhLmlkKSB7XG4gICAgICAgICAgICBmaWx0ZXIuZW1wcmVzYUlkID0gZmlsaWFsLmVtcHJlc2EuaWQ7XG4gICAgICAgIH1cblxuICAgICAgICBmaWx0ZXIuZGF0YUVtaXNzYW8gPSBmaWx0ZXIuZGF0YUVtaXNzYW8gJiYgbW9tZW50KGZpbHRlci5kYXRhRW1pc3NhbykuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgICAgY29uc3Qgc29ydCA9IChtdWx0aVNvcnRNZXRhIHx8IFtdKS5sZW5ndGggPyB7IGZpZWxkOiBtdWx0aVNvcnRNZXRhWzBdLmZpZWxkLCBvcmRlcjogbXVsdGlTb3J0TWV0YVswXS5vcmRlciA9PT0gMSA/ICdBc2MnIDogJ0Rlc2MnIH0gOiB7IGZpZWxkOiAnbnVtZXJvJywgb3JkZXI6ICdBc2MnIH07XG5cbiAgICAgICAgdGhpcy5vcmRlbUNvbXByYVNlcnZpY2VcbiAgICAgICAgICAgIC5saXN0T3JkZW5zQ29tcHJhKHtcbiAgICAgICAgICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgICAgICAgICAgcGVzc29hSWQ6ICh0aGlzLmZvcm5lY2Vkb3IgfHwge2lkOiB1bmRlZmluZWR9KS5pZCxcbiAgICAgICAgICAgICAgICBmaWxpYWxJZDogKGZpbGlhbCB8fCB7aWQ6IHVuZGVmaW5lZH0pLmlkLFxuICAgICAgICAgICAgICAgIHRpcG9BZ2VuZGFtZW50b0lkOiB0aGlzLmFnZW5kYSAmJiB0aGlzLmFnZW5kYS50aXBvQWdlbmRhbWVudG8gPyB0aGlzLmFnZW5kYS50aXBvQWdlbmRhbWVudG8uaWQgOiBudWxsLFxuICAgICAgICAgICAgICAgIG9yZGVuc0NvbXByYVNlbGVjaW9uYWRvczogdGhpcy5vcmRlbnNDb21wcmEsXG4gICAgICAgICAgICAgICAgcGFnaW5hOiB7XG4gICAgICAgICAgICAgICAgICAgIGxpbWl0OiByb3dzLFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHBhZ2UsXG4gICAgICAgICAgICAgICAgICAgIGxpc3RhT3JkZW5hY2FvOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FtcG86IHNvcnQuZmllbGQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZW5hY2FvOiBzb3J0Lm9yZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobGlzdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcmRlbUNvbXByYVNlYXJjaEdyaWREYXRhID0gbGlzdC5jb250ZW50cy5tYXAoT3JkZW1Db21wcmEuZnJvbUR0byk7XG4gICAgICAgICAgICAgICAgdGhpcy5vcmRlbUNvbXByYVNlYXJjaFRvdGFsUmVjb3JkcyA9IGxpc3QudG90YWxFbGVtZW50cztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSZWNQYWdpbmEoZmlyc3Q6IG51bWJlciwgcm93czogbnVtYmVyLCBzb3J0OiBhbnkpIHtcbiAgICAgICAgY29uc3QgcGFnZSA9IGZpcnN0IC8gcm93cztcbiAgICAgICAgY29uc3Qgb3JkZXJCeSA9IHNvcnQgJiYgc29ydC5sZW5ndGggXG4gICAgICAgICAgICA/IHNvcnQubWFwKChzOiBhbnkpID0+ICAoeyBjYW1wbzogcy5maWVsZCwgb3JkZW5hY2FvOiBzLm9yZGVyID09PSAxID8gJ0FzYycgOiAnRGVzYycgfSkpIFxuICAgICAgICAgICAgOiBbXTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgb2Zmc2V0OiBwYWdlLFxuICAgICAgICAgICAgbGltaXQ6IHJvd3MsXG4gICAgICAgICAgICBsaXN0YU9yZGVuYWNhbzogb3JkZXJCeVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcbiAgICAgICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGZpZWxkKTtcbiAgICAgICAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKXtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhjb250cm9sKTtcbiAgICAgICAgICAgIH0gXG4gICAgICAgICAgICBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICAgICAgICAgICAgY29udHJvbC5jb250cm9scy5mb3JFYWNoKChmb3JtOiBGb3JtR3JvdXApID0+IHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKGZvcm0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNhdmUoKSB7XG4gICAgICAgIGlmICghdGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyh0aGlzLmZvcm1Hcm91cCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jbG9zZSh0aGlzLmZvcm1Hcm91cC5nZXQoJ29yZGVtQ29tcHJhJykudmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZShkYXRhPzogYW55KSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGRhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Rm9ybSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgb3JkZW1Db21wcmE6IFt1bmRlZmluZWQsIFZhbGlkYXRvcnMucmVxdWlyZWRdXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T3JkZW1Db21wcmFGaWVsZHMoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImNvZGlnb1wiLFxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuZXJwLm9yZGVtX2NvbXByYV9jb2RpZ29cIilcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJlbXByZXNhLm5vbWVcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmVycC5lbXByZXNhXCIpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiZmlsaWFsLm5vbWVcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmVycC5maWxpYWxcIilcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T3JkZW1Db21wcmFHcmlkRmllbGRzKCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJjb2RpZ29cIixcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuSW50ZWdlcixcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5lcnAub3JkZW1fY29tcHJhX2NvZGlnb1wiKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImVtcHJlc2Eubm9tZVwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuZXJwLmVtcHJlc2FcIilcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJmaWxpYWwubm9tZVwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuZXJwLmZpbGlhbFwiKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcInBlc3NvYS5ub21lXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5lcnAucGVzc29hX25vbWVcIilcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgIH1cbn0iXX0=
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { Subject } from "rxjs";
|
|
3
|
+
import { ActivatedRoute } from "@angular/router";
|
|
4
|
+
import { Component } from "@angular/core";
|
|
5
|
+
import { FormBuilder, FormControl, FormGroup, Validators } from "@angular/forms";
|
|
6
|
+
import { ConfirmationService, DynamicDialogConfig, DynamicDialogRef } from "primeng/api";
|
|
7
|
+
import { takeUntil } from "rxjs/operators";
|
|
8
|
+
import * as _moment from "moment";
|
|
9
|
+
const moment = _moment;
|
|
10
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
11
|
+
import { CardTechnology } from "../../entities/credential-card-dto";
|
|
12
|
+
let CredencialFormComponent = class CredencialFormComponent {
|
|
13
|
+
constructor(fb, dialogRef, translate, route, dialogConfig) {
|
|
14
|
+
this.fb = fb;
|
|
15
|
+
this.dialogRef = dialogRef;
|
|
16
|
+
this.translate = translate;
|
|
17
|
+
this.route = route;
|
|
18
|
+
this.dialogConfig = dialogConfig;
|
|
19
|
+
this.unsubscribe$ = new Subject();
|
|
20
|
+
this.technologies = [];
|
|
21
|
+
this.localeConfig = {};
|
|
22
|
+
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
this.formGroup = this.fb.group({
|
|
25
|
+
tecnologiaCracha: [undefined, Validators.compose([Validators.required])],
|
|
26
|
+
numero: [undefined, Validators.compose([Validators.required])],
|
|
27
|
+
validadeCredencial: [undefined, Validators.compose([Validators.required])],
|
|
28
|
+
hora: [undefined, Validators.compose([Validators.required])],
|
|
29
|
+
});
|
|
30
|
+
this.route.data.pipe(takeUntil(this.unsubscribe$)).subscribe((data) => {
|
|
31
|
+
this.localeConfig = data.localeConfig;
|
|
32
|
+
});
|
|
33
|
+
this.tecnologiaCracha(CardTechnology.BARCODE_CARD, CardTechnology.RFID_CARD, CardTechnology.SMART_CARD);
|
|
34
|
+
this.formataDataEHoraDaCredencial();
|
|
35
|
+
}
|
|
36
|
+
ngOnDestroy() {
|
|
37
|
+
this.unsubscribe$.next();
|
|
38
|
+
this.unsubscribe$.complete();
|
|
39
|
+
}
|
|
40
|
+
gerar() {
|
|
41
|
+
if (!this.formGroup.valid) {
|
|
42
|
+
return this.validateAllFormFields(this.formGroup);
|
|
43
|
+
}
|
|
44
|
+
const endDate = this.getDataHora();
|
|
45
|
+
const visitante = this.dialogConfig.data.visitante;
|
|
46
|
+
const visitorCredentialCardList = this.gerarCredencial(visitante, endDate);
|
|
47
|
+
this.close(visitorCredentialCardList);
|
|
48
|
+
}
|
|
49
|
+
tecnologiaCracha(...cardTechnologies) {
|
|
50
|
+
this.technologies = [];
|
|
51
|
+
for (const cardTechnology of cardTechnologies) {
|
|
52
|
+
this.technologies.push({
|
|
53
|
+
label: this.getTecnologiaCrachaTraduzida(cardTechnology),
|
|
54
|
+
value: cardTechnology,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
getTecnologiaCrachaTraduzida(cardTechnology) {
|
|
59
|
+
if (cardTechnology === CardTechnology.BARCODE_CARD) {
|
|
60
|
+
return this.translate.instant("yms.patio.cartao_credencial_codigo_barras");
|
|
61
|
+
}
|
|
62
|
+
if (cardTechnology === CardTechnology.RFID_CARD) {
|
|
63
|
+
return this.translate.instant("yms.patio.cartao_credencial_rfid");
|
|
64
|
+
}
|
|
65
|
+
if (cardTechnology === CardTechnology.SMART_CARD) {
|
|
66
|
+
return this.translate.instant("yms.patio.cartao_credencial_smart");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
formataDataEHoraDaCredencial() {
|
|
70
|
+
const data = moment().add(1, "hour");
|
|
71
|
+
this.formGroup.get("validadeCredencial").disable();
|
|
72
|
+
this.definiValor("validadeCredencial", data.format("DD/MM/YYYY"));
|
|
73
|
+
this.definiValor("hora", data.format("HH:mm"));
|
|
74
|
+
}
|
|
75
|
+
getDataHora() {
|
|
76
|
+
const dataHora = new Date();
|
|
77
|
+
const horaValue = this.formGroup.get("hora").value;
|
|
78
|
+
const horas = moment().date(horaValue).add(1, "hour").hours();
|
|
79
|
+
const minutos = moment().date(horaValue).minutes();
|
|
80
|
+
dataHora.setHours(horas);
|
|
81
|
+
dataHora.setMinutes(minutos);
|
|
82
|
+
return dataHora;
|
|
83
|
+
}
|
|
84
|
+
gerarCredencial(visitante, endDate) {
|
|
85
|
+
return {
|
|
86
|
+
visitor: visitante,
|
|
87
|
+
cardTechnology: this.formGroup.get("tecnologiaCracha").value,
|
|
88
|
+
cardNumber: this.formGroup.get("numero").value,
|
|
89
|
+
endDate: endDate,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
definiValor(campo, valor) {
|
|
93
|
+
return this.formGroup.get(campo).setValue(valor);
|
|
94
|
+
}
|
|
95
|
+
close(data) {
|
|
96
|
+
this.dialogRef.close(data);
|
|
97
|
+
}
|
|
98
|
+
validateAllFormFields(formGroup) {
|
|
99
|
+
Object.keys(formGroup.controls).forEach((field) => {
|
|
100
|
+
const control = formGroup.get(field);
|
|
101
|
+
if (control instanceof FormControl) {
|
|
102
|
+
control.markAsDirty({ onlySelf: true });
|
|
103
|
+
}
|
|
104
|
+
else if (control instanceof FormGroup) {
|
|
105
|
+
this.validateAllFormFields(control);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
throw 'Instance fot found';
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
formGroup.markAsDirty({ onlySelf: true });
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
CredencialFormComponent = tslib_1.__decorate([
|
|
115
|
+
Component({
|
|
116
|
+
template: "<form [formGroup]=\"formGroup\">\n <div class=\"ui-g ui-fluid\">\n <div class=\"ui-g-12 required\">\n <label for=\"tecnologiaCracha\">{{\n \"yms.patio.motorista_tecnologiaCracha\" | translate\n }}</label>\n <p-dropdown\n inputId=\"tecnologiaCracha\"\n name=\"tecnologiaCracha\"\n [options]=\"this.technologies\"\n formControlName=\"tecnologiaCracha\"\n [autoWidth]=\"false\"\n placeholder=\"{{\n 'yms.patio.visitante_credencial_tecnologia_cracha_place_holder' | translate\n }}\"\n ></p-dropdown>\n <s-control-errors\n [control]=\"formGroup.controls['tecnologiaCracha']\"\n [errorMessages]=\"{ required: 'error_required' | translate }\"\n ></s-control-errors>\n </div>\n <div class=\"ui-g-12 required\">\n <label for=\"numero\">{{ \"yms.patio.visitante_credencial_numero\" | translate }}</label>\n <input\n id=\"numero\"\n type=\"text\"\n name=\"numero\"\n pInputText\n formControlName=\"numero\"\n autocomplete=\"off\"\n />\n <s-control-errors\n [control]=\"formGroup.controls['numero']\"\n [errorMessages]=\"{ required: 'error_required' | translate }\"\n ></s-control-errors>\n </div>\n <div class=\"ui-g-12 ui-md-6 required\">\n <label for=\"validadeCredencial\">{{\n \"yms.patio.visitante_validade_credencial\" | translate\n }}</label>\n <input\n id=\"validadeCredencial\"\n type=\"text\"\n name=\"validadeCredencial\"\n pInputText\n formControlName=\"validadeCredencial\"\n autocomplete=\"off\"\n />\n <s-control-errors\n [control]=\"formGroup.controls['numero']\"\n [errorMessages]=\"{ required: 'error_required' | translate }\"\n ></s-control-errors>\n </div>\n <div class=\"ui-g-12 ui-md-6 required\">\n <label for=\"hora\">{{ \"yms.patio.visitante_credecnial_hora\" | translate }}</label>\n <p-calendar\n id=\"hora\"\n name=\"hora\"\n formControlName=\"hora\"\n [locale]=\"localeConfig.calendar\"\n inputId=\"hora\"\n [showTime]=\"true\"\n [hourFormat]=\"localeConfig.calendar.hourFormat\"\n [timeOnly]=\"true\"\n >\n </p-calendar>\n <s-control-errors\n [control]=\"formGroup.controls['numero']\"\n [errorMessages]=\"{ required: 'error_required' | translate }\"\n ></s-control-errors>\n </div>\n </div>\n\n <s-button\n [label]=\"'yms.patio.visitante_button_cancelar' | translate\"\n (onClick)=\"close()\"\n priority=\"link\"\n ></s-button>\n <s-button\n [label]=\"'yms.patio.visitante_button_gerar' | translate\"\n (onClick)=\"gerar()\"\n ></s-button>\n</form>\n",
|
|
117
|
+
providers: [ConfirmationService]
|
|
118
|
+
}),
|
|
119
|
+
tslib_1.__metadata("design:paramtypes", [FormBuilder,
|
|
120
|
+
DynamicDialogRef,
|
|
121
|
+
TranslateService,
|
|
122
|
+
ActivatedRoute,
|
|
123
|
+
DynamicDialogConfig])
|
|
124
|
+
], CredencialFormComponent);
|
|
125
|
+
export { CredencialFormComponent };
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVuY2lhbC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvc2FtLXNlbmlvci9jb21wb25lbnRzL2NyZWRlbmNpYWwtZm9ybS9jcmVkZW5jaWFsLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBT3BFLElBQWEsdUJBQXVCLEdBQXBDLE1BQWEsdUJBQXVCO0lBT2hDLFlBQ1ksRUFBZSxFQUNmLFNBQTJCLEVBQzNCLFNBQTJCLEVBQzNCLEtBQXFCLEVBQ3JCLFlBQWlDO1FBSmpDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixpQkFBWSxHQUFaLFlB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UUFDL0MsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7S0FDbkMsQ0FBQzs2Q0FTa0IsV0FBVztRQUNKLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDcEIsY0FBYztRQUNQLG1CQUFtQjtHQVpwQyx1QkFBdUIsQ0FtSW5DO1NBbklZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCAqIGFzIF9tb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuY29uc3QgbW9tZW50ID0gX21vbWVudDtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgQ2FyZFRlY2hub2xvZ3kgfSBmcm9tIFwiLi4vLi4vZW50aXRpZXMvY3JlZGVudGlhbC1jYXJkLWR0b1wiO1xuaW1wb3J0IHsgVmlzaXRvciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvdmlzaXRvclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2NyZWRlbmNpYWwtZm9ybS5jb21wb25lbnQuaHRtbFwiLFxuICAgIHByb3ZpZGVyczogW0NvbmZpcm1hdGlvblNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDcmVkZW5jaWFsRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwdWJsaWMgdGVjaG5vbG9naWVzOiBhbnlbXSA9IFtdO1xuICAgIHB1YmxpYyBsb2NhbGVDb25maWc6IGFueSA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ0NvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZ1xuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgdGVjbm9sb2dpYUNyYWNoYTogW3VuZGVmaW5lZCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgICAgICAgbnVtZXJvOiBbdW5kZWZpbmVkLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKV0sXG4gICAgICAgICAgICB2YWxpZGFkZUNyZWRlbmNpYWw6IFt1bmRlZmluZWQsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcbiAgICAgICAgICAgIGhvcmE6IFt1bmRlZmluZWQsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yb3V0ZS5kYXRhLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9jYWxlQ29uZmlnID0gZGF0YS5sb2NhbGVDb25maWc7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGVjbm9sb2dpYUNyYWNoYShcbiAgICAgICAgICAgIENhcmRUZWNobm9sb2d5LkJBUkNPREVfQ0FSRCxcbiAgICAgICAgICAgIENhcmRUZWNobm9sb2d5LlJGSURfQ0FSRCxcbiAgICAgICAgICAgIENhcmRUZWNobm9sb2d5LlNNQVJUX0NBUkRcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmZvcm1hdGFEYXRhRUhvcmFEYUNyZWRlbmNpYWwoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXJhcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKHRoaXMuZm9ybUdyb3VwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLmdldERhdGFIb3JhKCk7XG4gICAgICAgIGNvbnN0IHZpc2l0YW50ZSA9IHRoaXMuZGlhbG9nQ29uZmlnLmRhdGEudmlzaXRhbnRlO1xuXG4gICAgICAgIGNvbnN0IHZpc2l0b3JDcmVkZW50aWFsQ2FyZExpc3QgPSB0aGlzLmdlcmFyQ3JlZGVuY2lhbCh2aXNpdGFudGUsIGVuZERhdGUpO1xuICAgICAgICB0aGlzLmNsb3NlKHZpc2l0b3JDcmVkZW50aWFsQ2FyZExpc3QpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0ZWNub2xvZ2lhQ3JhY2hhKC4uLmNhcmRUZWNobm9sb2dpZXM6IENhcmRUZWNobm9sb2d5W10pIHtcbiAgICAgICAgdGhpcy50ZWNobm9sb2dpZXMgPSBbXTtcblxuICAgICAgICBmb3IgKGNvbnN0IGNhcmRUZWNobm9sb2d5IG9mIGNhcmRUZWNobm9sb2dpZXMpIHtcbiAgICAgICAgICAgIHRoaXMudGVjaG5vbG9naWVzLnB1c2goe1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldFRlY25vbG9naWFDcmFjaGFUcmFkdXppZGEoY2FyZFRlY2hub2xvZ3kpLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBjYXJkVGVjaG5vbG9neSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUZWNub2xvZ2lhQ3JhY2hhVHJhZHV6aWRhKGNhcmRUZWNobm9sb2d5OiBDYXJkVGVjaG5vbG9neSk6IHN0cmluZyB7XG4gICAgICAgIGlmIChjYXJkVGVjaG5vbG9neSA9PT0gQ2FyZFRlY2hub2xvZ3kuQkFSQ09ERV9DQVJEKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5wYXRpby5jYXJ0YW9fY3JlZGVuY2lhbF9jb2RpZ29fYmFycmFzXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNhcmRUZWNobm9sb2d5ID09PSBDYXJkVGVjaG5vbG9neS5SRklEX0NBUkQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLnBhdGlvLmNhcnRhb19jcmVkZW5jaWFsX3JmaWRcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2FyZFRlY2hub2xvZ3kgPT09IENhcmRUZWNobm9sb2d5LlNNQVJUX0NBUkQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLnBhdGlvLmNhcnRhb19jcmVkZW5jaWFsX3NtYXJ0XCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGZvcm1hdGFEYXRhRUhvcmFEYUNyZWRlbmNpYWwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBtb21lbnQoKS5hZGQoMSwgXCJob3VyXCIpO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJ2YWxpZGFkZUNyZWRlbmNpYWxcIikuZGlzYWJsZSgpO1xuXG4gICAgICAgIHRoaXMuZGVmaW5pVmFsb3IoXCJ2YWxpZGFkZUNyZWRlbmNpYWxcIiwgZGF0YS5mb3JtYXQoXCJERC9NTS9ZWVlZXCIpKTtcbiAgICAgICAgdGhpcy5kZWZpbmlWYWxvcihcImhvcmFcIiwgZGF0YS5mb3JtYXQoXCJISDptbVwiKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREYXRhSG9yYSgpOiBEYXRlIHtcbiAgICAgICAgY29uc3QgZGF0YUhvcmE6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCBob3JhVmFsdWUgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJob3JhXCIpLnZhbHVlO1xuXG4gICAgICAgIGNvbnN0IGhvcmFzOiBudW1iZXIgPSBtb21lbnQoKS5kYXRlKGhvcmFWYWx1ZSkuYWRkKDEsIFwiaG91clwiKS5ob3VycygpO1xuICAgICAgICBjb25zdCBtaW51dG9zOiBudW1iZXIgPSBtb21lbnQoKS5kYXRlKGhvcmFWYWx1ZSkubWludXRlcygpO1xuXG4gICAgICAgIGRhdGFIb3JhLnNldEhvdXJzKGhvcmFzKTtcbiAgICAgICAgZGF0YUhvcmEuc2V0TWludXRlcyhtaW51dG9zKTtcblxuICAgICAgICByZXR1cm4gZGF0YUhvcmE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXJhckNyZWRlbmNpYWwodmlzaXRhbnRlOiBWaXNpdG9yLCBlbmREYXRlOiBEYXRlKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB2aXNpdG9yOiB2aXNpdGFudGUsXG4gICAgICAgICAgICBjYXJkVGVjaG5vbG9neTogdGhpcy5mb3JtR3JvdXAuZ2V0KFwidGVjbm9sb2dpYUNyYWNoYVwiKS52YWx1ZSxcbiAgICAgICAgICAgIGNhcmROdW1iZXI6IHRoaXMuZm9ybUdyb3VwLmdldChcIm51bWVyb1wiKS52YWx1ZSxcbiAgICAgICAgICAgIGVuZERhdGU6IGVuZERhdGUsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWZpbmlWYWxvcihjYW1wbzogc3RyaW5nLCB2YWxvcjogYW55KTogdm9pZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY2FtcG8pLnNldFZhbHVlKHZhbG9yKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoZGF0YT86IGFueSkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShkYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xuICAgICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChmaWVsZCk7XG5cbiAgICAgICAgICAgIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyhjb250cm9sKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgJ0luc3RhbmNlIGZvdCBmb3VuZCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvcm1Hcm91cC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgIH1cbn0iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { HttpClient } from "@angular/common/http";
|
|
3
|
+
import { Injectable } from "@angular/core";
|
|
4
|
+
import { EntityService } from "./../../core/entity-service";
|
|
5
|
+
import { MessageService } from "primeng/components/common/messageservice";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common/http";
|
|
8
|
+
import * as i2 from "primeng/components/common/messageservice";
|
|
9
|
+
let LobbyService = class LobbyService extends EntityService {
|
|
10
|
+
constructor(http, messageService) {
|
|
11
|
+
super(http, messageService, "sam/lobby/entities/lobby");
|
|
12
|
+
this.http = http;
|
|
13
|
+
this.messageService = messageService;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
LobbyService.ngInjectableDef = i0.defineInjectable({ factory: function LobbyService_Factory() { return new LobbyService(i0.inject(i1.HttpClient), i0.inject(i2.MessageService)); }, token: LobbyService, providedIn: "root" });
|
|
17
|
+
LobbyService = tslib_1.__decorate([
|
|
18
|
+
Injectable({ providedIn: 'root' }),
|
|
19
|
+
tslib_1.__metadata("design:paramtypes", [HttpClient, MessageService])
|
|
20
|
+
], LobbyService);
|
|
21
|
+
export { LobbyService };
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9iYnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvc2FtLXNlbmlvci9jb21wb25lbnRzL3NjaGVkdWxpbmcvbG9iYnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUkxRSxJQUFhLFlBQVksR0FBekIsTUFBYSxZQUFhLFNBQVEsYUFBdUI7SUFDckQsWUFBc0IsSUFBZ0IsRUFBWSxjQUE4QjtRQUM1RSxLQUFLLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBRHRDLFNBQUksR0FBSixJQUFJLENBQVk7UUFBWSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFFaEYsQ0FBQztDQUNKLENBQUE7O0FBSlksWUFBWTtJQUR4QixVQUFVLENBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQUM7NkNBRUQsVUFBVSxFQUE0QixjQUFjO0dBRHZFLFlBQVksQ0FJeEI7U0FKWSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBFbnRpdHlTZXJ2aWNlIH0gZnJvbSBcIi4vLi4vLi4vY29yZS9lbnRpdHktc2VydmljZVwiO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9jb21wb25lbnRzL2NvbW1vbi9tZXNzYWdlc2VydmljZVwiO1xuaW1wb3J0IHsgTG9iYnlEdG8gfSBmcm9tIFwiLi8uLi8uLi9lbnRpdGllcy9sb2JieS1kdG9cIjtcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTG9iYnlTZXJ2aWNlIGV4dGVuZHMgRW50aXR5U2VydmljZTxMb2JieUR0bz4ge1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBwcm90ZWN0ZWQgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGh0dHAsIG1lc3NhZ2VTZXJ2aWNlLCBcInNhbS9sb2JieS9lbnRpdGllcy9sb2JieVwiKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import * as tslib_1 from "tslib";
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
3
|
+
import { FormBuilder, FormControl, FormGroup, Validators } from "@angular/forms";
|
|
4
|
+
import { ActivatedRoute } from "@angular/router";
|
|
5
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
6
|
+
import { FieldType, FormField } from "@seniorsistemas/angular-components";
|
|
7
|
+
import { MessageService } from "primeng/components/common/messageservice";
|
|
8
|
+
import { Subject, NEVER } from "rxjs";
|
|
9
|
+
import { finalize, takeUntil, mergeMap } from "rxjs/operators";
|
|
10
|
+
import { SchedulingService } from "./shechuling.service";
|
|
11
|
+
import { Lookup } from "../../core/lookup";
|
|
12
|
+
import { LobbyService } from "./lobby.service";
|
|
13
|
+
import { SchedulingVisitors } from "./../../entities/scheduling-visitors";
|
|
14
|
+
import { SchedulingDto } from "./../../entities/scheduling-dto";
|
|
15
|
+
import { VisitSituation } from "../../models/visit-situation";
|
|
16
|
+
let SchedulingComponent = class SchedulingComponent {
|
|
17
|
+
constructor(fb, route, translate, messageService, lobbyService, schedulingService) {
|
|
18
|
+
this.fb = fb;
|
|
19
|
+
this.route = route;
|
|
20
|
+
this.translate = translate;
|
|
21
|
+
this.messageService = messageService;
|
|
22
|
+
this.lobbyService = lobbyService;
|
|
23
|
+
this.schedulingService = schedulingService;
|
|
24
|
+
this.notSavedData = new EventEmitter();
|
|
25
|
+
this.schedulingVisitors = new SchedulingVisitors();
|
|
26
|
+
this.isFormModified = false;
|
|
27
|
+
this.loading = false;
|
|
28
|
+
this.localeConfig = {};
|
|
29
|
+
this.ngUnsubscribe = new Subject();
|
|
30
|
+
}
|
|
31
|
+
ngOnInit() {
|
|
32
|
+
this.createForm();
|
|
33
|
+
this.portariaLookup = new Lookup(this.getLobbyFields(), this.lobbyService);
|
|
34
|
+
this.route.data.pipe(takeUntil(this.ngUnsubscribe)).subscribe((data) => {
|
|
35
|
+
this.localeConfig = data.localeConfig;
|
|
36
|
+
});
|
|
37
|
+
this.formGroup.valueChanges.subscribe(changes => this.isFormModified = true);
|
|
38
|
+
}
|
|
39
|
+
ngAfterViewInit() {
|
|
40
|
+
this.saveAndInitButton = document.getElementById('init');
|
|
41
|
+
}
|
|
42
|
+
ngOnDestroy() {
|
|
43
|
+
this.ngUnsubscribe.next();
|
|
44
|
+
this.ngUnsubscribe.complete();
|
|
45
|
+
}
|
|
46
|
+
ngOnChanges() {
|
|
47
|
+
if (this.agenda.id) {
|
|
48
|
+
this.loading = true;
|
|
49
|
+
this.schedulingService
|
|
50
|
+
.getSchedulingByYms(this.agenda.id)
|
|
51
|
+
.pipe(takeUntil(this.ngUnsubscribe), finalize(() => (this.loading = false)))
|
|
52
|
+
.subscribe((res) => {
|
|
53
|
+
if (res.scheduling) {
|
|
54
|
+
const scheduling = res.scheduling;
|
|
55
|
+
this.schedulingVisitors.scheduling = scheduling;
|
|
56
|
+
this.schedulingVisitors.visitors = res.visitors;
|
|
57
|
+
this.formGroup.controls["motivoVisita"].setValue(scheduling.description);
|
|
58
|
+
this.formGroup.controls["dataSaida"].setValue(new Date(scheduling.expectedEndDate));
|
|
59
|
+
this.formGroup.controls["horaSaida"].setValue(new Date(scheduling.expectedEndDate));
|
|
60
|
+
this.getLobby(scheduling).subscribe((lobby) => this.formGroup.controls["portaria"].setValue(lobby));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const dataSaida = new Date();
|
|
64
|
+
dataSaida.setHours(new Date().getHours() + 1);
|
|
65
|
+
this.schedulingVisitors.scheduling = new SchedulingDto();
|
|
66
|
+
this.schedulingVisitors.visitors = [];
|
|
67
|
+
this.schedulingVisitors.scheduling.visitSituation = VisitSituation.PENDING;
|
|
68
|
+
this.schedulingVisitors.scheduling.description = this.agenda.descricao;
|
|
69
|
+
this.schedulingVisitors.scheduling.expectedStartDate = new Date();
|
|
70
|
+
this.schedulingVisitors.scheduling.expectedEndDate = dataSaida;
|
|
71
|
+
this.formGroup.controls["motivoVisita"].setValue(this.schedulingVisitors.scheduling.description);
|
|
72
|
+
this.formGroup.controls["dataSaida"].setValue(this.schedulingVisitors.scheduling.expectedStartDate);
|
|
73
|
+
this.formGroup.controls["horaSaida"].setValue(this.schedulingVisitors.scheduling.expectedEndDate);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
this.patchActualValue();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
getLobby(scheduling) {
|
|
80
|
+
if (scheduling.lobbyIdSAM) {
|
|
81
|
+
return this.lobbyService.get(scheduling.lobbyIdSAM);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
patchActualValue() {
|
|
85
|
+
const timeoutPatch = 500;
|
|
86
|
+
setTimeout(() => {
|
|
87
|
+
this.actualValue = this.formGroup.value;
|
|
88
|
+
this.formGroup.patchValue(this.actualValue);
|
|
89
|
+
}, timeoutPatch);
|
|
90
|
+
}
|
|
91
|
+
canSave() {
|
|
92
|
+
if (!this.agenda || !this.agenda.id || !this.isFormModified) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
onSave(start) {
|
|
98
|
+
if (this.formGroup.invalid) {
|
|
99
|
+
this.validateAllFormFields(this.formGroup);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
this.isFormModified = false;
|
|
103
|
+
const scheduling = this.schedulingVisitors.scheduling;
|
|
104
|
+
scheduling.idYMS = this.agenda.id;
|
|
105
|
+
scheduling.description = this.formGroup.controls['motivoVisita'].value;
|
|
106
|
+
scheduling.expectedStartDate = new Date();
|
|
107
|
+
const dataSaida = this.formGroup.controls['dataSaida'].value;
|
|
108
|
+
const horaSaida = this.formGroup.controls['horaSaida'].value;
|
|
109
|
+
scheduling.expectedEndDate = this.getDate(dataSaida, horaSaida);
|
|
110
|
+
const portaria = this.formGroup.controls['portaria'].value;
|
|
111
|
+
if (portaria) {
|
|
112
|
+
scheduling.lobbyIdSAM = portaria.id;
|
|
113
|
+
}
|
|
114
|
+
this.loading = true;
|
|
115
|
+
this.schedulingService
|
|
116
|
+
.saveScheduling(this.schedulingVisitors)
|
|
117
|
+
.pipe(takeUntil(this.ngUnsubscribe), mergeMap((res) => {
|
|
118
|
+
this.schedulingVisitors = res;
|
|
119
|
+
if (start) {
|
|
120
|
+
return this.schedulingService.startScheduling(this.schedulingVisitors.scheduling.idYMS);
|
|
121
|
+
}
|
|
122
|
+
this.loading = false;
|
|
123
|
+
return NEVER;
|
|
124
|
+
}), finalize(() => (this.loading = false)))
|
|
125
|
+
.subscribe((success) => {
|
|
126
|
+
if (success && this.saveAndInitButton) {
|
|
127
|
+
this.saveAndInitButton.click();
|
|
128
|
+
}
|
|
129
|
+
this.loading = false;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
validateAllFormFields(formGroup) {
|
|
133
|
+
Object.keys(formGroup.controls).forEach((field) => {
|
|
134
|
+
const control = formGroup.get(field);
|
|
135
|
+
if (control instanceof FormControl) {
|
|
136
|
+
control.markAsDirty({ onlySelf: true });
|
|
137
|
+
}
|
|
138
|
+
else if (control instanceof FormGroup) {
|
|
139
|
+
this.validateAllFormFields(control);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
// nada a fazer
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
getDate(data, hora) {
|
|
147
|
+
return new Date(data.getFullYear(), data.getMonth(), data.getDate(), hora.getHours(), hora.getMinutes());
|
|
148
|
+
}
|
|
149
|
+
reset() {
|
|
150
|
+
this.formGroup.patchValue(Object.assign({}, this.actualValue));
|
|
151
|
+
}
|
|
152
|
+
createForm() {
|
|
153
|
+
this.formGroup = this.fb.group({
|
|
154
|
+
motivoVisita: [undefined, Validators.compose([Validators.required])],
|
|
155
|
+
portaria: [undefined, Validators.compose([Validators.required])],
|
|
156
|
+
dataSaida: [undefined, Validators.compose([Validators.required])],
|
|
157
|
+
horaSaida: [undefined, Validators.compose([Validators.required])],
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
getLobbyFields() {
|
|
161
|
+
return [
|
|
162
|
+
new FormField({
|
|
163
|
+
name: "name",
|
|
164
|
+
type: FieldType.String,
|
|
165
|
+
label: this.translate.instant("yms.patio.sam_portaria_descricao"),
|
|
166
|
+
}),
|
|
167
|
+
];
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
tslib_1.__decorate([
|
|
171
|
+
Input(),
|
|
172
|
+
tslib_1.__metadata("design:type", Object)
|
|
173
|
+
], SchedulingComponent.prototype, "agenda", void 0);
|
|
174
|
+
tslib_1.__decorate([
|
|
175
|
+
Output(),
|
|
176
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
177
|
+
], SchedulingComponent.prototype, "notSavedData", void 0);
|
|
178
|
+
SchedulingComponent = tslib_1.__decorate([
|
|
179
|
+
Component({
|
|
180
|
+
selector: "scheduling",
|
|
181
|
+
template: "<visited-info [agenda]=\"agenda\"> </visited-info>\r\n<form [formGroup]=\"formGroup\" *sLoadingState=\"loading\" novalidate>\r\n <div class=\"ui-fluid\">\r\n <div class=\"ui-g\">\r\n <div class=\"ui-g-12 ui-md-6 required\">\r\n <label for=\"motivoVisita\">{{ \"yms.patio.sam_motivo_visita\" | translate }}</label>\r\n <input\r\n type=\"text\"\r\n id=\"motivoVisita\"\r\n name=\"motivoVisita\"\r\n pInputText\r\n formControlName=\"motivoVisita\"\r\n autocomplete=\"off\"\r\n />\r\n <s-control-errors\r\n [control]=\"formGroup.controls['motivoVisita']\"\r\n [errorMessages]=\"{ required: 'error_required' | translate }\"\r\n >\r\n </s-control-errors>\r\n </div>\r\n <div class=\"ui-g-12 ui-md-6 required\">\r\n <label for=\"portaria\">{{ \"yms.patio.sam_portaria\" | translate }}</label>\r\n <s-lookup\r\n dataKey=\"id\"\r\n id=\"portaria\"\r\n name=\"portaria\"\r\n formControlName=\"portaria\"\r\n lookupDisplayField=\"name\"\r\n [multiple]=\"false\"\r\n (onLookupRequest)=\"portariaLookup.lookupRequest($event)\"\r\n (onSearchRequest)=\"portariaLookup.searchRequest($event)\"\r\n [searchTitle]=\"'yms.patio.sam_portaria' | translate\"\r\n [searchEmptyTitle]=\"'nothing_found' | translate\"\r\n [searchFields]=\"portariaLookup.searchFields\"\r\n [searchGridFields]=\"portariaLookup.searchGridFields\"\r\n [searchGridData]=\"portariaLookup.searchGridData\"\r\n [searchTotalRecords]=\"portariaLookup.searchTotalRecords\"\r\n [searchTotalRecordsLabel]=\"\r\n 'total_records' | translate : { value: portariaLookup.searchTotalRecords }\r\n \">\r\n </s-lookup>\r\n <s-control-errors \r\n [control]=\"formGroup.controls['portaria']\"\r\n [errorMessages]=\"{ required: 'error_required' | translate }\">\r\n </s-control-errors>\r\n </div>\r\n <div class=\"ui-g-6 ui-md-3 required\">\r\n <label for=\"dataSaida\">{{ \"yms.patio.sam_data_saida\" | translate }}</label>\r\n <p-calendar\r\n id=\"dataSaida\"\r\n name=\"dataSaida\"\r\n formControlName=\"dataSaida\"\r\n inputId=\"dataSaida\"\r\n [showIcon]=\"true\"\r\n [locale]=\"localeConfig.calendar\"\r\n [dateFormat]=\"localeConfig.calendar.dateFormat\"\r\n >\r\n </p-calendar>\r\n <s-control-errors\r\n [control]=\"formGroup.controls['dataSaida']\"\r\n [errorMessages]=\"{ required: 'error_required' | translate }\"\r\n >\r\n </s-control-errors>\r\n </div>\r\n <div class=\"ui-g-6 ui-md-3 required\">\r\n <label for=\"horaSaida\">{{ \"yms.patio.sam_hora_saida\" | translate }}</label>\r\n <p-calendar\r\n id=\"horaSaida\"\r\n name=\"horaSaida\"\r\n formControlName=\"horaSaida\"\r\n [locale]=\"localeConfig.calendar\"\r\n inputId=\"horaSaida\"\r\n [showTime]=\"true\"\r\n [hourFormat]=\"localeConfig.calendar.hourFormat\"\r\n [timeOnly]=\"true\"\r\n >\r\n </p-calendar>\r\n <s-control-errors\r\n [control]=\"formGroup.controls['horaSaida']\"\r\n [errorMessages]=\"{ required: 'error_required' | translate }\"\r\n >\r\n </s-control-errors>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n<div class=\"separator\"></div>\r\n<div *ngIf=\"schedulingVisitors.visitors\">\r\n <visitante-component\r\n [motorista]=\"agenda.motorista\"\r\n [(visitors)]=\"schedulingVisitors.visitors\"\r\n (hasChange)=\"isFormModified = $event\">\r\n </visitante-component>\r\n</div>\r\n<div class=\"separator\"></div>\r\n<div style=\"margin-top: 10px\">\r\n <s-button priority=\"primary\" [label]=\"'save' | translate\" (onClick)=\"onSave()\"\r\n [disabled]=\"loading || !canSave()\"></s-button>\r\n <s-button *ngIf=\"saveAndInitButton\" priority=\"primary\" [label]=\"'save_and_init' | translate\" (onClick)=\"onSave(true)\"\r\n [disabled]=\"loading\"></s-button>\r\n \r\n</div>\r\n"
|
|
182
|
+
}),
|
|
183
|
+
tslib_1.__metadata("design:paramtypes", [FormBuilder,
|
|
184
|
+
ActivatedRoute,
|
|
185
|
+
TranslateService,
|
|
186
|
+
MessageService,
|
|
187
|
+
LobbyService,
|
|
188
|
+
SchedulingService])
|
|
189
|
+
], SchedulingComponent);
|
|
190
|
+
export { SchedulingComponent };
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3NhbS1zZW5pb3IvY29tcG9uZW50cy9zY2hlZHVsaW5nL3NjaGVkdWxpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENB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O3NDQUFlLFlBQVk7eURBQStCO0FBRjFELG1CQUFtQjtJQUovQixTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsWUFBWTtRQUN0QiwyNUpBQTBDO0tBQzdDLENBQUM7NkNBaUIyQixXQUFXO1FBQ1IsY0FBYztRQUNWLGdCQUFnQjtRQUNYLGNBQWM7UUFDaEIsWUFBWTtRQUNQLGlCQUFpQjtHQXJCaEQsbUJBQW1CLENBK00vQjtTQS9NWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybUZpZWxkIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9jb21wb25lbnRzL2NvbW1vbi9tZXNzYWdlc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBORVZFUiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGZpbmFsaXplLCB0YWtlVW50aWwsIG1lcmdlTWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IExvYmJ5RHRvIH0gZnJvbSBcIi4vLi4vLi4vZW50aXRpZXMvbG9iYnktZHRvXCI7XHJcbmltcG9ydCB7IFNjaGVkdWxpbmcgfSBmcm9tIFwiLi8uLi8uLi9lbnRpdGllcy9zY2hlZHVsaW5nXCI7XHJcbmltcG9ydCB7IFNjaGVkdWxpbmdTZXJ2aWNlIH0gZnJvbSBcIi4vc2hlY2h1bGluZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvb2t1cCB9IGZyb20gXCIuLi8uLi9jb3JlL2xvb2t1cFwiO1xyXG5pbXBvcnQgeyBMb2JieVNlcnZpY2UgfSBmcm9tIFwiLi9sb2JieS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNjaGVkdWxpbmdWaXNpdG9ycyB9IGZyb20gXCIuLy4uLy4uL2VudGl0aWVzL3NjaGVkdWxpbmctdmlzaXRvcnNcIjtcclxuaW1wb3J0IHsgU2NoZWR1bGluZ0R0byB9IGZyb20gXCIuLy4uLy4uL2VudGl0aWVzL3NjaGVkdWxpbmctZHRvXCI7XHJcbmltcG9ydCB7IFZpc2l0U2l0dWF0aW9uIH0gZnJvbSBcIi4uLy4uL21vZGVscy92aXNpdC1zaXR1YXRpb25cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwic2NoZWR1bGluZ1wiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9zY2hlZHVsaW5nLmNvbXBvbmVudC5odG1sXCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY2hlZHVsaW5nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG4gICAgQElucHV0KCkgYWdlbmRhOiBhbnk7XHJcbiAgICBAT3V0cHV0KCkgbm90U2F2ZWREYXRhOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBzY2hlZHVsaW5nVmlzaXRvcnM6IFNjaGVkdWxpbmdWaXNpdG9ycyA9IG5ldyBTY2hlZHVsaW5nVmlzaXRvcnMoKTtcclxuICAgIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG4gICAgaXNGb3JtTW9kaWZpZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGxvYWRpbmcgPSBmYWxzZTsgICAgXHJcbiAgICBsb2NhbGVDb25maWc6IGFueSA9IHt9O1xyXG4gICAgcG9ydGFyaWFMb29rdXA6IExvb2t1cDxMb2JieUR0bz47XHJcblxyXG4gICAgcHJpdmF0ZSBhY3R1YWxWYWx1ZTogYW55O1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBzYXZlQW5kSW5pdEJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQ7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBsb2JieVNlcnZpY2U6IExvYmJ5U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHNjaGVkdWxpbmdTZXJ2aWNlOiBTY2hlZHVsaW5nU2VydmljZVxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xyXG5cclxuICAgICAgICB0aGlzLnBvcnRhcmlhTG9va3VwID0gbmV3IExvb2t1cCh0aGlzLmdldExvYmJ5RmllbGRzKCksIHRoaXMubG9iYnlTZXJ2aWNlKTtcclxuXHJcbiAgICAgICAgdGhpcy5yb3V0ZS5kYXRhLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYWxlQ29uZmlnID0gZGF0YS5sb2NhbGVDb25maWc7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoY2hhbmdlcyA9PiB0aGlzLmlzRm9ybU1vZGlmaWVkID0gdHJ1ZSApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLnNhdmVBbmRJbml0QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2luaXQnKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xyXG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmFnZW5kYS5pZCkge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5zY2hlZHVsaW5nU2VydmljZVxyXG4gICAgICAgICAgICAgICAgLmdldFNjaGVkdWxpbmdCeVltcyh0aGlzLmFnZW5kYS5pZClcclxuICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxyXG4gICAgICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXMuc2NoZWR1bGluZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzY2hlZHVsaW5nID0gcmVzLnNjaGVkdWxpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGluZ1Zpc2l0b3JzLnNjaGVkdWxpbmcgID0gc2NoZWR1bGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsaW5nVmlzaXRvcnMudmlzaXRvcnMgPSByZXMudmlzaXRvcnM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW1wibW90aXZvVmlzaXRhXCJdLnNldFZhbHVlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZWR1bGluZy5kZXNjcmlwdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1tcImRhdGFTYWlkYVwiXS5zZXRWYWx1ZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKHNjaGVkdWxpbmcuZXhwZWN0ZWRFbmREYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1tcImhvcmFTYWlkYVwiXS5zZXRWYWx1ZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKHNjaGVkdWxpbmcuZXhwZWN0ZWRFbmREYXRlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldExvYmJ5KHNjaGVkdWxpbmcpLnN1YnNjcmliZSgobG9iYnkpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1tcInBvcnRhcmlhXCJdLnNldFZhbHVlKGxvYmJ5KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFTYWlkYSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFTYWlkYS5zZXRIb3VycyhuZXcgRGF0ZSgpLmdldEhvdXJzKCkgKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsaW5nVmlzaXRvcnMuc2NoZWR1bGluZyA9IG5ldyBTY2hlZHVsaW5nRHRvKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGluZ1Zpc2l0b3JzLnZpc2l0b3JzID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGluZ1Zpc2l0b3JzLnNjaGVkdWxpbmcudmlzaXRTaXR1YXRpb24gPSBWaXNpdFNpdHVhdGlvbi5QRU5ESU5HO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjaGVkdWxpbmdWaXNpdG9ycy5zY2hlZHVsaW5nLmRlc2NyaXB0aW9uID0gdGhpcy5hZ2VuZGEuZGVzY3JpY2FvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjaGVkdWxpbmdWaXNpdG9ycy5zY2hlZHVsaW5nLmV4cGVjdGVkU3RhcnREYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsaW5nVmlzaXRvcnMuc2NoZWR1bGluZy5leHBlY3RlZEVuZERhdGUgPSBkYXRhU2FpZGE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW1wibW90aXZvVmlzaXRhXCJdLnNldFZhbHVlKHRoaXMuc2NoZWR1bGluZ1Zpc2l0b3JzLnNjaGVkdWxpbmcuZGVzY3JpcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1tcImRhdGFTYWlkYVwiXS5zZXRWYWx1ZSh0aGlzLnNjaGVkdWxpbmdWaXNpdG9ycy5zY2hlZHVsaW5nLmV4cGVjdGVkU3RhcnREYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbXCJob3JhU2FpZGFcIl0uc2V0VmFsdWUodGhpcy5zY2hlZHVsaW5nVmlzaXRvcnMuc2NoZWR1bGluZy5leHBlY3RlZEVuZERhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5wYXRjaEFjdHVhbFZhbHVlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0TG9iYnkoc2NoZWR1bGluZzogU2NoZWR1bGluZykge1xyXG4gICAgICAgIGlmIChzY2hlZHVsaW5nLmxvYmJ5SWRTQU0pIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9iYnlTZXJ2aWNlLmdldChzY2hlZHVsaW5nLmxvYmJ5SWRTQU0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHBhdGNoQWN0dWFsVmFsdWUoKSB7XHJcbiAgICAgICAgY29uc3QgdGltZW91dFBhdGNoID0gNTAwO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFjdHVhbFZhbHVlID0gdGhpcy5mb3JtR3JvdXAudmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUodGhpcy5hY3R1YWxWYWx1ZSk7XHJcbiAgICAgICAgfSwgdGltZW91dFBhdGNoKTtcclxuICAgIH1cclxuXHJcbiAgICBjYW5TYXZlKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5hZ2VuZGEgfHwgIXRoaXMuYWdlbmRhLmlkIHx8ICF0aGlzLmlzRm9ybU1vZGlmaWVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgb25TYXZlKHN0YXJ0PzogYm9vbGVhbikge1xyXG5cclxuICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwLmludmFsaWQpIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlQWxsRm9ybUZpZWxkcyh0aGlzLmZvcm1Hcm91cCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaXNGb3JtTW9kaWZpZWQgPSBmYWxzZTtcclxuXHJcbiAgICAgIGNvbnN0IHNjaGVkdWxpbmcgPSB0aGlzLnNjaGVkdWxpbmdWaXNpdG9ycy5zY2hlZHVsaW5nO1xyXG5cclxuICAgICAgc2NoZWR1bGluZy5pZFlNUyA9IHRoaXMuYWdlbmRhLmlkO1xyXG4gICAgICBzY2hlZHVsaW5nLmRlc2NyaXB0aW9uID0gdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbJ21vdGl2b1Zpc2l0YSddLnZhbHVlO1xyXG5cclxuICAgICAgc2NoZWR1bGluZy5leHBlY3RlZFN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgICBjb25zdCBkYXRhU2FpZGE6IERhdGUgPSB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1snZGF0YVNhaWRhJ10udmFsdWU7XHJcbiAgICAgIGNvbnN0IGhvcmFTYWlkYTogRGF0ZSA9IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzWydob3JhU2FpZGEnXS52YWx1ZTtcclxuICAgICAgc2NoZWR1bGluZy5leHBlY3RlZEVuZERhdGUgPSB0aGlzLmdldERhdGUoZGF0YVNhaWRhLCBob3JhU2FpZGEpO1xyXG5cclxuICAgICAgY29uc3QgcG9ydGFyaWEgPSB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1sncG9ydGFyaWEnXS52YWx1ZTtcclxuICAgICAgaWYgKHBvcnRhcmlhKSB7XHJcbiAgICAgICAgc2NoZWR1bGluZy5sb2JieUlkU0FNID0gcG9ydGFyaWEuaWQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuc2NoZWR1bGluZ1NlcnZpY2VcclxuICAgICAgICAuc2F2ZVNjaGVkdWxpbmcodGhpcy5zY2hlZHVsaW5nVmlzaXRvcnMpXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcclxuICAgICAgICAgIG1lcmdlTWFwKChyZXM6IFNjaGVkdWxpbmdWaXNpdG9ycykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxpbmdWaXNpdG9ycyA9IHJlcztcclxuICAgICAgICAgICAgaWYgKHN0YXJ0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zY2hlZHVsaW5nU2VydmljZS5zdGFydFNjaGVkdWxpbmcoXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsaW5nVmlzaXRvcnMuc2NoZWR1bGluZy5pZFlNU1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuIE5FVkVSO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpKVxyXG4gICAgICAgIClcclxuICAgICAgICAuc3Vic2NyaWJlKChzdWNjZXNzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChzdWNjZXNzICYmIHRoaXMuc2F2ZUFuZEluaXRCdXR0b24pIHtcclxuICAgICAgICAgICAgdGhpcy5zYXZlQW5kSW5pdEJ1dHRvbi5jbGljaygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcclxuICAgICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goKGZpZWxkKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGZpZWxkKTtcclxuICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xyXG4gICAgICAgICAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSh7IG9ubHlTZWxmOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKGNvbnRyb2wpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAvLyBuYWRhIGEgZmF6ZXJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldERhdGUoZGF0YTogRGF0ZSwgaG9yYTogRGF0ZSk6IERhdGUge1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShcclxuICAgICAgICAgICAgZGF0YS5nZXRGdWxsWWVhcigpLFxyXG4gICAgICAgICAgICBkYXRhLmdldE1vbnRoKCksXHJcbiAgICAgICAgICAgIGRhdGEuZ2V0RGF0ZSgpLFxyXG4gICAgICAgICAgICBob3JhLmdldEhvdXJzKCksXHJcbiAgICAgICAgICAgIGhvcmEuZ2V0TWludXRlcygpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXNldCgpIHtcclxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHsgLi4udGhpcy5hY3R1YWxWYWx1ZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNyZWF0ZUZvcm0oKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICAgbW90aXZvVmlzaXRhOiBbdW5kZWZpbmVkLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKV0sXHJcbiAgICAgICAgICAgIHBvcnRhcmlhOiBbdW5kZWZpbmVkLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKV0sXHJcbiAgICAgICAgICAgIGRhdGFTYWlkYTogW3VuZGVmaW5lZCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxyXG4gICAgICAgICAgICBob3JhU2FpZGE6IFt1bmRlZmluZWQsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldExvYmJ5RmllbGRzKCkge1xyXG4gICAgICAgIHJldHVybiBbXHJcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xyXG4gICAgICAgICAgICAgICAgbmFtZTogXCJuYW1lXCIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMucGF0aW8uc2FtX3BvcnRhcmlhX2Rlc2NyaWNhb1wiKSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgXTtcclxuICAgIH1cclxufVxyXG4iXX0=
|