@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,20 +8,25 @@ 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
|
var moment = _moment;
|
|
12
14
|
var OrdemCompraFormComponent = /** @class */ (function () {
|
|
13
|
-
function OrdemCompraFormComponent(dialogRef, dialogConfig, ordemCompraService, translate, fb) {
|
|
15
|
+
function OrdemCompraFormComponent(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
|
OrdemCompraFormComponent.prototype.ngOnInit = function () {
|
|
29
|
+
var _this = this;
|
|
25
30
|
var data = this.dialogConfig.data;
|
|
26
31
|
this.agenda = data.agenda;
|
|
27
32
|
this.filial = data.filial;
|
|
@@ -33,6 +38,10 @@ var OrdemCompraFormComponent = /** @class */ (function () {
|
|
|
33
38
|
this.formGroup = this.getForm();
|
|
34
39
|
this.ordemCompraSearchFields = this.getOrdemCompraFields();
|
|
35
40
|
this.ordemCompraSearchGridFields = this.getOrdemCompraGridFields();
|
|
41
|
+
this.route.data.pipe(takeUntil(this.ngUnsubscribe)).subscribe(function (dataChanges) { return _this.onRouteDataChange(dataChanges); });
|
|
42
|
+
};
|
|
43
|
+
OrdemCompraFormComponent.prototype.onRouteDataChange = function (dataChanges) {
|
|
44
|
+
this.permissions = dataChanges.allPermissions.agenda;
|
|
36
45
|
};
|
|
37
46
|
OrdemCompraFormComponent.prototype.ngOnDestroy = function () {
|
|
38
47
|
this.ngUnsubscribe.next();
|
|
@@ -183,15 +192,16 @@ var OrdemCompraFormComponent = /** @class */ (function () {
|
|
|
183
192
|
};
|
|
184
193
|
OrdemCompraFormComponent = tslib_1.__decorate([
|
|
185
194
|
Component({
|
|
186
|
-
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>"
|
|
195
|
+
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>"
|
|
187
196
|
}),
|
|
188
197
|
tslib_1.__metadata("design:paramtypes", [DynamicDialogRef,
|
|
189
198
|
DynamicDialogConfig,
|
|
190
199
|
OrdemCompraService,
|
|
191
200
|
TranslateService,
|
|
192
|
-
FormBuilder
|
|
201
|
+
FormBuilder,
|
|
202
|
+
ActivatedRoute])
|
|
193
203
|
], OrdemCompraFormComponent);
|
|
194
204
|
return OrdemCompraFormComponent;
|
|
195
205
|
}());
|
|
196
206
|
export { OrdemCompraFormComponent };
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZW0tY29tcHJhLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy9lcnAtc2VuaW9yL3JlY2ViaW1lbnRvLW9yZGVtLWNvbXByYS9vcmRlbS1jb21wcmEtZm9ybS9vcmRlbS1jb21wcmEtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUkzRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDNUUsSUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBS3ZCO0lBa0JJLGtDQUNZLFNBQTJCLEVBQzNCLFlBQWlDLEVBQ2pDLGtCQUFzQyxFQUN0QyxTQUEyQixFQUMzQixFQUFlO1FBSmYsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ2pDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQWpCcEIsbUNBQThCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDNUQscUNBQWdDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDbEcsK0JBQTBCLEdBQUcsS0FBSyxDQUFDO1FBSXpCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVlqRCxDQUFDO0lBRUwsMkNBQVEsR0FBUjtRQUNZLElBQUEsNkJBQUksQ0FBdUI7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxVQUFDLEVBQWlDO2dCQUEvQiw0QkFBd0I7WUFBWSxPQUFBLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFBMUMsQ0FBMEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFDLEdBQVEsSUFBSyxPQUFBLENBQUMsQ0FBQyxHQUFHLEVBQUwsQ0FBSyxDQUFDLENBQUM7UUFFbkosSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFaEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzNELElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRUQsOENBQVcsR0FBWDtRQUNJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sNkRBQTBCLEdBQWpDLFVBQWtDLEtBQWE7UUFBL0MsaUJBaUNDO1FBaENHLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHLENBQUMsVUFBQyxLQUFVLElBQUssT0FBQSxDQUFDLEVBQUUsS0FBSyxPQUFBLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQXpCLENBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuRyxJQUFNLE1BQU0sR0FBUTtZQUNoQixNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7U0FDcEMsQ0FBQztRQUVGLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUMvQyxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQjthQUNsQixnQkFBZ0Isc0JBQ1YsTUFBTSxJQUNULFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBQyxFQUFFLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ2pELFFBQVEsRUFBRSxDQUFDLE1BQU0sSUFBSSxFQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDeEMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQ3JHLHdCQUF3QixFQUFFLElBQUksQ0FBQyxZQUFZLEVBQzNDLE1BQU0sRUFBRTtnQkFDSixLQUFLLEVBQUUsRUFBRTtnQkFDVCxNQUFNLEVBQUUsQ0FBQztnQkFDVCxjQUFjLEVBQUU7b0JBQ1o7d0JBQ0ksS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO3dCQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUs7cUJBQ3hCO2lCQUNKO2FBQ0osSUFDSDthQUNELFNBQVMsQ0FBQyxVQUFDLElBQVM7WUFDakIsS0FBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSw2REFBMEIsR0FBakMsVUFBa0MsS0FBVTtRQUE1QyxpQkEwQ0M7UUF6Q1csSUFBQSxtQkFBSyxFQUFFLGlCQUFJLEVBQUUsbUNBQWEsRUFBRSw2QkFBVSxDQUFXO1FBQ3pELElBQU0sSUFBSSxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2FBQ3JDLE1BQU0sQ0FBQyxVQUFDLEVBQVE7Z0JBQU4sY0FBSTtZQUFPLE9BQUEsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUF2RCxDQUF1RCxDQUFDO2FBQzdFLE1BQU0sQ0FBQyxVQUFDLENBQUMsRUFBRSxDQUFNOztZQUNkLDRCQUNPLENBQUMsZUFDSCxDQUFDLENBQUMsSUFBSSxJQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQzlCO1FBQ04sQ0FBQyxFQUFFLEVBQVMsQ0FBQyxDQUFDO1FBRWxCLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxNQUFNLElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUMvQyxNQUFNLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1NBQ3hDO1FBRUQsTUFBTSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNGLElBQU0sSUFBSSxHQUFHLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFFeEssSUFBSSxDQUFDLGtCQUFrQjthQUNsQixnQkFBZ0Isc0JBQ1YsTUFBTSxJQUNULFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksRUFBQyxFQUFFLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ2pELFFBQVEsRUFBRSxDQUFDLE1BQU0sSUFBSSxFQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDeEMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQ3JHLHdCQUF3QixFQUFFLElBQUksQ0FBQyxZQUFZLEVBQzNDLE1BQU0sRUFBRTtnQkFDSixLQUFLLEVBQUUsSUFBSTtnQkFDWCxNQUFNLEVBQUUsSUFBSTtnQkFDWixjQUFjLEVBQUU7b0JBQ1o7d0JBQ0ksS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO3dCQUNqQixTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUs7cUJBQ3hCO2lCQUNKO2FBQ0osSUFDSDthQUNELFNBQVMsQ0FBQyxVQUFDLElBQVM7WUFDakIsS0FBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4RSxLQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTSwrQ0FBWSxHQUFuQixVQUFvQixLQUFhLEVBQUUsSUFBWSxFQUFFLElBQVM7UUFDdEQsSUFBTSxJQUFJLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU07WUFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBQyxDQUFNLElBQU0sT0FBQSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQS9ELENBQStELENBQUM7WUFDeEYsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVULE9BQU87WUFDSCxNQUFNLEVBQUUsSUFBSTtZQUNaLEtBQUssRUFBRSxJQUFJO1lBQ1gsY0FBYyxFQUFFLE9BQU87U0FDMUIsQ0FBQTtJQUNMLENBQUM7SUFFTyx3REFBcUIsR0FBN0IsVUFBOEIsU0FBb0I7UUFBbEQsaUJBYUM7UUFaRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxLQUFLO1lBQ3pDLElBQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsSUFBSSxPQUFPLFlBQVksV0FBVyxFQUFFO2dCQUNoQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7YUFDM0M7aUJBQ0ksSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFDO2dCQUNsQyxLQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkM7aUJBQ0ksSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFO2dCQUNuQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFDLElBQWUsSUFBSyxPQUFBLEtBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsRUFBaEMsQ0FBZ0MsQ0FBQyxDQUFDO2FBQ25GO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sdUNBQUksR0FBWDtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDckQ7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSx3Q0FBSyxHQUFaLFVBQWEsSUFBVTtRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU8sMENBQU8sR0FBZjtRQUNJLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDakIsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDaEQsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHVEQUFvQixHQUE1QjtRQUNJLE9BQU87WUFDSCxJQUFJLFNBQVMsQ0FBQztnQkFDVixJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07Z0JBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQzthQUMvRCxDQUFDO1lBQ0YsSUFBSSxTQUFTLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtnQkFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO2FBQ25ELENBQUM7WUFDRixJQUFJLFNBQVMsQ0FBQztnQkFDVixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2dCQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7YUFDbEQsQ0FBQztTQUNMLENBQUM7SUFDTixDQUFDO0lBRU8sMkRBQXdCLEdBQWhDO1FBQ0ksT0FBTztZQUNILElBQUksU0FBUyxDQUFDO2dCQUNWLElBQUksRUFBRSxRQUFRO2dCQUNkLElBQUksRUFBRSxTQUFTLENBQUMsT0FBTztnQkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDO2FBQy9ELENBQUM7WUFDRixJQUFJLFNBQVMsQ0FBQztnQkFDVixJQUFJLEVBQUUsY0FBYztnQkFDcEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2dCQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7YUFDbkQsQ0FBQztZQUNGLElBQUksU0FBUyxDQUFDO2dCQUNWLElBQUksRUFBRSxhQUFhO2dCQUNuQixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07Z0JBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQzthQUNsRCxDQUFDO1lBQ0YsSUFBSSxTQUFTLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtnQkFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDO2FBQ3ZELENBQUM7U0FDTCxDQUFDO0lBQ04sQ0FBQztJQW5OUSx3QkFBd0I7UUFIcEMsU0FBUyxDQUFDO1lBQ1AsdXNEQUFpRDtTQUNwRCxDQUFDO2lEQW9CeUIsZ0JBQWdCO1lBQ2IsbUJBQW1CO1lBQ2Isa0JBQWtCO1lBQzNCLGdCQUFnQjtZQUN2QixXQUFXO09BdkJsQix3QkFBd0IsQ0FvTnBDO0lBQUQsK0JBQUM7Q0FBQSxBQXBORCxJQW9OQztTQXBOWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIEZvcm1BcnJheSwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dSZWYsIER5bmFtaWNEaWFsb2dDb25maWcgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IEZvcm1GaWVsZCwgRmllbGRUeXBlIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgX21vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQgeyBPcmRlbUNvbXByYVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9lbnRpdGllcy9vcmRlbS1jb21wcmEvb3JkZW0tY29tcHJhLnNlcnZpY2VcIjtcbmltcG9ydCB7IFBlc3NvYSB9IGZyb20gJy4vLi4vLi4vY29yZS9lbnRpdGllcy9wZXNzb2EvcGVzc29hJztcbmltcG9ydCB7IEZpbGlhbCB9IGZyb20gJy4vLi4vLi4vY29yZS9lbnRpdGllcy9maWxpYWwvZmlsaWFsJztcbmltcG9ydCB7IEFnZW5kYSB9IGZyb20gXCIuLi8uLi9jb3JlL2VudGl0aWVzL2FnZW5kYS9hZ2VuZGFcIjtcbmltcG9ydCB7IE9yZGVtQ29tcHJhIH0gZnJvbSBcIi4uLy4uL2NvcmUvZW50aXRpZXMvb3JkZW0tY29tcHJhL29yZGVtLWNvbXByYVwiO1xuY29uc3QgbW9tZW50ID0gX21vbWVudDtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL29yZGVtLWNvbXByYS1mb3JtLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBPcmRlbUNvbXByYUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gICAgcHVibGljIG9yZGVtQ29tcHJhU2VhcmNoRmllbGRzOiBGb3JtRmllbGRbXTtcbiAgICBwdWJsaWMgb3JkZW1Db21wcmFTZWFyY2hHcmlkRmllbGRzOiBGb3JtRmllbGRbXTtcbiAgICBwdWJsaWMgb3JkZW1Db21wcmFTZWFyY2hHcmlkRGF0YTogT3JkZW1Db21wcmFbXTtcbiAgICBwdWJsaWMgb3JkZW1Db21wcmFMb29rdXBEaXNwbGF5RmllbGRzID0gW1wiY29kaWdvXCIsIFwiZW1wcmVzYS5ub21lXCJdO1xuICAgIHB1YmxpYyBvcmRlbUNvbXByYUFkdmFuY2VkRGlzcGxheUZpZWxkcyA9IFtcImlkXCIsIFwiY29kaWdvXCIsIFwiZW1wcmVzYS5ub21lXCIsIFwiZmlsaWFsLm5vbWVcIiwgXCJwZXNzb2Eubm9tZVwiXTtcbiAgICBwdWJsaWMgb3JkZW1Db21wcmFMb29rdXBTZXBhcmF0b3IgPSBcIiAtIFwiO1xuICAgIHB1YmxpYyBvcmRlbUNvbXByYUxvb2t1cFN1Z2dlc3Rpb25zOiBPcmRlbUNvbXByYVtdO1xuICAgIHB1YmxpYyBvcmRlbUNvbXByYVNlYXJjaFRvdGFsUmVjb3JkczogbnVtYmVyO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIGFnZW5kYTogQWdlbmRhO1xuICAgIHByaXZhdGUgZmlsaWFsOiBGaWxpYWw7XG4gICAgcHJpdmF0ZSBmb3JuZWNlZG9yOiBQZXNzb2E7XG4gICAgcHJpdmF0ZSBvcmRlbnNDb21wcmE6IHN0cmluZ1tdO1xuXG4gICAgY29uc3RydWN0b3IgKFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZixcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXG4gICAgICAgIHByaXZhdGUgb3JkZW1Db21wcmFTZXJ2aWNlOiBPcmRlbUNvbXByYVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlclxuICAgICkgeyB9XG4gICBcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyBkYXRhIH0gPSB0aGlzLmRpYWxvZ0NvbmZpZztcbiAgICAgICAgdGhpcy5hZ2VuZGEgPSBkYXRhLmFnZW5kYTtcbiAgICAgICAgdGhpcy5maWxpYWwgPSBkYXRhLmZpbGlhbDtcbiAgICAgICAgdGhpcy5mb3JuZWNlZG9yID0gZGF0YS5mb3JuZWNlZG9yO1xuICAgICAgICB0aGlzLm9yZGVuc0NvbXByYSA9IGRhdGEub3JkZW5zLm1hcCgoeyBvcmRlbUNvbXByYTogb3JkZW1Db21wcmEgfTogYW55KSA9PiAhIW9yZGVtQ29tcHJhID8gb3JkZW1Db21wcmEuaWQgOiB1bmRlZmluZWQpLmZpbHRlcigodmFsOiBhbnkpID0+ICEhdmFsKTtcblxuICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZ2V0Rm9ybSgpO1xuXG4gICAgICAgIHRoaXMub3JkZW1Db21wcmFTZWFyY2hGaWVsZHMgPSB0aGlzLmdldE9yZGVtQ29tcHJhRmllbGRzKCk7XG4gICAgICAgIHRoaXMub3JkZW1Db21wcmFTZWFyY2hHcmlkRmllbGRzID0gdGhpcy5nZXRPcmRlbUNvbXByYUdyaWRGaWVsZHMoKTtcbiAgICB9XG4gICAgXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk9yZGVtQ29tcHJhTG9va3VwUmVxdWVzdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHNvcnQgPSB0aGlzLm9yZGVtQ29tcHJhTG9va3VwRGlzcGxheUZpZWxkcy5tYXAoKGZpZWxkOiBhbnkpID0+ICh7IGZpZWxkLCBvcmRlcjogJ0FzYycgfSkpWzBdO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlcjogYW55ID0ge1xuICAgICAgICAgICAgbnVtZXJvOiArdmFsdWUucmVwbGFjZSgvXFxEL2csIFwiXCIpXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZmlsaWFsID0gdGhpcy5maWxpYWw7XG4gICAgICAgIGlmIChmaWxpYWwgJiYgZmlsaWFsLmVtcHJlc2EgJiYgZmlsaWFsLmVtcHJlc2EuaWQpIHtcbiAgICAgICAgICAgIGZpbHRlci5lbXByZXNhSWQgPSBmaWxpYWwuZW1wcmVzYS5pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3JkZW1Db21wcmFTZXJ2aWNlXG4gICAgICAgICAgICAubGlzdE9yZGVuc0NvbXByYSh7XG4gICAgICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgICAgICAgIHBlc3NvYUlkOiAodGhpcy5mb3JuZWNlZG9yIHx8IHtpZDogdW5kZWZpbmVkfSkuaWQsXG4gICAgICAgICAgICAgICAgZmlsaWFsSWQ6IChmaWxpYWwgfHwge2lkOiB1bmRlZmluZWR9KS5pZCxcbiAgICAgICAgICAgICAgICB0aXBvQWdlbmRhbWVudG9JZDogdGhpcy5hZ2VuZGEgJiYgdGhpcy5hZ2VuZGEudGlwb0FnZW5kYW1lbnRvID8gdGhpcy5hZ2VuZGEudGlwb0FnZW5kYW1lbnRvLmlkIDogbnVsbCxcbiAgICAgICAgICAgICAgICBvcmRlbnNDb21wcmFTZWxlY2lvbmFkb3M6IHRoaXMub3JkZW5zQ29tcHJhLFxuICAgICAgICAgICAgICAgIHBhZ2luYToge1xuICAgICAgICAgICAgICAgICAgICBsaW1pdDogMzAsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGlzdGFPcmRlbmFjYW86IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW1wbzogc29ydC5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlbmFjYW86IHNvcnQub3JkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVtQ29tcHJhTG9va3VwU3VnZ2VzdGlvbnMgPSBsaXN0LmNvbnRlbnRzLm1hcChPcmRlbUNvbXByYS5mcm9tRHRvKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk9yZGVtQ29tcHJhU2VhcmNoUmVxdWVzdChldmVudDogYW55KSB7XG4gICAgICAgIGNvbnN0IHsgZmlyc3QsIHJvd3MsIG11bHRpU29ydE1ldGEsIGZpbHRlckRhdGEgfSA9IGV2ZW50O1xuICAgICAgICBjb25zdCBwYWdlID0gZmlyc3QgLyByb3dzO1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmdldE9yZGVtQ29tcHJhRmllbGRzKClcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiBmaWx0ZXJEYXRhW25hbWVdICE9IHVuZGVmaW5lZCAmJiBmaWx0ZXJEYXRhW25hbWVdICE9IFwiXCIpXG4gICAgICAgICAgICAucmVkdWNlKChhLCBiOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5hLFxuICAgICAgICAgICAgICAgICAgICBbYi5uYW1lXTogZmlsdGVyRGF0YVtiLm5hbWVdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sIHt9IGFzIGFueSk7XG5cbiAgICAgICAgY29uc3QgZmlsaWFsID0gdGhpcy5maWxpYWw7XG4gICAgICAgIGlmIChmaWxpYWwgJiYgZmlsaWFsLmVtcHJlc2EgJiYgZmlsaWFsLmVtcHJlc2EuaWQpIHtcbiAgICAgICAgICAgIGZpbHRlci5lbXByZXNhSWQgPSBmaWxpYWwuZW1wcmVzYS5pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpbHRlci5kYXRhRW1pc3NhbyA9IGZpbHRlci5kYXRhRW1pc3NhbyAmJiBtb21lbnQoZmlsdGVyLmRhdGFFbWlzc2FvKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xuICAgICAgICBjb25zdCBzb3J0ID0gKG11bHRpU29ydE1ldGEgfHwgW10pLmxlbmd0aCA/IHsgZmllbGQ6IG11bHRpU29ydE1ldGFbMF0uZmllbGQsIG9yZGVyOiBtdWx0aVNvcnRNZXRhWzBdLm9yZGVyID09PSAxID8gJ0FzYycgOiAnRGVzYycgfSA6IHsgZmllbGQ6ICdudW1lcm8nLCBvcmRlcjogJ0FzYycgfTtcblxuICAgICAgICB0aGlzLm9yZGVtQ29tcHJhU2VydmljZVxuICAgICAgICAgICAgLmxpc3RPcmRlbnNDb21wcmEoe1xuICAgICAgICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICAgICAgICBwZXNzb2FJZDogKHRoaXMuZm9ybmVjZWRvciB8fCB7aWQ6IHVuZGVmaW5lZH0pLmlkLFxuICAgICAgICAgICAgICAgIGZpbGlhbElkOiAoZmlsaWFsIHx8IHtpZDogdW5kZWZpbmVkfSkuaWQsXG4gICAgICAgICAgICAgICAgdGlwb0FnZW5kYW1lbnRvSWQ6IHRoaXMuYWdlbmRhICYmIHRoaXMuYWdlbmRhLnRpcG9BZ2VuZGFtZW50byA/IHRoaXMuYWdlbmRhLnRpcG9BZ2VuZGFtZW50by5pZCA6IG51bGwsXG4gICAgICAgICAgICAgICAgb3JkZW5zQ29tcHJhU2VsZWNpb25hZG9zOiB0aGlzLm9yZGVuc0NvbXByYSxcbiAgICAgICAgICAgICAgICBwYWdpbmE6IHtcbiAgICAgICAgICAgICAgICAgICAgbGltaXQ6IHJvd3MsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogcGFnZSxcbiAgICAgICAgICAgICAgICAgICAgbGlzdGFPcmRlbmFjYW86IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW1wbzogc29ydC5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlbmFjYW86IHNvcnQub3JkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVtQ29tcHJhU2VhcmNoR3JpZERhdGEgPSBsaXN0LmNvbnRlbnRzLm1hcChPcmRlbUNvbXByYS5mcm9tRHRvKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVtQ29tcHJhU2VhcmNoVG90YWxSZWNvcmRzID0gbGlzdC50b3RhbEVsZW1lbnRzO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJlY1BhZ2luYShmaXJzdDogbnVtYmVyLCByb3dzOiBudW1iZXIsIHNvcnQ6IGFueSkge1xuICAgICAgICBjb25zdCBwYWdlID0gZmlyc3QgLyByb3dzO1xuICAgICAgICBjb25zdCBvcmRlckJ5ID0gc29ydCAmJiBzb3J0Lmxlbmd0aCBcbiAgICAgICAgICAgID8gc29ydC5tYXAoKHM6IGFueSkgPT4gICh7IGNhbXBvOiBzLmZpZWxkLCBvcmRlbmFjYW86IHMub3JkZXIgPT09IDEgPyAnQXNjJyA6ICdEZXNjJyB9KSkgXG4gICAgICAgICAgICA6IFtdO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvZmZzZXQ6IHBhZ2UsXG4gICAgICAgICAgICBsaW1pdDogcm93cyxcbiAgICAgICAgICAgIGxpc3RhT3JkZW5hY2FvOiBvcmRlckJ5XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xuICAgICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoZmllbGQpO1xuICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApe1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKGNvbnRyb2wpO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgICAgICAgICAgICBjb250cm9sLmNvbnRyb2xzLmZvckVhY2goKGZvcm06IEZvcm1Hcm91cCkgPT4gdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2F2ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKHRoaXMuZm9ybUdyb3VwKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsb3NlKHRoaXMuZm9ybUdyb3VwLmdldCgnb3JkZW1Db21wcmEnKS52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKGRhdGE/OiBhbnkpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZGF0YSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGb3JtKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICBvcmRlbUNvbXByYTogW3VuZGVmaW5lZCwgVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPcmRlbUNvbXByYUZpZWxkcygpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiY29kaWdvXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5lcnAub3JkZW1fY29tcHJhX2NvZGlnb1wiKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImVtcHJlc2Eubm9tZVwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuZXJwLmVtcHJlc2FcIilcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJmaWxpYWwubm9tZVwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuZXJwLmZpbGlhbFwiKVxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPcmRlbUNvbXByYUdyaWRGaWVsZHMoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImNvZGlnb1wiLFxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5JbnRlZ2VyLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmVycC5vcmRlbV9jb21wcmFfY29kaWdvXCIpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiZW1wcmVzYS5ub21lXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5lcnAuZW1wcmVzYVwiKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImZpbGlhbC5ub21lXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5lcnAuZmlsaWFsXCIpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwicGVzc29hLm5vbWVcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmVycC5wZXNzb2Ffbm9tZVwiKVxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgfVxufSJdfQ==
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZW0tY29tcHJhLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy9lcnAtc2VuaW9yL3JlY2ViaW1lbnRvLW9yZGVtLWNvbXByYS9vcmRlbS1jb21wcmEtZm9ybS9vcmRlbS1jb21wcmEtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUkzRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFLdkI7SUFtQkksa0NBQ1ksU0FBMkIsRUFDM0IsWUFBaUMsRUFDakMsa0JBQXNDLEVBQ3RDLFNBQTJCLEVBQ2xCLEVBQWUsRUFDZixLQUFxQjtRQUw5QixjQUFTLEdBQVQsU0FBUyxDQUFr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QkFDVixJQUFJLEVBQUUsY0FBYztnQkFDcEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2dCQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7YUFDbkQsQ0FBQztZQUNGLElBQUksU0FBUyxDQUFDO2dCQUNWLElBQUksRUFBRSxhQUFhO2dCQUNuQixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07Z0JBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQzthQUNsRCxDQUFDO1lBQ0YsSUFBSSxTQUFTLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtnQkFDdEIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDO2FBQ3ZELENBQUM7U0FDTCxDQUFDO0lBQ04sQ0FBQztJQTFOUSx3QkFBd0I7UUFIcEMsU0FBUyxDQUFDO1lBQ1AsdXZEQUFpRDtTQUNwRCxDQUFDO2lEQXFCeUIsZ0JBQWdCO1lBQ2IsbUJBQW1CO1lBQ2Isa0JBQWtCO1lBQzNCLGdCQUFnQjtZQUNkLFdBQVc7WUFDUixjQUFjO09BekJqQyx3QkFBd0IsQ0EyTnBDO0lBQUQsK0JBQUM7Q0FBQSxBQTNORCxJQTJOQztTQTNOWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIEZvcm1BcnJheSwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dSZWYsIER5bmFtaWNEaWFsb2dDb25maWcgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IEZvcm1GaWVsZCwgRmllbGRUeXBlIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0ICogYXMgX21vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQgeyBPcmRlbUNvbXByYVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9lbnRpdGllcy9vcmRlbS1jb21wcmEvb3JkZW0tY29tcHJhLnNlcnZpY2VcIjtcbmltcG9ydCB7IFBlc3NvYSB9IGZyb20gJy4vLi4vLi4vY29yZS9lbnRpdGllcy9wZXNzb2EvcGVzc29hJztcbmltcG9ydCB7IEZpbGlhbCB9IGZyb20gJy4vLi4vLi4vY29yZS9lbnRpdGllcy9maWxpYWwvZmlsaWFsJztcbmltcG9ydCB7IEFnZW5kYSB9IGZyb20gXCIuLi8uLi9jb3JlL2VudGl0aWVzL2FnZW5kYS9hZ2VuZGFcIjtcbmltcG9ydCB7IE9yZGVtQ29tcHJhIH0gZnJvbSBcIi4uLy4uL2NvcmUvZW50aXRpZXMvb3JkZW0tY29tcHJhL29yZGVtLWNvbXByYVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmNvbnN0IG1vbWVudCA9IF9tb21lbnQ7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9vcmRlbS1jb21wcmEtZm9ybS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgT3JkZW1Db21wcmFGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAgIHB1YmxpYyBvcmRlbUNvbXByYVNlYXJjaEZpZWxkczogRm9ybUZpZWxkW107XG4gICAgcHVibGljIG9yZGVtQ29tcHJhU2VhcmNoR3JpZEZpZWxkczogRm9ybUZpZWxkW107XG4gICAgcHVibGljIG9yZGVtQ29tcHJhU2VhcmNoR3JpZERhdGE6IE9yZGVtQ29tcHJhW107XG4gICAgcHVibGljIG9yZGVtQ29tcHJhTG9va3VwRGlzcGxheUZpZWxkcyA9IFtcImNvZGlnb1wiLCBcImVtcHJlc2Eubm9tZVwiXTtcbiAgICBwdWJsaWMgb3JkZW1Db21wcmFBZHZhbmNlZERpc3BsYXlGaWVsZHMgPSBbXCJpZFwiLCBcImNvZGlnb1wiLCBcImVtcHJlc2Eubm9tZVwiLCBcImZpbGlhbC5ub21lXCIsIFwicGVzc29hLm5vbWVcIl07XG4gICAgcHVibGljIG9yZGVtQ29tcHJhTG9va3VwU2VwYXJhdG9yID0gXCIgLSBcIjtcbiAgICBwdWJsaWMgb3JkZW1Db21wcmFMb29rdXBTdWdnZXN0aW9uczogT3JkZW1Db21wcmFbXTtcbiAgICBwdWJsaWMgb3JkZW1Db21wcmFTZWFyY2hUb3RhbFJlY29yZHM6IG51bWJlcjtcbiAgICBwdWJsaWMgcGVybWlzc2lvbnM6IGFueSA9IHt9O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIGFnZW5kYTogQWdlbmRhO1xuICAgIHByaXZhdGUgZmlsaWFsOiBGaWxpYWw7XG4gICAgcHJpdmF0ZSBmb3JuZWNlZG9yOiBQZXNzb2E7XG4gICAgcHJpdmF0ZSBvcmRlbnNDb21wcmE6IHN0cmluZ1tdO1xuXG4gICAgY29uc3RydWN0b3IgKFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZixcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXG4gICAgICAgIHByaXZhdGUgb3JkZW1Db21wcmFTZXJ2aWNlOiBPcmRlbUNvbXByYVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgKSB7IH1cbiAgIFxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IHRoaXMuZGlhbG9nQ29uZmlnO1xuICAgICAgICB0aGlzLmFnZW5kYSA9IGRhdGEuYWdlbmRhO1xuICAgICAgICB0aGlzLmZpbGlhbCA9IGRhdGEuZmlsaWFsO1xuICAgICAgICB0aGlzLmZvcm5lY2Vkb3IgPSBkYXRhLmZvcm5lY2Vkb3I7XG4gICAgICAgIHRoaXMub3JkZW5zQ29tcHJhID0gZGF0YS5vcmRlbnMubWFwKCh7IG9yZGVtQ29tcHJhOiBvcmRlbUNvbXByYSB9OiBhbnkpID0+ICEhb3JkZW1Db21wcmEgPyBvcmRlbUNvbXByYS5pZCA6IHVuZGVmaW5lZCkuZmlsdGVyKCh2YWw6IGFueSkgPT4gISF2YWwpO1xuXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5nZXRGb3JtKCk7XG5cbiAgICAgICAgdGhpcy5vcmRlbUNvbXByYVNlYXJjaEZpZWxkcyA9IHRoaXMuZ2V0T3JkZW1Db21wcmFGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5vcmRlbUNvbXByYVNlYXJjaEdyaWRGaWVsZHMgPSB0aGlzLmdldE9yZGVtQ29tcHJhR3JpZEZpZWxkcygpO1xuICAgICAgICB0aGlzLnJvdXRlLmRhdGEucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChkYXRhQ2hhbmdlczogYW55KSA9PiB0aGlzLm9uUm91dGVEYXRhQ2hhbmdlKGRhdGFDaGFuZ2VzKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUm91dGVEYXRhQ2hhbmdlKGRhdGFDaGFuZ2VzOiBhbnkpIHtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9ucyA9IGRhdGFDaGFuZ2VzLmFsbFBlcm1pc3Npb25zLmFnZW5kYTtcbiAgICB9XG4gICAgXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk9yZGVtQ29tcHJhTG9va3VwUmVxdWVzdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHNvcnQgPSB0aGlzLm9yZGVtQ29tcHJhTG9va3VwRGlzcGxheUZpZWxkcy5tYXAoKGZpZWxkOiBhbnkpID0+ICh7IGZpZWxkLCBvcmRlcjogJ0FzYycgfSkpWzBdO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlcjogYW55ID0ge1xuICAgICAgICAgICAgbnVtZXJvOiArdmFsdWUucmVwbGFjZSgvXFxEL2csIFwiXCIpXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZmlsaWFsID0gdGhpcy5maWxpYWw7XG4gICAgICAgIGlmIChmaWxpYWwgJiYgZmlsaWFsLmVtcHJlc2EgJiYgZmlsaWFsLmVtcHJlc2EuaWQpIHtcbiAgICAgICAgICAgIGZpbHRlci5lbXByZXNhSWQgPSBmaWxpYWwuZW1wcmVzYS5pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3JkZW1Db21wcmFTZXJ2aWNlXG4gICAgICAgICAgICAubGlzdE9yZGVuc0NvbXByYSh7XG4gICAgICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgICAgICAgIHBlc3NvYUlkOiAodGhpcy5mb3JuZWNlZG9yIHx8IHtpZDogdW5kZWZpbmVkfSkuaWQsXG4gICAgICAgICAgICAgICAgZmlsaWFsSWQ6IChmaWxpYWwgfHwge2lkOiB1bmRlZmluZWR9KS5pZCxcbiAgICAgICAgICAgICAgICB0aXBvQWdlbmRhbWVudG9JZDogdGhpcy5hZ2VuZGEgJiYgdGhpcy5hZ2VuZGEudGlwb0FnZW5kYW1lbnRvID8gdGhpcy5hZ2VuZGEudGlwb0FnZW5kYW1lbnRvLmlkIDogbnVsbCxcbiAgICAgICAgICAgICAgICBvcmRlbnNDb21wcmFTZWxlY2lvbmFkb3M6IHRoaXMub3JkZW5zQ29tcHJhLFxuICAgICAgICAgICAgICAgIHBhZ2luYToge1xuICAgICAgICAgICAgICAgICAgICBsaW1pdDogMzAsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGlzdGFPcmRlbmFjYW86IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW1wbzogc29ydC5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlbmFjYW86IHNvcnQub3JkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVtQ29tcHJhTG9va3VwU3VnZ2VzdGlvbnMgPSBsaXN0LmNvbnRlbnRzLm1hcChPcmRlbUNvbXByYS5mcm9tRHRvKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk9yZGVtQ29tcHJhU2VhcmNoUmVxdWVzdChldmVudDogYW55KSB7XG4gICAgICAgIGNvbnN0IHsgZmlyc3QsIHJvd3MsIG11bHRpU29ydE1ldGEsIGZpbHRlckRhdGEgfSA9IGV2ZW50O1xuICAgICAgICBjb25zdCBwYWdlID0gZmlyc3QgLyByb3dzO1xuICAgICAgICBjb25zdCBmaWx0ZXIgPSB0aGlzLmdldE9yZGVtQ29tcHJhRmllbGRzKClcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PiBmaWx0ZXJEYXRhW25hbWVdICE9IHVuZGVmaW5lZCAmJiBmaWx0ZXJEYXRhW25hbWVdICE9IFwiXCIpXG4gICAgICAgICAgICAucmVkdWNlKChhLCBiOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5hLFxuICAgICAgICAgICAgICAgICAgICBbYi5uYW1lXTogZmlsdGVyRGF0YVtiLm5hbWVdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sIHt9IGFzIGFueSk7XG5cbiAgICAgICAgY29uc3QgZmlsaWFsID0gdGhpcy5maWxpYWw7XG4gICAgICAgIGlmIChmaWxpYWwgJiYgZmlsaWFsLmVtcHJlc2EgJiYgZmlsaWFsLmVtcHJlc2EuaWQpIHtcbiAgICAgICAgICAgIGZpbHRlci5lbXByZXNhSWQgPSBmaWxpYWwuZW1wcmVzYS5pZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpbHRlci5kYXRhRW1pc3NhbyA9IGZpbHRlci5kYXRhRW1pc3NhbyAmJiBtb21lbnQoZmlsdGVyLmRhdGFFbWlzc2FvKS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpO1xuICAgICAgICBjb25zdCBzb3J0ID0gKG11bHRpU29ydE1ldGEgfHwgW10pLmxlbmd0aCA/IHsgZmllbGQ6IG11bHRpU29ydE1ldGFbMF0uZmllbGQsIG9yZGVyOiBtdWx0aVNvcnRNZXRhWzBdLm9yZGVyID09PSAxID8gJ0FzYycgOiAnRGVzYycgfSA6IHsgZmllbGQ6ICdudW1lcm8nLCBvcmRlcjogJ0FzYycgfTtcblxuICAgICAgICB0aGlzLm9yZGVtQ29tcHJhU2VydmljZVxuICAgICAgICAgICAgLmxpc3RPcmRlbnNDb21wcmEoe1xuICAgICAgICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICAgICAgICBwZXNzb2FJZDogKHRoaXMuZm9ybmVjZWRvciB8fCB7aWQ6IHVuZGVmaW5lZH0pLmlkLFxuICAgICAgICAgICAgICAgIGZpbGlhbElkOiAoZmlsaWFsIHx8IHtpZDogdW5kZWZpbmVkfSkuaWQsXG4gICAgICAgICAgICAgICAgdGlwb0FnZW5kYW1lbnRvSWQ6IHRoaXMuYWdlbmRhICYmIHRoaXMuYWdlbmRhLnRpcG9BZ2VuZGFtZW50byA/IHRoaXMuYWdlbmRhLnRpcG9BZ2VuZGFtZW50by5pZCA6IG51bGwsXG4gICAgICAgICAgICAgICAgb3JkZW5zQ29tcHJhU2VsZWNpb25hZG9zOiB0aGlzLm9yZGVuc0NvbXByYSxcbiAgICAgICAgICAgICAgICBwYWdpbmE6IHtcbiAgICAgICAgICAgICAgICAgICAgbGltaXQ6IHJvd3MsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogcGFnZSxcbiAgICAgICAgICAgICAgICAgICAgbGlzdGFPcmRlbmFjYW86IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW1wbzogc29ydC5maWVsZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlbmFjYW86IHNvcnQub3JkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsaXN0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVtQ29tcHJhU2VhcmNoR3JpZERhdGEgPSBsaXN0LmNvbnRlbnRzLm1hcChPcmRlbUNvbXByYS5mcm9tRHRvKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVtQ29tcHJhU2VhcmNoVG90YWxSZWNvcmRzID0gbGlzdC50b3RhbEVsZW1lbnRzO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJlY1BhZ2luYShmaXJzdDogbnVtYmVyLCByb3dzOiBudW1iZXIsIHNvcnQ6IGFueSkge1xuICAgICAgICBjb25zdCBwYWdlID0gZmlyc3QgLyByb3dzO1xuICAgICAgICBjb25zdCBvcmRlckJ5ID0gc29ydCAmJiBzb3J0Lmxlbmd0aCBcbiAgICAgICAgICAgID8gc29ydC5tYXAoKHM6IGFueSkgPT4gICh7IGNhbXBvOiBzLmZpZWxkLCBvcmRlbmFjYW86IHMub3JkZXIgPT09IDEgPyAnQXNjJyA6ICdEZXNjJyB9KSkgXG4gICAgICAgICAgICA6IFtdO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvZmZzZXQ6IHBhZ2UsXG4gICAgICAgICAgICBsaW1pdDogcm93cyxcbiAgICAgICAgICAgIGxpc3RhT3JkZW5hY2FvOiBvcmRlckJ5XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xuICAgICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoZmllbGQpO1xuICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtR3JvdXApe1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKGNvbnRyb2wpO1xuICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgICAgICAgICAgICBjb250cm9sLmNvbnRyb2xzLmZvckVhY2goKGZvcm06IEZvcm1Hcm91cCkgPT4gdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2F2ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKHRoaXMuZm9ybUdyb3VwKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsb3NlKHRoaXMuZm9ybUdyb3VwLmdldCgnb3JkZW1Db21wcmEnKS52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKGRhdGE/OiBhbnkpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZGF0YSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGb3JtKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICBvcmRlbUNvbXByYTogW3VuZGVmaW5lZCwgVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPcmRlbUNvbXByYUZpZWxkcygpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiY29kaWdvXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5lcnAub3JkZW1fY29tcHJhX2NvZGlnb1wiKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImVtcHJlc2Eubm9tZVwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuZXJwLmVtcHJlc2FcIilcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJmaWxpYWwubm9tZVwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMuZXJwLmZpbGlhbFwiKVxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPcmRlbUNvbXByYUdyaWRGaWVsZHMoKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImNvZGlnb1wiLFxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5JbnRlZ2VyLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmVycC5vcmRlbV9jb21wcmFfY29kaWdvXCIpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwiZW1wcmVzYS5ub21lXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5lcnAuZW1wcmVzYVwiKVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImZpbGlhbC5ub21lXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5lcnAuZmlsaWFsXCIpXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IFwicGVzc29hLm5vbWVcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLmVycC5wZXNzb2Ffbm9tZVwiKVxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgfVxufSJdfQ==
|
|
@@ -0,0 +1,144 @@
|
|
|
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
|
+
var moment = _moment;
|
|
10
|
+
import { TranslateService } from "@ngx-translate/core";
|
|
11
|
+
import { CardTechnology } from "../../entities/credential-card-dto";
|
|
12
|
+
var CredencialFormComponent = /** @class */ (function () {
|
|
13
|
+
function CredencialFormComponent(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
|
+
CredencialFormComponent.prototype.ngOnInit = function () {
|
|
24
|
+
var _this = this;
|
|
25
|
+
this.formGroup = this.fb.group({
|
|
26
|
+
tecnologiaCracha: [undefined, Validators.compose([Validators.required])],
|
|
27
|
+
numero: [undefined, Validators.compose([Validators.required])],
|
|
28
|
+
validadeCredencial: [undefined, Validators.compose([Validators.required])],
|
|
29
|
+
hora: [undefined, Validators.compose([Validators.required])],
|
|
30
|
+
});
|
|
31
|
+
this.route.data.pipe(takeUntil(this.unsubscribe$)).subscribe(function (data) {
|
|
32
|
+
_this.localeConfig = data.localeConfig;
|
|
33
|
+
});
|
|
34
|
+
this.tecnologiaCracha(CardTechnology.BARCODE_CARD, CardTechnology.RFID_CARD, CardTechnology.SMART_CARD);
|
|
35
|
+
this.formataDataEHoraDaCredencial();
|
|
36
|
+
};
|
|
37
|
+
CredencialFormComponent.prototype.ngOnDestroy = function () {
|
|
38
|
+
this.unsubscribe$.next();
|
|
39
|
+
this.unsubscribe$.complete();
|
|
40
|
+
};
|
|
41
|
+
CredencialFormComponent.prototype.gerar = function () {
|
|
42
|
+
if (!this.formGroup.valid) {
|
|
43
|
+
return this.validateAllFormFields(this.formGroup);
|
|
44
|
+
}
|
|
45
|
+
var endDate = this.getDataHora();
|
|
46
|
+
var visitante = this.dialogConfig.data.visitante;
|
|
47
|
+
var visitorCredentialCardList = this.gerarCredencial(visitante, endDate);
|
|
48
|
+
this.close(visitorCredentialCardList);
|
|
49
|
+
};
|
|
50
|
+
CredencialFormComponent.prototype.tecnologiaCracha = function () {
|
|
51
|
+
var cardTechnologies = [];
|
|
52
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
53
|
+
cardTechnologies[_i] = arguments[_i];
|
|
54
|
+
}
|
|
55
|
+
var e_1, _a;
|
|
56
|
+
this.technologies = [];
|
|
57
|
+
try {
|
|
58
|
+
for (var cardTechnologies_1 = tslib_1.__values(cardTechnologies), cardTechnologies_1_1 = cardTechnologies_1.next(); !cardTechnologies_1_1.done; cardTechnologies_1_1 = cardTechnologies_1.next()) {
|
|
59
|
+
var cardTechnology = cardTechnologies_1_1.value;
|
|
60
|
+
this.technologies.push({
|
|
61
|
+
label: this.getTecnologiaCrachaTraduzida(cardTechnology),
|
|
62
|
+
value: cardTechnology,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
67
|
+
finally {
|
|
68
|
+
try {
|
|
69
|
+
if (cardTechnologies_1_1 && !cardTechnologies_1_1.done && (_a = cardTechnologies_1.return)) _a.call(cardTechnologies_1);
|
|
70
|
+
}
|
|
71
|
+
finally { if (e_1) throw e_1.error; }
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
CredencialFormComponent.prototype.getTecnologiaCrachaTraduzida = function (cardTechnology) {
|
|
75
|
+
if (cardTechnology === CardTechnology.BARCODE_CARD) {
|
|
76
|
+
return this.translate.instant("yms.patio.cartao_credencial_codigo_barras");
|
|
77
|
+
}
|
|
78
|
+
if (cardTechnology === CardTechnology.RFID_CARD) {
|
|
79
|
+
return this.translate.instant("yms.patio.cartao_credencial_rfid");
|
|
80
|
+
}
|
|
81
|
+
if (cardTechnology === CardTechnology.SMART_CARD) {
|
|
82
|
+
return this.translate.instant("yms.patio.cartao_credencial_smart");
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
CredencialFormComponent.prototype.formataDataEHoraDaCredencial = function () {
|
|
86
|
+
var data = moment().add(1, "hour");
|
|
87
|
+
this.formGroup.get("validadeCredencial").disable();
|
|
88
|
+
this.definiValor("validadeCredencial", data.format("DD/MM/YYYY"));
|
|
89
|
+
this.definiValor("hora", data.format("HH:mm"));
|
|
90
|
+
};
|
|
91
|
+
CredencialFormComponent.prototype.getDataHora = function () {
|
|
92
|
+
var dataHora = new Date();
|
|
93
|
+
var horaValue = this.formGroup.get("hora").value;
|
|
94
|
+
var horas = moment().date(horaValue).add(1, "hour").hours();
|
|
95
|
+
var minutos = moment().date(horaValue).minutes();
|
|
96
|
+
dataHora.setHours(horas);
|
|
97
|
+
dataHora.setMinutes(minutos);
|
|
98
|
+
return dataHora;
|
|
99
|
+
};
|
|
100
|
+
CredencialFormComponent.prototype.gerarCredencial = function (visitante, endDate) {
|
|
101
|
+
return {
|
|
102
|
+
visitor: visitante,
|
|
103
|
+
cardTechnology: this.formGroup.get("tecnologiaCracha").value,
|
|
104
|
+
cardNumber: this.formGroup.get("numero").value,
|
|
105
|
+
endDate: endDate,
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
CredencialFormComponent.prototype.definiValor = function (campo, valor) {
|
|
109
|
+
return this.formGroup.get(campo).setValue(valor);
|
|
110
|
+
};
|
|
111
|
+
CredencialFormComponent.prototype.close = function (data) {
|
|
112
|
+
this.dialogRef.close(data);
|
|
113
|
+
};
|
|
114
|
+
CredencialFormComponent.prototype.validateAllFormFields = function (formGroup) {
|
|
115
|
+
var _this = this;
|
|
116
|
+
Object.keys(formGroup.controls).forEach(function (field) {
|
|
117
|
+
var control = formGroup.get(field);
|
|
118
|
+
if (control instanceof FormControl) {
|
|
119
|
+
control.markAsDirty({ onlySelf: true });
|
|
120
|
+
}
|
|
121
|
+
else if (control instanceof FormGroup) {
|
|
122
|
+
_this.validateAllFormFields(control);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
throw 'Instance fot found';
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
formGroup.markAsDirty({ onlySelf: true });
|
|
129
|
+
};
|
|
130
|
+
CredencialFormComponent = tslib_1.__decorate([
|
|
131
|
+
Component({
|
|
132
|
+
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",
|
|
133
|
+
providers: [ConfirmationService]
|
|
134
|
+
}),
|
|
135
|
+
tslib_1.__metadata("design:paramtypes", [FormBuilder,
|
|
136
|
+
DynamicDialogRef,
|
|
137
|
+
TranslateService,
|
|
138
|
+
ActivatedRoute,
|
|
139
|
+
DynamicDialogConfig])
|
|
140
|
+
], CredencialFormComponent);
|
|
141
|
+
return CredencialFormComponent;
|
|
142
|
+
}());
|
|
143
|
+
export { CredencialFormComponent };
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVuY2lhbC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvc2FtLXNlbmlvci9jb21wb25lbnRzL2NyZWRlbmNpYWwtZm9ybS9jcmVkZW5jaWFsLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBT3BFO0lBT0ksaUNBQ1ksRUFBZSxFQUNmLFNBQTJCLEVBQzNCLFNBQTJCLEVBQzNCLEtBQXFCLEVBQ3JCLFlBQWlDO1FBSmpDLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFUNUIsaUJBQVksR0FBRyxJQUFJ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UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBbElRLHVCQUF1QjtRQUpuQyxTQUFTLENBQUM7WUFDUCxzbEdBQStDO1lBQy9DLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO1NBQ25DLENBQUM7aURBU2tCLFdBQVc7WUFDSixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ3BCLGNBQWM7WUFDUCxtQkFBbUI7T0FacEMsdUJBQXVCLENBbUluQztJQUFELDhCQUFDO0NBQUEsQUFuSUQsSUFtSUM7U0FuSVksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UsIER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0ICogYXMgX21vbWVudCBmcm9tIFwibW9tZW50XCI7XG5jb25zdCBtb21lbnQgPSBfbW9tZW50O1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBDYXJkVGVjaG5vbG9neSB9IGZyb20gXCIuLi8uLi9lbnRpdGllcy9jcmVkZW50aWFsLWNhcmQtZHRvXCI7XG5pbXBvcnQgeyBWaXNpdG9yIH0gZnJvbSBcIi4uLy4uL21vZGVscy92aXNpdG9yXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcIi4vY3JlZGVuY2lhbC1mb3JtLmNvbXBvbmVudC5odG1sXCIsXG4gICAgcHJvdmlkZXJzOiBbQ29uZmlybWF0aW9uU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENyZWRlbmNpYWxGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHB1YmxpYyB0ZWNobm9sb2dpZXM6IGFueVtdID0gW107XG4gICAgcHVibGljIGxvY2FsZUNvbmZpZzogYW55ID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nUmVmOiBEeW5hbWljRGlhbG9nUmVmLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nQ29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICB0ZWNub2xvZ2lhQ3JhY2hhOiBbdW5kZWZpbmVkLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKV0sXG4gICAgICAgICAgICBudW1lcm86IFt1bmRlZmluZWQsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcbiAgICAgICAgICAgIHZhbGlkYWRlQ3JlZGVuY2lhbDogW3VuZGVmaW5lZCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgICAgICAgaG9yYTogW3VuZGVmaW5lZCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnJvdXRlLmRhdGEucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2NhbGVDb25maWcgPSBkYXRhLmxvY2FsZUNvbmZpZztcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy50ZWNub2xvZ2lhQ3JhY2hhKFxuICAgICAgICAgICAgQ2FyZFRlY2hub2xvZ3kuQkFSQ09ERV9DQVJELFxuICAgICAgICAgICAgQ2FyZFRlY2hub2xvZ3kuUkZJRF9DQVJELFxuICAgICAgICAgICAgQ2FyZFRlY2hub2xvZ3kuU01BUlRfQ0FSRFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZm9ybWF0YURhdGFFSG9yYURhQ3JlZGVuY2lhbCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdlcmFyKCkge1xuICAgICAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLnZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHModGhpcy5mb3JtR3JvdXApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMuZ2V0RGF0YUhvcmEoKTtcbiAgICAgICAgY29uc3QgdmlzaXRhbnRlID0gdGhpcy5kaWFsb2dDb25maWcuZGF0YS52aXNpdGFudGU7XG5cbiAgICAgICAgY29uc3QgdmlzaXRvckNyZWRlbnRpYWxDYXJkTGlzdCA9IHRoaXMuZ2VyYXJDcmVkZW5jaWFsKHZpc2l0YW50ZSwgZW5kRGF0ZSk7XG4gICAgICAgIHRoaXMuY2xvc2UodmlzaXRvckNyZWRlbnRpYWxDYXJkTGlzdCk7XG4gICAgfVxuXG4gICAgcHVibGljIHRlY25vbG9naWFDcmFjaGEoLi4uY2FyZFRlY2hub2xvZ2llczogQ2FyZFRlY2hub2xvZ3lbXSkge1xuICAgICAgICB0aGlzLnRlY2hub2xvZ2llcyA9IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgY2FyZFRlY2hub2xvZ3kgb2YgY2FyZFRlY2hub2xvZ2llcykge1xuICAgICAgICAgICAgdGhpcy50ZWNobm9sb2dpZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0VGVjbm9sb2dpYUNyYWNoYVRyYWR1emlkYShjYXJkVGVjaG5vbG9neSksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGNhcmRUZWNobm9sb2d5LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRlY25vbG9naWFDcmFjaGFUcmFkdXppZGEoY2FyZFRlY2hub2xvZ3k6IENhcmRUZWNobm9sb2d5KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGNhcmRUZWNobm9sb2d5ID09PSBDYXJkVGVjaG5vbG9neS5CQVJDT0RFX0NBUkQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLnBhdGlvLmNhcnRhb19jcmVkZW5jaWFsX2NvZGlnb19iYXJyYXNcIik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2FyZFRlY2hub2xvZ3kgPT09IENhcmRUZWNobm9sb2d5LlJGSURfQ0FSRCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMucGF0aW8uY2FydGFvX2NyZWRlbmNpYWxfcmZpZFwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjYXJkVGVjaG5vbG9neSA9PT0gQ2FyZFRlY2hub2xvZ3kuU01BUlRfQ0FSRCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMucGF0aW8uY2FydGFvX2NyZWRlbmNpYWxfc21hcnRcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZm9ybWF0YURhdGFFSG9yYURhQ3JlZGVuY2lhbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IG1vbWVudCgpLmFkZCgxLCBcImhvdXJcIik7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldChcInZhbGlkYWRlQ3JlZGVuY2lhbFwiKS5kaXNhYmxlKCk7XG5cbiAgICAgICAgdGhpcy5kZWZpbmlWYWxvcihcInZhbGlkYWRlQ3JlZGVuY2lhbFwiLCBkYXRhLmZvcm1hdChcIkREL01NL1lZWVlcIikpO1xuICAgICAgICB0aGlzLmRlZmluaVZhbG9yKFwiaG9yYVwiLCBkYXRhLmZvcm1hdChcIkhIOm1tXCIpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERhdGFIb3JhKCk6IERhdGUge1xuICAgICAgICBjb25zdCBkYXRhSG9yYTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IGhvcmFWYWx1ZSA9IHRoaXMuZm9ybUdyb3VwLmdldChcImhvcmFcIikudmFsdWU7XG5cbiAgICAgICAgY29uc3QgaG9yYXM6IG51bWJlciA9IG1vbWVudCgpLmRhdGUoaG9yYVZhbHVlKS5hZGQoMSwgXCJob3VyXCIpLmhvdXJzKCk7XG4gICAgICAgIGNvbnN0IG1pbnV0b3M6IG51bWJlciA9IG1vbWVudCgpLmRhdGUoaG9yYVZhbHVlKS5taW51dGVzKCk7XG5cbiAgICAgICAgZGF0YUhvcmEuc2V0SG91cnMoaG9yYXMpO1xuICAgICAgICBkYXRhSG9yYS5zZXRNaW51dGVzKG1pbnV0b3MpO1xuXG4gICAgICAgIHJldHVybiBkYXRhSG9yYTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdlcmFyQ3JlZGVuY2lhbCh2aXNpdGFudGU6IFZpc2l0b3IsIGVuZERhdGU6IERhdGUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZpc2l0b3I6IHZpc2l0YW50ZSxcbiAgICAgICAgICAgIGNhcmRUZWNobm9sb2d5OiB0aGlzLmZvcm1Hcm91cC5nZXQoXCJ0ZWNub2xvZ2lhQ3JhY2hhXCIpLnZhbHVlLFxuICAgICAgICAgICAgY2FyZE51bWJlcjogdGhpcy5mb3JtR3JvdXAuZ2V0KFwibnVtZXJvXCIpLnZhbHVlLFxuICAgICAgICAgICAgZW5kRGF0ZTogZW5kRGF0ZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlZmluaVZhbG9yKGNhbXBvOiBzdHJpbmcsIHZhbG9yOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjYW1wbykuc2V0VmFsdWUodmFsb3IpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZShkYXRhPzogYW55KSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGRhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVBbGxGb3JtRmllbGRzKGZvcm1Hcm91cDogRm9ybUdyb3VwKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGZpZWxkKTtcblxuICAgICAgICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIGNvbnRyb2wubWFya0FzRGlydHkoeyBvbmx5U2VsZjogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKGNvbnRyb2wpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aHJvdyAnSW5zdGFuY2UgZm90IGZvdW5kJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgZm9ybUdyb3VwLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgfVxufSJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
var LobbyService = /** @class */ (function (_super) {
|
|
10
|
+
tslib_1.__extends(LobbyService, _super);
|
|
11
|
+
function LobbyService(http, messageService) {
|
|
12
|
+
var _this = _super.call(this, http, messageService, "sam/lobby/entities/lobby") || this;
|
|
13
|
+
_this.http = http;
|
|
14
|
+
_this.messageService = messageService;
|
|
15
|
+
return _this;
|
|
16
|
+
}
|
|
17
|
+
LobbyService.ngInjectableDef = i0.defineInjectable({ factory: function LobbyService_Factory() { return new LobbyService(i0.inject(i1.HttpClient), i0.inject(i2.MessageService)); }, token: LobbyService, providedIn: "root" });
|
|
18
|
+
LobbyService = tslib_1.__decorate([
|
|
19
|
+
Injectable({ providedIn: 'root' }),
|
|
20
|
+
tslib_1.__metadata("design:paramtypes", [HttpClient, MessageService])
|
|
21
|
+
], LobbyService);
|
|
22
|
+
return LobbyService;
|
|
23
|
+
}(EntityService));
|
|
24
|
+
export { LobbyService };
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9iYnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvc2FtLXNlbmlvci9jb21wb25lbnRzL3NjaGVkdWxpbmcvbG9iYnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQUkxRTtJQUFrQyx3Q0FBdUI7SUFDckQsc0JBQXNCLElBQWdCLEVBQVksY0FBOEI7UUFBaEYsWUFDSSxrQkFBTSxJQUFJLEVBQUUsY0FBYyxFQUFFLDBCQUEwQixDQUFDLFNBQzFEO1FBRnFCLFVBQUksR0FBSixJQUFJLENBQVk7UUFBWSxvQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7O0lBRWhGLENBQUM7O0lBSFEsWUFBWTtRQUR4QixVQUFVLENBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQUM7aURBRUQsVUFBVSxFQUE0QixjQUFjO09BRHZFLFlBQVksQ0FJeEI7dUJBWEQ7Q0FXQyxBQUpELENBQWtDLGFBQWEsR0FJOUM7U0FKWSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBFbnRpdHlTZXJ2aWNlIH0gZnJvbSBcIi4vLi4vLi4vY29yZS9lbnRpdHktc2VydmljZVwiO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9jb21wb25lbnRzL2NvbW1vbi9tZXNzYWdlc2VydmljZVwiO1xuaW1wb3J0IHsgTG9iYnlEdG8gfSBmcm9tIFwiLi8uLi8uLi9lbnRpdGllcy9sb2JieS1kdG9cIjtcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTG9iYnlTZXJ2aWNlIGV4dGVuZHMgRW50aXR5U2VydmljZTxMb2JieUR0bz4ge1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LCBwcm90ZWN0ZWQgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKGh0dHAsIG1lc3NhZ2VTZXJ2aWNlLCBcInNhbS9sb2JieS9lbnRpdGllcy9sb2JieVwiKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,199 @@
|
|
|
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
|
+
var SchedulingComponent = /** @class */ (function () {
|
|
17
|
+
function SchedulingComponent(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
|
+
SchedulingComponent.prototype.ngOnInit = function () {
|
|
32
|
+
var _this = this;
|
|
33
|
+
this.createForm();
|
|
34
|
+
this.portariaLookup = new Lookup(this.getLobbyFields(), this.lobbyService);
|
|
35
|
+
this.route.data.pipe(takeUntil(this.ngUnsubscribe)).subscribe(function (data) {
|
|
36
|
+
_this.localeConfig = data.localeConfig;
|
|
37
|
+
});
|
|
38
|
+
this.formGroup.valueChanges.subscribe(function (changes) { return _this.isFormModified = true; });
|
|
39
|
+
};
|
|
40
|
+
SchedulingComponent.prototype.ngAfterViewInit = function () {
|
|
41
|
+
this.saveAndInitButton = document.getElementById('init');
|
|
42
|
+
};
|
|
43
|
+
SchedulingComponent.prototype.ngOnDestroy = function () {
|
|
44
|
+
this.ngUnsubscribe.next();
|
|
45
|
+
this.ngUnsubscribe.complete();
|
|
46
|
+
};
|
|
47
|
+
SchedulingComponent.prototype.ngOnChanges = function () {
|
|
48
|
+
var _this = this;
|
|
49
|
+
if (this.agenda.id) {
|
|
50
|
+
this.loading = true;
|
|
51
|
+
this.schedulingService
|
|
52
|
+
.getSchedulingByYms(this.agenda.id)
|
|
53
|
+
.pipe(takeUntil(this.ngUnsubscribe), finalize(function () { return (_this.loading = false); }))
|
|
54
|
+
.subscribe(function (res) {
|
|
55
|
+
if (res.scheduling) {
|
|
56
|
+
var scheduling = res.scheduling;
|
|
57
|
+
_this.schedulingVisitors.scheduling = scheduling;
|
|
58
|
+
_this.schedulingVisitors.visitors = res.visitors;
|
|
59
|
+
_this.formGroup.controls["motivoVisita"].setValue(scheduling.description);
|
|
60
|
+
_this.formGroup.controls["dataSaida"].setValue(new Date(scheduling.expectedEndDate));
|
|
61
|
+
_this.formGroup.controls["horaSaida"].setValue(new Date(scheduling.expectedEndDate));
|
|
62
|
+
_this.getLobby(scheduling).subscribe(function (lobby) {
|
|
63
|
+
return _this.formGroup.controls["portaria"].setValue(lobby);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
var dataSaida = new Date();
|
|
68
|
+
dataSaida.setHours(new Date().getHours() + 1);
|
|
69
|
+
_this.schedulingVisitors.scheduling = new SchedulingDto();
|
|
70
|
+
_this.schedulingVisitors.visitors = [];
|
|
71
|
+
_this.schedulingVisitors.scheduling.visitSituation = VisitSituation.PENDING;
|
|
72
|
+
_this.schedulingVisitors.scheduling.description = _this.agenda.descricao;
|
|
73
|
+
_this.schedulingVisitors.scheduling.expectedStartDate = new Date();
|
|
74
|
+
_this.schedulingVisitors.scheduling.expectedEndDate = dataSaida;
|
|
75
|
+
_this.formGroup.controls["motivoVisita"].setValue(_this.schedulingVisitors.scheduling.description);
|
|
76
|
+
_this.formGroup.controls["dataSaida"].setValue(_this.schedulingVisitors.scheduling.expectedStartDate);
|
|
77
|
+
_this.formGroup.controls["horaSaida"].setValue(_this.schedulingVisitors.scheduling.expectedEndDate);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
this.patchActualValue();
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
SchedulingComponent.prototype.getLobby = function (scheduling) {
|
|
84
|
+
if (scheduling.lobbyIdSAM) {
|
|
85
|
+
return this.lobbyService.get(scheduling.lobbyIdSAM);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
SchedulingComponent.prototype.patchActualValue = function () {
|
|
89
|
+
var _this = this;
|
|
90
|
+
var timeoutPatch = 500;
|
|
91
|
+
setTimeout(function () {
|
|
92
|
+
_this.actualValue = _this.formGroup.value;
|
|
93
|
+
_this.formGroup.patchValue(_this.actualValue);
|
|
94
|
+
}, timeoutPatch);
|
|
95
|
+
};
|
|
96
|
+
SchedulingComponent.prototype.canSave = function () {
|
|
97
|
+
if (!this.agenda || !this.agenda.id || !this.isFormModified) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
return true;
|
|
101
|
+
};
|
|
102
|
+
SchedulingComponent.prototype.onSave = function (start) {
|
|
103
|
+
var _this = this;
|
|
104
|
+
if (this.formGroup.invalid) {
|
|
105
|
+
this.validateAllFormFields(this.formGroup);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
this.isFormModified = false;
|
|
109
|
+
var scheduling = this.schedulingVisitors.scheduling;
|
|
110
|
+
scheduling.idYMS = this.agenda.id;
|
|
111
|
+
scheduling.description = this.formGroup.controls['motivoVisita'].value;
|
|
112
|
+
scheduling.expectedStartDate = new Date();
|
|
113
|
+
var dataSaida = this.formGroup.controls['dataSaida'].value;
|
|
114
|
+
var horaSaida = this.formGroup.controls['horaSaida'].value;
|
|
115
|
+
scheduling.expectedEndDate = this.getDate(dataSaida, horaSaida);
|
|
116
|
+
var portaria = this.formGroup.controls['portaria'].value;
|
|
117
|
+
if (portaria) {
|
|
118
|
+
scheduling.lobbyIdSAM = portaria.id;
|
|
119
|
+
}
|
|
120
|
+
this.loading = true;
|
|
121
|
+
this.schedulingService
|
|
122
|
+
.saveScheduling(this.schedulingVisitors)
|
|
123
|
+
.pipe(takeUntil(this.ngUnsubscribe), mergeMap(function (res) {
|
|
124
|
+
_this.schedulingVisitors = res;
|
|
125
|
+
if (start) {
|
|
126
|
+
return _this.schedulingService.startScheduling(_this.schedulingVisitors.scheduling.idYMS);
|
|
127
|
+
}
|
|
128
|
+
_this.loading = false;
|
|
129
|
+
return NEVER;
|
|
130
|
+
}), finalize(function () { return (_this.loading = false); }))
|
|
131
|
+
.subscribe(function (success) {
|
|
132
|
+
if (success && _this.saveAndInitButton) {
|
|
133
|
+
_this.saveAndInitButton.click();
|
|
134
|
+
}
|
|
135
|
+
_this.loading = false;
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
SchedulingComponent.prototype.validateAllFormFields = function (formGroup) {
|
|
139
|
+
var _this = this;
|
|
140
|
+
Object.keys(formGroup.controls).forEach(function (field) {
|
|
141
|
+
var control = formGroup.get(field);
|
|
142
|
+
if (control instanceof FormControl) {
|
|
143
|
+
control.markAsDirty({ onlySelf: true });
|
|
144
|
+
}
|
|
145
|
+
else if (control instanceof FormGroup) {
|
|
146
|
+
_this.validateAllFormFields(control);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
// nada a fazer
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
SchedulingComponent.prototype.getDate = function (data, hora) {
|
|
154
|
+
return new Date(data.getFullYear(), data.getMonth(), data.getDate(), hora.getHours(), hora.getMinutes());
|
|
155
|
+
};
|
|
156
|
+
SchedulingComponent.prototype.reset = function () {
|
|
157
|
+
this.formGroup.patchValue(tslib_1.__assign({}, this.actualValue));
|
|
158
|
+
};
|
|
159
|
+
SchedulingComponent.prototype.createForm = function () {
|
|
160
|
+
this.formGroup = this.fb.group({
|
|
161
|
+
motivoVisita: [undefined, Validators.compose([Validators.required])],
|
|
162
|
+
portaria: [undefined, Validators.compose([Validators.required])],
|
|
163
|
+
dataSaida: [undefined, Validators.compose([Validators.required])],
|
|
164
|
+
horaSaida: [undefined, Validators.compose([Validators.required])],
|
|
165
|
+
});
|
|
166
|
+
};
|
|
167
|
+
SchedulingComponent.prototype.getLobbyFields = function () {
|
|
168
|
+
return [
|
|
169
|
+
new FormField({
|
|
170
|
+
name: "name",
|
|
171
|
+
type: FieldType.String,
|
|
172
|
+
label: this.translate.instant("yms.patio.sam_portaria_descricao"),
|
|
173
|
+
}),
|
|
174
|
+
];
|
|
175
|
+
};
|
|
176
|
+
tslib_1.__decorate([
|
|
177
|
+
Input(),
|
|
178
|
+
tslib_1.__metadata("design:type", Object)
|
|
179
|
+
], SchedulingComponent.prototype, "agenda", void 0);
|
|
180
|
+
tslib_1.__decorate([
|
|
181
|
+
Output(),
|
|
182
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
183
|
+
], SchedulingComponent.prototype, "notSavedData", void 0);
|
|
184
|
+
SchedulingComponent = tslib_1.__decorate([
|
|
185
|
+
Component({
|
|
186
|
+
selector: "scheduling",
|
|
187
|
+
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"
|
|
188
|
+
}),
|
|
189
|
+
tslib_1.__metadata("design:paramtypes", [FormBuilder,
|
|
190
|
+
ActivatedRoute,
|
|
191
|
+
TranslateService,
|
|
192
|
+
MessageService,
|
|
193
|
+
LobbyService,
|
|
194
|
+
SchedulingService])
|
|
195
|
+
], SchedulingComponent);
|
|
196
|
+
return SchedulingComponent;
|
|
197
|
+
}());
|
|
198
|
+
export { SchedulingComponent };
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3NhbS1zZW5pb3IvY29tcG9uZW50cy9zY2hlZHVsaW5nL3NjaGVkdWxpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENB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Q3BFLENBQUM7U0FDTCxDQUFDO0lBQ04sQ0FBQztJQTdNUTtRQUFSLEtBQUssRUFBRTs7dURBQWE7SUFDWDtRQUFULE1BQU0sRUFBRTswQ0FBZSxZQUFZOzZEQUErQjtJQUYxRCxtQkFBbUI7UUFKL0IsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLFlBQVk7WUFDdEIsMjVKQUEwQztTQUM3QyxDQUFDO2lEQWlCMkIsV0FBVztZQUNSLGNBQWM7WUFDVixnQkFBZ0I7WUFDWCxjQUFjO1lBQ2hCLFlBQVk7WUFDUCxpQkFBaUI7T0FyQmhELG1CQUFtQixDQStNL0I7SUFBRCwwQkFBQztDQUFBLEFBL01ELElBK01DO1NBL01ZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtRmllbGQgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2NvbXBvbmVudHMvY29tbW9uL21lc3NhZ2VzZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIE5FVkVSIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgZmluYWxpemUsIHRha2VVbnRpbCwgbWVyZ2VNYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgTG9iYnlEdG8gfSBmcm9tIFwiLi8uLi8uLi9lbnRpdGllcy9sb2JieS1kdG9cIjtcclxuaW1wb3J0IHsgU2NoZWR1bGluZyB9IGZyb20gXCIuLy4uLy4uL2VudGl0aWVzL3NjaGVkdWxpbmdcIjtcclxuaW1wb3J0IHsgU2NoZWR1bGluZ1NlcnZpY2UgfSBmcm9tIFwiLi9zaGVjaHVsaW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTG9va3VwIH0gZnJvbSBcIi4uLy4uL2NvcmUvbG9va3VwXCI7XHJcbmltcG9ydCB7IExvYmJ5U2VydmljZSB9IGZyb20gXCIuL2xvYmJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2NoZWR1bGluZ1Zpc2l0b3JzIH0gZnJvbSBcIi4vLi4vLi4vZW50aXRpZXMvc2NoZWR1bGluZy12aXNpdG9yc1wiO1xyXG5pbXBvcnQgeyBTY2hlZHVsaW5nRHRvIH0gZnJvbSBcIi4vLi4vLi4vZW50aXRpZXMvc2NoZWR1bGluZy1kdG9cIjtcclxuaW1wb3J0IHsgVmlzaXRTaXR1YXRpb24gfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3Zpc2l0LXNpdHVhdGlvblwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJzY2hlZHVsaW5nXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3NjaGVkdWxpbmcuY29tcG9uZW50Lmh0bWxcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFNjaGVkdWxpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgICBASW5wdXQoKSBhZ2VuZGE6IGFueTtcclxuICAgIEBPdXRwdXQoKSBub3RTYXZlZERhdGE6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIHNjaGVkdWxpbmdWaXNpdG9yczogU2NoZWR1bGluZ1Zpc2l0b3JzID0gbmV3IFNjaGVkdWxpbmdWaXNpdG9ycygpO1xyXG4gICAgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgICBpc0Zvcm1Nb2RpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgbG9hZGluZyA9IGZhbHNlOyAgICBcclxuICAgIGxvY2FsZUNvbmZpZzogYW55ID0ge307XHJcbiAgICBwb3J0YXJpYUxvb2t1cDogTG9va3VwPExvYmJ5RHRvPjtcclxuXHJcbiAgICBwcml2YXRlIGFjdHVhbFZhbHVlOiBhbnk7XHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIHNhdmVBbmRJbml0QnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxvYmJ5U2VydmljZTogTG9iYnlTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2NoZWR1bGluZ1NlcnZpY2U6IFNjaGVkdWxpbmdTZXJ2aWNlXHJcbiAgICApIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVGb3JtKCk7XHJcblxyXG4gICAgICAgIHRoaXMucG9ydGFyaWFMb29rdXAgPSBuZXcgTG9va3VwKHRoaXMuZ2V0TG9iYnlGaWVsZHMoKSwgdGhpcy5sb2JieVNlcnZpY2UpO1xyXG5cclxuICAgICAgICB0aGlzLnJvdXRlLmRhdGEucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2NhbGVDb25maWcgPSBkYXRhLmxvY2FsZUNvbmZpZztcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjaGFuZ2VzID0+IHRoaXMuaXNGb3JtTW9kaWZpZWQgPSB0cnVlICk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuc2F2ZUFuZEluaXRCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5pdCcpIGFzIEhUTUxCdXR0b25FbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuYWdlbmRhLmlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxpbmdTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAuZ2V0U2NoZWR1bGluZ0J5WW1zKHRoaXMuYWdlbmRhLmlkKVxyXG4gICAgICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXHJcbiAgICAgICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSlcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5zY2hlZHVsaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjaGVkdWxpbmcgPSByZXMuc2NoZWR1bGluZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsaW5nVmlzaXRvcnMuc2NoZWR1bGluZyAgPSBzY2hlZHVsaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjaGVkdWxpbmdWaXNpdG9ycy52aXNpdG9ycyA9IHJlcy52aXNpdG9ycztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbXCJtb3Rpdm9WaXNpdGFcIl0uc2V0VmFsdWUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2hlZHVsaW5nLmRlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW1wiZGF0YVNhaWRhXCJdLnNldFZhbHVlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoc2NoZWR1bGluZy5leHBlY3RlZEVuZERhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW1wiaG9yYVNhaWRhXCJdLnNldFZhbHVlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoc2NoZWR1bGluZy5leHBlY3RlZEVuZERhdGUpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0TG9iYnkoc2NoZWR1bGluZykuc3Vic2NyaWJlKChsb2JieSkgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW1wicG9ydGFyaWFcIl0uc2V0VmFsdWUobG9iYnkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YVNhaWRhID0gbmV3IERhdGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVNhaWRhLnNldEhvdXJzKG5ldyBEYXRlKCkuZ2V0SG91cnMoKSArIDEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjaGVkdWxpbmdWaXNpdG9ycy5zY2hlZHVsaW5nID0gbmV3IFNjaGVkdWxpbmdEdG8oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsaW5nVmlzaXRvcnMudmlzaXRvcnMgPSBbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsaW5nVmlzaXRvcnMuc2NoZWR1bGluZy52aXNpdFNpdHVhdGlvbiA9IFZpc2l0U2l0dWF0aW9uLlBFTkRJTkc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGluZ1Zpc2l0b3JzLnNjaGVkdWxpbmcuZGVzY3JpcHRpb24gPSB0aGlzLmFnZW5kYS5kZXNjcmljYW87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGluZ1Zpc2l0b3JzLnNjaGVkdWxpbmcuZXhwZWN0ZWRTdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjaGVkdWxpbmdWaXNpdG9ycy5zY2hlZHVsaW5nLmV4cGVjdGVkRW5kRGF0ZSA9IGRhdGFTYWlkYTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbXCJtb3Rpdm9WaXNpdGFcIl0uc2V0VmFsdWUodGhpcy5zY2hlZHVsaW5nVmlzaXRvcnMuc2NoZWR1bGluZy5kZXNjcmlwdGlvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW1wiZGF0YVNhaWRhXCJdLnNldFZhbHVlKHRoaXMuc2NoZWR1bGluZ1Zpc2l0b3JzLnNjaGVkdWxpbmcuZXhwZWN0ZWRTdGFydERhdGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1tcImhvcmFTYWlkYVwiXS5zZXRWYWx1ZSh0aGlzLnNjaGVkdWxpbmdWaXNpdG9ycy5zY2hlZHVsaW5nLmV4cGVjdGVkRW5kRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnBhdGNoQWN0dWFsVmFsdWUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRMb2JieShzY2hlZHVsaW5nOiBTY2hlZHVsaW5nKSB7XHJcbiAgICAgICAgaWYgKHNjaGVkdWxpbmcubG9iYnlJZFNBTSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2JieVNlcnZpY2UuZ2V0KHNjaGVkdWxpbmcubG9iYnlJZFNBTSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcGF0Y2hBY3R1YWxWYWx1ZSgpIHtcclxuICAgICAgICBjb25zdCB0aW1lb3V0UGF0Y2ggPSA1MDA7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYWN0dWFsVmFsdWUgPSB0aGlzLmZvcm1Hcm91cC52YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh0aGlzLmFjdHVhbFZhbHVlKTtcclxuICAgICAgICB9LCB0aW1lb3V0UGF0Y2gpO1xyXG4gICAgfVxyXG5cclxuICAgIGNhblNhdmUoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmFnZW5kYSB8fCAhdGhpcy5hZ2VuZGEuaWQgfHwgIXRoaXMuaXNGb3JtTW9kaWZpZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBvblNhdmUoc3RhcnQ/OiBib29sZWFuKSB7XHJcblxyXG4gICAgICBpZiAodGhpcy5mb3JtR3JvdXAuaW52YWxpZCkge1xyXG4gICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKHRoaXMuZm9ybUdyb3VwKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pc0Zvcm1Nb2RpZmllZCA9IGZhbHNlO1xyXG5cclxuICAgICAgY29uc3Qgc2NoZWR1bGluZyA9IHRoaXMuc2NoZWR1bGluZ1Zpc2l0b3JzLnNjaGVkdWxpbmc7XHJcblxyXG4gICAgICBzY2hlZHVsaW5nLmlkWU1TID0gdGhpcy5hZ2VuZGEuaWQ7XHJcbiAgICAgIHNjaGVkdWxpbmcuZGVzY3JpcHRpb24gPSB0aGlzLmZvcm1Hcm91cC5jb250cm9sc1snbW90aXZvVmlzaXRhJ10udmFsdWU7XHJcblxyXG4gICAgICBzY2hlZHVsaW5nLmV4cGVjdGVkU3RhcnREYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICAgIGNvbnN0IGRhdGFTYWlkYTogRGF0ZSA9IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzWydkYXRhU2FpZGEnXS52YWx1ZTtcclxuICAgICAgY29uc3QgaG9yYVNhaWRhOiBEYXRlID0gdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbJ2hvcmFTYWlkYSddLnZhbHVlO1xyXG4gICAgICBzY2hlZHVsaW5nLmV4cGVjdGVkRW5kRGF0ZSA9IHRoaXMuZ2V0RGF0ZShkYXRhU2FpZGEsIGhvcmFTYWlkYSk7XHJcblxyXG4gICAgICBjb25zdCBwb3J0YXJpYSA9IHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzWydwb3J0YXJpYSddLnZhbHVlO1xyXG4gICAgICBpZiAocG9ydGFyaWEpIHtcclxuICAgICAgICBzY2hlZHVsaW5nLmxvYmJ5SWRTQU0gPSBwb3J0YXJpYS5pZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5zY2hlZHVsaW5nU2VydmljZVxyXG4gICAgICAgIC5zYXZlU2NoZWR1bGluZyh0aGlzLnNjaGVkdWxpbmdWaXNpdG9ycylcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxyXG4gICAgICAgICAgbWVyZ2VNYXAoKHJlczogU2NoZWR1bGluZ1Zpc2l0b3JzKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGluZ1Zpc2l0b3JzID0gcmVzO1xyXG4gICAgICAgICAgICBpZiAoc3RhcnQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNjaGVkdWxpbmdTZXJ2aWNlLnN0YXJ0U2NoZWR1bGluZyhcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjaGVkdWxpbmdWaXNpdG9ycy5zY2hlZHVsaW5nLmlkWU1TXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICByZXR1cm4gTkVWRVI7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGZpbmFsaXplKCgpID0+ICh0aGlzLmxvYWRpbmcgPSBmYWxzZSkpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHN1Y2Nlc3M6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHN1Y2Nlc3MgJiYgdGhpcy5zYXZlQW5kSW5pdEJ1dHRvbikge1xyXG4gICAgICAgICAgICB0aGlzLnNhdmVBbmRJbml0QnV0dG9uLmNsaWNrKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHZhbGlkYXRlQWxsRm9ybUZpZWxkcyhmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xyXG4gICAgICAgIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoZmllbGQpO1xyXG4gICAgICAgICAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgICAgICAgICBjb250cm9sLm1hcmtBc0RpcnR5KHsgb25seVNlbGY6IHRydWUgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZUFsbEZvcm1GaWVsZHMoY29udHJvbCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgIC8vIG5hZGEgYSBmYXplclxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RGF0ZShkYXRhOiBEYXRlLCBob3JhOiBEYXRlKTogRGF0ZSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKFxyXG4gICAgICAgICAgICBkYXRhLmdldEZ1bGxZZWFyKCksXHJcbiAgICAgICAgICAgIGRhdGEuZ2V0TW9udGgoKSxcclxuICAgICAgICAgICAgZGF0YS5nZXREYXRlKCksXHJcbiAgICAgICAgICAgIGhvcmEuZ2V0SG91cnMoKSxcclxuICAgICAgICAgICAgaG9yYS5nZXRNaW51dGVzKClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc2V0KCkge1xyXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUoeyAuLi50aGlzLmFjdHVhbFZhbHVlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY3JlYXRlRm9ybSgpIHtcclxuICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICAgICAgICBtb3Rpdm9WaXNpdGE6IFt1bmRlZmluZWQsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcclxuICAgICAgICAgICAgcG9ydGFyaWE6IFt1bmRlZmluZWQsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcclxuICAgICAgICAgICAgZGF0YVNhaWRhOiBbdW5kZWZpbmVkLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKV0sXHJcbiAgICAgICAgICAgIGhvcmFTYWlkYTogW3VuZGVmaW5lZCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0TG9iYnlGaWVsZHMoKSB7XHJcbiAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiBcIm5hbWVcIixcclxuICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXHJcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5wYXRpby5zYW1fcG9ydGFyaWFfZGVzY3JpY2FvXCIpLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICBdO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|