@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.
Files changed (228) hide show
  1. package/bundles/seniorsistemas-yms-integration.umd.js +2922 -1185
  2. package/bundles/seniorsistemas-yms-integration.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-yms-integration.umd.min.js +1 -1
  4. package/bundles/seniorsistemas-yms-integration.umd.min.js.map +1 -1
  5. package/esm2015/index.js +9 -1
  6. package/esm2015/seniorsistemas-yms-integration.js +48 -38
  7. package/esm2015/src/devices/balancas/balancas.service.js +4 -1
  8. package/esm2015/src/devices/balancas/visualiar-balanca/visualizar-balanca.component.js +8 -25
  9. package/esm2015/src/devices/balancas/weightScale.js +1 -1
  10. package/esm2015/src/devices/cancelas/cancelas.service.js +5 -1
  11. package/esm2015/src/devices/cancelas/controlador-cancela/controlador-cancela.component.js +91 -21
  12. package/esm2015/src/devices/cancelas/gate.js +1 -1
  13. package/esm2015/src/devices/dock/dock.module.js +12 -0
  14. package/esm2015/src/devices/dock/dock.service.js +22 -0
  15. package/esm2015/src/erp-senior/components/nota-form/nota-form.component.js +24 -9
  16. package/esm2015/src/erp-senior/core/entities/agenda/agenda.module.js +2 -2
  17. package/esm2015/src/erp-senior/core/entities/cidade/cidade.module.js +2 -2
  18. package/esm2015/src/erp-senior/core/entities/contrato-compra/contrato-compra.module.js +2 -2
  19. package/esm2015/src/erp-senior/core/entities/contrato-compra-item/contrato-compra-item.module.js +2 -2
  20. package/esm2015/src/erp-senior/core/entities/derivacao/derivacao.module.js +2 -2
  21. package/esm2015/src/erp-senior/core/entities/devolucao/devolucao.module.js +2 -2
  22. package/esm2015/src/erp-senior/core/entities/empresa/empresa.module.js +2 -2
  23. package/esm2015/src/erp-senior/core/entities/estado/estado.module.js +2 -2
  24. package/esm2015/src/erp-senior/core/entities/expedicao/expedicao.module.js +2 -2
  25. package/esm2015/src/erp-senior/core/entities/familia-produto/familia-produto.js +5 -7
  26. package/esm2015/src/erp-senior/core/entities/familia-produto/familia-produto.module.js +2 -2
  27. package/esm2015/src/erp-senior/core/entities/filial/filial.module.js +2 -2
  28. package/esm2015/src/erp-senior/core/entities/log-integracao/log-integracao.module.js +2 -2
  29. package/esm2015/src/erp-senior/core/entities/motorista/motorista.js +1 -1
  30. package/esm2015/src/erp-senior/core/entities/ordem-compra/ordem-compra.module.js +7 -2
  31. package/esm2015/src/erp-senior/core/entities/pais/pais.module.js +2 -2
  32. package/esm2015/src/erp-senior/core/entities/pedido-venda/pedido-venda.module.js +2 -2
  33. package/esm2015/src/erp-senior/core/entities/pedido-venda-item/pedido-venda-item.module.js +2 -2
  34. package/esm2015/src/erp-senior/core/entities/pessoa/pessoa.module.js +2 -2
  35. package/esm2015/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco-dto.js +1 -5
  36. package/esm2015/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.js +1 -7
  37. package/esm2015/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.module.js +2 -2
  38. package/esm2015/src/erp-senior/core/entities/pessoa-fisica/pessoa-fisica.module.js +2 -2
  39. package/esm2015/src/erp-senior/core/entities/pessoa-juridica/pessoa-juridica.module.js +2 -2
  40. package/esm2015/src/erp-senior/core/entities/processo-avulso/processo-avulso.module.js +7 -2
  41. package/esm2015/src/erp-senior/core/entities/produto/produto.js +1 -9
  42. package/esm2015/src/erp-senior/core/entities/produto/produto.module.js +2 -2
  43. package/esm2015/src/erp-senior/core/entities/recebimento-contrato/recebimento.module.js +7 -2
  44. package/esm2015/src/erp-senior/core/entities/recebimento-ordem-compra/recebimento-ordem-compra.module.js +11 -12
  45. package/esm2015/src/erp-senior/core/entities/royalty/royalty.module.js +2 -2
  46. package/esm2015/src/erp-senior/core/entities/safra/safra.module.js +2 -2
  47. package/esm2015/src/erp-senior/core/entities/transgenia/transgenia.js +1 -1
  48. package/esm2015/src/erp-senior/core/entities/transportadora/transportadora.module.js +2 -2
  49. package/esm2015/src/erp-senior/core/entities/unidade-medida/unidade-medida.module.js +2 -2
  50. package/esm2015/src/erp-senior/core/verifica-nota-fiscal/verificaNotaFiscal.js +9 -1
  51. package/esm2015/src/erp-senior/devolucao/form/devolucao-form.component.js +12 -7
  52. package/esm2015/src/erp-senior/expedicao/form/expedicao-form.component.js +15 -21
  53. package/esm2015/src/erp-senior/processo-avulso/form/processo-avulso-form.component.js +7 -2
  54. package/esm2015/src/erp-senior/recebimento/contrato-form/contrato-form.component.js +20 -4
  55. package/esm2015/src/erp-senior/recebimento/form/recebimento-form.component.js +242 -199
  56. package/esm2015/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.js +29 -20
  57. package/esm2015/src/erp-senior/recebimento-ordem-compra/ordem-compra-form/ordem-compra-form.component.js +13 -4
  58. package/esm2015/src/sam-senior/components/credencial-form/credencial-form.component.js +126 -0
  59. package/esm2015/src/sam-senior/components/scheduling/lobby.service.js +22 -0
  60. package/esm2015/src/sam-senior/components/scheduling/scheduling.component.js +191 -0
  61. package/esm2015/src/sam-senior/components/scheduling/shechuling.service.js +40 -0
  62. package/esm2015/src/sam-senior/components/visited-info/visited-info.component.js +59 -0
  63. package/esm2015/src/sam-senior/components/visited-info/visited-info.service.js +26 -0
  64. package/esm2015/src/sam-senior/components/visitor-edit/visitor-edit-form/visitante-form/visitor-edit-form.component.js +84 -0
  65. package/esm2015/src/sam-senior/components/visitor-edit/visitor-edit-list/visitor-edit-list.component.js +364 -0
  66. package/esm2015/src/sam-senior/components/visitor-list/visitor-list.component.js +64 -0
  67. package/esm2015/src/sam-senior/components/visitor-list/visitor-list.service.js +26 -0
  68. package/esm2015/src/sam-senior/components/visitor-list.module.js +36 -0
  69. package/esm2015/src/sam-senior/core/entity-service.js +102 -0
  70. package/esm2015/src/sam-senior/core/lookup.js +184 -0
  71. package/esm2015/src/sam-senior/core/utils.js +26 -0
  72. package/esm2015/src/sam-senior/entities/credential-card-dto.js +9 -0
  73. package/esm2015/src/sam-senior/entities/lobby-dto.js +3 -0
  74. package/esm2015/src/sam-senior/entities/scheduling-dto.js +3 -0
  75. package/esm2015/src/sam-senior/entities/scheduling-visitors.js +3 -0
  76. package/esm2015/src/sam-senior/entities/scheduling.js +26 -0
  77. package/esm2015/src/sam-senior/entities/visited.js +3 -0
  78. package/esm2015/src/sam-senior/entities/visitor-credentials-dto.js +6 -0
  79. package/esm2015/src/sam-senior/entities/visitor-dto.js +1 -0
  80. package/esm2015/src/sam-senior/entities/visitor-situation.js +10 -0
  81. package/esm2015/src/sam-senior/form/form-sam.component.js +61 -0
  82. package/esm2015/src/sam-senior/models/card-credential.js +7 -0
  83. package/esm2015/src/sam-senior/models/visit-situation.js +8 -0
  84. package/esm2015/src/sam-senior/models/visitor-situation.js +10 -0
  85. package/esm2015/src/sam-senior/models/visitor.js +23 -0
  86. package/esm2015/src/sam-senior/sam-senior.module.js +75 -0
  87. package/esm2015/src/utils/build-form-field.js +28 -0
  88. package/esm5/index.js +9 -1
  89. package/esm5/seniorsistemas-yms-integration.js +48 -38
  90. package/esm5/src/devices/balancas/balancas.service.js +4 -1
  91. package/esm5/src/devices/balancas/visualiar-balanca/visualizar-balanca.component.js +8 -25
  92. package/esm5/src/devices/balancas/weightScale.js +1 -1
  93. package/esm5/src/devices/cancelas/cancelas.service.js +5 -1
  94. package/esm5/src/devices/cancelas/controlador-cancela/controlador-cancela.component.js +94 -21
  95. package/esm5/src/devices/cancelas/gate.js +1 -1
  96. package/esm5/src/devices/dock/dock.module.js +15 -0
  97. package/esm5/src/devices/dock/dock.service.js +25 -0
  98. package/esm5/src/erp-senior/components/nota-form/nota-form.component.js +24 -9
  99. package/esm5/src/erp-senior/core/entities/agenda/agenda.module.js +2 -2
  100. package/esm5/src/erp-senior/core/entities/cidade/cidade.module.js +2 -2
  101. package/esm5/src/erp-senior/core/entities/contrato-compra/contrato-compra.module.js +2 -2
  102. package/esm5/src/erp-senior/core/entities/contrato-compra-item/contrato-compra-item.module.js +2 -2
  103. package/esm5/src/erp-senior/core/entities/derivacao/derivacao.module.js +2 -2
  104. package/esm5/src/erp-senior/core/entities/devolucao/devolucao.module.js +2 -2
  105. package/esm5/src/erp-senior/core/entities/empresa/empresa.module.js +2 -2
  106. package/esm5/src/erp-senior/core/entities/estado/estado.module.js +2 -2
  107. package/esm5/src/erp-senior/core/entities/expedicao/expedicao.module.js +2 -2
  108. package/esm5/src/erp-senior/core/entities/familia-produto/familia-produto.js +5 -7
  109. package/esm5/src/erp-senior/core/entities/familia-produto/familia-produto.module.js +2 -2
  110. package/esm5/src/erp-senior/core/entities/filial/filial.module.js +2 -2
  111. package/esm5/src/erp-senior/core/entities/log-integracao/log-integracao.module.js +2 -2
  112. package/esm5/src/erp-senior/core/entities/motorista/motorista.js +1 -1
  113. package/esm5/src/erp-senior/core/entities/ordem-compra/ordem-compra.module.js +7 -2
  114. package/esm5/src/erp-senior/core/entities/pais/pais.module.js +2 -2
  115. package/esm5/src/erp-senior/core/entities/pedido-venda/pedido-venda.module.js +2 -2
  116. package/esm5/src/erp-senior/core/entities/pedido-venda-item/pedido-venda-item.module.js +2 -2
  117. package/esm5/src/erp-senior/core/entities/pessoa/pessoa.module.js +2 -2
  118. package/esm5/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco-dto.js +1 -5
  119. package/esm5/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.js +1 -7
  120. package/esm5/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.module.js +2 -2
  121. package/esm5/src/erp-senior/core/entities/pessoa-fisica/pessoa-fisica.module.js +2 -2
  122. package/esm5/src/erp-senior/core/entities/pessoa-juridica/pessoa-juridica.module.js +2 -2
  123. package/esm5/src/erp-senior/core/entities/processo-avulso/processo-avulso.module.js +7 -2
  124. package/esm5/src/erp-senior/core/entities/produto/produto.js +1 -9
  125. package/esm5/src/erp-senior/core/entities/produto/produto.module.js +2 -2
  126. package/esm5/src/erp-senior/core/entities/recebimento-contrato/recebimento.module.js +7 -2
  127. package/esm5/src/erp-senior/core/entities/recebimento-ordem-compra/recebimento-ordem-compra.module.js +11 -12
  128. package/esm5/src/erp-senior/core/entities/royalty/royalty.module.js +2 -2
  129. package/esm5/src/erp-senior/core/entities/safra/safra.module.js +2 -2
  130. package/esm5/src/erp-senior/core/entities/transgenia/transgenia.js +1 -1
  131. package/esm5/src/erp-senior/core/entities/transportadora/transportadora.module.js +2 -2
  132. package/esm5/src/erp-senior/core/entities/unidade-medida/unidade-medida.module.js +2 -2
  133. package/esm5/src/erp-senior/core/verifica-nota-fiscal/verificaNotaFiscal.js +9 -1
  134. package/esm5/src/erp-senior/devolucao/form/devolucao-form.component.js +12 -7
  135. package/esm5/src/erp-senior/expedicao/form/expedicao-form.component.js +15 -21
  136. package/esm5/src/erp-senior/processo-avulso/form/processo-avulso-form.component.js +7 -2
  137. package/esm5/src/erp-senior/recebimento/contrato-form/contrato-form.component.js +21 -4
  138. package/esm5/src/erp-senior/recebimento/form/recebimento-form.component.js +244 -203
  139. package/esm5/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.js +29 -20
  140. package/esm5/src/erp-senior/recebimento-ordem-compra/ordem-compra-form/ordem-compra-form.component.js +14 -4
  141. package/esm5/src/sam-senior/components/credencial-form/credencial-form.component.js +144 -0
  142. package/esm5/src/sam-senior/components/scheduling/lobby.service.js +25 -0
  143. package/esm5/src/sam-senior/components/scheduling/scheduling.component.js +199 -0
  144. package/esm5/src/sam-senior/components/scheduling/shechuling.service.js +43 -0
  145. package/esm5/src/sam-senior/components/visited-info/visited-info.component.js +56 -0
  146. package/esm5/src/sam-senior/components/visited-info/visited-info.service.js +29 -0
  147. package/esm5/src/sam-senior/components/visitor-edit/visitor-edit-form/visitante-form/visitor-edit-form.component.js +87 -0
  148. package/esm5/src/sam-senior/components/visitor-edit/visitor-edit-list/visitor-edit-list.component.js +384 -0
  149. package/esm5/src/sam-senior/components/visitor-list/visitor-list.component.js +82 -0
  150. package/esm5/src/sam-senior/components/visitor-list/visitor-list.service.js +29 -0
  151. package/esm5/src/sam-senior/components/visitor-list.module.js +37 -0
  152. package/esm5/src/sam-senior/core/entity-service.js +107 -0
  153. package/esm5/src/sam-senior/core/lookup.js +229 -0
  154. package/esm5/src/sam-senior/core/utils.js +28 -0
  155. package/esm5/src/sam-senior/entities/credential-card-dto.js +13 -0
  156. package/esm5/src/sam-senior/entities/lobby-dto.js +7 -0
  157. package/esm5/src/sam-senior/entities/scheduling-dto.js +7 -0
  158. package/esm5/src/sam-senior/entities/scheduling-visitors.js +7 -0
  159. package/esm5/src/sam-senior/entities/scheduling.js +30 -0
  160. package/esm5/src/sam-senior/entities/visited.js +7 -0
  161. package/esm5/src/sam-senior/entities/visitor-credentials-dto.js +8 -0
  162. package/esm5/src/sam-senior/entities/visitor-dto.js +1 -0
  163. package/esm5/src/sam-senior/entities/visitor-situation.js +10 -0
  164. package/esm5/src/sam-senior/form/form-sam.component.js +64 -0
  165. package/esm5/src/sam-senior/models/card-credential.js +7 -0
  166. package/esm5/src/sam-senior/models/visit-situation.js +8 -0
  167. package/esm5/src/sam-senior/models/visitor-situation.js +10 -0
  168. package/esm5/src/sam-senior/models/visitor.js +32 -0
  169. package/esm5/src/sam-senior/sam-senior.module.js +76 -0
  170. package/esm5/src/utils/build-form-field.js +29 -0
  171. package/fesm2015/seniorsistemas-yms-integration.js +2763 -1193
  172. package/fesm2015/seniorsistemas-yms-integration.js.map +1 -1
  173. package/fesm5/seniorsistemas-yms-integration.js +2888 -1169
  174. package/fesm5/seniorsistemas-yms-integration.js.map +1 -1
  175. package/index.d.ts +7 -0
  176. package/package.json +3 -3
  177. package/seniorsistemas-yms-integration.d.ts +47 -37
  178. package/seniorsistemas-yms-integration.metadata.json +1 -1
  179. package/src/devices/balancas/balancas.service.d.ts +1 -0
  180. package/src/devices/balancas/visualiar-balanca/visualizar-balanca.component.d.ts +2 -11
  181. package/src/devices/balancas/weightScale.d.ts +2 -2
  182. package/src/devices/cancelas/cancelas.service.d.ts +1 -0
  183. package/src/devices/cancelas/controlador-cancela/controlador-cancela.component.d.ts +12 -8
  184. package/src/devices/cancelas/gate.d.ts +2 -0
  185. package/src/devices/dock/dock.module.d.ts +2 -0
  186. package/src/devices/dock/dock.service.d.ts +10 -0
  187. package/src/erp-senior/components/nota-form/nota-form.component.d.ts +7 -1
  188. package/src/erp-senior/core/entities/motorista/motorista.d.ts +3 -0
  189. package/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco-dto.d.ts +2 -0
  190. package/src/erp-senior/core/entities/pessoa-endereco/pessoa-endereco.d.ts +2 -0
  191. package/src/erp-senior/core/entities/transgenia/transgenia.d.ts +2 -0
  192. package/src/erp-senior/core/verifica-nota-fiscal/verificaNotaFiscal.d.ts +2 -0
  193. package/src/erp-senior/devolucao/form/devolucao-form.component.d.ts +2 -0
  194. package/src/erp-senior/processo-avulso/form/processo-avulso-form.component.d.ts +2 -0
  195. package/src/erp-senior/recebimento/contrato-form/contrato-form.component.d.ts +10 -4
  196. package/src/erp-senior/recebimento/form/recebimento-form.component.d.ts +25 -10
  197. package/src/erp-senior/recebimento-ordem-compra/form/recebimento-ordem-compra-form.component.d.ts +4 -2
  198. package/src/erp-senior/recebimento-ordem-compra/ordem-compra-form/ordem-compra-form.component.d.ts +6 -2
  199. package/src/sam-senior/components/credencial-form/credencial-form.component.d.ts +29 -0
  200. package/src/sam-senior/components/scheduling/lobby.service.d.ts +9 -0
  201. package/src/sam-senior/components/scheduling/scheduling.component.d.ts +43 -0
  202. package/src/sam-senior/components/scheduling/shechuling.service.d.ts +14 -0
  203. package/src/sam-senior/components/visited-info/visited-info.component.d.ts +15 -0
  204. package/src/sam-senior/components/visited-info/visited-info.service.d.ts +10 -0
  205. package/src/sam-senior/components/visitor-edit/visitor-edit-form/visitante-form/visitor-edit-form.component.d.ts +22 -0
  206. package/src/sam-senior/components/visitor-edit/visitor-edit-list/visitor-edit-list.component.d.ts +56 -0
  207. package/src/sam-senior/components/visitor-list/visitor-list.component.d.ts +16 -0
  208. package/src/sam-senior/components/visitor-list/visitor-list.service.d.ts +10 -0
  209. package/src/sam-senior/components/visitor-list.module.d.ts +5 -0
  210. package/src/sam-senior/core/entity-service.d.ts +35 -0
  211. package/src/sam-senior/core/lookup.d.ts +38 -0
  212. package/src/sam-senior/core/utils.d.ts +18 -0
  213. package/src/sam-senior/entities/credential-card-dto.d.ts +12 -0
  214. package/src/sam-senior/entities/lobby-dto.d.ts +5 -0
  215. package/src/sam-senior/entities/scheduling-dto.d.ts +11 -0
  216. package/src/sam-senior/entities/scheduling-visitors.d.ts +6 -0
  217. package/src/sam-senior/entities/scheduling.d.ts +12 -0
  218. package/src/sam-senior/entities/visited.d.ts +4 -0
  219. package/src/sam-senior/entities/visitor-credentials-dto.d.ts +6 -0
  220. package/src/sam-senior/entities/visitor-dto.d.ts +10 -0
  221. package/src/sam-senior/entities/visitor-situation.d.ts +8 -0
  222. package/src/sam-senior/form/form-sam.component.d.ts +18 -0
  223. package/src/sam-senior/models/card-credential.d.ts +16 -0
  224. package/src/sam-senior/models/visit-situation.d.ts +6 -0
  225. package/src/sam-senior/models/visitor-situation.d.ts +8 -0
  226. package/src/sam-senior/models/visitor.d.ts +24 -0
  227. package/src/sam-senior/sam-senior.module.d.ts +6 -0
  228. package/src/utils/build-form-field.d.ts +9 -0
@@ -0,0 +1,384 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { VisitorCredentialsDto } from '../../../entities/visitor-credentials-dto';
3
+ import { Component, EventEmitter, Input, Output } from "@angular/core";
4
+ import { TranslateService } from "@ngx-translate/core";
5
+ import { Subject, empty } from "rxjs";
6
+ import { CardTechnology, } from "../../../models/card-credential";
7
+ import { filter, takeUntil, mergeMap } from "rxjs/operators";
8
+ import { VisitorSituation } from "../../../models/visitor-situation";
9
+ import { DialogService } from "primeng/api";
10
+ import { CredencialFormComponent } from "../../credencial-form/credencial-form.component";
11
+ import { VisitanteFormComponent } from "../visitor-edit-form/visitante-form/visitor-edit-form.component";
12
+ import { dialogConfig } from "../../../../utils/utils";
13
+ import { IntegrationEventsCallback } from "@seniorsistemas/yms-routines";
14
+ var VisitanteComponent = /** @class */ (function () {
15
+ function VisitanteComponent(translate, dialogService, integrationCallback) {
16
+ this.translate = translate;
17
+ this.dialogService = dialogService;
18
+ this.integrationCallback = integrationCallback;
19
+ this.visitors = [];
20
+ this.visitorsChange = new EventEmitter();
21
+ this.hasChange = new EventEmitter();
22
+ this.ngUnsubscribe = new Subject();
23
+ this.unsubscribe$ = new Subject();
24
+ this._integrationCallback = integrationCallback;
25
+ }
26
+ VisitanteComponent.prototype.ngOnInit = function () {
27
+ this.constroiCamposTabelaVistante();
28
+ this.visitanteTotalRecords = 0;
29
+ };
30
+ VisitanteComponent.prototype.ngAfterContentInit = function () {
31
+ var _this = this;
32
+ this.visitanteGridLoading = false;
33
+ this.adicionaVisitantesGrid();
34
+ this._integrationCallback
35
+ .onAgendamentoMotoristaChanged()
36
+ .pipe(takeUntil(this.unsubscribe$), mergeMap(function (motorista) {
37
+ _this.atualizaMotorista(motorista);
38
+ return empty();
39
+ }))
40
+ .subscribe();
41
+ };
42
+ VisitanteComponent.prototype.atualizaMotorista = function (mot) {
43
+ var motoristaVisitante = this.visitanteGridData.find(function (item) { return item.driver; });
44
+ if (motoristaVisitante && motoristaVisitante.documentType === this.getDocumentType() && motoristaVisitante.document === mot.cpf) {
45
+ return;
46
+ }
47
+ if (this.visitanteGridData.length > 0) {
48
+ this.visitanteGridData[0] = {
49
+ name: mot.nome,
50
+ document: mot.cpf,
51
+ contact: this.getContatoMotorista(mot),
52
+ visitorSituation: VisitorSituation.CHECK_IN_PENDING,
53
+ documentType: this.getDocumentType(),
54
+ driver: true
55
+ };
56
+ }
57
+ else {
58
+ this.visitanteGridData.push({
59
+ name: mot.nome,
60
+ document: mot.cpf,
61
+ contact: this.getContatoMotorista(mot),
62
+ visitorSituation: VisitorSituation.CHECK_IN_PENDING,
63
+ documentType: this.getDocumentType(),
64
+ driver: true
65
+ });
66
+ }
67
+ };
68
+ VisitanteComponent.prototype.adicionaVisitantesGrid = function () {
69
+ var _this = this;
70
+ if (this.visitors.length) {
71
+ this.visitanteGridData = [];
72
+ this.adicionaMotoristaNoVisitanteGridData();
73
+ this.visitors.forEach(function (visitor) {
74
+ if (_this.motorista.cpf !== visitor.visitor.document) {
75
+ _this.visitanteGridData.push({
76
+ id: visitor.visitor.id,
77
+ name: visitor.visitor.name,
78
+ document: visitor.visitor.document,
79
+ contact: visitor.visitor.contact,
80
+ visitorSituation: _this.getVisitorSituation(visitor.visitor.visitorSituation),
81
+ documentType: _this.getDocumentType(),
82
+ driver: true
83
+ });
84
+ }
85
+ _this.visitanteTotalRecords = _this.visitors.length;
86
+ });
87
+ }
88
+ else {
89
+ this.visitanteGridData = [];
90
+ var novo_visitante_1 = new VisitorCredentialsDto();
91
+ novo_visitante_1.visitor = {
92
+ name: this.motorista.nome,
93
+ document: this.motorista.cpf,
94
+ contact: this.getContatoMotorista(this.motorista),
95
+ documentType: this.getDocumentType(),
96
+ visitorSituation: VisitorSituation.CHECK_IN_PENDING,
97
+ driver: true
98
+ };
99
+ var visitanteBuscando = this.visitanteGridData.find(function (visitanteNaLista) { return novo_visitante_1.visitor.document === visitanteNaLista.document; });
100
+ if (visitanteBuscando === undefined) {
101
+ this.visitanteGridData.push(novo_visitante_1.visitor);
102
+ this.visitors.push(novo_visitante_1);
103
+ this.visitanteTotalRecords = 1;
104
+ }
105
+ }
106
+ this.visitanteGridLoading = false;
107
+ };
108
+ VisitanteComponent.prototype.isCredentialCardsEmpty = function (visitor) {
109
+ var visitantesEncontrados = this.visitors.find(function (visitorWithCredentials) {
110
+ return visitorWithCredentials.visitor.document === visitor.document;
111
+ });
112
+ if (visitantesEncontrados === undefined) {
113
+ return false;
114
+ }
115
+ return visitantesEncontrados.credentialCards.filter(function (credentialCard) {
116
+ return Object.keys(credentialCard).length !== 0;
117
+ }).length > 0
118
+ ? true
119
+ : false;
120
+ };
121
+ VisitanteComponent.prototype.adicionaMotoristaNoVisitanteGridData = function () {
122
+ var _this = this;
123
+ var motoristaVisitante = this.visitors.find(function (visitor) { return _this.motorista.cpf === visitor.visitor.document; });
124
+ if (motoristaVisitante === undefined) {
125
+ this.visitanteGridData.push({
126
+ name: this.motorista.nome,
127
+ document: this.motorista.cpf,
128
+ contact: this.getContatoMotorista(this.motorista),
129
+ visitorSituation: VisitorSituation.CHECK_IN_PENDING,
130
+ documentType: this.getDocumentType(),
131
+ driver: true,
132
+ });
133
+ }
134
+ else {
135
+ this.visitanteGridData.push({
136
+ id: motoristaVisitante.visitor.id,
137
+ name: motoristaVisitante.visitor.name,
138
+ document: motoristaVisitante.visitor.document,
139
+ contact: this.getContatoMotorista(this.motorista),
140
+ visitorSituation: this.getVisitorSituation(motoristaVisitante.visitor.visitorSituation),
141
+ documentType: this.getDocumentType(),
142
+ driver: true,
143
+ });
144
+ }
145
+ };
146
+ VisitanteComponent.prototype.criarOuAtualizarVisitante = function (visitor) {
147
+ var _this = this;
148
+ this.dialogService
149
+ .open(VisitanteFormComponent, tslib_1.__assign({ header: this.translate.instant("yms.patio.motorista_adicionar_visitante") }, dialogConfig, this.constroiVisitante(visitor)))
150
+ .onClose.pipe(takeUntil(this.ngUnsubscribe), filter(function (value) { return !!value; }))
151
+ .subscribe(function (visitante) { return _this.adicionaVisitanteParaSalvar(visitante); });
152
+ };
153
+ VisitanteComponent.prototype.adicionaVisitanteParaSalvar = function (visitante) {
154
+ var _this = this;
155
+ this.visitanteGridData.forEach(function (visitor) {
156
+ if (visitor.document === visitante.document) {
157
+ visitor.contact = visitante.contact;
158
+ visitor.name = visitante.name;
159
+ _this.visitorFound = true;
160
+ }
161
+ });
162
+ if (this.visitorFound) {
163
+ return;
164
+ }
165
+ this.visitanteGridLoading = true;
166
+ visitante.documentType = this.getDocumentType();
167
+ if (visitante.visitorSituation === undefined) {
168
+ visitante.visitorSituation = VisitorSituation.CHECK_IN_PENDING;
169
+ }
170
+ this.addVisitanteNaTabela(visitante);
171
+ this.visitanteTotalRecords++;
172
+ this.visitanteGridLoading = false;
173
+ var novo_visitante = new VisitorCredentialsDto();
174
+ novo_visitante.visitor = {
175
+ name: visitante.name,
176
+ document: visitante.document,
177
+ contact: visitante.contact,
178
+ documentType: visitante.documentType,
179
+ visitorSituation: visitante.visitorSituation,
180
+ driver: false
181
+ };
182
+ this.visitors.push(novo_visitante);
183
+ this.visitorsChange.emit(this.visitors);
184
+ this.hasChange.emit(true);
185
+ };
186
+ VisitanteComponent.prototype.model = function (visitante) {
187
+ var _this = this;
188
+ var isDriver = visitante.document === this.motorista.cpf;
189
+ var findVisitor = this.visitors.find(function (visitorWithCredentials) {
190
+ return visitorWithCredentials.visitor.document === visitante.document;
191
+ });
192
+ return [
193
+ {
194
+ label: this.translate.instant('yms.patio.motorista_editar_visitante'),
195
+ command: function () { return _this.editarVisitante(visitante); },
196
+ visible: !isDriver
197
+ },
198
+ {
199
+ label: this.translate.instant('yms.patio.delete'),
200
+ command: function () { return _this.deletarVisitante(visitante); },
201
+ visible: !isDriver
202
+ },
203
+ {
204
+ label: this.translate.instant('yms.patio.motorista_visitante_entregar_credencial'),
205
+ command: function () { return _this.entregarCredencial(visitante); },
206
+ visible: isDriver || !isDriver
207
+ },
208
+ {
209
+ label: this.translate.instant('yms.patio.remover_credenciais'),
210
+ command: function () { return _this.deletarCredenciais(findVisitor); },
211
+ visible: findVisitor != null && findVisitor.credentialCards != null && findVisitor.credentialCards.length > 0
212
+ },
213
+ ];
214
+ };
215
+ VisitanteComponent.prototype.addVisitanteNaTabela = function (visitante) {
216
+ if (visitante.id !== undefined) {
217
+ this.visitanteGridData = this.visitanteGridData.map(function (visitanteGrid) {
218
+ if (visitanteGrid.id === visitante.id) {
219
+ return visitante;
220
+ }
221
+ return visitanteGrid;
222
+ });
223
+ }
224
+ else {
225
+ this.visitanteGridData.push(visitante);
226
+ }
227
+ };
228
+ VisitanteComponent.prototype.entregarCredencial = function (visitante) {
229
+ var _this = this;
230
+ this.dialogService
231
+ .open(CredencialFormComponent, {
232
+ header: this.translate.instant("yms.patio.motorista_visitante_credencial"),
233
+ data: {
234
+ visitante: visitante,
235
+ },
236
+ })
237
+ .onClose.pipe(takeUntil(this.ngUnsubscribe), filter(function (value) { return !!value; }))
238
+ .subscribe(function (visitorCredentialCard) {
239
+ return _this.adicionaCredencialParaEntregar(visitorCredentialCard);
240
+ });
241
+ };
242
+ VisitanteComponent.prototype.adicionaCredencialParaEntregar = function (visitorCredentialCard) {
243
+ var visitorWithCredencial = this.visitors.find(function (visitor) { return visitor.visitor.document === visitorCredentialCard.visitor.document; });
244
+ if (visitorWithCredencial === undefined) {
245
+ this.visitors.push({
246
+ visitor: visitorCredentialCard.visitor,
247
+ credentialCards: [this.createCredentialCard(visitorCredentialCard)],
248
+ });
249
+ }
250
+ else {
251
+ visitorWithCredencial.credentialCards.push(this.createCredentialCard(visitorCredentialCard));
252
+ }
253
+ this.hasChange.emit(true);
254
+ };
255
+ VisitanteComponent.prototype.editarVisitante = function (visitante) {
256
+ this.criarOuAtualizarVisitante(visitante);
257
+ };
258
+ VisitanteComponent.prototype.deletarVisitante = function (visitante) {
259
+ var _this = this;
260
+ this.visitanteGridData.forEach(function (value, index) {
261
+ if (value.document === visitante.document) {
262
+ _this.visitanteGridData.splice(index, 1);
263
+ var removeVisitor = _this.visitors.findIndex(function (visitor) { return visitor.visitor.document === value.document; });
264
+ if (removeVisitor !== -1) {
265
+ _this.visitors.splice(removeVisitor, 1);
266
+ _this.hasChange.emit(true);
267
+ }
268
+ }
269
+ });
270
+ };
271
+ VisitanteComponent.prototype.deletarCredenciais = function (viisitorCredential) {
272
+ viisitorCredential.credentialCards.splice(0, viisitorCredential.credentialCards.length);
273
+ this.hasChange.emit(true);
274
+ };
275
+ VisitanteComponent.prototype.getContatoMotorista = function (motorista) {
276
+ return motorista.telefone === undefined ? "0" : motorista.telefone;
277
+ };
278
+ VisitanteComponent.prototype.getCredentialCards = function (visitor) {
279
+ var _this = this;
280
+ if (this.visitors.length <= 0) {
281
+ return [];
282
+ }
283
+ return this.visitors
284
+ .find(function (visitorWithCredentials) {
285
+ return visitorWithCredentials.visitor.document === visitor.document;
286
+ })
287
+ .credentialCards.filter(function (credentialCard) { return Object.keys(credentialCard).length !== 0; })
288
+ .map(function (credentialCard) {
289
+ return {
290
+ cardTechnology: _this.getTecnologiaCrachaTraduzida(credentialCard.cardTechnology),
291
+ cardNumber: credentialCard.cardNumber,
292
+ endDate: credentialCard.endDate,
293
+ };
294
+ });
295
+ };
296
+ VisitanteComponent.prototype.constroiVisitante = function (visitante) {
297
+ var visitanteData = { data: {} };
298
+ if (visitante !== undefined && visitante !== null) {
299
+ visitanteData = {
300
+ data: {
301
+ id: visitante.id,
302
+ name: visitante.name,
303
+ document: visitante.document,
304
+ contact: visitante.contact,
305
+ visitorSituation: this.getVisitorSituation(visitante.visitorSituation),
306
+ documentType: this.getDocumentType(),
307
+ },
308
+ };
309
+ }
310
+ return visitanteData;
311
+ };
312
+ VisitanteComponent.prototype.createCredentialCard = function (visitorCredentialCard) {
313
+ return {
314
+ visitor: visitorCredentialCard.id,
315
+ cardTechnology: visitorCredentialCard.cardTechnology,
316
+ cardNumber: visitorCredentialCard.cardNumber,
317
+ endDate: visitorCredentialCard.endDate,
318
+ };
319
+ };
320
+ VisitanteComponent.prototype.getTecnologiaCrachaTraduzida = function (cardTechnology) {
321
+ if (cardTechnology === CardTechnology.BARCODE_CARD) {
322
+ return this.translate.instant("yms.patio.cartao_credencial_codigo_barras");
323
+ }
324
+ if (cardTechnology === CardTechnology.RFID_CARD) {
325
+ return this.translate.instant("yms.patio.cartao_credencial_rfid");
326
+ }
327
+ if (cardTechnology === CardTechnology.SMART_CARD) {
328
+ return this.translate.instant("yms.patio.cartao_credencial_smart");
329
+ }
330
+ };
331
+ VisitanteComponent.prototype.getVisitorSituation = function (visitorSituation) {
332
+ return visitorSituation === undefined
333
+ ? VisitorSituation.CHECK_IN_PENDING
334
+ : visitorSituation;
335
+ };
336
+ VisitanteComponent.prototype.constroiCamposTabelaVistante = function () {
337
+ this.visitanteGridColumns = [
338
+ {
339
+ field: "name",
340
+ header: this.translate.instant("yms.patio.motorista_visitante_nome"),
341
+ },
342
+ {
343
+ field: "document",
344
+ header: this.translate.instant("yms.patio.motorista_visitante_documento"),
345
+ },
346
+ {
347
+ field: "contact",
348
+ header: this.translate.instant("yms.patio.motorista_visitante_contato"),
349
+ },
350
+ ];
351
+ };
352
+ VisitanteComponent.prototype.getDocumentType = function () {
353
+ return "cpf";
354
+ };
355
+ tslib_1.__decorate([
356
+ Input(),
357
+ tslib_1.__metadata("design:type", Object)
358
+ ], VisitanteComponent.prototype, "motorista", void 0);
359
+ tslib_1.__decorate([
360
+ Input(),
361
+ tslib_1.__metadata("design:type", Array)
362
+ ], VisitanteComponent.prototype, "visitors", void 0);
363
+ tslib_1.__decorate([
364
+ Output(),
365
+ tslib_1.__metadata("design:type", Object)
366
+ ], VisitanteComponent.prototype, "visitorsChange", void 0);
367
+ tslib_1.__decorate([
368
+ Output(),
369
+ tslib_1.__metadata("design:type", Object)
370
+ ], VisitanteComponent.prototype, "hasChange", void 0);
371
+ VisitanteComponent = tslib_1.__decorate([
372
+ Component({
373
+ selector: 'visitante-component',
374
+ template: "<div style=\"margin-bottom: 15px\">\n <div>\n <p-header>\n {{ \"yms.patio.motorista_titulo_lista_visitante\" | translate}}\n <button\n style=\"margin-left: 50px\"\n type=\"button\"\n pButton\n (click)=\"criarOuAtualizarVisitante(null)\"\n label=\"{{ 'yms.patio.motorista_add_visitante' | translate }}\"\n >\n </button>\n </p-header>\n <div class=\"ui-g\">\n <div class=\"ui-g-12\">\n <p-table\n #visitanteTable\n [value]=\"visitanteGridData\"\n [columns]=\"visitanteGridColumns\"\n dataKey=\"id\"\n [lazy]=\"true\"\n [scrollable]=\"true\"\n [resizableColumns]=\"true\"\n sortMode=\"single\"\n [paginator]=\"true\"\n [totalRecords]=\"visitanteTotalRecords\"\n rows=\"10\"\n [rowsPerPageOptions]=\"[10, 20, 50, 100]\"\n [loading]=\"visitanteGridLoading\"\n >\n <ng-template pTemplate=\"colgroup\" let-columns>\n <colgroup>\n <col *ngFor=\"let col of columns\" [style.width]=\"col.width\" />\n </colgroup>\n </ng-template>\n <ng-template pTemplate=\"header\" let-columns>\n <tr>\n <th id=\"espaco-coluna-plus\" style=\"width: 50px\"></th>\n <th\n id=\"\"\n *ngFor=\"let col of columns\"\n [pSortableColumn]=\"col.field\"\n pResizableColumn\n >\n <div class=\"senior-header\">\n <span class=\"senior-header-title\">{{ col.header }}</span>\n <p-sortIcon [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n <th id=\"\" style=\"width: 15%\"></th>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-columns let-expanded=\"expanded\">\n <tr [pSelectableRow]=\"rowData\">\n <td style=\"width: 50px\">\n <a href=\"#\" [pRowToggler]=\"rowData\" style=\"color: #000\">\n <em [ngClass]=\"expanded ? 'fa fa-minus' : 'fa fa-plus'\"></em>\n </a>\n </td>\n <td>\n <span>{{ rowData[\"name\"] }}</span>\n </td>\n <td>\n <span>{{ rowData[\"document\"] }}</span>\n </td>\n <td>\n <span>{{ rowData[\"contact\"] }}</span>\n </td>\n <td style=\"width: 15%\">\n <s-button\n priority=\"default\"\n label=\"{{ 'yms.patio.motorista_acao_visitante' | translate }}\"\n [model]=\"model(rowData)\"\n >\n </s-button>\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"rowexpansion\" let-rowData let-columns=\"columns\">\n <tr class=\"bg-white no-hover\">\n <td [attr.colspan]=\"columns.length + 2\">\n <div *ngIf=\"isCredentialCardsEmpty(rowData); else elseBlock\">\n <div\n class=\"container flex-container\"\n *ngFor=\"let credentialCard of getCredentialCards(rowData)\"\n >\n <p-card\n header=\"{{ credentialCard.cardTechnology }}\"\n [style]=\"{ width: '300px', margin: '10px' }\"\n >\n <div>\n N\u00FAmero: <strong>{{ credentialCard.cardNumber }}</strong>\n </div>\n <div>\n Data de validade:\n <strong>{{ credentialCard.endDate | date : \"dd/MM/yyyy hh:mm\" }}</strong>\n </div>\n </p-card>\n </div>\n </div>\n <ng-template #elseBlock\n >N\u00E3o h\u00E1 credenciais para salvar ou entregues</ng-template\n >\n </td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\">\n <span\n [translate]=\"'total_records'\"\n [translateParams]=\"{ value: visitanteTotalRecords }\"\n ></span>\n </ng-template>\n </p-table>\n </div>\n </div>\n</div>\n</div>",
375
+ styles: [".container{display:inline-flex}.flex-container{flex-wrap:wrap}"]
376
+ }),
377
+ tslib_1.__metadata("design:paramtypes", [TranslateService,
378
+ DialogService,
379
+ IntegrationEventsCallback])
380
+ ], VisitanteComponent);
381
+ return VisitanteComponent;
382
+ }());
383
+ export { VisitanteComponent };
384
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXRvci1lZGl0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL3ltcy1pbnRlZ3JhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy9zYW0tc2VuaW9yL2NvbXBvbmVudHMvdmlzaXRvci1lZGl0L3Zpc2l0b3ItZWRpdC1saXN0L3Zpc2l0b3ItZWRpdC1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFvQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUNMLGNBQWMsR0FFZixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDekcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRyx5QkFBeUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBUTFFO0lBZ0JFLDRCQUNVLFNBQTJCLEVBQzNCLGFBQTRCLEVBQzNCLG1CQUE4QztRQUYvQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixrQkFB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LGdCQUFnQixDQUFDLGdCQUFnQjtZQUNuQyxDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFDdkIsQ0FBQztJQUVPLHlEQUE0QixHQUFwQztRQUNFLElBQUksQ0FBQyxvQkFBb0IsR0FBRztZQUMxQjtnQkFDRSxLQUFLLEVBQUUsTUFBTTtnQkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsb0NBQW9DLENBQUM7YUFDckU7WUFDRDtnQkFDRSxLQUFLLEVBQUUsVUFBVTtnQkFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUM1Qix5Q0FBeUMsQ0FDMUM7YUFDRjtZQUNEO2dCQUNFLEtBQUssRUFBRSxTQUFTO2dCQUNoQixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsdUNBQXVDLENBQUM7YUFDeEU7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLDRDQUFlLEdBQXZCO1FBQ0UsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBMWFRO1FBQVIsS0FBSyxFQUFFOzt5REFBOEI7SUFDN0I7UUFBUixLQUFLLEVBQUU7O3dEQUFnRDtJQUM5QztRQUFULE1BQU0sRUFBRTs7OERBQThEO0lBQzdEO1FBQVQsTUFBTSxFQUFFOzt5REFBMEM7SUFKeEMsa0JBQWtCO1FBTDlCLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsODhLQUFpRDs7U0FFbEQsQ0FBQztpREFrQnFCLGdCQUFnQjtZQUNaLGFBQWE7WUFDTix5QkFBeUI7T0FuQjlDLGtCQUFrQixDQTRhOUI7SUFBRCx5QkFBQztDQUFBLEFBNWFELElBNGFDO1NBNWFZLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpc2l0b3JDcmVkZW50aWFsc0R0byB9IGZyb20gJy4uLy4uLy4uL2VudGl0aWVzL3Zpc2l0b3ItY3JlZGVudGlhbHMtZHRvJztcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBWaXNpdG9yIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy92aXNpdG9yXCI7XG5pbXBvcnQgeyBTdWJqZWN0LCBlbXB0eSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge1xuICBDYXJkVGVjaG5vbG9neSxcbiAgQ3JlZGVudGlhbENhcmQsXG59IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvY2FyZC1jcmVkZW50aWFsXCI7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCwgbWVyZ2VNYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFZpc2l0b3JTaXR1YXRpb24gfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL3Zpc2l0b3Itc2l0dWF0aW9uXCI7XG5pbXBvcnQgeyBNb3RvcmlzdGEgfSBmcm9tIFwiLi4vLi4vLi4vLi4vZXJwLXNlbmlvci9jb3JlL2VudGl0aWVzL21vdG9yaXN0YS9tb3RvcmlzdGFcIjtcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IENyZWRlbmNpYWxGb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NyZWRlbmNpYWwtZm9ybS9jcmVkZW5jaWFsLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBWaXNpdGFudGVGb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4uL3Zpc2l0b3ItZWRpdC1mb3JtL3Zpc2l0YW50ZS1mb3JtL3Zpc2l0b3ItZWRpdC1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgZGlhbG9nQ29uZmlnIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxzL3V0aWxzXCI7XG5pbXBvcnQgeyAgSW50ZWdyYXRpb25FdmVudHNDYWxsYmFjayB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMveW1zLXJvdXRpbmVzXCI7XG5pbXBvcnQgeyBWaXNpdG9yRHRvIH0gZnJvbSAnLi4vLi4vLi4vZW50aXRpZXMvdmlzaXRvci1kdG8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXNpdGFudGUtY29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Zpc2l0b3ItZWRpdC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdmlzaXRvci1lZGl0LWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzaXRhbnRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgcHJpdmF0ZSBtb3RvcmlzdGE6IE1vdG9yaXN0YTtcbiAgQElucHV0KCkgcHJpdmF0ZSB2aXNpdG9yczogVmlzaXRvckNyZWRlbnRpYWxzRHRvW10gPSBbXTtcbiAgQE91dHB1dCgpIHZpc2l0b3JzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxWaXNpdG9yQ3JlZGVudGlhbHNEdG9bXT4oKTtcbiAgQE91dHB1dCgpIGhhc0NoYW5nZSAgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHZpc2l0YW50ZUdyaWREYXRhOiBWaXNpdG9yRHRvW107XG4gIHB1YmxpYyB2aXNpdGFudGVHcmlkQ29sdW1uczogYW55W107XG4gIHB1YmxpYyB2aXNpdGFudGVUb3RhbFJlY29yZHM6IG51bWJlcjtcbiAgcHVibGljIHZpc2l0YW50ZUdyaWRMb2FkaW5nOiBib29sZWFuO1xuICBwdWJsaWMgdmlzaXRvckZvdW5kOiBib29sZWFuO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ludGVncmF0aW9uQ2FsbGJhY2s6IEludGVncmF0aW9uRXZlbnRzQ2FsbGJhY2s7XG4gIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgcmVhZG9ubHkgaW50ZWdyYXRpb25DYWxsYmFjazogSW50ZWdyYXRpb25FdmVudHNDYWxsYmFja1xuICApIHtcbiAgICB0aGlzLl9pbnRlZ3JhdGlvbkNhbGxiYWNrID0gaW50ZWdyYXRpb25DYWxsYmFjaztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29uc3Ryb2lDYW1wb3NUYWJlbGFWaXN0YW50ZSgpO1xuICAgIHRoaXMudmlzaXRhbnRlVG90YWxSZWNvcmRzID0gMDtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2l0YW50ZUdyaWRMb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5hZGljaW9uYVZpc2l0YW50ZXNHcmlkKCk7XG4gICAgdGhpcy5faW50ZWdyYXRpb25DYWxsYmFja1xuICAgICAgLm9uQWdlbmRhbWVudG9Nb3RvcmlzdGFDaGFuZ2VkKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgICBtZXJnZU1hcCgobW90b3Jpc3RhKSA9PiB7XG4gICAgICAgICAgdGhpcy5hdHVhbGl6YU1vdG9yaXN0YShtb3RvcmlzdGEpO1xuICAgICAgICAgIHJldHVybiBlbXB0eSgpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHVhbGl6YU1vdG9yaXN0YShtb3Q6IE1vdG9yaXN0YSkge1xuICAgIGNvbnN0IG1vdG9yaXN0YVZpc2l0YW50ZSA9IHRoaXMudmlzaXRhbnRlR3JpZERhdGEuZmluZChcbiAgICAgIChpdGVtKSA9PiBpdGVtLmRyaXZlclxuICAgICk7XG5cbiAgICBpZiAobW90b3Jpc3RhVmlzaXRhbnRlICYmIG1vdG9yaXN0YVZpc2l0YW50ZS5kb2N1bWVudFR5cGUgPT09IHRoaXMuZ2V0RG9jdW1lbnRUeXBlKCkgJiYgIG1vdG9yaXN0YVZpc2l0YW50ZS5kb2N1bWVudCA9PT0gbW90LmNwZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZpc2l0YW50ZUdyaWREYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudmlzaXRhbnRlR3JpZERhdGFbMF0gPSB7XG4gICAgICAgIG5hbWU6IG1vdC5ub21lLFxuICAgICAgICBkb2N1bWVudDogbW90LmNwZixcbiAgICAgICAgY29udGFjdDogdGhpcy5nZXRDb250YXRvTW90b3Jpc3RhKG1vdCksXG4gICAgICAgIHZpc2l0b3JTaXR1YXRpb246IFZpc2l0b3JTaXR1YXRpb24uQ0hFQ0tfSU5fUEVORElORyxcbiAgICAgICAgZG9jdW1lbnRUeXBlOiB0aGlzLmdldERvY3VtZW50VHlwZSgpLFxuICAgICAgICBkcml2ZXI6IHRydWVcbiAgICAgIH07ICAgICAgXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YS5wdXNoKHtcbiAgICAgICAgbmFtZTogbW90Lm5vbWUsXG4gICAgICAgIGRvY3VtZW50OiBtb3QuY3BmLFxuICAgICAgICBjb250YWN0OiB0aGlzLmdldENvbnRhdG9Nb3RvcmlzdGEobW90KSxcbiAgICAgICAgdmlzaXRvclNpdHVhdGlvbjogVmlzaXRvclNpdHVhdGlvbi5DSEVDS19JTl9QRU5ESU5HLFxuICAgICAgICBkb2N1bWVudFR5cGU6IHRoaXMuZ2V0RG9jdW1lbnRUeXBlKCksXG4gICAgICAgIGRyaXZlcjogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICAgIFxuICB9XG5cbiAgcHJpdmF0ZSBhZGljaW9uYVZpc2l0YW50ZXNHcmlkKCkge1xuICAgIGlmICh0aGlzLnZpc2l0b3JzLmxlbmd0aCkge1xuICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YSA9IFtdO1xuICAgICAgdGhpcy5hZGljaW9uYU1vdG9yaXN0YU5vVmlzaXRhbnRlR3JpZERhdGEoKTtcblxuICAgICAgdGhpcy52aXNpdG9ycy5mb3JFYWNoKCh2aXNpdG9yOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubW90b3Jpc3RhLmNwZiAhPT0gdmlzaXRvci52aXNpdG9yLmRvY3VtZW50KSB7XG4gICAgICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YS5wdXNoKHtcbiAgICAgICAgICAgIGlkOiB2aXNpdG9yLnZpc2l0b3IuaWQsXG4gICAgICAgICAgICBuYW1lOiB2aXNpdG9yLnZpc2l0b3IubmFtZSxcbiAgICAgICAgICAgIGRvY3VtZW50OiB2aXNpdG9yLnZpc2l0b3IuZG9jdW1lbnQsXG4gICAgICAgICAgICBjb250YWN0OiB2aXNpdG9yLnZpc2l0b3IuY29udGFjdCxcbiAgICAgICAgICAgIHZpc2l0b3JTaXR1YXRpb246IHRoaXMuZ2V0VmlzaXRvclNpdHVhdGlvbihcbiAgICAgICAgICAgICAgdmlzaXRvci52aXNpdG9yLnZpc2l0b3JTaXR1YXRpb25cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBkb2N1bWVudFR5cGU6IHRoaXMuZ2V0RG9jdW1lbnRUeXBlKCksXG4gICAgICAgICAgICBkcml2ZXI6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmlzaXRhbnRlVG90YWxSZWNvcmRzID0gdGhpcy52aXNpdG9ycy5sZW5ndGg7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YSA9IFtdO1xuICAgICAgY29uc3Qgbm92b192aXNpdGFudGUgPSBuZXcgVmlzaXRvckNyZWRlbnRpYWxzRHRvKClcbiAgICAgIG5vdm9fdmlzaXRhbnRlLnZpc2l0b3IgPSB7XG4gICAgICAgIG5hbWU6IHRoaXMubW90b3Jpc3RhLm5vbWUsXG4gICAgICAgIGRvY3VtZW50OiB0aGlzLm1vdG9yaXN0YS5jcGYsXG4gICAgICAgIGNvbnRhY3Q6IHRoaXMuZ2V0Q29udGF0b01vdG9yaXN0YSh0aGlzLm1vdG9yaXN0YSksXG4gICAgICAgIGRvY3VtZW50VHlwZTogdGhpcy5nZXREb2N1bWVudFR5cGUoKSxcbiAgICAgICAgdmlzaXRvclNpdHVhdGlvbjogVmlzaXRvclNpdHVhdGlvbi5DSEVDS19JTl9QRU5ESU5HLFxuICAgICAgICBkcml2ZXI6IHRydWVcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmlzaXRhbnRlQnVzY2FuZG8gPSB0aGlzLnZpc2l0YW50ZUdyaWREYXRhLmZpbmQoXG4gICAgICAgICh2aXNpdGFudGVOYUxpc3RhKSA9PiBub3ZvX3Zpc2l0YW50ZS52aXNpdG9yLmRvY3VtZW50ID09PSB2aXNpdGFudGVOYUxpc3RhLmRvY3VtZW50XG4gICAgICAgICk7XG4gICAgICAgIGlmICh2aXNpdGFudGVCdXNjYW5kbyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YS5wdXNoKG5vdm9fdmlzaXRhbnRlLnZpc2l0b3IpOyAgICAgICAgXG4gICAgICAgICAgdGhpcy52aXNpdG9ycy5wdXNoKG5vdm9fdmlzaXRhbnRlKTtcbiAgICAgICAgdGhpcy52aXNpdGFudGVUb3RhbFJlY29yZHMgPSAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudmlzaXRhbnRlR3JpZExvYWRpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0NyZWRlbnRpYWxDYXJkc0VtcHR5KHZpc2l0b3I6IFZpc2l0b3IpIHtcbiAgICBjb25zdCB2aXNpdGFudGVzRW5jb250cmFkb3MgPSB0aGlzLnZpc2l0b3JzLmZpbmQoXG4gICAgICAodmlzaXRvcldpdGhDcmVkZW50aWFscykgPT5cbiAgICAgICAgdmlzaXRvcldpdGhDcmVkZW50aWFscy52aXNpdG9yLmRvY3VtZW50ID09PSB2aXNpdG9yLmRvY3VtZW50XG4gICAgKTtcblxuICAgIGlmICh2aXNpdGFudGVzRW5jb250cmFkb3MgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB2aXNpdGFudGVzRW5jb250cmFkb3MuY3JlZGVudGlhbENhcmRzLmZpbHRlcihcbiAgICAgIChjcmVkZW50aWFsQ2FyZDogQ3JlZGVudGlhbENhcmQpID0+XG4gICAgICAgIE9iamVjdC5rZXlzKGNyZWRlbnRpYWxDYXJkKS5sZW5ndGggIT09IDBcbiAgICApLmxlbmd0aCA+IDBcbiAgICAgID8gdHJ1ZVxuICAgICAgOiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgYWRpY2lvbmFNb3RvcmlzdGFOb1Zpc2l0YW50ZUdyaWREYXRhKCkge1xuICAgIGNvbnN0IG1vdG9yaXN0YVZpc2l0YW50ZSA9IHRoaXMudmlzaXRvcnMuZmluZChcbiAgICAgICh2aXNpdG9yKSA9PiB0aGlzLm1vdG9yaXN0YS5jcGYgPT09IHZpc2l0b3IudmlzaXRvci5kb2N1bWVudFxuICAgICk7XG5cbiAgICBpZiAobW90b3Jpc3RhVmlzaXRhbnRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudmlzaXRhbnRlR3JpZERhdGEucHVzaCh7XG4gICAgICAgIG5hbWU6IHRoaXMubW90b3Jpc3RhLm5vbWUsXG4gICAgICAgIGRvY3VtZW50OiB0aGlzLm1vdG9yaXN0YS5jcGYsXG4gICAgICAgIGNvbnRhY3Q6IHRoaXMuZ2V0Q29udGF0b01vdG9yaXN0YSh0aGlzLm1vdG9yaXN0YSksXG4gICAgICAgIHZpc2l0b3JTaXR1YXRpb246IFZpc2l0b3JTaXR1YXRpb24uQ0hFQ0tfSU5fUEVORElORyxcbiAgICAgICAgZG9jdW1lbnRUeXBlOiB0aGlzLmdldERvY3VtZW50VHlwZSgpLFxuICAgICAgICBkcml2ZXI6IHRydWUsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YS5wdXNoKHtcbiAgICAgICAgaWQ6IG1vdG9yaXN0YVZpc2l0YW50ZS52aXNpdG9yLmlkLFxuICAgICAgICBuYW1lOiBtb3RvcmlzdGFWaXNpdGFudGUudmlzaXRvci5uYW1lLFxuICAgICAgICBkb2N1bWVudDogbW90b3Jpc3RhVmlzaXRhbnRlLnZpc2l0b3IuZG9jdW1lbnQsXG4gICAgICAgIGNvbnRhY3Q6IHRoaXMuZ2V0Q29udGF0b01vdG9yaXN0YSh0aGlzLm1vdG9yaXN0YSksXG4gICAgICAgIHZpc2l0b3JTaXR1YXRpb246IHRoaXMuZ2V0VmlzaXRvclNpdHVhdGlvbihcbiAgICAgICAgICBtb3RvcmlzdGFWaXNpdGFudGUudmlzaXRvci52aXNpdG9yU2l0dWF0aW9uXG4gICAgICAgICksXG4gICAgICAgIGRvY3VtZW50VHlwZTogdGhpcy5nZXREb2N1bWVudFR5cGUoKSxcbiAgICAgICAgZHJpdmVyOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNyaWFyT3VBdHVhbGl6YXJWaXNpdGFudGUodmlzaXRvcjogVmlzaXRvcikge1xuICAgIHRoaXMuZGlhbG9nU2VydmljZVxuICAgICAgLm9wZW4oVmlzaXRhbnRlRm9ybUNvbXBvbmVudCwge1xuICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgXCJ5bXMucGF0aW8ubW90b3Jpc3RhX2FkaWNpb25hcl92aXNpdGFudGVcIlxuICAgICAgICApLFxuICAgICAgICAuLi5kaWFsb2dDb25maWcsXG4gICAgICAgIC4uLnRoaXMuY29uc3Ryb2lWaXNpdGFudGUodmlzaXRvciksXG4gICAgICB9KVxuICAgICAgLm9uQ2xvc2UucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgIGZpbHRlcigodmFsdWUpID0+ICEhdmFsdWUpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh2aXNpdGFudGUpID0+IHRoaXMuYWRpY2lvbmFWaXNpdGFudGVQYXJhU2FsdmFyKHZpc2l0YW50ZSkpO1xuICB9XG5cbiAgcHVibGljIGFkaWNpb25hVmlzaXRhbnRlUGFyYVNhbHZhcih2aXNpdGFudGU6IFZpc2l0b3IpIHtcbiAgICB0aGlzLnZpc2l0YW50ZUdyaWREYXRhLmZvckVhY2godmlzaXRvciA9PiB7XG4gICAgICBpZih2aXNpdG9yLmRvY3VtZW50ID09PSB2aXNpdGFudGUuZG9jdW1lbnQpIHtcbiAgICAgICAgdmlzaXRvci5jb250YWN0ID0gdmlzaXRhbnRlLmNvbnRhY3Q7XG4gICAgICAgIHZpc2l0b3IubmFtZSA9IHZpc2l0YW50ZS5uYW1lO1xuICAgICAgICB0aGlzLnZpc2l0b3JGb3VuZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZih0aGlzLnZpc2l0b3JGb3VuZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZpc2l0YW50ZUdyaWRMb2FkaW5nID0gdHJ1ZTtcblxuICAgIHZpc2l0YW50ZS5kb2N1bWVudFR5cGUgPSB0aGlzLmdldERvY3VtZW50VHlwZSgpO1xuXG4gICAgaWYgKHZpc2l0YW50ZS52aXNpdG9yU2l0dWF0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHZpc2l0YW50ZS52aXNpdG9yU2l0dWF0aW9uID0gVmlzaXRvclNpdHVhdGlvbi5DSEVDS19JTl9QRU5ESU5HO1xuICAgIH1cblxuICAgIHRoaXMuYWRkVmlzaXRhbnRlTmFUYWJlbGEodmlzaXRhbnRlKTtcblxuICAgIHRoaXMudmlzaXRhbnRlVG90YWxSZWNvcmRzKys7XG4gICAgdGhpcy52aXNpdGFudGVHcmlkTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm92b192aXNpdGFudGUgPSBuZXcgVmlzaXRvckNyZWRlbnRpYWxzRHRvKClcbiAgICBub3ZvX3Zpc2l0YW50ZS52aXNpdG9yID0ge1xuICAgICAgbmFtZSA6IHZpc2l0YW50ZS5uYW1lLFxuICAgICAgZG9jdW1lbnQgOiB2aXNpdGFudGUuZG9jdW1lbnQsXG4gICAgICBjb250YWN0OiB2aXNpdGFudGUuY29udGFjdCxcbiAgICAgIGRvY3VtZW50VHlwZSA6IHZpc2l0YW50ZS5kb2N1bWVudFR5cGUsXG4gICAgICB2aXNpdG9yU2l0dWF0aW9uIDogdmlzaXRhbnRlLnZpc2l0b3JTaXR1YXRpb24sXG4gICAgICBkcml2ZXI6IGZhbHNlXG4gICAgfVxuXG4gICAgdGhpcy52aXNpdG9ycy5wdXNoKG5vdm9fdmlzaXRhbnRlKVxuICAgIHRoaXMudmlzaXRvcnNDaGFuZ2UuZW1pdCh0aGlzLnZpc2l0b3JzKVxuICAgIHRoaXMuaGFzQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgbW9kZWwodmlzaXRhbnRlOiBWaXNpdG9yKSB7XG4gICAgY29uc3QgaXNEcml2ZXIgPSB2aXNpdGFudGUuZG9jdW1lbnQgPT09IHRoaXMubW90b3Jpc3RhLmNwZjtcblxuICAgIGNvbnN0IGZpbmRWaXNpdG9yID0gdGhpcy52aXNpdG9ycy5maW5kKFxuICAgICAgKHZpc2l0b3JXaXRoQ3JlZGVudGlhbHMpID0+XG4gICAgICAgIHZpc2l0b3JXaXRoQ3JlZGVudGlhbHMudmlzaXRvci5kb2N1bWVudCA9PT0gdmlzaXRhbnRlLmRvY3VtZW50XG4gICAgKTtcblxuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5bXMucGF0aW8ubW90b3Jpc3RhX2VkaXRhcl92aXNpdGFudGUnKSxcbiAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5lZGl0YXJWaXNpdGFudGUodmlzaXRhbnRlKSxcbiAgICAgICAgdmlzaWJsZSA6ICFpc0RyaXZlclxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3ltcy5wYXRpby5kZWxldGUnKSxcbiAgICAgICAgY29tbWFuZDogKCkgPT4gdGhpcy5kZWxldGFyVmlzaXRhbnRlKHZpc2l0YW50ZSksXG4gICAgICAgIHZpc2libGUgOiAhaXNEcml2ZXJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5bXMucGF0aW8ubW90b3Jpc3RhX3Zpc2l0YW50ZV9lbnRyZWdhcl9jcmVkZW5jaWFsJyksXG4gICAgICAgIGNvbW1hbmQ6ICgpID0+IHRoaXMuZW50cmVnYXJDcmVkZW5jaWFsKHZpc2l0YW50ZSksXG4gICAgICAgIHZpc2libGUgOiBpc0RyaXZlciB8fCAhaXNEcml2ZXJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5bXMucGF0aW8ucmVtb3Zlcl9jcmVkZW5jaWFpcycpLFxuICAgICAgICBjb21tYW5kOiAoKSA9PiB0aGlzLmRlbGV0YXJDcmVkZW5jaWFpcyhmaW5kVmlzaXRvciksXG4gICAgICAgIHZpc2libGUgOiBmaW5kVmlzaXRvciAhPSBudWxsICYmIGZpbmRWaXNpdG9yLmNyZWRlbnRpYWxDYXJkcyAhPSBudWxsICYmIGZpbmRWaXNpdG9yLmNyZWRlbnRpYWxDYXJkcy5sZW5ndGggPiAwXG4gICAgICB9LFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIGFkZFZpc2l0YW50ZU5hVGFiZWxhKHZpc2l0YW50ZTogYW55KSB7XG4gICAgaWYgKHZpc2l0YW50ZS5pZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMudmlzaXRhbnRlR3JpZERhdGEgPSB0aGlzLnZpc2l0YW50ZUdyaWREYXRhLm1hcCgodmlzaXRhbnRlR3JpZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHZpc2l0YW50ZUdyaWQuaWQgPT09IHZpc2l0YW50ZS5pZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2aXNpdGFudGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmlzaXRhbnRlR3JpZDtcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YS5wdXNoKHZpc2l0YW50ZSk7XG4gICAgfVxufVxuXG4gIHB1YmxpYyBlbnRyZWdhckNyZWRlbmNpYWwodmlzaXRhbnRlOiBWaXNpdG9yKSB7XG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlXG4gICAgICAub3BlbihDcmVkZW5jaWFsRm9ybUNvbXBvbmVudCwge1xuICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgXCJ5bXMucGF0aW8ubW90b3Jpc3RhX3Zpc2l0YW50ZV9jcmVkZW5jaWFsXCJcbiAgICAgICAgKSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHZpc2l0YW50ZTogdmlzaXRhbnRlLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC5vbkNsb3NlLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICBmaWx0ZXIoKHZhbHVlKSA9PiAhIXZhbHVlKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmlzaXRvckNyZWRlbnRpYWxDYXJkOiBhbnkpID0+IFxuICAgICAgdGhpcy5hZGljaW9uYUNyZWRlbmNpYWxQYXJhRW50cmVnYXIodmlzaXRvckNyZWRlbnRpYWxDYXJkKSk7XG4gIH1cblxuICBwcml2YXRlIGFkaWNpb25hQ3JlZGVuY2lhbFBhcmFFbnRyZWdhcih2aXNpdG9yQ3JlZGVudGlhbENhcmQ6IGFueSkge1xuICAgIGNvbnN0IHZpc2l0b3JXaXRoQ3JlZGVuY2lhbCA9IHRoaXMudmlzaXRvcnMuZmluZChcbiAgICAgICh2aXNpdG9yKSA9PiB2aXNpdG9yLnZpc2l0b3IuZG9jdW1lbnQgPT09IHZpc2l0b3JDcmVkZW50aWFsQ2FyZC52aXNpdG9yLmRvY3VtZW50XG4gICAgKTtcblxuICAgIGlmICh2aXNpdG9yV2l0aENyZWRlbmNpYWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy52aXNpdG9ycy5wdXNoKHtcbiAgICAgICAgdmlzaXRvcjogdmlzaXRvckNyZWRlbnRpYWxDYXJkLnZpc2l0b3IsXG4gICAgICAgIGNyZWRlbnRpYWxDYXJkczogW3RoaXMuY3JlYXRlQ3JlZGVudGlhbENhcmQodmlzaXRvckNyZWRlbnRpYWxDYXJkKV0sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmlzaXRvcldpdGhDcmVkZW5jaWFsLmNyZWRlbnRpYWxDYXJkcy5wdXNoKHRoaXMuY3JlYXRlQ3JlZGVudGlhbENhcmQodmlzaXRvckNyZWRlbnRpYWxDYXJkKSk7XG4gICAgfVxuICAgIHRoaXMuaGFzQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgZWRpdGFyVmlzaXRhbnRlKHZpc2l0YW50ZTogVmlzaXRvcikge1xuICAgIHRoaXMuY3JpYXJPdUF0dWFsaXphclZpc2l0YW50ZSh2aXNpdGFudGUpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0YXJWaXNpdGFudGUodmlzaXRhbnRlOiBWaXNpdG9yKSB7XG4gICAgdGhpcy52aXNpdGFudGVHcmlkRGF0YS5mb3JFYWNoKCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgIGlmICh2YWx1ZS5kb2N1bWVudCA9PT0gdmlzaXRhbnRlLmRvY3VtZW50KSB7XG4gICAgICAgIHRoaXMudmlzaXRhbnRlR3JpZERhdGEuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgICAgICBjb25zdCByZW1vdmVWaXNpdG9yID0gdGhpcy52aXNpdG9ycy5maW5kSW5kZXgoKHZpc2l0b3IpID0+IHZpc2l0b3IudmlzaXRvci5kb2N1bWVudCA9PT0gdmFsdWUuZG9jdW1lbnQpO1xuICAgICAgICBpZihyZW1vdmVWaXNpdG9yICE9PSAtMSkge1xuICAgICAgICAgIHRoaXMudmlzaXRvcnMuc3BsaWNlKHJlbW92ZVZpc2l0b3IsIDEpO1xuICAgICAgICAgIHRoaXMuaGFzQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGFyQ3JlZGVuY2lhaXModmlpc2l0b3JDcmVkZW50aWFsOiBWaXNpdG9yQ3JlZGVudGlhbHNEdG8pIHtcbiAgICB2aWlzaXRvckNyZWRlbnRpYWwuY3JlZGVudGlhbENhcmRzLnNwbGljZSgwLCB2aWlzaXRvckNyZWRlbnRpYWwuY3JlZGVudGlhbENhcmRzLmxlbmd0aCk7XG4gICAgdGhpcy5oYXNDaGFuZ2UuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udGF0b01vdG9yaXN0YShtb3RvcmlzdGE6IE1vdG9yaXN0YSkge1xuICAgIHJldHVybiBtb3RvcmlzdGEudGVsZWZvbmUgPT09IHVuZGVmaW5lZCA/IFwiMFwiIDogbW90b3Jpc3RhLnRlbGVmb25lO1xuICB9XG5cbiAgcHVibGljIGdldENyZWRlbnRpYWxDYXJkcyh2aXNpdG9yOiBWaXNpdG9yKSB7XG4gICAgaWYgKHRoaXMudmlzaXRvcnMubGVuZ3RoIDw9IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy52aXNpdG9yc1xuICAgICAgLmZpbmQoXG4gICAgICAgICh2aXNpdG9yV2l0aENyZWRlbnRpYWxzKSA9PlxuICAgICAgICAgIHZpc2l0b3JXaXRoQ3JlZGVudGlhbHMudmlzaXRvci5kb2N1bWVudCA9PT0gdmlzaXRvci5kb2N1bWVudFxuICAgICAgKVxuICAgICAgLmNyZWRlbnRpYWxDYXJkcy5maWx0ZXIoXG4gICAgICAgIChjcmVkZW50aWFsQ2FyZCkgPT4gT2JqZWN0LmtleXMoY3JlZGVudGlhbENhcmQpLmxlbmd0aCAhPT0gMFxuICAgICAgKVxuICAgICAgLm1hcCgoY3JlZGVudGlhbENhcmQ6IENyZWRlbnRpYWxDYXJkKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY2FyZFRlY2hub2xvZ3k6IHRoaXMuZ2V0VGVjbm9sb2dpYUNyYWNoYVRyYWR1emlkYShcbiAgICAgICAgICAgIGNyZWRlbnRpYWxDYXJkLmNhcmRUZWNobm9sb2d5XG4gICAgICAgICAgKSxcbiAgICAgICAgICBjYXJkTnVtYmVyOiBjcmVkZW50aWFsQ2FyZC5jYXJkTnVtYmVyLFxuICAgICAgICAgIGVuZERhdGU6IGNyZWRlbnRpYWxDYXJkLmVuZERhdGUsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3Ryb2lWaXNpdGFudGUodmlzaXRhbnRlOiBWaXNpdG9yKSB7XG4gICAgbGV0IHZpc2l0YW50ZURhdGEgPSB7IGRhdGE6IHt9IH07XG4gICAgaWYgKHZpc2l0YW50ZSAhPT0gdW5kZWZpbmVkICYmIHZpc2l0YW50ZSAhPT0gbnVsbCkge1xuICAgICAgdmlzaXRhbnRlRGF0YSA9IHtcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGlkOiB2aXNpdGFudGUuaWQsXG4gICAgICAgICAgbmFtZTogdmlzaXRhbnRlLm5hbWUsXG4gICAgICAgICAgZG9jdW1lbnQ6IHZpc2l0YW50ZS5kb2N1bWVudCxcbiAgICAgICAgICBjb250YWN0OiB2aXNpdGFudGUuY29udGFjdCxcbiAgICAgICAgICB2aXNpdG9yU2l0dWF0aW9uOiB0aGlzLmdldFZpc2l0b3JTaXR1YXRpb24oXG4gICAgICAgICAgICB2aXNpdGFudGUudmlzaXRvclNpdHVhdGlvblxuICAgICAgICAgICksXG4gICAgICAgICAgZG9jdW1lbnRUeXBlOiB0aGlzLmdldERvY3VtZW50VHlwZSgpLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHZpc2l0YW50ZURhdGE7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNyZWRlbnRpYWxDYXJkKHZpc2l0b3JDcmVkZW50aWFsQ2FyZDogQ3JlZGVudGlhbENhcmQpOiBDcmVkZW50aWFsQ2FyZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZpc2l0b3I6IHZpc2l0b3JDcmVkZW50aWFsQ2FyZC5pZCxcbiAgICAgIGNhcmRUZWNobm9sb2d5OiB2aXNpdG9yQ3JlZGVudGlhbENhcmQuY2FyZFRlY2hub2xvZ3ksXG4gICAgICBjYXJkTnVtYmVyOiB2aXNpdG9yQ3JlZGVudGlhbENhcmQuY2FyZE51bWJlcixcbiAgICAgIGVuZERhdGU6IHZpc2l0b3JDcmVkZW50aWFsQ2FyZC5lbmREYXRlLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFRlY25vbG9naWFDcmFjaGFUcmFkdXppZGEoY2FyZFRlY2hub2xvZ3k6IENhcmRUZWNobm9sb2d5KTogc3RyaW5nIHtcbiAgICBpZiAoY2FyZFRlY2hub2xvZ3kgPT09IENhcmRUZWNobm9sb2d5LkJBUkNPREVfQ0FSRCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgIFwieW1zLnBhdGlvLmNhcnRhb19jcmVkZW5jaWFsX2NvZGlnb19iYXJyYXNcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoY2FyZFRlY2hub2xvZ3kgPT09IENhcmRUZWNobm9sb2d5LlJGSURfQ0FSRCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMucGF0aW8uY2FydGFvX2NyZWRlbmNpYWxfcmZpZFwiKTtcbiAgICB9XG5cbiAgICBpZiAoY2FyZFRlY2hub2xvZ3kgPT09IENhcmRUZWNobm9sb2d5LlNNQVJUX0NBUkQpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwieW1zLnBhdGlvLmNhcnRhb19jcmVkZW5jaWFsX3NtYXJ0XCIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmlzaXRvclNpdHVhdGlvbih2aXNpdG9yU2l0dWF0aW9uOiBWaXNpdG9yU2l0dWF0aW9uKSB7XG4gICAgcmV0dXJuIHZpc2l0b3JTaXR1YXRpb24gPT09IHVuZGVmaW5lZFxuICAgICAgPyBWaXNpdG9yU2l0dWF0aW9uLkNIRUNLX0lOX1BFTkRJTkdcbiAgICAgIDogdmlzaXRvclNpdHVhdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3Ryb2lDYW1wb3NUYWJlbGFWaXN0YW50ZSgpIHtcbiAgICB0aGlzLnZpc2l0YW50ZUdyaWRDb2x1bW5zID0gW1xuICAgICAge1xuICAgICAgICBmaWVsZDogXCJuYW1lXCIsXG4gICAgICAgIGhlYWRlcjogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcInltcy5wYXRpby5tb3RvcmlzdGFfdmlzaXRhbnRlX25vbWVcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBmaWVsZDogXCJkb2N1bWVudFwiLFxuICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXG4gICAgICAgICAgXCJ5bXMucGF0aW8ubW90b3Jpc3RhX3Zpc2l0YW50ZV9kb2N1bWVudG9cIlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmllbGQ6IFwiY29udGFjdFwiLFxuICAgICAgICBoZWFkZXI6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJ5bXMucGF0aW8ubW90b3Jpc3RhX3Zpc2l0YW50ZV9jb250YXRvXCIpLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREb2N1bWVudFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJjcGZcIjtcbiAgfVxufSJdfQ==
@@ -0,0 +1,82 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { Component, Input } from "@angular/core";
3
+ import { VisitorListService } from "./visitor-list.service";
4
+ import { Subject } from "rxjs";
5
+ import { takeUntil } from "rxjs/operators";
6
+ import { ControleCircuito, ControleOperacao } from "@seniorsistemas/yms-routines";
7
+ var VisitorListDescritor = /** @class */ (function () {
8
+ function VisitorListDescritor() {
9
+ }
10
+ VisitorListDescritor = tslib_1.__decorate([
11
+ ControleCircuito({
12
+ header: 'Ronda',
13
+ name: 'yms.integracao.sam'
14
+ }),
15
+ ControleOperacao({
16
+ header: 'Ronda',
17
+ name: 'yms.integracao.sam'
18
+ })
19
+ ], VisitorListDescritor);
20
+ return VisitorListDescritor;
21
+ }());
22
+ var VisitorListComponent = /** @class */ (function (_super) {
23
+ tslib_1.__extends(VisitorListComponent, _super);
24
+ function VisitorListComponent(service) {
25
+ var _this = _super.call(this) || this;
26
+ _this.service = service;
27
+ _this.ngUnsubscribe = new Subject();
28
+ _this.visitorService = service;
29
+ return _this;
30
+ }
31
+ VisitorListComponent.prototype.ngOnInit = function () {
32
+ // nada por enquanto
33
+ };
34
+ VisitorListComponent.prototype.ngAfterContentInit = function () {
35
+ var _this = this;
36
+ this.visitorService
37
+ .findVisitors(this.agenda.id)
38
+ .pipe(takeUntil(this.ngUnsubscribe))
39
+ .subscribe(function (response) {
40
+ if (response.visitors.length) {
41
+ _this.visitors = response.visitors;
42
+ }
43
+ });
44
+ };
45
+ VisitorListComponent.prototype.credentialResume = function (credentials) {
46
+ var e_1, _a;
47
+ var label = "";
48
+ try {
49
+ for (var credentials_1 = tslib_1.__values(credentials), credentials_1_1 = credentials_1.next(); !credentials_1_1.done; credentials_1_1 = credentials_1.next()) {
50
+ var item = credentials_1_1.value;
51
+ if (item.cardNumber) {
52
+ label = label + item.cardNumber;
53
+ }
54
+ else {
55
+ label = label + " - ";
56
+ }
57
+ }
58
+ }
59
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
60
+ finally {
61
+ try {
62
+ if (credentials_1_1 && !credentials_1_1.done && (_a = credentials_1.return)) _a.call(credentials_1);
63
+ }
64
+ finally { if (e_1) throw e_1.error; }
65
+ }
66
+ return label;
67
+ };
68
+ tslib_1.__decorate([
69
+ Input(),
70
+ tslib_1.__metadata("design:type", Object)
71
+ ], VisitorListComponent.prototype, "agenda", void 0);
72
+ VisitorListComponent = tslib_1.__decorate([
73
+ Component({
74
+ selector: "visitor-list-component",
75
+ template: "\n<div> \n <p-table [value]=\"visitors\">\n <ng-template pTemplate=\"header\">\n <tr>\n <th id=\"visitor_name\">{{'yms.patio.motorista_visitante_nome' | translate}}</th>\n <th id=\"visitor_docuemnt\">{{'yms.patio.motorista_visitante_documento' | translate}}</th> \n <th id=\"visitor_credential\">{{'yms.patio.motorista_visitante_credenciais' | translate}}</th>\n <th id=\"visitor_contact\">{{'yms.patio.motorista_visitante_contato' | translate}}</th>\n </tr>\n </ng-template>\n <ng-template let-rowData pTemplate=\"body\">\n <tr>\n <td id=\"\">{{rowData.visitor.name}}</td>\n <td id=\"\">{{rowData.visitor.document}}</td>\n <td id=\"\">{{credentialResume(rowData.credentialCards)}} </td>\n <td id=\"\">{{rowData.visitor.contact}}</td>\n </tr>\n </ng-template>\n </p-table>\n</div>"
76
+ }),
77
+ tslib_1.__metadata("design:paramtypes", [VisitorListService])
78
+ ], VisitorListComponent);
79
+ return VisitorListComponent;
80
+ }(VisitorListDescritor));
81
+ export { VisitorListComponent };
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXRvci1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvc2FtLXNlbmlvci9jb21wb25lbnRzL3Zpc2l0b3ItbGlzdC92aXNpdG9yLWxpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVlsRjtJQUFBO0lBQTRCLENBQUM7SUFBdkIsb0JBQW9CO1FBVHpCLGdCQUFnQixDQUFDO1lBQ2QsTUFBTSxFQUFFLE9BQU87WUFDZixJQUFJLEVBQUUsb0JBQW9CO1NBQzdCLENBQUM7UUFDRCxnQkFBZ0IsQ0FBQztZQUNkLE1BQU0sRUFBRSxPQUFPO1lBQ2YsSUFBSSxFQUFFLG9CQUFvQjtTQUM3QixDQUFDO09BRUksb0JBQW9CLENBQUc7SUFBRCwyQkFBQztDQUFBLEFBQTdCLElBQTZCO0FBTTdCO0lBQTBDLGdEQUFvQjtJQVMxRCw4QkFBNkIsT0FBMkI7UUFBeEQsWUFDSSxpQkFBTyxTQUVWO1FBSDRCLGFBQU8sR0FBUCxPQUFPLENBQW9CO1FBRnZDLG1CQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUkzQyxLQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQzs7SUFDbEMsQ0FBQztJQUVELHVDQUFRLEdBQVI7UUFDSSxvQkFBb0I7SUFDeEIsQ0FBQztJQUVELGlEQUFrQixHQUFsQjtRQUFBLGlCQVNDO1FBUkcsSUFBSSxDQUFDLGNBQWM7YUFDZCxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7YUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkMsU0FBUyxDQUFDLFVBQUMsUUFBYTtZQUNyQixJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO2dCQUMxQixLQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUM7YUFDckM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCwrQ0FBZ0IsR0FBaEIsVUFBaUIsV0FBZ0I7O1FBQzdCLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQzs7WUFDZixLQUFtQixJQUFBLGdCQUFBLGlCQUFBLFdBQVcsQ0FBQSx3Q0FBQSxpRUFBRTtnQkFBM0IsSUFBTSxJQUFJLHdCQUFBO2dCQUNYLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDakIsS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO2lCQUNuQztxQkFBTTtvQkFDSCxLQUFLLEdBQUcsS0FBSyxHQUFHLEtBQUssQ0FBQztpQkFDekI7YUFDSjs7Ozs7Ozs7O1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQXRDUTtRQUFSLEtBQUssRUFBRTs7d0RBQWE7SUFEWixvQkFBb0I7UUFKaEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxnL0JBQTRDO1NBQy9DLENBQUM7aURBVXdDLGtCQUFrQjtPQVQvQyxvQkFBb0IsQ0F3Q2hDO0lBQUQsMkJBQUM7Q0FBQSxBQXhDRCxDQUEwQyxvQkFBb0IsR0F3QzdEO1NBeENZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBWaXNpdG9yTGlzdFNlcnZpY2UgfSBmcm9tIFwiLi92aXNpdG9yLWxpc3Quc2VydmljZVwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IENvbnRyb2xlQ2lyY3VpdG8sIENvbnRyb2xlT3BlcmFjYW8gfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL3ltcy1yb3V0aW5lc1wiO1xuXG5cbkBDb250cm9sZUNpcmN1aXRvKHtcbiAgICBoZWFkZXI6ICdSb25kYScsXG4gICAgbmFtZTogJ3ltcy5pbnRlZ3JhY2FvLnNhbSdcbn0pXG5AQ29udHJvbGVPcGVyYWNhbyh7XG4gICAgaGVhZGVyOiAnUm9uZGEnLFxuICAgIG5hbWU6ICd5bXMuaW50ZWdyYWNhby5zYW0nXG59KVxuXG5jbGFzcyBWaXNpdG9yTGlzdERlc2NyaXRvciB7fVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJ2aXNpdG9yLWxpc3QtY29tcG9uZW50XCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi92aXNpdG9yLWxpc3QuY29tcG9uZW50Lmh0bWxcIixcbn0pXG5leHBvcnQgY2xhc3MgVmlzaXRvckxpc3RDb21wb25lbnQgZXh0ZW5kcyBWaXNpdG9yTGlzdERlc2NyaXRvciBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgYWdlbmRhOiBhbnk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpc2l0b3JTZXJ2aWNlOiBWaXNpdG9yTGlzdFNlcnZpY2U7XG5cbiAgICB2aXNpdG9yczogYW55W107XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBWaXNpdG9yTGlzdFNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy52aXNpdG9yU2VydmljZSA9IHNlcnZpY2U7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIG5hZGEgcG9yIGVucXVhbnRvXG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnZpc2l0b3JTZXJ2aWNlXG4gICAgICAgICAgICAuZmluZFZpc2l0b3JzKHRoaXMuYWdlbmRhLmlkKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnZpc2l0b3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2l0b3JzID0gcmVzcG9uc2UudmlzaXRvcnM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY3JlZGVudGlhbFJlc3VtZShjcmVkZW50aWFsczogYW55KSB7XG4gICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBjcmVkZW50aWFscykge1xuICAgICAgICAgICAgaWYgKGl0ZW0uY2FyZE51bWJlcikge1xuICAgICAgICAgICAgICAgIGxhYmVsID0gbGFiZWwgKyBpdGVtLmNhcmROdW1iZXI7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxhYmVsID0gbGFiZWwgKyBcIiAtIFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsYWJlbDtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { HttpClient } from "@angular/common/http";
4
+ import { Service } from "../../../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 VisitorListService = /** @class */ (function (_super) {
10
+ tslib_1.__extends(VisitorListService, _super);
11
+ function VisitorListService(http, messageService) {
12
+ var _this = _super.call(this, messageService) || this;
13
+ _this.http = http;
14
+ _this.messageService = messageService;
15
+ _this.domainService = "yms_int/sam";
16
+ return _this;
17
+ }
18
+ VisitorListService.prototype.findVisitors = function (agendaIdYMS) {
19
+ return this.http.post("yms_int/sam/queries/findVisitorsBySchedulingIdYMS", { agendaIdYMS: agendaIdYMS });
20
+ };
21
+ VisitorListService.ngInjectableDef = i0.defineInjectable({ factory: function VisitorListService_Factory() { return new VisitorListService(i0.inject(i1.HttpClient), i0.inject(i2.MessageService)); }, token: VisitorListService, providedIn: "root" });
22
+ VisitorListService = tslib_1.__decorate([
23
+ Injectable({ providedIn: 'root' }),
24
+ tslib_1.__metadata("design:paramtypes", [HttpClient, MessageService])
25
+ ], VisitorListService);
26
+ return VisitorListService;
27
+ }(Service));
28
+ export { VisitorListService };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXRvci1saXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMveW1zLWludGVncmF0aW9uLyIsInNvdXJjZXMiOlsic3JjL3NhbS1zZW5pb3IvY29tcG9uZW50cy92aXNpdG9yLWxpc3QvdmlzaXRvci1saXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7QUFJMUU7SUFBd0MsOENBQU87SUFHM0MsNEJBQXNCLElBQWdCLEVBQVksY0FBOEI7UUFBaEYsWUFDSSxrQkFBTSxjQUFjLENBQUMsU0FDeEI7UUFGcUIsVUFBSSxHQUFKLElBQUksQ0FBWTtRQUFZLG9CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUZ2RSxtQkFBYSxHQUFXLGFBQWEsQ0FBQzs7SUFJL0MsQ0FBQztJQUVNLHlDQUFZLEdBQW5CLFVBQW9CLFdBQW1CO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsbURBQW1ELEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RyxDQUFDOztJQVRRLGtCQUFrQjtRQUQ5QixVQUFVLENBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQUM7aURBSUQsVUFBVSxFQUE0QixjQUFjO09BSHZFLGtCQUFrQixDQVU5Qjs2QkFqQkQ7Q0FpQkMsQUFWRCxDQUF3QyxPQUFPLEdBVTlDO1NBVlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlXCI7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2NvbXBvbmVudHMvY29tbW9uL21lc3NhZ2VzZXJ2aWNlXCI7XG5cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgVmlzaXRvckxpc3RTZXJ2aWNlIGV4dGVuZHMgU2VydmljZSB7XG4gICAgcmVhZG9ubHkgZG9tYWluU2VydmljZTogU3RyaW5nID0gXCJ5bXNfaW50L3NhbVwiO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsIHByb3RlY3RlZCBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZVNlcnZpY2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaW5kVmlzaXRvcnMoYWdlbmRhSWRZTVM6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYHltc19pbnQvc2FtL3F1ZXJpZXMvZmluZFZpc2l0b3JzQnlTY2hlZHVsaW5nSWRZTVNgLCB7IGFnZW5kYUlkWU1TOiBhZ2VuZGFJZFlNUyB9KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,37 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { NgModule } from "@angular/core";
3
+ import { CommonModule } from "@angular/common";
4
+ import { TableModule } from "primeng/table";
5
+ import { LoadingStateModule } from "@seniorsistemas/angular-components";
6
+ import { MessageModule } from "primeng/message";
7
+ import { IntegrationDispatcher } from "@seniorsistemas/yms-routines";
8
+ import { VisitorListComponent } from "./visitor-list/visitor-list.component";
9
+ import { VisitorListService } from "./visitor-list/visitor-list.service";
10
+ import { TranslateModule } from "@ngx-translate/core";
11
+ var VisitorListModule = /** @class */ (function () {
12
+ function VisitorListModule(dispatcher) {
13
+ this.dispatcher = dispatcher;
14
+ this.dispatcher.dispatch(VisitorListComponent);
15
+ }
16
+ VisitorListModule = tslib_1.__decorate([
17
+ NgModule({
18
+ imports: [
19
+ CommonModule,
20
+ TableModule,
21
+ MessageModule,
22
+ TranslateModule,
23
+ LoadingStateModule,
24
+ ],
25
+ declarations: [VisitorListComponent],
26
+ entryComponents: [VisitorListComponent],
27
+ exports: [VisitorListComponent],
28
+ providers: [
29
+ VisitorListService
30
+ ]
31
+ }),
32
+ tslib_1.__metadata("design:paramtypes", [IntegrationDispatcher])
33
+ ], VisitorListModule);
34
+ return VisitorListModule;
35
+ }());
36
+ export { VisitorListModule };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzaXRvci1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy95bXMtaW50ZWdyYXRpb24vIiwic291cmNlcyI6WyJzcmMvc2FtLXNlbmlvci9jb21wb25lbnRzL3Zpc2l0b3ItbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQWlCdEQ7SUFDSSwyQkFBNkIsVUFBaUM7UUFBakMsZUFBVSxHQUFWLFVBQVUsQ0FBdUI7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBSFEsaUJBQWlCO1FBZjdCLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRTtnQkFDTCxZQUFZO2dCQUNaLFdBQVc7Z0JBQ1gsYUFBYTtnQkFDYixlQUFlO2dCQUNmLGtCQUFrQjthQUNyQjtZQUNELFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQ3BDLGVBQWUsRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQ3ZDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO1lBQy9CLFNBQVMsRUFBRTtnQkFDUCxrQkFBa0I7YUFDckI7U0FDSixDQUFDO2lEQUUyQyxxQkFBcUI7T0FEckQsaUJBQWlCLENBSTdCO0lBQUQsd0JBQUM7Q0FBQSxBQUpELElBSUM7U0FKWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gXCJwcmltZW5nL3RhYmxlXCI7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGVNb2R1bGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgTWVzc2FnZU1vZHVsZSB9IGZyb20gXCJwcmltZW5nL21lc3NhZ2VcIjtcbmltcG9ydCB7IEludGVncmF0aW9uRGlzcGF0Y2hlciB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMveW1zLXJvdXRpbmVzXCI7XG5pbXBvcnQgeyBWaXNpdG9yTGlzdENvbXBvbmVudCB9IGZyb20gXCIuL3Zpc2l0b3ItbGlzdC92aXNpdG9yLWxpc3QuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBWaXNpdG9yTGlzdFNlcnZpY2UgfSBmcm9tIFwiLi92aXNpdG9yLWxpc3QvdmlzaXRvci1saXN0LnNlcnZpY2VcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRhYmxlTW9kdWxlLFxuICAgICAgICBNZXNzYWdlTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIExvYWRpbmdTdGF0ZU1vZHVsZSwgXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtWaXNpdG9yTGlzdENvbXBvbmVudF0sXG4gICAgZW50cnlDb21wb25lbnRzOiBbVmlzaXRvckxpc3RDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtWaXNpdG9yTGlzdENvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFZpc2l0b3JMaXN0U2VydmljZSAgICAgICAgXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBWaXNpdG9yTGlzdE1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkaXNwYXRjaGVyOiBJbnRlZ3JhdGlvbkRpc3BhdGNoZXIpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLmRpc3BhdGNoKFZpc2l0b3JMaXN0Q29tcG9uZW50KTtcbiAgICB9XG59Il19