ng-pli-commons 1.0.134 → 1.0.136

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 (227) hide show
  1. package/esm2022/lib/components/backoffice.commons.component.mjs +41 -0
  2. package/esm2022/lib/components/common.lists.component.mjs +177 -0
  3. package/esm2022/lib/components/configuration-token/configuration-token-subject.service.mjs +23 -0
  4. package/esm2022/lib/components/configuration-token/configuration-token.component.mjs +665 -0
  5. package/esm2022/lib/components/configuration-token/guarantee-token/guarantee-token.component.mjs +103 -0
  6. package/esm2022/lib/components/configuration-token/snapshot-token/snapshot-token.component.mjs +108 -0
  7. package/esm2022/lib/components/configuration.commons.component.mjs +41 -0
  8. package/esm2022/lib/components/dashboard.commons.component.mjs +85 -0
  9. package/esm2022/lib/components/dynamic-filter/dynamic-filter.component.mjs +131 -0
  10. package/esm2022/lib/components/excel-to-json/excel-to-json.component.mjs +54 -0
  11. package/esm2022/lib/components/frontoffice.commons.component.mjs +89 -0
  12. package/esm2022/lib/components/pdf-analyzer/pdf-analyzer.component.mjs +162 -0
  13. package/esm2022/lib/components/pdf-config/pdf-config.component.mjs +170 -0
  14. package/esm2022/lib/components/pdf-generator/pdf-generator.component.mjs +207 -0
  15. package/esm2022/lib/components/pdf-merge-visualizer/pdf-merge-visualizer.component.mjs +307 -0
  16. package/esm2022/lib/components/pdf-visualizer/pdf-visualizer.component.mjs +387 -0
  17. package/esm2022/lib/components/progress-bar/progress-bar.component.mjs +92 -0
  18. package/esm2022/lib/components/segmentation-tokens/segmentation-tokens.component.mjs +199 -0
  19. package/esm2022/lib/components/select-ppp/select-ppp.component.mjs +200 -0
  20. package/esm2022/lib/components/show-hide-columns/show-hide-columns-table.component.mjs +116 -0
  21. package/esm2022/lib/components/token/token.component.mjs +1047 -0
  22. package/esm2022/lib/components/tokens-calculator/tokens-calculator.component.mjs +128 -0
  23. package/esm2022/lib/directives/currency-colfuturo-formatter.directive.mjs +48 -0
  24. package/esm2022/lib/directives/currency-decimal-colfuturo-formatter.directive.mjs +35 -0
  25. package/esm2022/lib/ng-pli-commons.module.mjs +385 -0
  26. package/esm2022/lib/ng-pli-commons.service.mjs +14 -0
  27. package/esm2022/lib/pipes/currency-colfuturo.pipe.mjs +36 -0
  28. package/esm2022/lib/pipes/currency-decimal-colfuturo.pipe.mjs +39 -0
  29. package/esm2022/lib/pipes/currency-print-colfuturo.pipe.mjs +34 -0
  30. package/esm2022/lib/pipes/thousands.pipe.mjs +61 -0
  31. package/esm2022/lib/services/application-fill-percentage.service.mjs +30 -0
  32. package/esm2022/lib/services/application-pdf-form.service.mjs +27 -0
  33. package/esm2022/lib/services/application-tag.service.mjs +56 -0
  34. package/esm2022/lib/services/application.service.mjs +253 -0
  35. package/esm2022/lib/services/assign-task.service.mjs +30 -0
  36. package/esm2022/lib/services/authentication.service.mjs +133 -0
  37. package/esm2022/lib/services/blocked-beneficiary.service.mjs +42 -0
  38. package/esm2022/lib/services/budget-application.service.mjs +265 -0
  39. package/esm2022/lib/services/budget-setup.service.mjs +26 -0
  40. package/esm2022/lib/services/budget-simulation.service.mjs +65 -0
  41. package/esm2022/lib/services/budget.service.mjs +205 -0
  42. package/esm2022/lib/services/closure-wallet.service.mjs +39 -0
  43. package/esm2022/lib/services/cnf-correspondence-document-manager.service.mjs +39 -0
  44. package/esm2022/lib/services/codebtors.service.mjs +28 -0
  45. package/esm2022/lib/services/committee-assistant.service.mjs +55 -0
  46. package/esm2022/lib/services/committee-money.service.mjs +44 -0
  47. package/esm2022/lib/services/committee-pdf.service.mjs +27 -0
  48. package/esm2022/lib/services/committee-snapshot.service.mjs +60 -0
  49. package/esm2022/lib/services/common-info.service.mjs +51 -0
  50. package/esm2022/lib/services/common.service.mjs +285 -0
  51. package/esm2022/lib/services/configuration-document.service.mjs +297 -0
  52. package/esm2022/lib/services/configuration-minisite.service.mjs +26 -0
  53. package/esm2022/lib/services/configuration.service.mjs +53 -0
  54. package/esm2022/lib/services/correspondence-document-category.service.mjs +31 -0
  55. package/esm2022/lib/services/correspondence-manager.service.mjs +74 -0
  56. package/esm2022/lib/services/credit-score.service.mjs +48 -0
  57. package/esm2022/lib/services/credit-study.service.mjs +292 -0
  58. package/esm2022/lib/services/cube.service.mjs +27 -0
  59. package/esm2022/lib/services/data-form-history.service.mjs +25 -0
  60. package/esm2022/lib/services/data-form.service.mjs +176 -0
  61. package/esm2022/lib/services/data-letter-segmentation.service.mjs +64 -0
  62. package/esm2022/lib/services/document-analysis-auto.service.mjs +27 -0
  63. package/esm2022/lib/services/document-history.service.mjs +43 -0
  64. package/esm2022/lib/services/document-management.service.mjs +57 -0
  65. package/esm2022/lib/services/document-process.service.mjs +27 -0
  66. package/esm2022/lib/services/document-validation-attempt.service.mjs +32 -0
  67. package/esm2022/lib/services/document.service.mjs +144 -0
  68. package/esm2022/lib/services/documentary.type.service.mjs +69 -0
  69. package/esm2022/lib/services/email.service.mjs +30 -0
  70. package/esm2022/lib/services/evaluation.service.mjs +181 -0
  71. package/esm2022/lib/services/export-excel.service.mjs +32 -0
  72. package/esm2022/lib/services/file.service.mjs +153 -0
  73. package/esm2022/lib/services/form.service.mjs +112 -0
  74. package/esm2022/lib/services/gic-client-disbursement-metadata.service.mjs +31 -0
  75. package/esm2022/lib/services/gic-client.service.mjs +49 -0
  76. package/esm2022/lib/services/gic-cnf-bankvision-transaction.service.mjs +31 -0
  77. package/esm2022/lib/services/gic-cnf-closing-date.service.mjs +34 -0
  78. package/esm2022/lib/services/gic-cnf-maintenance.service.mjs +30 -0
  79. package/esm2022/lib/services/gic-collection.service.mjs +53 -0
  80. package/esm2022/lib/services/gic-disbursement.service.mjs +39 -0
  81. package/esm2022/lib/services/gic-extract.service.mjs +41 -0
  82. package/esm2022/lib/services/gic-log.service.mjs +41 -0
  83. package/esm2022/lib/services/gic-payment-application.service.mjs +35 -0
  84. package/esm2022/lib/services/gic-payment-plan-cube.service.mjs +27 -0
  85. package/esm2022/lib/services/gic-payment-plan.service.mjs +32 -0
  86. package/esm2022/lib/services/gic-trm.service.mjs +27 -0
  87. package/esm2022/lib/services/global.show.task.service.mjs +37 -0
  88. package/esm2022/lib/services/guarantee-document.service.mjs +52 -0
  89. package/esm2022/lib/services/guarantee-enrollment.service.mjs +37 -0
  90. package/esm2022/lib/services/guarantee.service.mjs +128 -0
  91. package/esm2022/lib/services/guarantees-summary-service.mjs +26 -0
  92. package/esm2022/lib/services/hash.service.mjs +36 -0
  93. package/esm2022/lib/services/import-data.service.mjs +27 -0
  94. package/esm2022/lib/services/import-excel-gic.service.mjs +53 -0
  95. package/esm2022/lib/services/initial-configuration-gic-parameters.service.mjs +51 -0
  96. package/esm2022/lib/services/initial-record.service.mjs +51 -0
  97. package/esm2022/lib/services/integration-ado.service.mjs +54 -0
  98. package/esm2022/lib/services/interaction-application-user.service.mjs +81 -0
  99. package/esm2022/lib/services/interest-adjustment.service.mjs +34 -0
  100. package/esm2022/lib/services/keys-assignation.service.mjs +127 -0
  101. package/esm2022/lib/services/legalization.service.mjs +150 -0
  102. package/esm2022/lib/services/letter-campaing.service.mjs +49 -0
  103. package/esm2022/lib/services/letter-task-mapping.service.mjs +40 -0
  104. package/esm2022/lib/services/log.service.mjs +41 -0
  105. package/esm2022/lib/services/maintenance.service.mjs +86 -0
  106. package/esm2022/lib/services/master-category.service.mjs +66 -0
  107. package/esm2022/lib/services/master-program.service.mjs +78 -0
  108. package/esm2022/lib/services/master-university.service.mjs +79 -0
  109. package/esm2022/lib/services/migration-plis.service.mjs +27 -0
  110. package/esm2022/lib/services/migration-survey-queue.service.mjs +24 -0
  111. package/esm2022/lib/services/openkm-document.service.mjs +27 -0
  112. package/esm2022/lib/services/page.service.mjs +38 -0
  113. package/esm2022/lib/services/partner-system.service.mjs +30 -0
  114. package/esm2022/lib/services/partner.service.mjs +34 -0
  115. package/esm2022/lib/services/pdf-analyzer.service.mjs +33 -0
  116. package/esm2022/lib/services/people-master.service.mjs +42 -0
  117. package/esm2022/lib/services/permission.service.mjs +29 -0
  118. package/esm2022/lib/services/pli-cnf-acuity-fields.service.mjs +34 -0
  119. package/esm2022/lib/services/pli-cnf-app-card-filter.service.mjs +40 -0
  120. package/esm2022/lib/services/pli-cnf-appointment-type.service.mjs +41 -0
  121. package/esm2022/lib/services/pli-cnf-budget-program-type.service.mjs +54 -0
  122. package/esm2022/lib/services/pli-cnf-budget.service.mjs +31 -0
  123. package/esm2022/lib/services/pli-cnf-cloning.service.mjs +27 -0
  124. package/esm2022/lib/services/pli-cnf-committee-pdf-config-table-config.service.mjs +47 -0
  125. package/esm2022/lib/services/pli-cnf-committee-pdf-gen-status.service.mjs +30 -0
  126. package/esm2022/lib/services/pli-cnf-committee-valpro-columns.service.mjs +42 -0
  127. package/esm2022/lib/services/pli-cnf-committee-visualization-mode.service.mjs +42 -0
  128. package/esm2022/lib/services/pli-cnf-committee.service.mjs +66 -0
  129. package/esm2022/lib/services/pli-cnf-config-minisite.service.mjs +90 -0
  130. package/esm2022/lib/services/pli-cnf-configuration-credit-study.service.mjs +41 -0
  131. package/esm2022/lib/services/pli-cnf-document-management.service.mjs +40 -0
  132. package/esm2022/lib/services/pli-cnf-dynamic-keys-assign.service.mjs +52 -0
  133. package/esm2022/lib/services/pli-cnf-evaluation-task-mailing.service.mjs +31 -0
  134. package/esm2022/lib/services/pli-cnf-evaluation-task-template.service.mjs +39 -0
  135. package/esm2022/lib/services/pli-cnf-evaluation-task.service.mjs +112 -0
  136. package/esm2022/lib/services/pli-cnf-evaluation-template.service.mjs +95 -0
  137. package/esm2022/lib/services/pli-cnf-form-edit.service.mjs +68 -0
  138. package/esm2022/lib/services/pli-cnf-form-multiaplicacion.service.mjs +46 -0
  139. package/esm2022/lib/services/pli-cnf-guarantee-documents-template.service.mjs +40 -0
  140. package/esm2022/lib/services/pli-cnf-guarantee-token.service.mjs +42 -0
  141. package/esm2022/lib/services/pli-cnf-header.service.mjs +39 -0
  142. package/esm2022/lib/services/pli-cnf-indicator.service.mjs +39 -0
  143. package/esm2022/lib/services/pli-cnf-information-system.service.mjs +24 -0
  144. package/esm2022/lib/services/pli-cnf-interaction.service.mjs +78 -0
  145. package/esm2022/lib/services/pli-cnf-letter-template-type.service.mjs +29 -0
  146. package/esm2022/lib/services/pli-cnf-letter-template.service.mjs +48 -0
  147. package/esm2022/lib/services/pli-cnf-look-and-feel.service.mjs +28 -0
  148. package/esm2022/lib/services/pli-cnf-mail.service.mjs +30 -0
  149. package/esm2022/lib/services/pli-cnf-menu-form.service.mjs +34 -0
  150. package/esm2022/lib/services/pli-cnf-migration-plis-field-budget.service.mjs +34 -0
  151. package/esm2022/lib/services/pli-cnf-migration-plis-field.service.mjs +47 -0
  152. package/esm2022/lib/services/pli-cnf-migration-status-plis.service.mjs +44 -0
  153. package/esm2022/lib/services/pli-cnf-page-section-form.service.mjs +66 -0
  154. package/esm2022/lib/services/pli-cnf-page-sub-process.service.mjs +25 -0
  155. package/esm2022/lib/services/pli-cnf-pdfs.service.mjs +31 -0
  156. package/esm2022/lib/services/pli-cnf-profile-form.service.mjs +40 -0
  157. package/esm2022/lib/services/pli-cnf-profile-user.service.mjs +49 -0
  158. package/esm2022/lib/services/pli-cnf-project-summary.service.mjs +39 -0
  159. package/esm2022/lib/services/pli-cnf-scenario.service.mjs +47 -0
  160. package/esm2022/lib/services/pli-cnf-segmentation.service.mjs +72 -0
  161. package/esm2022/lib/services/pli-cnf-snapshot-token.service.mjs +42 -0
  162. package/esm2022/lib/services/pli-cnf-status-flow-interaction.service.mjs +74 -0
  163. package/esm2022/lib/services/pli-cnf-status-flow.service.mjs +56 -0
  164. package/esm2022/lib/services/pli-cnf-support-document-category.service.mjs +47 -0
  165. package/esm2022/lib/services/pli-cnf-support-document.service.mjs +56 -0
  166. package/esm2022/lib/services/pli-cnf-survey-document.service.mjs +37 -0
  167. package/esm2022/lib/services/pli-cnf-survey-pdf.service.mjs +34 -0
  168. package/esm2022/lib/services/pli-cnf-survey.service.mjs +46 -0
  169. package/esm2022/lib/services/pli-cnf-task-group.service.mjs +33 -0
  170. package/esm2022/lib/services/pli-cnf-text-category.service.mjs +38 -0
  171. package/esm2022/lib/services/pli-cnf-text-option.service.mjs +39 -0
  172. package/esm2022/lib/services/pli-cnf-text.service.mjs +62 -0
  173. package/esm2022/lib/services/pli-cnf-type-text.service.mjs +45 -0
  174. package/esm2022/lib/services/pli-cnf-university-article.service.mjs +39 -0
  175. package/esm2022/lib/services/pli-cnf-user-calendar.service.mjs +36 -0
  176. package/esm2022/lib/services/pli-cnf-user-workspace.service.mjs +35 -0
  177. package/esm2022/lib/services/pli-cnf-valpro-keys.service.mjs +35 -0
  178. package/esm2022/lib/services/pli-cnf-workspace-segmentation.service.mjs +31 -0
  179. package/esm2022/lib/services/pli-message-type.service.mjs +40 -0
  180. package/esm2022/lib/services/pli-multiple-value-filter.service.mjs +39 -0
  181. package/esm2022/lib/services/pli-promocion-username.service.mjs +57 -0
  182. package/esm2022/lib/services/pli-seg-action-user.service.mjs +37 -0
  183. package/esm2022/lib/services/pli-segmentation.service.mjs +130 -0
  184. package/esm2022/lib/services/pli-tag-assignment.service.mjs +36 -0
  185. package/esm2022/lib/services/pli-tag.service.mjs +55 -0
  186. package/esm2022/lib/services/pli-user.service.mjs +51 -0
  187. package/esm2022/lib/services/plis-beneficiario.service.mjs +29 -0
  188. package/esm2022/lib/services/plis-estatus-change.service.mjs +30 -0
  189. package/esm2022/lib/services/post-selection.service.mjs +25 -0
  190. package/esm2022/lib/services/ppp.service.mjs +360 -0
  191. package/esm2022/lib/services/profile.service.mjs +60 -0
  192. package/esm2022/lib/services/progress-bar.service.mjs +40 -0
  193. package/esm2022/lib/services/promotion-score.service.mjs +44 -0
  194. package/esm2022/lib/services/registry-identifier.service.mjs +49 -0
  195. package/esm2022/lib/services/return-refund.service.mjs +53 -0
  196. package/esm2022/lib/services/segmentation-tokens.service.mjs +43 -0
  197. package/esm2022/lib/services/segmentation-user-service.service.mjs +94 -0
  198. package/esm2022/lib/services/segmentation.service.mjs +31 -0
  199. package/esm2022/lib/services/send-application.service.mjs +541 -0
  200. package/esm2022/lib/services/sesion-form.service.mjs +31 -0
  201. package/esm2022/lib/services/sesion.service.mjs +48 -0
  202. package/esm2022/lib/services/spinner.service.mjs +16 -0
  203. package/esm2022/lib/services/sponsorship-letter.service.mjs +68 -0
  204. package/esm2022/lib/services/status.service.mjs +104 -0
  205. package/esm2022/lib/services/summary-budget.service.mjs +24 -0
  206. package/esm2022/lib/services/survey-metadata.service.mjs +28 -0
  207. package/esm2022/lib/services/survey-queue.service.mjs +24 -0
  208. package/esm2022/lib/services/survey.service.mjs +52 -0
  209. package/esm2022/lib/services/tag-management.service.mjs +58 -0
  210. package/esm2022/lib/services/tasa.cambio.service.mjs +35 -0
  211. package/esm2022/lib/services/token-transformation.service.mjs +62 -0
  212. package/esm2022/lib/services/token.service.mjs +1477 -0
  213. package/esm2022/lib/services/university.service.mjs +50 -0
  214. package/esm2022/lib/services/upload-documents.service.mjs +60 -0
  215. package/esm2022/lib/services/user.service.mjs +28 -0
  216. package/esm2022/lib/services/visualization-committee.service.mjs +91 -0
  217. package/esm2022/lib/utils/custom-validator.mjs +95 -0
  218. package/esm2022/lib/utils/form-util.mjs +35 -0
  219. package/esm2022/lib/utils/formio-util.mjs +582 -0
  220. package/esm2022/lib/utils/version-commons.mjs +10 -0
  221. package/esm2022/ng-pli-commons.mjs +5 -0
  222. package/esm2022/public-api.mjs +226 -0
  223. package/esm2022/version.mjs +29 -0
  224. package/fesm2022/ng-pli-commons.mjs +696 -661
  225. package/fesm2022/ng-pli-commons.mjs.map +1 -1
  226. package/lib/services/send-application.service.d.ts +1 -0
  227. package/package.json +3 -1
@@ -0,0 +1,128 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { UtilString } from 'ng-pli-util';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/segmentation-tokens.service";
5
+ import * as i2 from "ngx-toastr";
6
+ import * as i3 from "@angular/common";
7
+ import * as i4 from "@angular/forms";
8
+ import * as i5 from "primeng/api";
9
+ import * as i6 from "primeng/picklist";
10
+ import * as i7 from "primeng/dropdown";
11
+ // import { SegmentationTokensService } from 'ng-pli-commons';
12
+ export class TokensCalculatorComponent {
13
+ static { this.CONDITIONAL_TOKEN_TYPE = 1; }
14
+ static { this.HIERARCHICAL_TOKEN_TYPE = 2; }
15
+ static { this.HIERARCHICAL_CATEGORY = 'Jerárquicos'; }
16
+ constructor(sTokensService, toastr) {
17
+ this.sTokensService = sTokensService;
18
+ this.toastr = toastr;
19
+ this.EQ_OPERATOR = '==';
20
+ this.NEQ_OPERATOR = '!=';
21
+ this.tokenType = this.conditionalTokenType;
22
+ this.operator = this.EQ_OPERATOR;
23
+ this.hierarchicalName = '';
24
+ this.positiveValue = '';
25
+ this.negativeValue = '';
26
+ this.source = [];
27
+ this.target = [];
28
+ }
29
+ get conditionalTokenType() {
30
+ return TokensCalculatorComponent.CONDITIONAL_TOKEN_TYPE.toString();
31
+ }
32
+ get hierarchicalTokenType() {
33
+ return TokensCalculatorComponent.HIERARCHICAL_TOKEN_TYPE.toString();
34
+ }
35
+ get isConditionalToken() {
36
+ return this.conditionalTokenType == this.tokenType;
37
+ }
38
+ ngOnInit() {
39
+ if (!Array.isArray(this.comboColumnWorkInput))
40
+ return;
41
+ const categories = JSON.parse(JSON.stringify(this.comboColumnWorkInput));
42
+ categories.forEach((cat) => cat.items.forEach((c) => (c.value = this.sTokensService.getTokenSintax(c.value))));
43
+ this.comboColumnWork = categories;
44
+ this.buildSource();
45
+ }
46
+ buildSource() {
47
+ const options = [];
48
+ for (const category of this.comboColumnWorkInput) {
49
+ for (const field of category.items) {
50
+ options.push({
51
+ category: category.label,
52
+ label: field.label,
53
+ value: this.sTokensService.getTokenSintax(field.value)
54
+ });
55
+ }
56
+ }
57
+ this.source = options;
58
+ }
59
+ generateConditionalToken() {
60
+ let calculatedToken = `'${this.keyToCalculate}' ${this.operator} '${this.valueToCompare}'`;
61
+ calculatedToken += ` ? '${this.positiveValue}' : '${this.negativeValue}'`;
62
+ calculatedToken = this.sTokensService.getLogicalTokenSintax(calculatedToken);
63
+ UtilString.copyMessage(calculatedToken);
64
+ }
65
+ generateHierarchicalTokenType() {
66
+ if (this.target.length < 2) {
67
+ this.toastr.error('Es necesario al menos dos campos a evaluar');
68
+ return;
69
+ }
70
+ let calculatedToken = this.target.map((t) => `'${t.value}'`).join(' || ');
71
+ calculatedToken = this.sTokensService.getHierarchicalTokenSintax(calculatedToken);
72
+ UtilString.copyMessage(calculatedToken);
73
+ return calculatedToken;
74
+ }
75
+ useCondition() {
76
+ if (this.hierarchicalName.length < 1) {
77
+ this.toastr.error('Para usar como condición es necesario un nombre');
78
+ return;
79
+ }
80
+ const item = {
81
+ label: this.hierarchicalName,
82
+ value: this.generateHierarchicalTokenType()
83
+ };
84
+ const category = this.comboColumnWork.find((cw) => cw.label == TokensCalculatorComponent.HIERARCHICAL_CATEGORY);
85
+ this.hierarchicalToConditional(category, item);
86
+ this.resetValues(true);
87
+ this.tokenType = this.conditionalTokenType.toString();
88
+ this.keyToCalculate = item.value;
89
+ }
90
+ hierarchicalToConditional(category, item) {
91
+ if (category) {
92
+ const it = category.items.find((i) => i.label == item.label);
93
+ if (it) {
94
+ it.value = item.value;
95
+ }
96
+ else {
97
+ category.items.push(item);
98
+ }
99
+ }
100
+ else {
101
+ this.comboColumnWork.push({
102
+ label: TokensCalculatorComponent.HIERARCHICAL_CATEGORY,
103
+ items: [item]
104
+ });
105
+ }
106
+ }
107
+ resetValues(resetPickList = false) {
108
+ this.hierarchicalName = '';
109
+ this.keyToCalculate = '';
110
+ this.valueToCompare = '';
111
+ this.positiveValue = '';
112
+ this.negativeValue = '';
113
+ if (resetPickList) {
114
+ const el = document.querySelector("button[icon='pi pi-angle-double-left']");
115
+ if (el)
116
+ el.click();
117
+ }
118
+ }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TokensCalculatorComponent, deps: [{ token: i1.SegmentationTokensService }, { token: i2.ToastrService }], target: i0.ɵɵFactoryTarget.Component }); }
120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TokensCalculatorComponent, selector: "app-tokens-calculator", inputs: { comboColumnWorkInput: "comboColumnWorkInput" }, ngImport: i0, template: "<div class=\"flex\" style=\"margin-bottom: 11px; width: fit-content\">\r\n\t<label class=\"radio-inline\">\r\n\t\t<input\r\n\t\t\ttype=\"radio\"\r\n\t\t\t[(ngModel)]=\"tokenType\"\r\n\t\t\t[value]=\"conditionalTokenType\"\r\n\t\t\t(click)=\"resetValues(true)\"\r\n\t\t/>\r\n\t\tCondicional\r\n\t</label>\r\n\t<label class=\"radio-inline\">\r\n\t\t<input\r\n\t\t\ttype=\"radio\"\r\n\t\t\t[(ngModel)]=\"tokenType\"\r\n\t\t\t[value]=\"hierarchicalTokenType\"\r\n\t\t\t(click)=\"resetValues()\"\r\n\t\t/>\r\n\t\tJer\u00E1rquico\r\n\t</label>\r\n</div>\r\n\r\n<ng-container *ngIf=\"isConditionalToken\">\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 15px\">\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"field\">Campo a evaluar</label>\r\n\t\t\t<p-dropdown\r\n\t\t\t\tid=\"field\"\r\n\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t[options]=\"comboColumnWork\"\r\n\t\t\t\t[group]=\"true\"\r\n\t\t\t\t[(ngModel)]=\"keyToCalculate\"\r\n\t\t\t\t[filter]=\"true\"\r\n\t\t\t\t[style]=\"{ width: '250px' }\"\r\n\t\t\t>\r\n\t\t\t</p-dropdown>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"operator\">Operador</label>\r\n\t\t\t<select\r\n\t\t\t\tid=\"operator\"\r\n\t\t\t\tclass=\"form-control input-sm select-operation\"\r\n\t\t\t\tstyle=\"width: 80px\"\r\n\t\t\t\t[(ngModel)]=\"operator\"\r\n\t\t\t>\r\n\t\t\t\t<option [value]=\"EQ_OPERATOR\">Igual a</option>\r\n\t\t\t\t<option [value]=\"NEQ_OPERATOR\">Diferente a</option>\r\n\t\t\t</select>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"compare\">Valor a comparar</label>\r\n\t\t\t<input\r\n\t\t\t\tid=\"compare\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t[(ngModel)]=\"valueToCompare\"\r\n\t\t\t\tplaceholder=\"valor\"\r\n\t\t\t\tstyle=\"width: 156px\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 15px\">\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"positive\">Valor positivo</label>\r\n\t\t\t<input\r\n\t\t\t\tid=\"positive\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t[(ngModel)]=\"positiveValue\"\r\n\t\t\t\tplaceholder=\"valor\"\r\n\t\t\t\tstyle=\"width: 250px\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"negative\">Valor negativo</label>\r\n\t\t\t<input\r\n\t\t\t\tid=\"negative\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t[(ngModel)]=\"negativeValue\"\r\n\t\t\t\tplaceholder=\"valor\"\r\n\t\t\t\tstyle=\"width: 250px\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 15px\" *ngIf=\"valueToCompare\">\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"generate\">Resultado</label>\r\n\t\t\t<button\r\n\t\t\t\tid=\"generate\"\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t(click)=\"generateConditionalToken()\"\r\n\t\t\t\ttitle=\"Copiar\"\r\n\t\t\t\tstyle=\"margin-left: 2px; width: 30px\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!isConditionalToken\">\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 13px; margin-bottom: 20px\">\r\n\t\t<div style=\"margin-right: 10px\">\r\n\t\t\t<label for=\"hierarchicalName\">Nombre</label>\r\n\t\t\t<input\r\n\t\t\t\tid=\"hierarchicalName\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t[(ngModel)]=\"hierarchicalName\"\r\n\t\t\t\tplaceholder=\"Nombre\"\r\n\t\t\t\tstyle=\"width: 226px\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<div style=\"margin-right: 10px\">\r\n\t\t\t<label for=\"generate\">Acciones</label>\r\n\t\t\t<button\r\n\t\t\t\tid=\"generate\"\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t(click)=\"generateHierarchicalTokenType()\"\r\n\t\t\t\ttitle=\"Copiar\"\r\n\t\t\t\tstyle=\"width: 30px\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t</button>\r\n\t\t\t&nbsp;\r\n\t\t\t<button\r\n\t\t\t\tid=\"generate\"\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t(click)=\"useCondition()\"\r\n\t\t\t\ttitle=\"Volver condicional\"\r\n\t\t\t\tstyle=\"margin-left: -5px; width: 30px\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"fa fa-plus\"></span>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<div class=\"mr-sm\"></div>\r\n\t</div>\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 13px; margin-bottom: 20px\">\r\n\t\t<p-pickList\r\n\t\t\t[dragdrop]=\"true\"\r\n\t\t\tngDefaultControl\r\n\t\t\t[source]=\"source\"\r\n\t\t\t[target]=\"target\"\r\n\t\t\t[responsive]=\"true\"\r\n\t\t\tfilterBy=\"category,label\"\r\n\t\t\t[showSourceControls]=\"false\"\r\n\t\t\ttargetFilterPlaceholder=\" Buscar...\"\r\n\t\t\tsourceFilterPlaceholder=\" Buscar...\"\r\n\t\t>\r\n\t\t\t<!-- [sourceStyle]=\"{ width: '234px' }\"\r\n\t\t\t[targetStyle]=\"{ width: '234px' }\" -->\r\n\t\t\t<ng-template let-field pTemplate=\"item\">\r\n\t\t\t\t<div class=\"ui-helper-clearfix\">\r\n\t\t\t\t\t{{ field.label }} <br />\r\n\t\t\t\t\t<small>\r\n\t\t\t\t\t\t<b> {{ field.category }} </b>\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-template>\r\n\t\t</p-pickList>\r\n\t</div>\r\n</ng-container>\r\n", styles: [".mr-sm{margin-right:15px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i4.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i6.PickList, selector: "p-pickList", inputs: ["source", "target", "sourceHeader", "tabindex", "rightButtonAriaLabel", "leftButtonAriaLabel", "allRightButtonAriaLabel", "allLeftButtonAriaLabel", "upButtonAriaLabel", "downButtonAriaLabel", "topButtonAriaLabel", "bottomButtonAriaLabel", "targetHeader", "responsive", "filterBy", "filterLocale", "trackBy", "sourceTrackBy", "targetTrackBy", "showSourceFilter", "showTargetFilter", "metaKeySelection", "dragdrop", "style", "styleClass", "sourceStyle", "targetStyle", "showSourceControls", "showTargetControls", "sourceFilterPlaceholder", "targetFilterPlaceholder", "disabled", "ariaSourceFilterLabel", "ariaTargetFilterLabel", "filterMatchMode", "stripedRows", "keepSelection", "breakpoint"], outputs: ["onMoveToSource", "onMoveAllToSource", "onMoveAllToTarget", "onMoveToTarget", "onSourceReorder", "onTargetReorder", "onSourceSelect", "onTargetSelect", "onSourceFilter", "onTargetFilter", "onFocus", "onBlur"] }, { kind: "component", type: i7.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }] }); }
121
+ }
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TokensCalculatorComponent, decorators: [{
123
+ type: Component,
124
+ args: [{ selector: 'app-tokens-calculator', standalone: false, template: "<div class=\"flex\" style=\"margin-bottom: 11px; width: fit-content\">\r\n\t<label class=\"radio-inline\">\r\n\t\t<input\r\n\t\t\ttype=\"radio\"\r\n\t\t\t[(ngModel)]=\"tokenType\"\r\n\t\t\t[value]=\"conditionalTokenType\"\r\n\t\t\t(click)=\"resetValues(true)\"\r\n\t\t/>\r\n\t\tCondicional\r\n\t</label>\r\n\t<label class=\"radio-inline\">\r\n\t\t<input\r\n\t\t\ttype=\"radio\"\r\n\t\t\t[(ngModel)]=\"tokenType\"\r\n\t\t\t[value]=\"hierarchicalTokenType\"\r\n\t\t\t(click)=\"resetValues()\"\r\n\t\t/>\r\n\t\tJer\u00E1rquico\r\n\t</label>\r\n</div>\r\n\r\n<ng-container *ngIf=\"isConditionalToken\">\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 15px\">\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"field\">Campo a evaluar</label>\r\n\t\t\t<p-dropdown\r\n\t\t\t\tid=\"field\"\r\n\t\t\t\tplaceholder=\"-- Seleccione opci\u00F3n\"\r\n\t\t\t\t[options]=\"comboColumnWork\"\r\n\t\t\t\t[group]=\"true\"\r\n\t\t\t\t[(ngModel)]=\"keyToCalculate\"\r\n\t\t\t\t[filter]=\"true\"\r\n\t\t\t\t[style]=\"{ width: '250px' }\"\r\n\t\t\t>\r\n\t\t\t</p-dropdown>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"operator\">Operador</label>\r\n\t\t\t<select\r\n\t\t\t\tid=\"operator\"\r\n\t\t\t\tclass=\"form-control input-sm select-operation\"\r\n\t\t\t\tstyle=\"width: 80px\"\r\n\t\t\t\t[(ngModel)]=\"operator\"\r\n\t\t\t>\r\n\t\t\t\t<option [value]=\"EQ_OPERATOR\">Igual a</option>\r\n\t\t\t\t<option [value]=\"NEQ_OPERATOR\">Diferente a</option>\r\n\t\t\t</select>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"compare\">Valor a comparar</label>\r\n\t\t\t<input\r\n\t\t\t\tid=\"compare\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t[(ngModel)]=\"valueToCompare\"\r\n\t\t\t\tplaceholder=\"valor\"\r\n\t\t\t\tstyle=\"width: 156px\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 15px\">\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"positive\">Valor positivo</label>\r\n\t\t\t<input\r\n\t\t\t\tid=\"positive\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t[(ngModel)]=\"positiveValue\"\r\n\t\t\t\tplaceholder=\"valor\"\r\n\t\t\t\tstyle=\"width: 250px\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"negative\">Valor negativo</label>\r\n\t\t\t<input\r\n\t\t\t\tid=\"negative\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t[(ngModel)]=\"negativeValue\"\r\n\t\t\t\tplaceholder=\"valor\"\r\n\t\t\t\tstyle=\"width: 250px\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 15px\" *ngIf=\"valueToCompare\">\r\n\t\t<div class=\"mr-sm\">\r\n\t\t\t<label for=\"generate\">Resultado</label>\r\n\t\t\t<button\r\n\t\t\t\tid=\"generate\"\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t(click)=\"generateConditionalToken()\"\r\n\t\t\t\ttitle=\"Copiar\"\r\n\t\t\t\tstyle=\"margin-left: 2px; width: 30px\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!isConditionalToken\">\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 13px; margin-bottom: 20px\">\r\n\t\t<div style=\"margin-right: 10px\">\r\n\t\t\t<label for=\"hierarchicalName\">Nombre</label>\r\n\t\t\t<input\r\n\t\t\t\tid=\"hierarchicalName\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tclass=\"form-control input-value input-sm\"\r\n\t\t\t\t[(ngModel)]=\"hierarchicalName\"\r\n\t\t\t\tplaceholder=\"Nombre\"\r\n\t\t\t\tstyle=\"width: 226px\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<div style=\"margin-right: 10px\">\r\n\t\t\t<label for=\"generate\">Acciones</label>\r\n\t\t\t<button\r\n\t\t\t\tid=\"generate\"\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t(click)=\"generateHierarchicalTokenType()\"\r\n\t\t\t\ttitle=\"Copiar\"\r\n\t\t\t\tstyle=\"width: 30px\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"fa fa-clipboard\"></span>\r\n\t\t\t</button>\r\n\t\t\t&nbsp;\r\n\t\t\t<button\r\n\t\t\t\tid=\"generate\"\r\n\t\t\t\ttype=\"button\"\r\n\t\t\t\t(click)=\"useCondition()\"\r\n\t\t\t\ttitle=\"Volver condicional\"\r\n\t\t\t\tstyle=\"margin-left: -5px; width: 30px\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"fa fa-plus\"></span>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<div class=\"mr-sm\"></div>\r\n\t</div>\r\n\t<div class=\"flex align-items-center\" style=\"margin-top: 13px; margin-bottom: 20px\">\r\n\t\t<p-pickList\r\n\t\t\t[dragdrop]=\"true\"\r\n\t\t\tngDefaultControl\r\n\t\t\t[source]=\"source\"\r\n\t\t\t[target]=\"target\"\r\n\t\t\t[responsive]=\"true\"\r\n\t\t\tfilterBy=\"category,label\"\r\n\t\t\t[showSourceControls]=\"false\"\r\n\t\t\ttargetFilterPlaceholder=\" Buscar...\"\r\n\t\t\tsourceFilterPlaceholder=\" Buscar...\"\r\n\t\t>\r\n\t\t\t<!-- [sourceStyle]=\"{ width: '234px' }\"\r\n\t\t\t[targetStyle]=\"{ width: '234px' }\" -->\r\n\t\t\t<ng-template let-field pTemplate=\"item\">\r\n\t\t\t\t<div class=\"ui-helper-clearfix\">\r\n\t\t\t\t\t{{ field.label }} <br />\r\n\t\t\t\t\t<small>\r\n\t\t\t\t\t\t<b> {{ field.category }} </b>\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-template>\r\n\t\t</p-pickList>\r\n\t</div>\r\n</ng-container>\r\n", styles: [".mr-sm{margin-right:15px}\n"] }]
125
+ }], ctorParameters: () => [{ type: i1.SegmentationTokensService }, { type: i2.ToastrService }], propDecorators: { comboColumnWorkInput: [{
126
+ type: Input
127
+ }] } });
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLWNhbGN1bGF0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcGxpLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL3Rva2Vucy1jYWxjdWxhdG9yL3Rva2Vucy1jYWxjdWxhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy90b2tlbnMtY2FsY3VsYXRvci90b2tlbnMtY2FsY3VsYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7QUFHekMsOERBQThEO0FBUTlELE1BQU0sT0FBTyx5QkFBeUI7YUFXOUIsMkJBQXNCLEdBQUcsQ0FBQyxBQUFKLENBQUs7YUFDM0IsNEJBQXVCLEdBQUcsQ0FBQyxBQUFKLENBQUs7YUFDNUIsMEJBQXFCLEdBQUcsYUFBYSxBQUFoQixDQUFpQjtJQVU3QyxZQUFvQixjQUF5QyxFQUFVLE1BQXFCO1FBQXhFLG1CQUFjLEdBQWQsY0FBYyxDQUEyQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQWU7UUFsQjVGLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBa0JuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDakMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdkIsT0FBTyx5QkFBeUIsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBQ0QsSUFBSSxxQkFBcUI7UUFDeEIsT0FBTyx5QkFBeUIsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRSxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDckIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztZQUFFLE9BQU87UUFDdEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDekUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQzFCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDakYsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsV0FBVztRQUNWLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNuQixLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ2xELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNwQyxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNaLFFBQVEsRUFBRSxRQUFRLENBQUMsS0FBSztvQkFDeEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO29CQUNsQixLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztpQkFDdEQsQ0FBQyxDQUFDO1lBQ0osQ0FBQztRQUNGLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUN2QixDQUFDO0lBRUQsd0JBQXdCO1FBQ3ZCLElBQUksZUFBZSxHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQztRQUMzRixlQUFlLElBQUksT0FBTyxJQUFJLENBQUMsYUFBYSxRQUFRLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQztRQUUxRSxlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM3RSxVQUFVLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCw2QkFBNkI7UUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQ2hFLE9BQU87UUFDUixDQUFDO1FBQ0QsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2xGLFVBQVUsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsT0FBTyxlQUFlLENBQUM7SUFDeEIsQ0FBQztJQUVELFlBQVk7UUFDWCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztZQUNyRSxPQUFPO1FBQ1IsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHO1lBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDNUIsS0FBSyxFQUFFLElBQUksQ0FBQyw2QkFBNkIsRUFBRTtTQUMzQyxDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQ3pDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLHlCQUF5QixDQUFDLHFCQUFxQixDQUNuRSxDQUFDO1FBQ0YsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQseUJBQXlCLENBQUMsUUFBUSxFQUFFLElBQUk7UUFDdkMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNkLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3RCxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNSLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN2QixDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsQ0FBQztRQUNGLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQ3pCLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxxQkFBcUI7Z0JBQ3RELEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQzthQUNiLENBQUMsQ0FBQztRQUNKLENBQUM7SUFDRixDQUFDO0lBRUQsV0FBVyxDQUFDLGFBQWEsR0FBRyxLQUFLO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFFeEIsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNuQixNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUNoQyx3Q0FBd0MsQ0FDekIsQ0FBQztZQUNqQixJQUFJLEVBQUU7Z0JBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDRixDQUFDOytHQXRJVyx5QkFBeUI7bUdBQXpCLHlCQUF5Qix1SENadEMsaW5LQXNLQTs7NEZEMUphLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDSSx1QkFBdUIsY0FHckIsS0FBSzswSEFJWCxvQkFBb0I7c0JBQTVCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVXRpbFN0cmluZyB9IGZyb20gJ25nLXBsaS11dGlsJztcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBTZWdtZW50YXRpb25Ub2tlbnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2VnbWVudGF0aW9uLXRva2Vucy5zZXJ2aWNlJztcclxuLy8gaW1wb3J0IHsgU2VnbWVudGF0aW9uVG9rZW5zU2VydmljZSB9IGZyb20gJ25nLXBsaS1jb21tb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtdG9rZW5zLWNhbGN1bGF0b3InLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rva2Vucy1jYWxjdWxhdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3Rva2Vucy1jYWxjdWxhdG9yLmNvbXBvbmVudC5jc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUb2tlbnNDYWxjdWxhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHQvLyBSZXF1aXJlZCBpbnB1dCAoYXJyYXkgb2YgdmlzaWJsZSBjb2x1bW5zKVxyXG5cdEBJbnB1dCgpIGNvbWJvQ29sdW1uV29ya0lucHV0OiBhbnlbXTtcclxuXHRjb21ib0NvbHVtbldvcms6IGFueVtdO1xyXG5cclxuXHRFUV9PUEVSQVRPUiA9ICc9PSc7XHJcblx0TkVRX09QRVJBVE9SID0gJyE9JztcclxuXHJcblx0c291cmNlOiBhbnlbXTtcclxuXHR0YXJnZXQ6IGFueVtdO1xyXG5cclxuXHRzdGF0aWMgQ09ORElUSU9OQUxfVE9LRU5fVFlQRSA9IDE7XHJcblx0c3RhdGljIEhJRVJBUkNISUNBTF9UT0tFTl9UWVBFID0gMjtcclxuXHRzdGF0aWMgSElFUkFSQ0hJQ0FMX0NBVEVHT1JZID0gJ0plcsOhcnF1aWNvcyc7XHJcblxyXG5cdGtleVRvQ2FsY3VsYXRlOiBzdHJpbmc7XHJcblx0dmFsdWVUb0NvbXBhcmU6IHN0cmluZztcclxuXHRwb3NpdGl2ZVZhbHVlOiBzdHJpbmc7XHJcblx0bmVnYXRpdmVWYWx1ZTogc3RyaW5nO1xyXG5cdGhpZXJhcmNoaWNhbE5hbWU6IHN0cmluZztcclxuXHR0b2tlblR5cGU6IHN0cmluZztcclxuXHRvcGVyYXRvcjogc3RyaW5nO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHNUb2tlbnNTZXJ2aWNlOiBTZWdtZW50YXRpb25Ub2tlbnNTZXJ2aWNlLCBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZSkge1xyXG5cdFx0dGhpcy50b2tlblR5cGUgPSB0aGlzLmNvbmRpdGlvbmFsVG9rZW5UeXBlO1xyXG5cdFx0dGhpcy5vcGVyYXRvciA9IHRoaXMuRVFfT1BFUkFUT1I7XHJcblx0XHR0aGlzLmhpZXJhcmNoaWNhbE5hbWUgPSAnJztcclxuXHRcdHRoaXMucG9zaXRpdmVWYWx1ZSA9ICcnO1xyXG5cdFx0dGhpcy5uZWdhdGl2ZVZhbHVlID0gJyc7XHJcblx0XHR0aGlzLnNvdXJjZSA9IFtdO1xyXG5cdFx0dGhpcy50YXJnZXQgPSBbXTtcclxuXHR9XHJcblxyXG5cdGdldCBjb25kaXRpb25hbFRva2VuVHlwZSgpIHtcclxuXHRcdHJldHVybiBUb2tlbnNDYWxjdWxhdG9yQ29tcG9uZW50LkNPTkRJVElPTkFMX1RPS0VOX1RZUEUudG9TdHJpbmcoKTtcclxuXHR9XHJcblx0Z2V0IGhpZXJhcmNoaWNhbFRva2VuVHlwZSgpIHtcclxuXHRcdHJldHVybiBUb2tlbnNDYWxjdWxhdG9yQ29tcG9uZW50LkhJRVJBUkNISUNBTF9UT0tFTl9UWVBFLnRvU3RyaW5nKCk7XHJcblx0fVxyXG5cclxuXHRnZXQgaXNDb25kaXRpb25hbFRva2VuKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuY29uZGl0aW9uYWxUb2tlblR5cGUgPT0gdGhpcy50b2tlblR5cGU7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdGlmICghQXJyYXkuaXNBcnJheSh0aGlzLmNvbWJvQ29sdW1uV29ya0lucHV0KSkgcmV0dXJuO1xyXG5cdFx0Y29uc3QgY2F0ZWdvcmllcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jb21ib0NvbHVtbldvcmtJbnB1dCkpO1xyXG5cdFx0Y2F0ZWdvcmllcy5mb3JFYWNoKChjYXQpID0+XHJcblx0XHRcdGNhdC5pdGVtcy5mb3JFYWNoKChjKSA9PiAoYy52YWx1ZSA9IHRoaXMuc1Rva2Vuc1NlcnZpY2UuZ2V0VG9rZW5TaW50YXgoYy52YWx1ZSkpKVxyXG5cdFx0KTtcclxuXHRcdHRoaXMuY29tYm9Db2x1bW5Xb3JrID0gY2F0ZWdvcmllcztcclxuXHRcdHRoaXMuYnVpbGRTb3VyY2UoKTtcclxuXHR9XHJcblxyXG5cdGJ1aWxkU291cmNlKCkge1xyXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IFtdO1xyXG5cdFx0Zm9yIChjb25zdCBjYXRlZ29yeSBvZiB0aGlzLmNvbWJvQ29sdW1uV29ya0lucHV0KSB7XHJcblx0XHRcdGZvciAoY29uc3QgZmllbGQgb2YgY2F0ZWdvcnkuaXRlbXMpIHtcclxuXHRcdFx0XHRvcHRpb25zLnB1c2goe1xyXG5cdFx0XHRcdFx0Y2F0ZWdvcnk6IGNhdGVnb3J5LmxhYmVsLFxyXG5cdFx0XHRcdFx0bGFiZWw6IGZpZWxkLmxhYmVsLFxyXG5cdFx0XHRcdFx0dmFsdWU6IHRoaXMuc1Rva2Vuc1NlcnZpY2UuZ2V0VG9rZW5TaW50YXgoZmllbGQudmFsdWUpXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHRoaXMuc291cmNlID0gb3B0aW9ucztcclxuXHR9XHJcblxyXG5cdGdlbmVyYXRlQ29uZGl0aW9uYWxUb2tlbigpIHtcclxuXHRcdGxldCBjYWxjdWxhdGVkVG9rZW4gPSBgJyR7dGhpcy5rZXlUb0NhbGN1bGF0ZX0nICR7dGhpcy5vcGVyYXRvcn0gJyR7dGhpcy52YWx1ZVRvQ29tcGFyZX0nYDtcclxuXHRcdGNhbGN1bGF0ZWRUb2tlbiArPSBgID8gJyR7dGhpcy5wb3NpdGl2ZVZhbHVlfScgOiAnJHt0aGlzLm5lZ2F0aXZlVmFsdWV9J2A7XHJcblxyXG5cdFx0Y2FsY3VsYXRlZFRva2VuID0gdGhpcy5zVG9rZW5zU2VydmljZS5nZXRMb2dpY2FsVG9rZW5TaW50YXgoY2FsY3VsYXRlZFRva2VuKTtcclxuXHRcdFV0aWxTdHJpbmcuY29weU1lc3NhZ2UoY2FsY3VsYXRlZFRva2VuKTtcclxuXHR9XHJcblxyXG5cdGdlbmVyYXRlSGllcmFyY2hpY2FsVG9rZW5UeXBlKCkge1xyXG5cdFx0aWYgKHRoaXMudGFyZ2V0Lmxlbmd0aCA8IDIpIHtcclxuXHRcdFx0dGhpcy50b2FzdHIuZXJyb3IoJ0VzIG5lY2VzYXJpbyBhbCBtZW5vcyBkb3MgY2FtcG9zIGEgZXZhbHVhcicpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRsZXQgY2FsY3VsYXRlZFRva2VuID0gdGhpcy50YXJnZXQubWFwKCh0KSA9PiBgJyR7dC52YWx1ZX0nYCkuam9pbignIHx8ICcpO1xyXG5cdFx0Y2FsY3VsYXRlZFRva2VuID0gdGhpcy5zVG9rZW5zU2VydmljZS5nZXRIaWVyYXJjaGljYWxUb2tlblNpbnRheChjYWxjdWxhdGVkVG9rZW4pO1xyXG5cdFx0VXRpbFN0cmluZy5jb3B5TWVzc2FnZShjYWxjdWxhdGVkVG9rZW4pO1xyXG5cdFx0cmV0dXJuIGNhbGN1bGF0ZWRUb2tlbjtcclxuXHR9XHJcblxyXG5cdHVzZUNvbmRpdGlvbigpIHtcclxuXHRcdGlmICh0aGlzLmhpZXJhcmNoaWNhbE5hbWUubGVuZ3RoIDwgMSkge1xyXG5cdFx0XHR0aGlzLnRvYXN0ci5lcnJvcignUGFyYSB1c2FyIGNvbW8gY29uZGljacOzbiBlcyBuZWNlc2FyaW8gdW4gbm9tYnJlJyk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGNvbnN0IGl0ZW0gPSB7XHJcblx0XHRcdGxhYmVsOiB0aGlzLmhpZXJhcmNoaWNhbE5hbWUsXHJcblx0XHRcdHZhbHVlOiB0aGlzLmdlbmVyYXRlSGllcmFyY2hpY2FsVG9rZW5UeXBlKClcclxuXHRcdH07XHJcblx0XHRjb25zdCBjYXRlZ29yeSA9IHRoaXMuY29tYm9Db2x1bW5Xb3JrLmZpbmQoXHJcblx0XHRcdChjdykgPT4gY3cubGFiZWwgPT0gVG9rZW5zQ2FsY3VsYXRvckNvbXBvbmVudC5ISUVSQVJDSElDQUxfQ0FURUdPUllcclxuXHRcdCk7XHJcblx0XHR0aGlzLmhpZXJhcmNoaWNhbFRvQ29uZGl0aW9uYWwoY2F0ZWdvcnksIGl0ZW0pO1xyXG5cdFx0dGhpcy5yZXNldFZhbHVlcyh0cnVlKTtcclxuXHRcdHRoaXMudG9rZW5UeXBlID0gdGhpcy5jb25kaXRpb25hbFRva2VuVHlwZS50b1N0cmluZygpO1xyXG5cdFx0dGhpcy5rZXlUb0NhbGN1bGF0ZSA9IGl0ZW0udmFsdWU7XHJcblx0fVxyXG5cclxuXHRoaWVyYXJjaGljYWxUb0NvbmRpdGlvbmFsKGNhdGVnb3J5LCBpdGVtKSB7XHJcblx0XHRpZiAoY2F0ZWdvcnkpIHtcclxuXHRcdFx0Y29uc3QgaXQgPSBjYXRlZ29yeS5pdGVtcy5maW5kKChpKSA9PiBpLmxhYmVsID09IGl0ZW0ubGFiZWwpO1xyXG5cdFx0XHRpZiAoaXQpIHtcclxuXHRcdFx0XHRpdC52YWx1ZSA9IGl0ZW0udmFsdWU7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0Y2F0ZWdvcnkuaXRlbXMucHVzaChpdGVtKTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5jb21ib0NvbHVtbldvcmsucHVzaCh7XHJcblx0XHRcdFx0bGFiZWw6IFRva2Vuc0NhbGN1bGF0b3JDb21wb25lbnQuSElFUkFSQ0hJQ0FMX0NBVEVHT1JZLFxyXG5cdFx0XHRcdGl0ZW1zOiBbaXRlbV1cclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRyZXNldFZhbHVlcyhyZXNldFBpY2tMaXN0ID0gZmFsc2UpIHtcclxuXHRcdHRoaXMuaGllcmFyY2hpY2FsTmFtZSA9ICcnO1xyXG5cdFx0dGhpcy5rZXlUb0NhbGN1bGF0ZSA9ICcnO1xyXG5cdFx0dGhpcy52YWx1ZVRvQ29tcGFyZSA9ICcnO1xyXG5cdFx0dGhpcy5wb3NpdGl2ZVZhbHVlID0gJyc7XHJcblx0XHR0aGlzLm5lZ2F0aXZlVmFsdWUgPSAnJztcclxuXHJcblx0XHRpZiAocmVzZXRQaWNrTGlzdCkge1xyXG5cdFx0XHRjb25zdCBlbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcblx0XHRcdFx0XCJidXR0b25baWNvbj0ncGkgcGktYW5nbGUtZG91YmxlLWxlZnQnXVwiXHJcblx0XHRcdCkgYXMgSFRNTEVsZW1lbnQ7XHJcblx0XHRcdGlmIChlbCkgZWwuY2xpY2soKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZsZXhcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDExcHg7IHdpZHRoOiBmaXQtY29udGVudFwiPlxyXG5cdDxsYWJlbCBjbGFzcz1cInJhZGlvLWlubGluZVwiPlxyXG5cdFx0PGlucHV0XHJcblx0XHRcdHR5cGU9XCJyYWRpb1wiXHJcblx0XHRcdFsobmdNb2RlbCldPVwidG9rZW5UeXBlXCJcclxuXHRcdFx0W3ZhbHVlXT1cImNvbmRpdGlvbmFsVG9rZW5UeXBlXCJcclxuXHRcdFx0KGNsaWNrKT1cInJlc2V0VmFsdWVzKHRydWUpXCJcclxuXHRcdC8+XHJcblx0XHRDb25kaWNpb25hbFxyXG5cdDwvbGFiZWw+XHJcblx0PGxhYmVsIGNsYXNzPVwicmFkaW8taW5saW5lXCI+XHJcblx0XHQ8aW5wdXRcclxuXHRcdFx0dHlwZT1cInJhZGlvXCJcclxuXHRcdFx0WyhuZ01vZGVsKV09XCJ0b2tlblR5cGVcIlxyXG5cdFx0XHRbdmFsdWVdPVwiaGllcmFyY2hpY2FsVG9rZW5UeXBlXCJcclxuXHRcdFx0KGNsaWNrKT1cInJlc2V0VmFsdWVzKClcIlxyXG5cdFx0Lz5cclxuXHRcdEplcsOhcnF1aWNvXHJcblx0PC9sYWJlbD5cclxuPC9kaXY+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNDb25kaXRpb25hbFRva2VuXCI+XHJcblx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxNXB4XCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwibXItc21cIj5cclxuXHRcdFx0PGxhYmVsIGZvcj1cImZpZWxkXCI+Q2FtcG8gYSBldmFsdWFyPC9sYWJlbD5cclxuXHRcdFx0PHAtZHJvcGRvd25cclxuXHRcdFx0XHRpZD1cImZpZWxkXCJcclxuXHRcdFx0XHRwbGFjZWhvbGRlcj1cIi0tIFNlbGVjY2lvbmUgb3BjacOzblwiXHJcblx0XHRcdFx0W29wdGlvbnNdPVwiY29tYm9Db2x1bW5Xb3JrXCJcclxuXHRcdFx0XHRbZ3JvdXBdPVwidHJ1ZVwiXHJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJrZXlUb0NhbGN1bGF0ZVwiXHJcblx0XHRcdFx0W2ZpbHRlcl09XCJ0cnVlXCJcclxuXHRcdFx0XHRbc3R5bGVdPVwieyB3aWR0aDogJzI1MHB4JyB9XCJcclxuXHRcdFx0PlxyXG5cdFx0XHQ8L3AtZHJvcGRvd24+XHJcblx0XHQ8L2Rpdj5cclxuXHJcblx0XHQ8ZGl2IGNsYXNzPVwibXItc21cIj5cclxuXHRcdFx0PGxhYmVsIGZvcj1cIm9wZXJhdG9yXCI+T3BlcmFkb3I8L2xhYmVsPlxyXG5cdFx0XHQ8c2VsZWN0XHJcblx0XHRcdFx0aWQ9XCJvcGVyYXRvclwiXHJcblx0XHRcdFx0Y2xhc3M9XCJmb3JtLWNvbnRyb2wgaW5wdXQtc20gc2VsZWN0LW9wZXJhdGlvblwiXHJcblx0XHRcdFx0c3R5bGU9XCJ3aWR0aDogODBweFwiXHJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJvcGVyYXRvclwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8b3B0aW9uIFt2YWx1ZV09XCJFUV9PUEVSQVRPUlwiPklndWFsIGE8L29wdGlvbj5cclxuXHRcdFx0XHQ8b3B0aW9uIFt2YWx1ZV09XCJORVFfT1BFUkFUT1JcIj5EaWZlcmVudGUgYTwvb3B0aW9uPlxyXG5cdFx0XHQ8L3NlbGVjdD5cclxuXHRcdDwvZGl2PlxyXG5cclxuXHRcdDxkaXYgY2xhc3M9XCJtci1zbVwiPlxyXG5cdFx0XHQ8bGFiZWwgZm9yPVwiY29tcGFyZVwiPlZhbG9yIGEgY29tcGFyYXI8L2xhYmVsPlxyXG5cdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRpZD1cImNvbXBhcmVcIlxyXG5cdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcclxuXHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbCBpbnB1dC12YWx1ZSBpbnB1dC1zbVwiXHJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJ2YWx1ZVRvQ29tcGFyZVwiXHJcblx0XHRcdFx0cGxhY2Vob2xkZXI9XCJ2YWxvclwiXHJcblx0XHRcdFx0c3R5bGU9XCJ3aWR0aDogMTU2cHhcIlxyXG5cdFx0XHQvPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTVweFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cIm1yLXNtXCI+XHJcblx0XHRcdDxsYWJlbCBmb3I9XCJwb3NpdGl2ZVwiPlZhbG9yIHBvc2l0aXZvPC9sYWJlbD5cclxuXHRcdFx0PGlucHV0XHJcblx0XHRcdFx0aWQ9XCJwb3NpdGl2ZVwiXHJcblx0XHRcdFx0dHlwZT1cInRleHRcIlxyXG5cdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sIGlucHV0LXZhbHVlIGlucHV0LXNtXCJcclxuXHRcdFx0XHRbKG5nTW9kZWwpXT1cInBvc2l0aXZlVmFsdWVcIlxyXG5cdFx0XHRcdHBsYWNlaG9sZGVyPVwidmFsb3JcIlxyXG5cdFx0XHRcdHN0eWxlPVwid2lkdGg6IDI1MHB4XCJcclxuXHRcdFx0Lz5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cIm1yLXNtXCI+XHJcblx0XHRcdDxsYWJlbCBmb3I9XCJuZWdhdGl2ZVwiPlZhbG9yIG5lZ2F0aXZvPC9sYWJlbD5cclxuXHRcdFx0PGlucHV0XHJcblx0XHRcdFx0aWQ9XCJuZWdhdGl2ZVwiXHJcblx0XHRcdFx0dHlwZT1cInRleHRcIlxyXG5cdFx0XHRcdGNsYXNzPVwiZm9ybS1jb250cm9sIGlucHV0LXZhbHVlIGlucHV0LXNtXCJcclxuXHRcdFx0XHRbKG5nTW9kZWwpXT1cIm5lZ2F0aXZlVmFsdWVcIlxyXG5cdFx0XHRcdHBsYWNlaG9sZGVyPVwidmFsb3JcIlxyXG5cdFx0XHRcdHN0eWxlPVwid2lkdGg6IDI1MHB4XCJcclxuXHRcdFx0Lz5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDE1cHhcIiAqbmdJZj1cInZhbHVlVG9Db21wYXJlXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwibXItc21cIj5cclxuXHRcdFx0PGxhYmVsIGZvcj1cImdlbmVyYXRlXCI+UmVzdWx0YWRvPC9sYWJlbD5cclxuXHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdGlkPVwiZ2VuZXJhdGVcIlxyXG5cdFx0XHRcdHR5cGU9XCJidXR0b25cIlxyXG5cdFx0XHRcdChjbGljayk9XCJnZW5lcmF0ZUNvbmRpdGlvbmFsVG9rZW4oKVwiXHJcblx0XHRcdFx0dGl0bGU9XCJDb3BpYXJcIlxyXG5cdFx0XHRcdHN0eWxlPVwibWFyZ2luLWxlZnQ6IDJweDsgd2lkdGg6IDMwcHhcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJmYSBmYS1jbGlwYm9hcmRcIj48L3NwYW4+XHJcblx0XHRcdDwvYnV0dG9uPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0NvbmRpdGlvbmFsVG9rZW5cIj5cclxuXHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDEzcHg7IG1hcmdpbi1ib3R0b206IDIwcHhcIj5cclxuXHRcdDxkaXYgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcHhcIj5cclxuXHRcdFx0PGxhYmVsIGZvcj1cImhpZXJhcmNoaWNhbE5hbWVcIj5Ob21icmU8L2xhYmVsPlxyXG5cdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRpZD1cImhpZXJhcmNoaWNhbE5hbWVcIlxyXG5cdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcclxuXHRcdFx0XHRjbGFzcz1cImZvcm0tY29udHJvbCBpbnB1dC12YWx1ZSBpbnB1dC1zbVwiXHJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJoaWVyYXJjaGljYWxOYW1lXCJcclxuXHRcdFx0XHRwbGFjZWhvbGRlcj1cIk5vbWJyZVwiXHJcblx0XHRcdFx0c3R5bGU9XCJ3aWR0aDogMjI2cHhcIlxyXG5cdFx0XHQvPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8ZGl2IHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4XCI+XHJcblx0XHRcdDxsYWJlbCBmb3I9XCJnZW5lcmF0ZVwiPkFjY2lvbmVzPC9sYWJlbD5cclxuXHRcdFx0PGJ1dHRvblxyXG5cdFx0XHRcdGlkPVwiZ2VuZXJhdGVcIlxyXG5cdFx0XHRcdHR5cGU9XCJidXR0b25cIlxyXG5cdFx0XHRcdChjbGljayk9XCJnZW5lcmF0ZUhpZXJhcmNoaWNhbFRva2VuVHlwZSgpXCJcclxuXHRcdFx0XHR0aXRsZT1cIkNvcGlhclwiXHJcblx0XHRcdFx0c3R5bGU9XCJ3aWR0aDogMzBweFwiXHJcblx0XHRcdD5cclxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZhIGZhLWNsaXBib2FyZFwiPjwvc3Bhbj5cclxuXHRcdFx0PC9idXR0b24+XHJcblx0XHRcdCZuYnNwO1xyXG5cdFx0XHQ8YnV0dG9uXHJcblx0XHRcdFx0aWQ9XCJnZW5lcmF0ZVwiXHJcblx0XHRcdFx0dHlwZT1cImJ1dHRvblwiXHJcblx0XHRcdFx0KGNsaWNrKT1cInVzZUNvbmRpdGlvbigpXCJcclxuXHRcdFx0XHR0aXRsZT1cIlZvbHZlciBjb25kaWNpb25hbFwiXHJcblx0XHRcdFx0c3R5bGU9XCJtYXJnaW4tbGVmdDogLTVweDsgd2lkdGg6IDMwcHhcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJmYSBmYS1wbHVzXCI+PC9zcGFuPlxyXG5cdFx0XHQ8L2J1dHRvbj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cIm1yLXNtXCI+PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxM3B4OyBtYXJnaW4tYm90dG9tOiAyMHB4XCI+XHJcblx0XHQ8cC1waWNrTGlzdFxyXG5cdFx0XHRbZHJhZ2Ryb3BdPVwidHJ1ZVwiXHJcblx0XHRcdG5nRGVmYXVsdENvbnRyb2xcclxuXHRcdFx0W3NvdXJjZV09XCJzb3VyY2VcIlxyXG5cdFx0XHRbdGFyZ2V0XT1cInRhcmdldFwiXHJcblx0XHRcdFtyZXNwb25zaXZlXT1cInRydWVcIlxyXG5cdFx0XHRmaWx0ZXJCeT1cImNhdGVnb3J5LGxhYmVsXCJcclxuXHRcdFx0W3Nob3dTb3VyY2VDb250cm9sc109XCJmYWxzZVwiXHJcblx0XHRcdHRhcmdldEZpbHRlclBsYWNlaG9sZGVyPVwiIEJ1c2Nhci4uLlwiXHJcblx0XHRcdHNvdXJjZUZpbHRlclBsYWNlaG9sZGVyPVwiIEJ1c2Nhci4uLlwiXHJcblx0XHQ+XHJcblx0XHRcdDwhLS0gW3NvdXJjZVN0eWxlXT1cInsgd2lkdGg6ICcyMzRweCcgfVwiXHJcblx0XHRcdFt0YXJnZXRTdHlsZV09XCJ7IHdpZHRoOiAnMjM0cHgnIH1cIiAtLT5cclxuXHRcdFx0PG5nLXRlbXBsYXRlIGxldC1maWVsZCBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cInVpLWhlbHBlci1jbGVhcmZpeFwiPlxyXG5cdFx0XHRcdFx0e3sgZmllbGQubGFiZWwgfX0gPGJyIC8+XHJcblx0XHRcdFx0XHQ8c21hbGw+XHJcblx0XHRcdFx0XHRcdDxiPiB7eyBmaWVsZC5jYXRlZ29yeSB9fSA8L2I+XHJcblx0XHRcdFx0XHQ8L3NtYWxsPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0PC9wLXBpY2tMaXN0PlxyXG5cdDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
@@ -0,0 +1,48 @@
1
+ import { Directive, HostListener } from '@angular/core';
2
+ import { CurrencyColfuturoPipe } from '../pipes/currency-colfuturo.pipe';
3
+ import * as i0 from "@angular/core";
4
+ export class CurrencyColfuturoFormatterDirective {
5
+ constructor(elementRef) {
6
+ this.elementRef = elementRef;
7
+ this.el = this.elementRef.nativeElement;
8
+ this.currencyPipe = new CurrencyColfuturoPipe();
9
+ }
10
+ ngOnInit() {
11
+ if (this.el.value)
12
+ this.el.value = this.currencyPipe.transform(this.el.value);
13
+ }
14
+ onFocus(value) {
15
+ if (value)
16
+ this.el.value = this.currencyPipe.parse(value); // opossite of transform
17
+ }
18
+ onBlur(value) {
19
+ if (value)
20
+ this.el.value = this.currencyPipe.transform(value);
21
+ }
22
+ onkeypress(event) {
23
+ const charCode = event.which ? event.which : event.keyCode;
24
+ if (charCode > 31 && (charCode < 48 || charCode > 57)) {
25
+ return false;
26
+ }
27
+ return true;
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencyColfuturoFormatterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: CurrencyColfuturoFormatterDirective, selector: "[currencyColfuturoFormatter]", host: { listeners: { "focus": "onFocus($event.target.value)", "blur": "onBlur($event.target.value)", "keypress": "onkeypress($event)" } }, ngImport: i0 }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencyColfuturoFormatterDirective, decorators: [{
33
+ type: Directive,
34
+ args: [{
35
+ selector: '[currencyColfuturoFormatter]',
36
+ standalone: false
37
+ }]
38
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { onFocus: [{
39
+ type: HostListener,
40
+ args: ['focus', ['$event.target.value']]
41
+ }], onBlur: [{
42
+ type: HostListener,
43
+ args: ['blur', ['$event.target.value']]
44
+ }], onkeypress: [{
45
+ type: HostListener,
46
+ args: ['keypress', ['$event']]
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktY29sZnV0dXJvLWZvcm1hdHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wbGktY29tbW9ucy9zcmMvbGliL2RpcmVjdGl2ZXMvY3VycmVuY3ktY29sZnV0dXJvLWZvcm1hdHRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQU16RSxNQUFNLE9BQU8sbUNBQW1DO0lBSy9DLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDekMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBR0QsT0FBTyxDQUFDLEtBQUs7UUFDWixJQUFJLEtBQUs7WUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHdCQUF3QjtJQUNwRixDQUFDO0lBR0QsTUFBTSxDQUFDLEtBQUs7UUFDWCxJQUFJLEtBQUs7WUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBR0QsVUFBVSxDQUFDLEtBQUs7UUFDZixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzNELElBQUksUUFBUSxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDdkQsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDOytHQS9CVyxtQ0FBbUM7bUdBQW5DLG1DQUFtQzs7NEZBQW5DLG1DQUFtQztrQkFKL0MsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxVQUFVLEVBQUUsS0FBSztpQkFDcEI7K0VBZ0JBLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFNOUMsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQU03QyxVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDdXJyZW5jeUNvbGZ1dHVyb1BpcGUgfSBmcm9tICcuLi9waXBlcy9jdXJyZW5jeS1jb2xmdXR1cm8ucGlwZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2N1cnJlbmN5Q29sZnV0dXJvRm9ybWF0dGVyXScsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lDb2xmdXR1cm9Gb3JtYXR0ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdHByaXZhdGUgZWw6IEhUTUxJbnB1dEVsZW1lbnQ7XHJcblxyXG5cdHByaXZhdGUgY3VycmVuY3lQaXBlOiBDdXJyZW5jeUNvbGZ1dHVyb1BpcGU7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xyXG5cdFx0dGhpcy5lbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG5cdFx0dGhpcy5jdXJyZW5jeVBpcGUgPSBuZXcgQ3VycmVuY3lDb2xmdXR1cm9QaXBlKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdGlmICh0aGlzLmVsLnZhbHVlKSB0aGlzLmVsLnZhbHVlID0gdGhpcy5jdXJyZW5jeVBpcGUudHJhbnNmb3JtKHRoaXMuZWwudmFsdWUpO1xyXG5cdH1cclxuXHJcblx0QEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcclxuXHRvbkZvY3VzKHZhbHVlKSB7XHJcblx0XHRpZiAodmFsdWUpIHRoaXMuZWwudmFsdWUgPSB0aGlzLmN1cnJlbmN5UGlwZS5wYXJzZSh2YWx1ZSk7IC8vIG9wb3NzaXRlIG9mIHRyYW5zZm9ybVxyXG5cdH1cclxuXHJcblx0QEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50LnRhcmdldC52YWx1ZSddKVxyXG5cdG9uQmx1cih2YWx1ZSkge1xyXG5cdFx0aWYgKHZhbHVlKSB0aGlzLmVsLnZhbHVlID0gdGhpcy5jdXJyZW5jeVBpcGUudHJhbnNmb3JtKHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ2tleXByZXNzJywgWyckZXZlbnQnXSlcclxuXHRvbmtleXByZXNzKGV2ZW50KSB7XHJcblx0XHRjb25zdCBjaGFyQ29kZSA9IGV2ZW50LndoaWNoID8gZXZlbnQud2hpY2ggOiBldmVudC5rZXlDb2RlO1xyXG5cdFx0aWYgKGNoYXJDb2RlID4gMzEgJiYgKGNoYXJDb2RlIDwgNDggfHwgY2hhckNvZGUgPiA1NykpIHtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRydWU7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { Directive, HostListener } from '@angular/core';
2
+ import { CurrencyDecimalColfuturoPipe } from '../pipes/currency-decimal-colfuturo.pipe';
3
+ import * as i0 from "@angular/core";
4
+ export class CurrencyDecimalColfuturoFormatterDirective {
5
+ constructor(elementRef) {
6
+ this.elementRef = elementRef;
7
+ this.el = this.elementRef.nativeElement;
8
+ this.currencyDecimalPipe = new CurrencyDecimalColfuturoPipe();
9
+ }
10
+ ngOnInit() {
11
+ this.el.value = this.currencyDecimalPipe.transform(this.el.value);
12
+ }
13
+ onFocus(value) {
14
+ this.el.value = this.currencyDecimalPipe.parse(value); // opossite of transform
15
+ }
16
+ onBlur(value) {
17
+ this.el.value = this.currencyDecimalPipe.transform(value);
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencyDecimalColfuturoFormatterDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
20
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: CurrencyDecimalColfuturoFormatterDirective, selector: "[currencyDecimalColfuturoFormatter]", host: { listeners: { "focus": "onFocus($event.target.value)", "blur": "onBlur($event.target.value)" } }, ngImport: i0 }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CurrencyDecimalColfuturoFormatterDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[currencyDecimalColfuturoFormatter]',
26
+ standalone: false
27
+ }]
28
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { onFocus: [{
29
+ type: HostListener,
30
+ args: ['focus', ['$event.target.value']]
31
+ }], onBlur: [{
32
+ type: HostListener,
33
+ args: ['blur', ['$event.target.value']]
34
+ }] } });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZGVjaW1hbC1jb2xmdXR1cm8tZm9ybWF0dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXBsaS1jb21tb25zL3NyYy9saWIvZGlyZWN0aXZlcy9jdXJyZW5jeS1kZWNpbWFsLWNvbGZ1dHVyby1mb3JtYXR0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFzQixNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFNeEYsTUFBTSxPQUFPLDBDQUEwQztJQUt0RCxZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3pDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksNEJBQTRCLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBR0QsT0FBTyxDQUFDLEtBQUs7UUFDWixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsd0JBQXdCO0lBQ2hGLENBQUM7SUFHRCxNQUFNLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQzsrR0F0QlcsMENBQTBDO21HQUExQywwQ0FBMEM7OzRGQUExQywwQ0FBMEM7a0JBSnRELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFDQUFxQztvQkFDL0MsVUFBVSxFQUFFLEtBQUs7aUJBQ3BCOytFQWdCQSxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7Z0JBTTlDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3VycmVuY3lEZWNpbWFsQ29sZnV0dXJvUGlwZSB9IGZyb20gJy4uL3BpcGVzL2N1cnJlbmN5LWRlY2ltYWwtY29sZnV0dXJvLnBpcGUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tjdXJyZW5jeURlY2ltYWxDb2xmdXR1cm9Gb3JtYXR0ZXJdJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXJyZW5jeURlY2ltYWxDb2xmdXR1cm9Gb3JtYXR0ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdHByaXZhdGUgZWw6IEhUTUxJbnB1dEVsZW1lbnQ7XHJcblxyXG5cdHByaXZhdGUgY3VycmVuY3lEZWNpbWFsUGlwZTogQ3VycmVuY3lEZWNpbWFsQ29sZnV0dXJvUGlwZTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcblx0XHR0aGlzLmVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcblx0XHR0aGlzLmN1cnJlbmN5RGVjaW1hbFBpcGUgPSBuZXcgQ3VycmVuY3lEZWNpbWFsQ29sZnV0dXJvUGlwZSgpO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHR0aGlzLmVsLnZhbHVlID0gdGhpcy5jdXJyZW5jeURlY2ltYWxQaXBlLnRyYW5zZm9ybSh0aGlzLmVsLnZhbHVlKTtcclxuXHR9XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQudGFyZ2V0LnZhbHVlJ10pXHJcblx0b25Gb2N1cyh2YWx1ZSkge1xyXG5cdFx0dGhpcy5lbC52YWx1ZSA9IHRoaXMuY3VycmVuY3lEZWNpbWFsUGlwZS5wYXJzZSh2YWx1ZSk7IC8vIG9wb3NzaXRlIG9mIHRyYW5zZm9ybVxyXG5cdH1cclxuXHJcblx0QEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50LnRhcmdldC52YWx1ZSddKVxyXG5cdG9uQmx1cih2YWx1ZSkge1xyXG5cdFx0dGhpcy5lbC52YWx1ZSA9IHRoaXMuY3VycmVuY3lEZWNpbWFsUGlwZS50cmFuc2Zvcm0odmFsdWUpO1xyXG5cdH1cclxufVxyXG4iXX0=