ng-pli-commons 1.0.70 → 1.0.72-dev.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 (242) hide show
  1. package/fesm2022/ng-pli-commons.mjs +1156 -743
  2. package/fesm2022/ng-pli-commons.mjs.map +1 -1
  3. package/lib/components/pdf-visualizer/pdf-visualizer.component.d.ts +2 -0
  4. package/lib/components/token/token.component.d.ts +7 -2
  5. package/lib/ng-pli-commons.module.d.ts +12 -13
  6. package/lib/services/budget-setup.service.d.ts +12 -0
  7. package/lib/services/budget-simulation.service.d.ts +2 -0
  8. package/lib/services/codebtors.service.d.ts +14 -0
  9. package/lib/services/correspondence-manager.service.d.ts +1 -0
  10. package/lib/services/document.service.d.ts +3 -1
  11. package/lib/services/guarantees-summary-service.d.ts +13 -0
  12. package/lib/services/maintenance.service.d.ts +4 -0
  13. package/lib/services/pli-cnf-installment-simulator-config.service.d.ts +17 -0
  14. package/lib/services/pli-cnf-interest-rate-master.service.d.ts +17 -0
  15. package/lib/services/pli-cnf-use-anual-interest-rate.service.d.ts +16 -0
  16. package/lib/services/send-application.service.d.ts +1 -0
  17. package/lib/services/token.service.d.ts +3 -0
  18. package/lib/services/variable-interest-name.service.d.ts +17 -0
  19. package/lib/services/variable-interest-rate.service.d.ts +18 -0
  20. package/package.json +3 -6
  21. package/public-api.d.ts +8 -0
  22. package/version.d.ts +1 -1
  23. package/esm2022/lib/components/backoffice.commons.component.mjs +0 -40
  24. package/esm2022/lib/components/common.lists.component.mjs +0 -176
  25. package/esm2022/lib/components/configuration-token/configuration-token-subject.service.mjs +0 -23
  26. package/esm2022/lib/components/configuration-token/configuration-token.component.mjs +0 -665
  27. package/esm2022/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs +0 -103
  28. package/esm2022/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs +0 -108
  29. package/esm2022/lib/components/configuration.commons.component.mjs +0 -40
  30. package/esm2022/lib/components/dashboard.commons.component.mjs +0 -84
  31. package/esm2022/lib/components/dynamic-filter/dynamic-filter.component.mjs +0 -131
  32. package/esm2022/lib/components/excel-to-json/excel-to-json.component.mjs +0 -54
  33. package/esm2022/lib/components/frontoffice.commons.component.mjs +0 -88
  34. package/esm2022/lib/components/pdf-analyzer/pdf-analyzer.component.mjs +0 -162
  35. package/esm2022/lib/components/pdf-config/pdf-config.component.mjs +0 -170
  36. package/esm2022/lib/components/pdf-generator/pdf-generator.component.mjs +0 -207
  37. package/esm2022/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.mjs +0 -307
  38. package/esm2022/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +0 -387
  39. package/esm2022/lib/components/progress-bar/progress-bar.component.mjs +0 -92
  40. package/esm2022/lib/components/segmentation-tokens/segmentation-tokens.component.mjs +0 -199
  41. package/esm2022/lib/components/select-ppp/select-ppp.component.mjs +0 -200
  42. package/esm2022/lib/components/show-hide-columns/show-hide-columns-table.component.mjs +0 -116
  43. package/esm2022/lib/components/token/token.component.mjs +0 -1026
  44. package/esm2022/lib/components/tokens-calculator/tokens-calculator.component.mjs +0 -128
  45. package/esm2022/lib/directives/currency-colfuturo-formatter.directive.mjs +0 -47
  46. package/esm2022/lib/directives/currency-decimal-colfuturo-formatter.directive.mjs +0 -34
  47. package/esm2022/lib/ng-pli-commons.module.mjs +0 -393
  48. package/esm2022/lib/ng-pli-commons.service.mjs +0 -14
  49. package/esm2022/lib/pipes/currency-colfuturo.pipe.mjs +0 -35
  50. package/esm2022/lib/pipes/currency-decimal-colfuturo.pipe.mjs +0 -36
  51. package/esm2022/lib/pipes/currency-print-colfuturo.pipe.mjs +0 -33
  52. package/esm2022/lib/pipes/thousands.pipe.mjs +0 -60
  53. package/esm2022/lib/services/application-fill-percentage.service.mjs +0 -30
  54. package/esm2022/lib/services/application-pdf-form.service.mjs +0 -27
  55. package/esm2022/lib/services/application-tag.service.mjs +0 -56
  56. package/esm2022/lib/services/application.service.mjs +0 -253
  57. package/esm2022/lib/services/assign-task.service.mjs +0 -30
  58. package/esm2022/lib/services/authentication.service.mjs +0 -133
  59. package/esm2022/lib/services/blocked-beneficiary.service.mjs +0 -42
  60. package/esm2022/lib/services/budget-application.service.mjs +0 -265
  61. package/esm2022/lib/services/budget-simulation.service.mjs +0 -61
  62. package/esm2022/lib/services/budget.service.mjs +0 -205
  63. package/esm2022/lib/services/closure-wallet.service.mjs +0 -39
  64. package/esm2022/lib/services/cnf-correspondence-document-manager.service.mjs +0 -39
  65. package/esm2022/lib/services/committee-assistant.service.mjs +0 -55
  66. package/esm2022/lib/services/committee-money.service.mjs +0 -44
  67. package/esm2022/lib/services/committee-pdf.service.mjs +0 -27
  68. package/esm2022/lib/services/committee-snapshot.service.mjs +0 -60
  69. package/esm2022/lib/services/common-info.service.mjs +0 -51
  70. package/esm2022/lib/services/common.service.mjs +0 -285
  71. package/esm2022/lib/services/configuration-document.service.mjs +0 -297
  72. package/esm2022/lib/services/configuration-minisite.service.mjs +0 -26
  73. package/esm2022/lib/services/configuration.service.mjs +0 -53
  74. package/esm2022/lib/services/correspondence-document-category.service.mjs +0 -31
  75. package/esm2022/lib/services/correspondence-manager.service.mjs +0 -67
  76. package/esm2022/lib/services/credit-score.service.mjs +0 -48
  77. package/esm2022/lib/services/credit-study.service.mjs +0 -292
  78. package/esm2022/lib/services/cube.service.mjs +0 -27
  79. package/esm2022/lib/services/data-form-history.service.mjs +0 -25
  80. package/esm2022/lib/services/data-form.service.mjs +0 -176
  81. package/esm2022/lib/services/data-letter-segmentation.service.mjs +0 -64
  82. package/esm2022/lib/services/document-analysis-auto.service.mjs +0 -27
  83. package/esm2022/lib/services/document-history.service.mjs +0 -43
  84. package/esm2022/lib/services/document-management.service.mjs +0 -57
  85. package/esm2022/lib/services/document-process.service.mjs +0 -27
  86. package/esm2022/lib/services/document-validation-attempt.service.mjs +0 -32
  87. package/esm2022/lib/services/document.service.mjs +0 -138
  88. package/esm2022/lib/services/documentary.type.service.mjs +0 -69
  89. package/esm2022/lib/services/email.service.mjs +0 -30
  90. package/esm2022/lib/services/evaluation.service.mjs +0 -181
  91. package/esm2022/lib/services/export-excel.service.mjs +0 -32
  92. package/esm2022/lib/services/file.service.mjs +0 -153
  93. package/esm2022/lib/services/form.service.mjs +0 -112
  94. package/esm2022/lib/services/gic-client-disbursement-metadata.service.mjs +0 -31
  95. package/esm2022/lib/services/gic-client.service.mjs +0 -49
  96. package/esm2022/lib/services/gic-cnf-bankvision-transaction.service.mjs +0 -31
  97. package/esm2022/lib/services/gic-cnf-closing-date.service.mjs +0 -34
  98. package/esm2022/lib/services/gic-cnf-maintenance.service.mjs +0 -30
  99. package/esm2022/lib/services/gic-collection.service.mjs +0 -53
  100. package/esm2022/lib/services/gic-disbursement.service.mjs +0 -39
  101. package/esm2022/lib/services/gic-extract.service.mjs +0 -41
  102. package/esm2022/lib/services/gic-log.service.mjs +0 -41
  103. package/esm2022/lib/services/gic-payment-application.service.mjs +0 -35
  104. package/esm2022/lib/services/gic-payment-plan-cube.service.mjs +0 -27
  105. package/esm2022/lib/services/gic-payment-plan.service.mjs +0 -32
  106. package/esm2022/lib/services/gic-trm.service.mjs +0 -27
  107. package/esm2022/lib/services/global.show.task.service.mjs +0 -37
  108. package/esm2022/lib/services/guarantee-document.service.mjs +0 -52
  109. package/esm2022/lib/services/guarantee-enrollment.service.mjs +0 -37
  110. package/esm2022/lib/services/guarantee.service.mjs +0 -128
  111. package/esm2022/lib/services/hash.service.mjs +0 -36
  112. package/esm2022/lib/services/import-data.service.mjs +0 -27
  113. package/esm2022/lib/services/import-excel-gic.service.mjs +0 -53
  114. package/esm2022/lib/services/initial-configuration-gic-parameters.service.mjs +0 -51
  115. package/esm2022/lib/services/initial-record.service.mjs +0 -51
  116. package/esm2022/lib/services/integration-ado.service.mjs +0 -54
  117. package/esm2022/lib/services/interaction-application-user.service.mjs +0 -81
  118. package/esm2022/lib/services/interest-adjustment.service.mjs +0 -34
  119. package/esm2022/lib/services/keys-assignation.service.mjs +0 -127
  120. package/esm2022/lib/services/legalization.service.mjs +0 -150
  121. package/esm2022/lib/services/letter-campaing.service.mjs +0 -49
  122. package/esm2022/lib/services/letter-task-mapping.service.mjs +0 -40
  123. package/esm2022/lib/services/log.service.mjs +0 -41
  124. package/esm2022/lib/services/maintenance.service.mjs +0 -66
  125. package/esm2022/lib/services/master-category.service.mjs +0 -66
  126. package/esm2022/lib/services/master-program.service.mjs +0 -78
  127. package/esm2022/lib/services/master-university.service.mjs +0 -79
  128. package/esm2022/lib/services/migration-plis.service.mjs +0 -27
  129. package/esm2022/lib/services/migration-survey-queue.service.mjs +0 -24
  130. package/esm2022/lib/services/openkm-document.service.mjs +0 -27
  131. package/esm2022/lib/services/page.service.mjs +0 -38
  132. package/esm2022/lib/services/partner-system.service.mjs +0 -30
  133. package/esm2022/lib/services/partner.service.mjs +0 -34
  134. package/esm2022/lib/services/pdf-analyzer.service.mjs +0 -33
  135. package/esm2022/lib/services/people-master.service.mjs +0 -42
  136. package/esm2022/lib/services/permission.service.mjs +0 -29
  137. package/esm2022/lib/services/pli-cnf-acuity-fields.service.mjs +0 -34
  138. package/esm2022/lib/services/pli-cnf-app-card-filter.service.mjs +0 -40
  139. package/esm2022/lib/services/pli-cnf-appointment-type.service.mjs +0 -41
  140. package/esm2022/lib/services/pli-cnf-budget-program-type.service.mjs +0 -54
  141. package/esm2022/lib/services/pli-cnf-budget.service.mjs +0 -31
  142. package/esm2022/lib/services/pli-cnf-cloning.service.mjs +0 -27
  143. package/esm2022/lib/services/pli-cnf-committee-pdf-config-table-config.service.mjs +0 -47
  144. package/esm2022/lib/services/pli-cnf-committee-pdf-gen-status.service.mjs +0 -30
  145. package/esm2022/lib/services/pli-cnf-committee-valpro-columns.service.mjs +0 -42
  146. package/esm2022/lib/services/pli-cnf-committee-visualization-mode.service.mjs +0 -42
  147. package/esm2022/lib/services/pli-cnf-committee.service.mjs +0 -66
  148. package/esm2022/lib/services/pli-cnf-config-minisite.service.mjs +0 -90
  149. package/esm2022/lib/services/pli-cnf-configuration-credit-study.service.mjs +0 -41
  150. package/esm2022/lib/services/pli-cnf-document-management.service.mjs +0 -40
  151. package/esm2022/lib/services/pli-cnf-dynamic-keys-assign.service.mjs +0 -52
  152. package/esm2022/lib/services/pli-cnf-evaluation-task-mailing.service.mjs +0 -31
  153. package/esm2022/lib/services/pli-cnf-evaluation-task-template.service.mjs +0 -39
  154. package/esm2022/lib/services/pli-cnf-evaluation-task.service.mjs +0 -112
  155. package/esm2022/lib/services/pli-cnf-evaluation-template.service.mjs +0 -95
  156. package/esm2022/lib/services/pli-cnf-form-edit.service.mjs +0 -68
  157. package/esm2022/lib/services/pli-cnf-form-multiaplicacion.service.mjs +0 -46
  158. package/esm2022/lib/services/pli-cnf-guarantee-documents-template.service.mjs +0 -40
  159. package/esm2022/lib/services/pli-cnf-guarantee-token.service.mjs +0 -42
  160. package/esm2022/lib/services/pli-cnf-header.service.mjs +0 -39
  161. package/esm2022/lib/services/pli-cnf-indicator.service.mjs +0 -39
  162. package/esm2022/lib/services/pli-cnf-information-system.service.mjs +0 -24
  163. package/esm2022/lib/services/pli-cnf-interaction.service.mjs +0 -78
  164. package/esm2022/lib/services/pli-cnf-letter-template-type.service.mjs +0 -29
  165. package/esm2022/lib/services/pli-cnf-letter-template.service.mjs +0 -48
  166. package/esm2022/lib/services/pli-cnf-look-and-feel.service.mjs +0 -28
  167. package/esm2022/lib/services/pli-cnf-mail.service.mjs +0 -30
  168. package/esm2022/lib/services/pli-cnf-menu-form.service.mjs +0 -34
  169. package/esm2022/lib/services/pli-cnf-migration-plis-field-budget.service.mjs +0 -34
  170. package/esm2022/lib/services/pli-cnf-migration-plis-field.service.mjs +0 -47
  171. package/esm2022/lib/services/pli-cnf-migration-status-plis.service.mjs +0 -44
  172. package/esm2022/lib/services/pli-cnf-page-section-form.service.mjs +0 -66
  173. package/esm2022/lib/services/pli-cnf-page-sub-process.service.mjs +0 -25
  174. package/esm2022/lib/services/pli-cnf-pdfs.service.mjs +0 -31
  175. package/esm2022/lib/services/pli-cnf-profile-form.service.mjs +0 -40
  176. package/esm2022/lib/services/pli-cnf-profile-user.service.mjs +0 -49
  177. package/esm2022/lib/services/pli-cnf-project-summary.service.mjs +0 -39
  178. package/esm2022/lib/services/pli-cnf-scenario.service.mjs +0 -47
  179. package/esm2022/lib/services/pli-cnf-segmentation.service.mjs +0 -72
  180. package/esm2022/lib/services/pli-cnf-snapshot-token.service.mjs +0 -42
  181. package/esm2022/lib/services/pli-cnf-status-flow-interaction.service.mjs +0 -74
  182. package/esm2022/lib/services/pli-cnf-status-flow.service.mjs +0 -56
  183. package/esm2022/lib/services/pli-cnf-support-document-category.service.mjs +0 -47
  184. package/esm2022/lib/services/pli-cnf-support-document.service.mjs +0 -56
  185. package/esm2022/lib/services/pli-cnf-survey-document.service.mjs +0 -37
  186. package/esm2022/lib/services/pli-cnf-survey-pdf.service.mjs +0 -34
  187. package/esm2022/lib/services/pli-cnf-survey.service.mjs +0 -46
  188. package/esm2022/lib/services/pli-cnf-task-group.service.mjs +0 -33
  189. package/esm2022/lib/services/pli-cnf-text-category.service.mjs +0 -38
  190. package/esm2022/lib/services/pli-cnf-text-option.service.mjs +0 -39
  191. package/esm2022/lib/services/pli-cnf-text.service.mjs +0 -62
  192. package/esm2022/lib/services/pli-cnf-type-text.service.mjs +0 -45
  193. package/esm2022/lib/services/pli-cnf-university-article.service.mjs +0 -39
  194. package/esm2022/lib/services/pli-cnf-user-calendar.service.mjs +0 -36
  195. package/esm2022/lib/services/pli-cnf-user-workspace.service.mjs +0 -35
  196. package/esm2022/lib/services/pli-cnf-valpro-keys.service.mjs +0 -35
  197. package/esm2022/lib/services/pli-cnf-workspace-segmentation.service.mjs +0 -31
  198. package/esm2022/lib/services/pli-message-type.service.mjs +0 -40
  199. package/esm2022/lib/services/pli-multiple-value-filter.service.mjs +0 -39
  200. package/esm2022/lib/services/pli-promocion-username.service.mjs +0 -57
  201. package/esm2022/lib/services/pli-seg-action-user.service.mjs +0 -37
  202. package/esm2022/lib/services/pli-segmentation.service.mjs +0 -130
  203. package/esm2022/lib/services/pli-tag-assignment.service.mjs +0 -36
  204. package/esm2022/lib/services/pli-tag.service.mjs +0 -55
  205. package/esm2022/lib/services/pli-user.service.mjs +0 -51
  206. package/esm2022/lib/services/plis-beneficiario.service.mjs +0 -29
  207. package/esm2022/lib/services/plis-estatus-change.service.mjs +0 -30
  208. package/esm2022/lib/services/post-selection.service.mjs +0 -25
  209. package/esm2022/lib/services/ppp.service.mjs +0 -360
  210. package/esm2022/lib/services/profile.service.mjs +0 -60
  211. package/esm2022/lib/services/progress-bar.service.mjs +0 -40
  212. package/esm2022/lib/services/promotion-score.service.mjs +0 -44
  213. package/esm2022/lib/services/registry-identifier.service.mjs +0 -49
  214. package/esm2022/lib/services/return-refund.service.mjs +0 -53
  215. package/esm2022/lib/services/segmentation-tokens.service.mjs +0 -43
  216. package/esm2022/lib/services/segmentation-user-service.service.mjs +0 -94
  217. package/esm2022/lib/services/segmentation.service.mjs +0 -31
  218. package/esm2022/lib/services/send-application.service.mjs +0 -484
  219. package/esm2022/lib/services/sesion-form.service.mjs +0 -31
  220. package/esm2022/lib/services/sesion.service.mjs +0 -48
  221. package/esm2022/lib/services/spinner.service.mjs +0 -16
  222. package/esm2022/lib/services/sponsorship-letter.service.mjs +0 -68
  223. package/esm2022/lib/services/status.service.mjs +0 -104
  224. package/esm2022/lib/services/summary-budget.service.mjs +0 -24
  225. package/esm2022/lib/services/survey-metadata.service.mjs +0 -28
  226. package/esm2022/lib/services/survey-queue.service.mjs +0 -24
  227. package/esm2022/lib/services/survey.service.mjs +0 -52
  228. package/esm2022/lib/services/tag-management.service.mjs +0 -58
  229. package/esm2022/lib/services/tasa.cambio.service.mjs +0 -35
  230. package/esm2022/lib/services/token-transformation.service.mjs +0 -62
  231. package/esm2022/lib/services/token.service.mjs +0 -1431
  232. package/esm2022/lib/services/university.service.mjs +0 -50
  233. package/esm2022/lib/services/upload-documents.service.mjs +0 -60
  234. package/esm2022/lib/services/user.service.mjs +0 -28
  235. package/esm2022/lib/services/visualization-committee.service.mjs +0 -91
  236. package/esm2022/lib/utils/custom-validator.mjs +0 -95
  237. package/esm2022/lib/utils/form-util.mjs +0 -35
  238. package/esm2022/lib/utils/formio-util.mjs +0 -582
  239. package/esm2022/lib/utils/version-commons.mjs +0 -10
  240. package/esm2022/ng-pli-commons.mjs +0 -5
  241. package/esm2022/public-api.mjs +0 -223
  242. package/esm2022/version.mjs +0 -29
@@ -72,6 +72,7 @@ export declare class PdfVisualizerComponent implements OnInit, OnChanges {
72
72
  id_canvas: string;
73
73
  /** It allows to edit html */
74
74
  edit: boolean;
75
+ isFullscreen: boolean;
75
76
  constructor(commonService: CommonService, sanitization: DomSanitizer, taostrService: ToastrService, fileService: FileService);
76
77
  ngOnChanges(changes: SimpleChanges): void;
77
78
  /** It generates the pdf */
@@ -142,6 +143,7 @@ export declare class PdfVisualizerComponent implements OnInit, OnChanges {
142
143
  */
143
144
  isEnableEmail(): boolean;
144
145
  b64toBlob(b64Data: any, contentType?: string, sliceSize?: number): Blob;
146
+ toggleFullscreen(): void;
145
147
  static ɵfac: i0.ɵɵFactoryDeclaration<PdfVisualizerComponent, never>;
146
148
  static ɵcmp: i0.ɵɵComponentDeclaration<PdfVisualizerComponent, "pli-pdf-visualizer", never, { "html": { "alias": "html"; "required": false; }; "header": { "alias": "header"; "required": false; }; "footer": { "alias": "footer"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "font": { "alias": "font"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "size": { "alias": "size"; "required": false; }; "showPager": { "alias": "showPager"; "required": false; }; "repeatHeader": { "alias": "repeatHeader"; "required": false; }; "repeatFooter": { "alias": "repeatFooter"; "required": false; }; "headerHeight": { "alias": "headerHeight"; "required": false; }; "footerHeight": { "alias": "footerHeight"; "required": false; }; "enableEdit": { "alias": "enableEdit"; "required": false; }; "title": { "alias": "title"; "required": false; }; "height": { "alias": "height"; "required": false; }; "filename": { "alias": "filename"; "required": false; }; "enableEmail": { "alias": "enableEmail"; "required": false; }; "lang": { "alias": "lang"; "required": false; }; "urlFile": { "alias": "urlFile"; "required": false; }; }, { "onDownload": "onDownload"; "onSendEmail": "onSendEmail"; "onChange": "onChange"; }, never, never, false, never>;
147
149
  }
@@ -6,15 +6,18 @@ import { ToastrService } from 'ngx-toastr';
6
6
  import { AuthenticationService } from '../../services/authentication.service';
7
7
  import 'jquery';
8
8
  import { SesionService } from '../../services/sesion.service';
9
+ import { TokenTransformationService } from '../../services/token-transformation.service';
9
10
  import * as i0 from "@angular/core";
10
11
  export declare class TokenComponent implements OnInit, OnChanges {
11
12
  private currencyPipe;
12
13
  private tokenService;
13
14
  private toastrService;
14
15
  private authenticationService;
16
+ private tokenTransformationService;
15
17
  private sesionService;
16
18
  /** It contains the template html to translate */
17
19
  template: string;
20
+ istemplate: boolean;
18
21
  /** It contains the data to implement */
19
22
  data: DataToTranslateToken;
20
23
  /** It notifies the html is generated*/
@@ -23,6 +26,7 @@ export declare class TokenComponent implements OnInit, OnChanges {
23
26
  enableDestination: boolean;
24
27
  /** It contains the prom code */
25
28
  promCodigo: number;
29
+ applicationId: string;
26
30
  /** */
27
31
  lTokenCalculated: Token[];
28
32
  /** */
@@ -36,7 +40,8 @@ export declare class TokenComponent implements OnInit, OnChanges {
36
40
  /** As the list of token are loaded dynamically, this manage that only replace the info once. */
37
41
  alreadyCallReplaceTokens: boolean;
38
42
  evaluation: Evaluation;
39
- constructor(currencyPipe: CurrencyPipe, tokenService: TokenService, toastrService: ToastrService, authenticationService: AuthenticationService, sesionService: SesionService);
43
+ debtorInsurance: number;
44
+ constructor(currencyPipe: CurrencyPipe, tokenService: TokenService, toastrService: ToastrService, authenticationService: AuthenticationService, tokenTransformationService: TokenTransformationService, sesionService: SesionService);
40
45
  ngOnInit(): void;
41
46
  /** It manages the change of the every @Input */
42
47
  ngOnChanges(changes: SimpleChanges): void;
@@ -98,5 +103,5 @@ export declare class TokenComponent implements OnInit, OnChanges {
98
103
  */
99
104
  addInfoTokenResumeCategoryYear(tpresCodigo: number, idTotalBudget: string, budgetDto: BudgetDto): void;
100
105
  static ɵfac: i0.ɵɵFactoryDeclaration<TokenComponent, never>;
101
- static ɵcmp: i0.ɵɵComponentDeclaration<TokenComponent, "pli-token", never, { "template": { "alias": "template"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, { "onGenerate": "onGenerate"; }, never, never, false, never>;
106
+ static ɵcmp: i0.ɵɵComponentDeclaration<TokenComponent, "pli-token", never, { "template": { "alias": "template"; "required": false; }; "istemplate": { "alias": "istemplate"; "required": false; }; "data": { "alias": "data"; "required": false; }; }, { "onGenerate": "onGenerate"; }, never, never, false, never>;
102
107
  }
@@ -27,21 +27,20 @@ import * as i24 from "@angular/fire/compat";
27
27
  import * as i25 from "@angular/fire/compat/storage";
28
28
  import * as i26 from "@tinymce/tinymce-angular";
29
29
  import * as i27 from "formioangular-colfuturo";
30
- import * as i28 from "@angular/common/http";
31
- import * as i29 from "@angular/forms";
32
- import * as i30 from "primeng/accordion";
33
- import * as i31 from "primeng/table";
34
- import * as i32 from "primeng/tieredmenu";
35
- import * as i33 from "primeng/picklist";
36
- import * as i34 from "@angular/fire/app";
37
- import * as i35 from "@angular/fire/firestore";
38
- import * as i36 from "@angular/fire/auth";
39
- import * as i37 from "primeng/dropdown";
40
- import * as i38 from "primeng/dialog";
41
- import * as i39 from "ng-pli-util";
30
+ import * as i28 from "@angular/forms";
31
+ import * as i29 from "primeng/accordion";
32
+ import * as i30 from "primeng/table";
33
+ import * as i31 from "primeng/tieredmenu";
34
+ import * as i32 from "primeng/picklist";
35
+ import * as i33 from "@angular/fire/app";
36
+ import * as i34 from "@angular/fire/firestore";
37
+ import * as i35 from "@angular/fire/auth";
38
+ import * as i36 from "primeng/dropdown";
39
+ import * as i37 from "primeng/dialog";
40
+ import * as i38 from "ng-pli-util";
42
41
  export declare class NgPliCommonsModule {
43
42
  static forRoot(environment: any): ModuleWithProviders<NgPliCommonsModule>;
44
43
  static ɵfac: i0.ɵɵFactoryDeclaration<NgPliCommonsModule, never>;
45
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgPliCommonsModule, [typeof i1.SelectPppComponent, typeof i2.CurrencyColfuturoPipe, typeof i3.CurrencyPrintColfuturoPipe, typeof i4.CurrencyDecimalColfuturoPipe, typeof i5.CurrencyColfuturoFormatterDirective, typeof i6.CurrencyDecimalColfuturoFormatterDirective, typeof i7.PdfVisualizerComponent, typeof i8.PdfMergeVisualizerComponent, typeof i9.PdfGeneratorComponent, typeof i10.TokenComponent, typeof i11.SegmentationTokensComponent, typeof i12.TokensCalculatorComponent, typeof i13.ConfigurationTokenComponent, typeof i14.ExcelToJsonComponent, typeof i15.ThousandsPipe, typeof i16.DynamicFilterComponent, typeof i17.ShowHideColumnsTableComponent, typeof i18.PdfConfigComponent, typeof i19.SnapshotTokenComponent, typeof i20.GuaranteeTokenComponent, typeof i21.ProgressBarComponent, typeof i22.PdfAnalyzerComponent], [typeof i23.CommonModule, typeof i24.AngularFireModule, typeof i25.AngularFireStorageModule, typeof i26.EditorModule, typeof i27.FormioModule, typeof i28.HttpClientModule, typeof i29.FormsModule, typeof i30.AccordionModule, typeof i31.TableModule, typeof i32.TieredMenuModule, typeof i33.PickListModule, typeof i29.ReactiveFormsModule, typeof i34.FirebaseAppModule, typeof i35.FirestoreModule, typeof i36.AuthModule, typeof i37.DropdownModule, typeof i38.DialogModule, typeof i39.NgPliUtilModule], [typeof i1.SelectPppComponent, typeof i7.PdfVisualizerComponent, typeof i8.PdfMergeVisualizerComponent, typeof i9.PdfGeneratorComponent, typeof i10.TokenComponent, typeof i11.SegmentationTokensComponent, typeof i12.TokensCalculatorComponent, typeof i2.CurrencyColfuturoPipe, typeof i3.CurrencyPrintColfuturoPipe, typeof i4.CurrencyDecimalColfuturoPipe, typeof i5.CurrencyColfuturoFormatterDirective, typeof i6.CurrencyDecimalColfuturoFormatterDirective, typeof i13.ConfigurationTokenComponent, typeof i15.ThousandsPipe, typeof i14.ExcelToJsonComponent, typeof i16.DynamicFilterComponent, typeof i17.ShowHideColumnsTableComponent, typeof i18.PdfConfigComponent, typeof i21.ProgressBarComponent, typeof i22.PdfAnalyzerComponent]>;
44
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgPliCommonsModule, [typeof i1.SelectPppComponent, typeof i2.CurrencyColfuturoPipe, typeof i3.CurrencyPrintColfuturoPipe, typeof i4.CurrencyDecimalColfuturoPipe, typeof i5.CurrencyColfuturoFormatterDirective, typeof i6.CurrencyDecimalColfuturoFormatterDirective, typeof i7.PdfVisualizerComponent, typeof i8.PdfMergeVisualizerComponent, typeof i9.PdfGeneratorComponent, typeof i10.TokenComponent, typeof i11.SegmentationTokensComponent, typeof i12.TokensCalculatorComponent, typeof i13.ConfigurationTokenComponent, typeof i14.ExcelToJsonComponent, typeof i15.ThousandsPipe, typeof i16.DynamicFilterComponent, typeof i17.ShowHideColumnsTableComponent, typeof i18.PdfConfigComponent, typeof i19.SnapshotTokenComponent, typeof i20.GuaranteeTokenComponent, typeof i21.ProgressBarComponent, typeof i22.PdfAnalyzerComponent], [typeof i23.CommonModule, typeof i24.AngularFireModule, typeof i25.AngularFireStorageModule, typeof i26.EditorModule, typeof i27.FormioModule, typeof i28.FormsModule, typeof i29.AccordionModule, typeof i30.TableModule, typeof i31.TieredMenuModule, typeof i32.PickListModule, typeof i28.ReactiveFormsModule, typeof i33.FirebaseAppModule, typeof i34.FirestoreModule, typeof i35.AuthModule, typeof i36.DropdownModule, typeof i37.DialogModule, typeof i38.NgPliUtilModule], [typeof i1.SelectPppComponent, typeof i7.PdfVisualizerComponent, typeof i8.PdfMergeVisualizerComponent, typeof i9.PdfGeneratorComponent, typeof i10.TokenComponent, typeof i11.SegmentationTokensComponent, typeof i12.TokensCalculatorComponent, typeof i2.CurrencyColfuturoPipe, typeof i3.CurrencyPrintColfuturoPipe, typeof i4.CurrencyDecimalColfuturoPipe, typeof i5.CurrencyColfuturoFormatterDirective, typeof i6.CurrencyDecimalColfuturoFormatterDirective, typeof i13.ConfigurationTokenComponent, typeof i15.ThousandsPipe, typeof i14.ExcelToJsonComponent, typeof i16.DynamicFilterComponent, typeof i17.ShowHideColumnsTableComponent, typeof i18.PdfConfigComponent, typeof i21.ProgressBarComponent, typeof i22.PdfAnalyzerComponent]>;
46
45
  static ɵinj: i0.ɵɵInjectorDeclaration<NgPliCommonsModule>;
47
46
  }
@@ -0,0 +1,12 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { BudgetSetup, PliCnfPresupuestoGlobal } from 'ng-pli-util';
3
+ import { Observable } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export declare class BudgetSetupService {
6
+ private environment;
7
+ private httpClient;
8
+ constructor(environment: any, httpClient: HttpClient);
9
+ BudgetSetup(presupuestoList: PliCnfPresupuestoGlobal[], cpreCodigo: number): Observable<BudgetSetup>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<BudgetSetupService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<BudgetSetupService>;
12
+ }
@@ -15,6 +15,7 @@ export declare class BudgetSimulationService {
15
15
  findById: string;
16
16
  findByApplications: string;
17
17
  getBudgetSimulatorCalculation: string;
18
+ getTotalInsuranceAmount: string;
18
19
  };
19
20
  readonly headerJson: {
20
21
  headers: HttpHeaders;
@@ -27,6 +28,7 @@ export declare class BudgetSimulationService {
27
28
  save(budgetSimulation: BudgetSimulation): Observable<any>;
28
29
  saveAll(budgetSimulations: BudgetSimulation[]): Observable<any>;
29
30
  getBudgetSimulatorCalculation(budgetSimulations: BudgetSimulatorCalculationInput): Observable<any>;
31
+ getTotalInsuranceAmount(budgetSimulations: BudgetSimulatorCalculationInput): Observable<any>;
30
32
  static ɵfac: i0.ɵɵFactoryDeclaration<BudgetSimulationService, never>;
31
33
  static ɵprov: i0.ɵɵInjectableDeclaration<BudgetSimulationService>;
32
34
  }
@@ -0,0 +1,14 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { ApplicationCodebtorTO, DataTableParameters } from 'ng-pli-util';
3
+ import { Observable } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export declare class CodebtorService {
6
+ private environment;
7
+ private httpClient;
8
+ constructor(environment: any, httpClient: HttpClient);
9
+ /** It returns the list of application by dataTableParameters */
10
+ getApplicationsByDataTableParameters(dataTableParameters: DataTableParameters): Observable<any>;
11
+ updateEmailAndPhoneCodebtor(applicationCodebtorTO: ApplicationCodebtorTO): Observable<any>;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<CodebtorService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<CodebtorService>;
14
+ }
@@ -8,6 +8,7 @@ export declare class CorrespondenceManagerService {
8
8
  constructor(environment: any, httpClient: HttpClient);
9
9
  save(correspondenceManager: CorrespondenceManager): Observable<any>;
10
10
  saveEdit(correspondenceManager: CorrespondenceManagerTO): Observable<any>;
11
+ resendNotification(correspondenceId: string, promCodigo: number): Observable<any>;
11
12
  deleteAttatchment(correspondenceManagerId: string, index: number): Observable<any>;
12
13
  deleteDocument(correspondenceManagerId: string): Observable<any>;
13
14
  getDocument(urlDocument: string): Observable<any>;
@@ -1,6 +1,6 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { Observable } from 'rxjs';
3
- import { Document, DataTableParameters, CheckProgramQualification, UpdateSelectionInformation } from 'ng-pli-util';
3
+ import { Document, DataTableParameters, CheckProgramQualification, UpdateSelectionInformation, DocumentAnalysisIAStResponse } from 'ng-pli-util';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class DocumentService {
6
6
  private environment;
@@ -45,7 +45,9 @@ export declare class DocumentService {
45
45
  /** It checks an admission letter document */
46
46
  checkProgramQualification(checkProgramQualification: CheckProgramQualification): Observable<any>;
47
47
  documentAnalysisWithIA(file: File, prompt: string): Observable<Boolean>;
48
+ documentAnalysisWithIASt(file: File, prompt: string): Observable<DocumentAnalysisIAStResponse>;
48
49
  updateSelectionInformation(updateSelectionInformation: UpdateSelectionInformation): Observable<Object>;
50
+ downloadAllArchives(archives: any[]): Observable<Blob>;
49
51
  static ɵfac: i0.ɵɵFactoryDeclaration<DocumentService, never>;
50
52
  static ɵprov: i0.ɵɵInjectableDeclaration<DocumentService>;
51
53
  }
@@ -0,0 +1,13 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import { GuaranteesSummaryTO } from 'ng-pli-util';
4
+ import * as i0 from "@angular/core";
5
+ export declare class GuaranteesSummaryService {
6
+ private environment;
7
+ private httpClient;
8
+ private headerJson;
9
+ constructor(environment: any, httpClient: HttpClient);
10
+ updateGuaranteeFlags(guaranteesSummaryTO: GuaranteesSummaryTO): Observable<any>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<GuaranteesSummaryService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<GuaranteesSummaryService>;
13
+ }
@@ -17,7 +17,11 @@ export declare class MaintenanceService {
17
17
  downloadCondonationFile(): Observable<Object>;
18
18
  updateCondonationMaintenace(maintenanceForm: CondonationMaintenance): Observable<Object>;
19
19
  generateCondonationMaintenance(dateGenerate: string): Observable<Object>;
20
+ getEstatusChangeByPlisUuid(uuidList: string[]): Observable<Object>;
20
21
  deleteCondonationMaintenaceByIdIn(maintenanceIdList: string[]): Observable<Object>;
22
+ getEstatusChangePendCount(): Observable<Object>;
23
+ getEstatusChangePendSkipUpdate(): Observable<Object>;
24
+ updateStatusChangeByUiuid(uuidList: string[]): Observable<Object>;
21
25
  static ɵfac: i0.ɵɵFactoryDeclaration<MaintenanceService, never>;
22
26
  static ɵprov: i0.ɵɵInjectableDeclaration<MaintenanceService>;
23
27
  }
@@ -0,0 +1,17 @@
1
+ import { HttpClient } from "@angular/common/http";
2
+ import { PliCnfInstallmentSimulatorConfig } from "ng-pli-util";
3
+ import { Observable } from "rxjs";
4
+ import * as i0 from "@angular/core";
5
+ export declare class PliCnfInstallmentSimulatorConfigService {
6
+ private environment;
7
+ private httpClient;
8
+ constructor(environment: any, httpClient: HttpClient);
9
+ getByPromCodigo(promCodigo: number): Observable<any>;
10
+ /**
11
+ * Save the PliCnfInstallmentSimulatorConfig
12
+ * @param pliCnfInstallmentSimulatorConfig
13
+ */
14
+ save(pliCnfInstallmentSimulatorConfig: PliCnfInstallmentSimulatorConfig): Observable<any>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<PliCnfInstallmentSimulatorConfigService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<PliCnfInstallmentSimulatorConfigService>;
17
+ }
@@ -0,0 +1,17 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { PliCnfInterestRateMaster } from 'ng-pli-util';
3
+ import { Observable } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export declare class PliCnfInterestRateMasterService {
6
+ private environment;
7
+ private httpClient;
8
+ constructor(environment: any, httpClient: HttpClient);
9
+ getByPromCodigo(promCodigo: number): Observable<any>;
10
+ /**
11
+ * Save the PliCnfInterestRateMaster
12
+ * @param pliCnfAnnualInterestRate
13
+ */
14
+ save(pliCnfInterestRateMaster: PliCnfInterestRateMaster): Observable<any>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<PliCnfInterestRateMasterService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<PliCnfInterestRateMasterService>;
17
+ }
@@ -0,0 +1,16 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PliCnfUseAnnualInterestRateService {
5
+ private environment;
6
+ private httpClient;
7
+ constructor(environment: any, httpClient: HttpClient);
8
+ getByPromCodigo(promCodigo: number): Observable<any>;
9
+ /**
10
+ * Save the PliCnfAnnualInterestRate
11
+ * @param PliCnfUseAnnualInterestRate
12
+ */
13
+ update(promCodigo: number, useAnnualInterestRate: Boolean): Observable<any>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<PliCnfUseAnnualInterestRateService, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<PliCnfUseAnnualInterestRateService>;
16
+ }
@@ -46,6 +46,7 @@ export declare class SendApplicationService {
46
46
  getListFormsByStatus(currentStatus: PliCnfStatus, listForm: any[]): any[];
47
47
  /** it returns the validated document list */
48
48
  getValidatedDocument(currentStatus: any, listConfigurationDocument: any, listDocument: any, application: Application, listDataForm: any, validateJustRequired: boolean): any[];
49
+ private isConfigActiveByDeactivationDate;
49
50
  private fillListValidateDocumentDefault;
50
51
  /** It gets document by configuration Id */
51
52
  private getDocumentByConfigurationId;
@@ -70,6 +70,8 @@ export declare class TokenService {
70
70
  /** */
71
71
  static STATIC_TOKENS_KEY_FECHA_ACTUAL: string;
72
72
  /** */
73
+ static STATIC_TOKENS_KEY_FECHA_ENVIO_SOLICITUD: string;
74
+ /** */
73
75
  static STATIC_TOKENS_KEY_STATUS_NAME: string;
74
76
  /** */
75
77
  static STATIC_TOKENS_KEY_PATROCINADOR: string;
@@ -249,6 +251,7 @@ export declare class TokenService {
249
251
  * @param lObjectTokens List of tokens with the values to replace
250
252
  */
251
253
  replaceTokensFromListObject(tokenName: string, formula: string, lObjectTokens: any): string;
254
+ getQuoteContext(src: any, idx: any): "double" | "single";
252
255
  /**
253
256
  * MEtodo que teniendo una expresion de la forma ['tag1', 'tag2']==tag3
254
257
  * evalua si tag3 hace parte del array si tiene el operador ==.
@@ -0,0 +1,17 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { VariableInterestName } from 'ng-pli-util';
3
+ import { Observable } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export declare class VariableInterestRateNameService {
6
+ private environment;
7
+ private httpClient;
8
+ constructor(environment: any, httpClient: HttpClient);
9
+ getAll(): Observable<any>;
10
+ /**
11
+ * Save the VariableInterestName
12
+ * @param VariableInterestName
13
+ */
14
+ save(variableInterestName: VariableInterestName): Observable<any>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<VariableInterestRateNameService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<VariableInterestRateNameService>;
17
+ }
@@ -0,0 +1,18 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { VariableInterestRate } from 'ng-pli-util';
3
+ import { Observable } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export declare class VariableInterestRateService {
6
+ private environment;
7
+ private httpClient;
8
+ constructor(environment: any, httpClient: HttpClient);
9
+ getAll(): Observable<any>;
10
+ /**
11
+ * Save the PliCnfInterestRateMaster
12
+ * @param pliCnfAnnualInterestRate
13
+ */
14
+ save(variableInterestRate: VariableInterestRate): Observable<any>;
15
+ getById(id: number): Observable<any>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<VariableInterestRateService, never>;
17
+ static ɵprov: i0.ɵɵInjectableDeclaration<VariableInterestRateService>;
18
+ }
package/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "ng-pli-commons",
3
- "version": "1.0.70",
3
+ "version": "1.0.72-dev.0",
4
4
  "peerDependencies": {
5
- "@angular/core": "^16.0.0 || ^17.0.0",
6
- "@angular/common": "^16.0.0 || ^17.0.0",
7
- "zone.js": "~0.13.0 || ~0.14.0"
5
+ "@angular/core": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.2.14",
6
+ "@angular/common": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.2.14"
8
7
  },
9
8
  "dependencies": {
10
9
  "tslib": "^2.3.0"
@@ -17,8 +16,6 @@
17
16
  },
18
17
  ".": {
19
18
  "types": "./index.d.ts",
20
- "esm2022": "./esm2022/ng-pli-commons.mjs",
21
- "esm": "./esm2022/ng-pli-commons.mjs",
22
19
  "default": "./fesm2022/ng-pli-commons.mjs"
23
20
  }
24
21
  },
package/public-api.d.ts CHANGED
@@ -38,6 +38,8 @@ export * from './lib/services/blocked-beneficiary.service';
38
38
  export * from './lib/services/budget-application.service';
39
39
  export * from './lib/services/budget-simulation.service';
40
40
  export * from './lib/services/budget.service';
41
+ export * from './lib/services/budget-setup.service';
42
+ export * from './lib/services/codebtors.service';
41
43
  export * from './lib/services/closure-wallet.service';
42
44
  export * from './lib/services/committee-assistant.service';
43
45
  export * from './lib/services/common.service';
@@ -216,3 +218,9 @@ export * from './lib/services/correspondence-manager.service';
216
218
  export * from './lib/services/correspondence-document-category.service';
217
219
  export * from './lib/services/cnf-correspondence-document-manager.service';
218
220
  export * from './lib/services/post-selection.service';
221
+ export * from './lib/services/guarantees-summary-service';
222
+ export * from './lib/services/pli-cnf-installment-simulator-config.service';
223
+ export * from './lib/services/pli-cnf-interest-rate-master.service';
224
+ export * from './lib/services/pli-cnf-use-anual-interest-rate.service';
225
+ export * from './lib/services/variable-interest-rate.service';
226
+ export * from './lib/services/variable-interest-name.service';
package/version.d.ts CHANGED
@@ -14,7 +14,7 @@ export declare const VERSION: {
14
14
  major: number;
15
15
  minor: number;
16
16
  patch: number;
17
- prerelease: any[];
17
+ prerelease: (string | number)[];
18
18
  build: any[];
19
19
  version: string;
20
20
  };
@@ -1,40 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { CommonListsComponent } from './common.lists.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../services/common.service";
5
- export class BackofficeCommonsComponent extends CommonListsComponent {
6
- static { this.BEST_SCENARIO_COLUMN_ID = '-6'; }
7
- constructor(commonService, cdRef) {
8
- super(commonService, cdRef);
9
- this.commonService = commonService;
10
- this.cdRef = cdRef;
11
- this.fullWidth = false;
12
- }
13
- ngOnInit() {
14
- super.ngOnInit();
15
- if (this.fullWidth) {
16
- const element = document.getElementById('mainContainer');
17
- if (element) {
18
- element.classList.remove('container');
19
- }
20
- }
21
- }
22
- ngOnDestroy() {
23
- if (this.fullWidth) {
24
- const element = document.getElementById('mainContainer');
25
- if (element) {
26
- element.classList.add('container');
27
- }
28
- }
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BackofficeCommonsComponent, deps: [{ token: i1.CommonService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BackofficeCommonsComponent, selector: "app-backoffice-commons", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BackofficeCommonsComponent, decorators: [{
34
- type: Component,
35
- args: [{
36
- selector: 'app-backoffice-commons',
37
- template: ''
38
- }]
39
- }], ctorParameters: () => [{ type: i1.CommonService }, { type: i0.ChangeDetectorRef }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja29mZmljZS5jb21tb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9iYWNrb2ZmaWNlLmNvbW1vbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTWhFLE1BQU0sT0FBZ0IsMEJBQ3JCLFNBQVEsb0JBQW9CO2FBR1osNEJBQXVCLEdBQUcsSUFBSSxBQUFQLENBQVE7SUFHL0MsWUFBc0IsYUFBNEIsRUFBWSxLQUF3QjtRQUNyRixLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRFAsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBWSxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUZ0RixjQUFTLEdBQVksS0FBSyxDQUFDO0lBSTNCLENBQUM7SUFFRCxRQUFRO1FBQ1AsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekQsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDYixPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0YsQ0FBQztJQUNGLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN6RCxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNiLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDRixDQUFDO0lBQ0YsQ0FBQzsrR0E1Qm9CLDBCQUEwQjttR0FBMUIsMEJBQTBCLHFGQUZyQyxFQUFFOzs0RkFFUywwQkFBMEI7a0JBSi9DLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsUUFBUSxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQsIE9uRGVzdHJveSwgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21tb25MaXN0c0NvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uLmxpc3RzLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2FwcC1iYWNrb2ZmaWNlLWNvbW1vbnMnLFxyXG5cdHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFja29mZmljZUNvbW1vbnNDb21wb25lbnRcclxuXHRleHRlbmRzIENvbW1vbkxpc3RzQ29tcG9uZW50XHJcblx0aW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxyXG57XHJcblx0c3RhdGljIHJlYWRvbmx5IEJFU1RfU0NFTkFSSU9fQ09MVU1OX0lEID0gJy02JztcclxuXHRmdWxsV2lkdGg6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJvdGVjdGVkIGNvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2UsIHByb3RlY3RlZCBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuXHRcdHN1cGVyKGNvbW1vblNlcnZpY2UsIGNkUmVmKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0c3VwZXIubmdPbkluaXQoKTtcclxuXHRcdGlmICh0aGlzLmZ1bGxXaWR0aCkge1xyXG5cdFx0XHRjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW5Db250YWluZXInKTtcclxuXHRcdFx0aWYgKGVsZW1lbnQpIHtcclxuXHRcdFx0XHRlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2NvbnRhaW5lcicpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdGlmICh0aGlzLmZ1bGxXaWR0aCkge1xyXG5cdFx0XHRjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW5Db250YWluZXInKTtcclxuXHRcdFx0aWYgKGVsZW1lbnQpIHtcclxuXHRcdFx0XHRlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2NvbnRhaW5lcicpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -1,176 +0,0 @@
1
- import { Inject, LOCALE_ID, Component } from '@angular/core';
2
- import { UtilString, primeLocaleEs, EPermission, DateUtil } from 'ng-pli-util';
3
- import { FormUtil } from '../utils/form-util';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../services/common.service";
6
- export class CommonListsComponent {
7
- /** Static per page label */
8
- static { this.LABEL_RECORDS_PER_PAGE = 'Registros por página'; }
9
- constructor(commonService, cdRef) {
10
- this.commonService = commonService;
11
- this.cdRef = cdRef;
12
- }
13
- ngOnInit() {
14
- this.onCurrencyInit();
15
- this.primeLocaleEs = primeLocaleEs;
16
- }
17
- /** It prints the monCode */
18
- printCurrencyCode(currency) {
19
- return currency.monCodigoIso + '-' + currency.monMoneda;
20
- }
21
- /**
22
- * Init the info of currencies
23
- */
24
- onCurrencyInit() {
25
- // Subcription to the currency Subject
26
- this.commonService.onCurrencyChanged().subscribe((lCurrency) => {
27
- if (lCurrency) {
28
- this.lCurrency = lCurrency;
29
- this.lSICurrency = [];
30
- for (let key in this.lCurrency) {
31
- let currency = this.lCurrency[key];
32
- this.lSICurrency.push({
33
- label: this.printCurrencyCode(currency),
34
- value: currency
35
- });
36
- }
37
- }
38
- });
39
- // Subcription to the category Subject
40
- this.commonService.onCategoryChanged().subscribe((lCategory) => {
41
- if (lCategory) {
42
- this.lCategory = lCategory;
43
- this.lSICategory = [];
44
- for (let key in this.lCategory) {
45
- let category = this.lCategory[key];
46
- this.lSICategory.push({
47
- label: category.rubRubro,
48
- value: category
49
- });
50
- }
51
- }
52
- });
53
- // Subcription to the language Subject
54
- this.commonService.onLanguageChanged().subscribe((lLanguage) => {
55
- if (lLanguage) {
56
- this.lLanguage = lLanguage;
57
- }
58
- });
59
- // Subcription to the category Subject
60
- this.commonService.onExchangeRateChanged().subscribe((lExchangeRate) => {
61
- if (lExchangeRate) {
62
- this.lExchangeRate = lExchangeRate;
63
- this.adjustmentIsoExchange();
64
- }
65
- });
66
- // Subcription to the category Subject
67
- this.commonService.onProcessChanged().subscribe((lProcess) => {
68
- if (lProcess) {
69
- this.lProcess = lProcess;
70
- this.lSIProcess = [];
71
- for (let key in this.lProcess) {
72
- let process = this.lProcess[key];
73
- this.lSIProcess.push({
74
- label: process.proNombre,
75
- value: process
76
- });
77
- }
78
- }
79
- });
80
- this.commonService.initValues();
81
- }
82
- adjustmentIsoExchange() {
83
- // let i = 0;
84
- let lIsoExchage = [];
85
- for (let key in this.lExchangeRate) {
86
- let exchangeRate = this.lExchangeRate[key];
87
- let isoExchage = [];
88
- if (lIsoExchage[exchangeRate.monedaOrigen.monCodigoIso] !== undefined) {
89
- isoExchage = lIsoExchage[exchangeRate.monedaOrigen.monCodigoIso];
90
- }
91
- isoExchage[exchangeRate.monedaDestino.monCodigoIso] = exchangeRate;
92
- lIsoExchage[exchangeRate.monedaOrigen.monCodigoIso] = isoExchage;
93
- // console.log(i);
94
- // i++;
95
- }
96
- if (lIsoExchage) {
97
- this.lIsoExchangeRate = [];
98
- for (let key in lIsoExchage) {
99
- for (let keyIso in lIsoExchage[key]) {
100
- let exchangeRate = lIsoExchage[key][keyIso];
101
- this.lIsoExchangeRate[key + '-' + keyIso] = exchangeRate.tcamTasaCambio;
102
- }
103
- }
104
- }
105
- }
106
- /** It returns a boolean if the control has any error */
107
- hasErrors(formControl) {
108
- return FormUtil.hasErrors(formControl);
109
- }
110
- /** It returns a boolean if the control has a specific error */
111
- hasError(formControl, error) {
112
- return FormUtil.hasError(formControl, error);
113
- }
114
- /** It validates if form is valid */
115
- isFormValid(formGroup) {
116
- FormUtil.validateFormFields(formGroup);
117
- if (formGroup.valid) {
118
- return true;
119
- }
120
- else {
121
- console.log('Invalid controls: ', FormUtil.getInvalidControls(formGroup));
122
- return false;
123
- }
124
- }
125
- copyMessage(val) {
126
- UtilString.copyMessage(val);
127
- }
128
- p(x) {
129
- return EPermission[x];
130
- }
131
- cloneObject(obj) {
132
- if (null == obj || 'object' != typeof obj)
133
- return obj;
134
- var copy = obj.constructor();
135
- for (var attr in obj) {
136
- if (obj.hasOwnProperty(attr))
137
- copy[attr] = this.cloneObject(obj[attr]);
138
- }
139
- return copy;
140
- }
141
- getActualDate(reload = false) {
142
- reload = reload === undefined ? !UtilString.isValid(this.actualDate) : reload;
143
- return new Promise((resolve, reject) => {
144
- if (reload) {
145
- this.commonService.getActualDate().subscribe((actualDate) => {
146
- this.actualDate = actualDate;
147
- resolve(actualDate);
148
- }, (error) => {
149
- reject(error);
150
- });
151
- }
152
- else {
153
- resolve(this.actualDate);
154
- }
155
- });
156
- }
157
- get timeZoneBogota() {
158
- return DateUtil.UTC_AMERICA_BOGOTA;
159
- }
160
- get utcBogota() {
161
- return DateUtil.UTC_AMERICA_BOGOTA;
162
- }
163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommonListsComponent, deps: [{ token: i1.CommonService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
164
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CommonListsComponent, selector: "app-administration", ngImport: i0, template: '', isInline: true }); }
165
- }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CommonListsComponent, decorators: [{
167
- type: Component,
168
- args: [{
169
- selector: 'app-administration',
170
- template: ''
171
- }]
172
- }], ctorParameters: () => [{ type: i1.CommonService }, { type: i0.ChangeDetectorRef }], propDecorators: { locale: [{
173
- type: Inject,
174
- args: [LOCALE_ID]
175
- }] } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmxpc3RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9jb21tb24ubGlzdHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUNOLFVBQVUsRUFLVixhQUFhLEVBR2IsV0FBVyxFQUNYLFFBQVEsRUFDUixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQU05QyxNQUFNLE9BQWdCLG9CQUFvQjtJQUN6Qyw0QkFBNEI7YUFDckIsMkJBQXNCLEdBQVcsc0JBQXNCLEFBQWpDLENBQWtDO0lBaUMvRCxZQUFzQixhQUE0QixFQUFZLEtBQXdCO1FBQWhFLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQVksVUFBSyxHQUFMLEtBQUssQ0FBbUI7SUFBRyxDQUFDO0lBRTFGLFFBQVE7UUFDUCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDcEMsQ0FBQztJQUVELDRCQUE0QjtJQUNwQixpQkFBaUIsQ0FBQyxRQUFnQjtRQUN6QyxPQUFPLFFBQVEsQ0FBQyxZQUFZLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYztRQUNiLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBbUIsRUFBRSxFQUFFO1lBQ3hFLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7Z0JBQzNC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QUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWixJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FDM0MsQ0FBQyxVQUFrQixFQUFFLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO29CQUM3QixPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3JCLENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNULE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDZixDQUFDLENBQ0QsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzFCLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDakIsT0FBTyxRQUFRLENBQUMsa0JBQWtCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksU0FBUztRQUNaLE9BQU8sUUFBUSxDQUFDLGtCQUFrQixDQUFDO0lBQ3BDLENBQUM7K0dBdE1vQixvQkFBb0I7bUdBQXBCLG9CQUFvQiwwREFGL0IsRUFBRTs7NEZBRVMsb0JBQW9CO2tCQUp6QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxFQUFFO2lCQUNaO2tIQU0wQixNQUFNO3NCQUEvQixNQUFNO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQsIEluamVjdCwgTE9DQUxFX0lELCBDb21wb25lbnQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuXHRVdGlsU3RyaW5nLFxyXG5cdE1vbmVkYSxcclxuXHRUYXNhQ2FtYmlvLFxyXG5cdFNlbGVjdEl0ZW0sXHJcblx0UnVicm8sXHJcblx0cHJpbWVMb2NhbGVFcyxcclxuXHRJZGlvbWEsXHJcblx0UHJvY2VzbyxcclxuXHRFUGVybWlzc2lvbixcclxuXHREYXRlVXRpbFxyXG59IGZyb20gJ25nLXBsaS11dGlsJztcclxuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybVV0aWwgfSBmcm9tICcuLi91dGlscy9mb3JtLXV0aWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtYWRtaW5pc3RyYXRpb24nLFxyXG5cdHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29tbW9uTGlzdHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdC8qKiBTdGF0aWMgcGVyIHBhZ2UgbGFiZWwgKi9cclxuXHRzdGF0aWMgTEFCRUxfUkVDT1JEU19QRVJfUEFHRTogc3RyaW5nID0gJ1JlZ2lzdHJvcyBwb3IgcMOhZ2luYSc7XHJcblxyXG5cdC8qKiAqL1xyXG5cdEBJbmplY3QoTE9DQUxFX0lEKSBwdWJsaWMgbG9jYWxlOiBzdHJpbmc7XHJcblx0LyoqIExpc3Qgb2YgY3VycmVuY3kgKi9cclxuXHRsQ3VycmVuY3k6IE1vbmVkYVtdO1xyXG5cdC8qKiBMaXN0IG9mIGN1cnJlbmN5ICovXHJcblx0bFNJQ3VycmVuY3k6IFNlbGVjdEl0ZW1bXTtcclxuXHQvKiogVGhlIHN1YnNjcmlwdGlvbiBvZiB0aGUgY3VycmVuY2llcyAqL1xyXG5cclxuXHQvKiogTGlzdCBvZiBjYXRlZ29yaWVzICovXHJcblx0bENhdGVnb3J5OiBSdWJyb1tdO1xyXG5cdC8qKiBMaXN0IG9mIGNhdGVnb3J5ICovXHJcblx0bFNJQ2F0ZWdvcnk6IFNlbGVjdEl0ZW1bXTtcclxuXHQvKiogVGhlIHN1YnNjcmlwdGlvbiBvZiB0aGUgY2F0ZWdvcmllcyAqL1xyXG5cclxuXHQvKiogTGlzdCBvZiBjYXRlZ29yaWVzICovXHJcblx0bEV4Y2hhbmdlUmF0ZTogVGFzYUNhbWJpb1tdO1xyXG5cdC8qKiBMaXN0IG9mIGV4Y2hhbmdlIHJhdGUgYnkgSVNPIG9yaWdpbiAtIGRlc3Rpbnk6IFVTRC1DT1AgKi9cclxuXHRsSXNvRXhjaGFuZ2VSYXRlOiBhbnk7XHJcblx0LyoqICovXHJcblx0cHJpbWVMb2NhbGVFczogYW55O1xyXG5cclxuXHQvKiogTGlzdCBvZiBsYW5ndWFnZSAqL1xyXG5cdGxMYW5ndWFnZTogSWRpb21hW107XHJcblxyXG5cdC8qKiBMaXN0IG9mIFByb2Nlc3MgKi9cclxuXHRsUHJvY2VzczogUHJvY2Vzb1tdO1xyXG5cdC8qKiBMaXN0IG9mIHByb2Nlc3MgKi9cclxuXHRsU0lQcm9jZXNzOiBTZWxlY3RJdGVtW107XHJcblx0LyoqIGdldE1vbWVudCBtb21lbnQgaW5zdGFuY2UgKi9cclxuXHRhY3R1YWxEYXRlOiBhbnk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLCBwcm90ZWN0ZWQgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMub25DdXJyZW5jeUluaXQoKTtcclxuXHRcdHRoaXMucHJpbWVMb2NhbGVFcyA9IHByaW1lTG9jYWxlRXM7XHJcblx0fVxyXG5cclxuXHQvKiogSXQgcHJpbnRzIHRoZSBtb25Db2RlICovXHJcblx0cHJpdmF0ZSBwcmludEN1cnJlbmN5Q29kZShjdXJyZW5jeTogTW9uZWRhKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBjdXJyZW5jeS5tb25Db2RpZ29Jc28gKyAnLScgKyBjdXJyZW5jeS5tb25Nb25lZGE7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBJbml0IHRoZSBpbmZvIG9mIGN1cnJlbmNpZXNcclxuXHQgKi9cclxuXHRvbkN1cnJlbmN5SW5pdCgpIHtcclxuXHRcdC8vIFN1YmNyaXB0aW9uIHRvIHRoZSBjdXJyZW5jeSBTdWJqZWN0XHJcblx0XHR0aGlzLmNvbW1vblNlcnZpY2Uub25DdXJyZW5jeUNoYW5nZWQoKS5zdWJzY3JpYmUoKGxDdXJyZW5jeTogTW9uZWRhW10pID0+IHtcclxuXHRcdFx0aWYgKGxDdXJyZW5jeSkge1xyXG5cdFx0XHRcdHRoaXMubEN1cnJlbmN5ID0gbEN1cnJlbmN5O1xyXG5cdFx0XHRcdHRoaXMubFNJQ3VycmVuY3kgPSBbXTtcclxuXHRcdFx0XHRmb3IgKGxldCBrZXkgaW4gdGhpcy5sQ3VycmVuY3kpIHtcclxuXHRcdFx0XHRcdGxldCBjdXJyZW5jeTogTW9uZWRhID0gdGhpcy5sQ3VycmVuY3lba2V5XTtcclxuXHRcdFx0XHRcdHRoaXMubFNJQ3VycmVuY3kucHVzaCh7XHJcblx0XHRcdFx0XHRcdGxhYmVsOiB0aGlzLnByaW50Q3VycmVuY3lDb2RlKGN1cnJlbmN5KSxcclxuXHRcdFx0XHRcdFx0dmFsdWU6IGN1cnJlbmN5XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0Ly8gU3ViY3JpcHRpb24gdG8gdGhlIGNhdGVnb3J5IFN1YmplY3RcclxuXHRcdHRoaXMuY29tbW9uU2VydmljZS5vbkNhdGVnb3J5Q2hhbmdlZCgpLnN1YnNjcmliZSgobENhdGVnb3J5OiBSdWJyb1tdKSA9PiB7XHJcblx0XHRcdGlmIChsQ2F0ZWdvcnkpIHtcclxuXHRcdFx0XHR0aGlzLmxDYXRlZ29yeSA9IGxDYXRlZ29yeTtcclxuXHRcdFx0XHR0aGlzLmxTSUNhdGVnb3J5ID0gW107XHJcblx0XHRcdFx0Zm9yIChsZXQga2V5IGluIHRoaXMubENhdGVnb3J5KSB7XHJcblx0XHRcdFx0XHRsZXQgY2F0ZWdvcnk6IFJ1YnJvID0gdGhpcy5sQ2F0ZWdvcnlba2V5XTtcclxuXHRcdFx0XHRcdHRoaXMubFNJQ2F0ZWdvcnkucHVzaCh7XHJcblx0XHRcdFx0XHRcdGxhYmVsOiBjYXRlZ29yeS5ydWJSdWJybyxcclxuXHRcdFx0XHRcdFx0dmFsdWU6IGNhdGVnb3J5XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0Ly8gU3ViY3JpcHRpb24gdG8gdGhlIGxhbmd1YWdlIFN1YmplY3RcclxuXHRcdHRoaXMuY29tbW9uU2VydmljZS5vbkxhbmd1YWdlQ2hhbmdlZCgpLnN1YnNjcmliZSgobExhbmd1YWdlOiBJZGlvbWFbXSkgPT4ge1xyXG5cdFx0XHRpZiAobExhbmd1YWdlKSB7XHJcblx0XHRcdFx0dGhpcy5sTGFuZ3VhZ2UgPSBsTGFuZ3VhZ2U7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdC8vIFN1YmNyaXB0aW9uIHRvIHRoZSBjYXRlZ29yeSBTdWJqZWN0XHJcblx0XHR0aGlzLmNvbW1vblNlcnZpY2Uub25FeGNoYW5nZVJhdGVDaGFuZ2VkKCkuc3Vic2NyaWJlKChsRXhjaGFuZ2VSYXRlOiBUYXNhQ2FtYmlvW10pID0+IHtcclxuXHRcdFx0aWYgKGxFeGNoYW5nZVJhdGUpIHtcclxuXHRcdFx0XHR0aGlzLmxFeGNoYW5nZVJhdGUgPSBsRXhjaGFuZ2VSYXRlO1xyXG5cdFx0XHRcdHRoaXMuYWRqdXN0bWVudElzb0V4Y2hhbmdlKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdC8vIFN1YmNyaXB0aW9uIHRvIHRoZSBjYXRlZ29yeSBTdWJqZWN0XHJcblx0XHR0aGlzLmNvbW1vblNlcnZpY2Uub25Qcm9jZXNzQ2hhbmdlZCgpLnN1YnNjcmliZSgobFByb2Nlc3M6IFByb2Nlc29bXSkgPT4ge1xyXG5cdFx0XHRpZiAobFByb2Nlc3MpIHtcclxuXHRcdFx0XHR0aGlzLmxQcm9jZXNzID0gbFByb2Nlc3M7XHJcblx0XHRcdFx0dGhpcy5sU0lQcm9jZXNzID0gW107XHJcblx0XHRcdFx0Zm9yIChsZXQga2V5IGluIHRoaXMubFByb2Nlc3MpIHtcclxuXHRcdFx0XHRcdGxldCBwcm9jZXNzOiBQcm9jZXNvID0gdGhpcy5sUHJvY2Vzc1trZXldO1xyXG5cdFx0XHRcdFx0dGhpcy5sU0lQcm9jZXNzLnB1c2goe1xyXG5cdFx0XHRcdFx0XHRsYWJlbDogcHJvY2Vzcy5wcm9Ob21icmUsXHJcblx0XHRcdFx0XHRcdHZhbHVlOiBwcm9jZXNzXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0dGhpcy5jb21tb25TZXJ2aWNlLmluaXRWYWx1ZXMoKTtcclxuXHR9XHJcblxyXG5cdGFkanVzdG1lbnRJc29FeGNoYW5nZSgpIHtcclxuXHRcdC8vIGxldCBpID0gMDtcclxuXHRcdGxldCBsSXNvRXhjaGFnZSA9IFtdO1xyXG5cdFx0Zm9yIChsZXQga2V5IGluIHRoaXMubEV4Y2hhbmdlUmF0ZSkge1xyXG5cdFx0XHRsZXQgZXhjaGFuZ2VSYXRlOiBUYXNhQ2FtYmlvID0gdGhpcy5sRXhjaGFuZ2VSYXRlW2tleV07XHJcblx0XHRcdGxldCBpc29FeGNoYWdlID0gW107XHJcblx0XHRcdGlmIChsSXNvRXhjaGFnZVtleGNoYW5nZVJhdGUubW9uZWRhT3JpZ2VuLm1vbkNvZGlnb0lzb10gIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdGlzb0V4Y2hhZ2UgPSBsSXNvRXhjaGFnZVtleGNoYW5nZVJhdGUubW9uZWRhT3JpZ2VuLm1vbkNvZGlnb0lzb107XHJcblx0XHRcdH1cclxuXHRcdFx0aXNvRXhjaGFnZVtleGNoYW5nZVJhdGUubW9uZWRhRGVzdGluby5tb25Db2RpZ29Jc29dID0gZXhjaGFuZ2VSYXRlO1xyXG5cdFx0XHRsSXNvRXhjaGFnZVtleGNoYW5nZVJhdGUubW9uZWRhT3JpZ2VuLm1vbkNvZGlnb0lzb10gPSBpc29FeGNoYWdlO1xyXG5cdFx0XHQvLyBjb25zb2xlLmxvZyhpKTtcclxuXHRcdFx0Ly8gaSsrO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGxJc29FeGNoYWdlKSB7XHJcblx0XHRcdHRoaXMubElzb0V4Y2hhbmdlUmF0ZSA9IFtdO1xyXG5cdFx0XHRmb3IgKGxldCBrZXkgaW4gbElzb0V4Y2hhZ2UpIHtcclxuXHRcdFx0XHRmb3IgKGxldCBrZXlJc28gaW4gbElzb0V4Y2hhZ2Vba2V5XSkge1xyXG5cdFx0XHRcdFx0bGV0IGV4Y2hhbmdlUmF0ZTogVGFzYUNhbWJpbyA9IGxJc29FeGNoYWdlW2tleV1ba2V5SXNvXTtcclxuXHRcdFx0XHRcdHRoaXMubElzb0V4Y2hhbmdlUmF0ZVtrZXkgKyAnLScgKyBrZXlJc29dID0gZXhjaGFuZ2VSYXRlLnRjYW1UYXNhQ2FtYmlvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqIEl0IHJldHVybnMgYSBib29sZWFuIGlmIHRoZSBjb250cm9sIGhhcyBhbnkgZXJyb3IgKi9cclxuXHRoYXNFcnJvcnMoZm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIEZvcm1VdGlsLmhhc0Vycm9ycyhmb3JtQ29udHJvbCk7XHJcblx0fVxyXG5cdC8qKiBJdCByZXR1cm5zIGEgYm9vbGVhbiBpZiB0aGUgY29udHJvbCBoYXMgYSBzcGVjaWZpYyBlcnJvciAqL1xyXG5cdGhhc0Vycm9yKGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2wsIGVycm9yOiBzdHJpbmcpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiBGb3JtVXRpbC5oYXNFcnJvcihmb3JtQ29udHJvbCwgZXJyb3IpO1xyXG5cdH1cclxuXHJcblx0LyoqIEl0IHZhbGlkYXRlcyBpZiBmb3JtIGlzIHZhbGlkICovXHJcblx0aXNGb3JtVmFsaWQoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKTogYm9vbGVhbiB7XHJcblx0XHRGb3JtVXRpbC52YWxpZGF0ZUZvcm1GaWVsZHMoZm9ybUdyb3VwKTtcclxuXHRcdGlmIChmb3JtR3JvdXAudmFsaWQpIHtcclxuXHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRjb25zb2xlLmxvZygnSW52YWxpZCBjb250cm9sczogJywgRm9ybVV0aWwuZ2V0SW52YWxpZENvbnRyb2xzKGZvcm1Hcm91cCkpO1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRjb3B5TWVzc2FnZSh2YWw6IHN0cmluZykge1xyXG5cdFx0VXRpbFN0cmluZy5jb3B5TWVzc2FnZSh2YWwpO1xyXG5cdH1cclxuXHJcblx0cCh4KSB7XHJcblx0XHRyZXR1cm4gRVBlcm1pc3Npb25beF07XHJcblx0fVxyXG5cclxuXHRjbG9uZU9iamVjdChvYmopIHtcclxuXHRcdGlmIChudWxsID09IG9iaiB8fCAnb2JqZWN0JyAhPSB0eXBlb2Ygb2JqKSByZXR1cm4gb2JqO1xyXG5cdFx0dmFyIGNvcHkgPSBvYmouY29uc3RydWN0b3IoKTtcclxuXHRcdGZvciAodmFyIGF0dHIgaW4gb2JqKSB7XHJcblx0XHRcdGlmIChvYmouaGFzT3duUHJvcGVydHkoYXR0cikpIGNvcHlbYXR0cl0gPSB0aGlzLmNsb25lT2JqZWN0KG9ialthdHRyXSk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gY29weTtcclxuXHR9XHJcblxyXG5cdGdldEFjdHVhbERhdGUocmVsb2FkOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPHN0cmluZz4ge1xyXG5cdFx0cmVsb2FkID0gcmVsb2FkID09PSB1bmRlZmluZWQgPyAhVXRpbFN0cmluZy5pc1ZhbGlkKHRoaXMuYWN0dWFsRGF0ZSkgOiByZWxvYWQ7XHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHRpZiAocmVsb2FkKSB7XHJcblx0XHRcdFx0dGhpcy5jb21tb25TZXJ2aWNlLmdldEFjdHVhbERhdGUoKS5zdWJzY3JpYmUoXHJcblx0XHRcdFx0XHQoYWN0dWFsRGF0ZTogc3RyaW5nKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMuYWN0dWFsRGF0ZSA9IGFjdHVhbERhdGU7XHJcblx0XHRcdFx0XHRcdHJlc29sdmUoYWN0dWFsRGF0ZSk7XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0KGVycm9yKSA9PiB7XHJcblx0XHRcdFx0XHRcdHJlamVjdChlcnJvcik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRyZXNvbHZlKHRoaXMuYWN0dWFsRGF0ZSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Z2V0IHRpbWVab25lQm9nb3RhKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gRGF0ZVV0aWwuVVRDX0FNRVJJQ0FfQk9HT1RBO1xyXG5cdH1cclxuXHJcblx0Z2V0IHV0Y0JvZ290YSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIERhdGVVdGlsLlVUQ19BTUVSSUNBX0JPR09UQTtcclxuXHR9XHJcbn1cclxuIl19