ngx-vector-components 5.124.0 → 5.126.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 (178) hide show
  1. package/CHANGELOG.md +2536 -2530
  2. package/README.md +35 -35
  3. package/assets/icons/chevron_down_icon.svg +3 -3
  4. package/assets/icons/home_menu_icon.svg +3 -3
  5. package/assets/icons/logout_icon.svg +9 -9
  6. package/assets/icons/menu_footer_icon.svg +3 -3
  7. package/assets/icons/menu_hamburguer_icon.svg +3 -3
  8. package/assets/icons/terms_of_use_icon.svg +9 -9
  9. package/assets/icons/vector_admin_icon.svg +4 -4
  10. package/assets/icons/vector_fintech_icon.svg +3 -3
  11. package/assets/icons/vector_logtech_icon.svg +6 -6
  12. package/assets/icons/vector_marketplace_icon.svg +3 -3
  13. package/assets/images/bunge_logo.svg +23 -23
  14. package/assets/images/cofco_logo.svg +117 -117
  15. package/assets/images/emote_bad.svg +6 -6
  16. package/assets/images/emote_cool.svg +5 -5
  17. package/assets/images/emote_nice.svg +5 -5
  18. package/assets/images/success_sign.svg +4 -4
  19. package/assets/images/vector-logo-horizontal-inverse-color.svg +13 -13
  20. package/assets/images/vector_logo_horizontal.svg +13 -13
  21. package/assets/images/warn_sign.svg +4 -4
  22. package/assets/styles/_fonts.scss +114 -114
  23. package/assets/styles/_mixins.scss +7 -7
  24. package/assets/styles/_primeng-custom-theme.scss +1269 -1269
  25. package/assets/styles/_spinner.scss +35 -35
  26. package/assets/styles/_styles.scss +115 -115
  27. package/assets/styles/_variables.scss +27 -27
  28. package/esm2022/lib/components/badge/badge.component.mjs +3 -3
  29. package/esm2022/lib/components/badge/badge.module.mjs +1 -1
  30. package/esm2022/lib/components/badge/index.mjs +1 -1
  31. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +3 -3
  32. package/esm2022/lib/components/breadcrumb/breadcrumb.module.mjs +1 -1
  33. package/esm2022/lib/components/breadcrumb/index.mjs +1 -1
  34. package/esm2022/lib/components/crud-base/crud-base.component.mjs +1 -1
  35. package/esm2022/lib/components/crud-base/index.mjs +1 -1
  36. package/esm2022/lib/components/crud-footer/crud-footer.component.mjs +3 -3
  37. package/esm2022/lib/components/crud-footer/crud-footer.module.mjs +1 -1
  38. package/esm2022/lib/components/crud-footer/index.mjs +1 -1
  39. package/esm2022/lib/components/crud-header/crud-header.component.mjs +3 -3
  40. package/esm2022/lib/components/crud-header/crud-header.module.mjs +1 -1
  41. package/esm2022/lib/components/crud-header/index.mjs +1 -1
  42. package/esm2022/lib/components/crud-history/crud-history.component.mjs +3 -3
  43. package/esm2022/lib/components/crud-history/crud-history.module.mjs +1 -1
  44. package/esm2022/lib/components/crud-history/index.mjs +1 -1
  45. package/esm2022/lib/components/fields/button/button.component.mjs +3 -3
  46. package/esm2022/lib/components/fields/button/index.mjs +1 -1
  47. package/esm2022/lib/components/fields/calendar-field/calendar-field.component.mjs +3 -3
  48. package/esm2022/lib/components/fields/calendar-field/index.mjs +1 -1
  49. package/esm2022/lib/components/fields/checkbox-field/checkbox-field.component.mjs +3 -3
  50. package/esm2022/lib/components/fields/checkbox-field/index.mjs +1 -1
  51. package/esm2022/lib/components/fields/currency-field/currency-field.component.mjs +3 -3
  52. package/esm2022/lib/components/fields/currency-field/index.mjs +1 -1
  53. package/esm2022/lib/components/fields/data-table/data-table.component.mjs +3 -3
  54. package/esm2022/lib/components/fields/data-table/index.mjs +1 -1
  55. package/esm2022/lib/components/fields/dropdown-field/dropdown-field.component.mjs +3 -3
  56. package/esm2022/lib/components/fields/dropdown-field/index.mjs +1 -1
  57. package/esm2022/lib/components/fields/field-error-message/field-error-message.component.mjs +3 -3
  58. package/esm2022/lib/components/fields/field-error-message/index.mjs +1 -1
  59. package/esm2022/lib/components/fields/fields.module.mjs +1 -1
  60. package/esm2022/lib/components/fields/filters/filters.component.mjs +3 -3
  61. package/esm2022/lib/components/fields/filters/index.mjs +1 -1
  62. package/esm2022/lib/components/fields/index.mjs +1 -1
  63. package/esm2022/lib/components/fields/input-number-field/index.mjs +1 -1
  64. package/esm2022/lib/components/fields/input-number-field/input-number-field.component.mjs +3 -3
  65. package/esm2022/lib/components/fields/input-otp/index.mjs +1 -1
  66. package/esm2022/lib/components/fields/input-otp/input-otp.component.mjs +3 -3
  67. package/esm2022/lib/components/fields/input-switch-field/index.mjs +1 -1
  68. package/esm2022/lib/components/fields/input-switch-field/input-switch-field.component.mjs +3 -3
  69. package/esm2022/lib/components/fields/multiselect-field/index.mjs +1 -1
  70. package/esm2022/lib/components/fields/multiselect-field/multiselect-field.component.mjs +3 -3
  71. package/esm2022/lib/components/fields/percentage-field/index.mjs +1 -1
  72. package/esm2022/lib/components/fields/percentage-field/percentage-field.component.mjs +3 -3
  73. package/esm2022/lib/components/fields/radio-button-field/index.mjs +1 -1
  74. package/esm2022/lib/components/fields/radio-button-field/radio-button-field.component.mjs +3 -3
  75. package/esm2022/lib/components/fields/range-value/index.mjs +1 -1
  76. package/esm2022/lib/components/fields/range-value/range-value.component.mjs +3 -3
  77. package/esm2022/lib/components/fields/search-field/index.mjs +1 -1
  78. package/esm2022/lib/components/fields/search-field/search-field.component.mjs +3 -3
  79. package/esm2022/lib/components/fields/select-button-field/index.mjs +1 -1
  80. package/esm2022/lib/components/fields/select-button-field/select-button-field.component.mjs +3 -3
  81. package/esm2022/lib/components/fields/text-field/index.mjs +1 -1
  82. package/esm2022/lib/components/fields/text-field/text-field.component.mjs +30 -16
  83. package/esm2022/lib/components/fields/textarea-field/index.mjs +1 -1
  84. package/esm2022/lib/components/fields/textarea-field/textarea-field.component.mjs +3 -3
  85. package/esm2022/lib/components/generic-error-modal/generic-error-modal.component.mjs +3 -3
  86. package/esm2022/lib/components/generic-error-modal/generic-error-modal.module.mjs +1 -1
  87. package/esm2022/lib/components/generic-error-modal/index.mjs +1 -1
  88. package/esm2022/lib/components/generic-modal/generic-modal.component.mjs +3 -3
  89. package/esm2022/lib/components/generic-modal/generic-modal.module.mjs +1 -1
  90. package/esm2022/lib/components/generic-modal/index.mjs +1 -1
  91. package/esm2022/lib/components/index.mjs +1 -1
  92. package/esm2022/lib/components/menu/index.mjs +1 -1
  93. package/esm2022/lib/components/menu/menu.component.mjs +3 -3
  94. package/esm2022/lib/components/menu/menu.module.mjs +1 -1
  95. package/esm2022/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +3 -3
  96. package/esm2022/lib/components/panel/index.mjs +1 -1
  97. package/esm2022/lib/components/panel/panel.component.mjs +3 -3
  98. package/esm2022/lib/components/panel/panel.module.mjs +1 -1
  99. package/esm2022/lib/components/score/index.mjs +1 -1
  100. package/esm2022/lib/components/score/score.component.mjs +3 -3
  101. package/esm2022/lib/components/score/score.module.mjs +1 -1
  102. package/esm2022/lib/components/stepper/index.mjs +1 -1
  103. package/esm2022/lib/components/stepper/stepper.component.mjs +3 -3
  104. package/esm2022/lib/components/stepper/stepper.module.mjs +1 -1
  105. package/esm2022/lib/components/top-bar/index.mjs +1 -1
  106. package/esm2022/lib/components/top-bar/top-bar.component.mjs +3 -3
  107. package/esm2022/lib/components/top-bar/top-bar.module.mjs +1 -1
  108. package/esm2022/lib/guards/crud-list-has-items.guard.mjs +1 -1
  109. package/esm2022/lib/guards/get-token-by-guid.guard.mjs +1 -1
  110. package/esm2022/lib/guards/has-permission.guard.mjs +1 -1
  111. package/esm2022/lib/guards/index.mjs +1 -1
  112. package/esm2022/lib/guards/role.guard.mjs +1 -1
  113. package/esm2022/lib/guards/token-is-present.guard.mjs +1 -1
  114. package/esm2022/lib/injections/index.mjs +1 -1
  115. package/esm2022/lib/interceptors/http-interceptor.mjs +1 -1
  116. package/esm2022/lib/interceptors/index.mjs +1 -1
  117. package/esm2022/lib/models/app-name.enum.mjs +1 -1
  118. package/esm2022/lib/models/boolean-type.enum.mjs +1 -1
  119. package/esm2022/lib/models/crud-history.model.mjs +1 -1
  120. package/esm2022/lib/models/crud-mode.enum.mjs +1 -1
  121. package/esm2022/lib/models/currency.enum.mjs +1 -1
  122. package/esm2022/lib/models/data-table.model.mjs +1 -1
  123. package/esm2022/lib/models/document-type.enum.mjs +1 -1
  124. package/esm2022/lib/models/filters.model.mjs +1 -1
  125. package/esm2022/lib/models/generic-modal.model.mjs +1 -1
  126. package/esm2022/lib/models/http-response.model.mjs +1 -1
  127. package/esm2022/lib/models/index.mjs +1 -1
  128. package/esm2022/lib/models/ip-info.enum.mjs +1 -1
  129. package/esm2022/lib/models/list-item.model.mjs +1 -1
  130. package/esm2022/lib/models/locale.enum.mjs +1 -1
  131. package/esm2022/lib/models/menu-item.model.mjs +1 -1
  132. package/esm2022/lib/models/message-status.enum.mjs +1 -1
  133. package/esm2022/lib/models/profile.model.mjs +2 -1
  134. package/esm2022/lib/models/role.enum.mjs +1 -1
  135. package/esm2022/lib/models/status.enum.mjs +1 -1
  136. package/esm2022/lib/models/topbar.model.mjs +1 -1
  137. package/esm2022/lib/models/vector-app.model.mjs +1 -1
  138. package/esm2022/lib/models/vector-notification.model.mjs +1 -1
  139. package/esm2022/lib/models/view.enum.mjs +1 -1
  140. package/esm2022/lib/pipes/currency-brl.pipe.mjs +1 -1
  141. package/esm2022/lib/pipes/format-document.pipe.mjs +1 -1
  142. package/esm2022/lib/pipes/index.mjs +1 -1
  143. package/esm2022/lib/pipes/mask.pipe.mjs +1 -1
  144. package/esm2022/lib/pipes/not-hidden.pipe.mjs +1 -1
  145. package/esm2022/lib/pipes/only-active.pipe.mjs +1 -1
  146. package/esm2022/lib/pipes/pipes.module.mjs +1 -1
  147. package/esm2022/lib/pipes/remove-last-child.pipe.mjs +1 -1
  148. package/esm2022/lib/pipes/unread-notifications.pipe.mjs +1 -1
  149. package/esm2022/lib/resolvers/get-selected-crud-item.resolver.mjs +1 -1
  150. package/esm2022/lib/resolvers/index.mjs +1 -1
  151. package/esm2022/lib/services/auth.service.mjs +1 -1
  152. package/esm2022/lib/services/base-dropdown.mjs +1 -1
  153. package/esm2022/lib/services/crud-base.service.mjs +1 -1
  154. package/esm2022/lib/services/enum.service.mjs +1 -1
  155. package/esm2022/lib/services/error-message.service.mjs +1 -1
  156. package/esm2022/lib/services/geolocation.service.mjs +1 -1
  157. package/esm2022/lib/services/index.mjs +1 -1
  158. package/esm2022/lib/services/loading.service.mjs +1 -1
  159. package/esm2022/lib/services/menu.service.mjs +1 -1
  160. package/esm2022/lib/services/modal.service.mjs +1 -1
  161. package/esm2022/lib/services/notifications.service.mjs +1 -1
  162. package/esm2022/lib/services/profile.service.mjs +1 -1
  163. package/esm2022/lib/services/storage.service.mjs +1 -1
  164. package/esm2022/lib/shared/shared.module.mjs +1 -1
  165. package/esm2022/lib/utils/cpf-cnpj-validator.util.mjs +1 -1
  166. package/esm2022/lib/utils/file.util.mjs +1 -1
  167. package/esm2022/lib/utils/index.mjs +1 -1
  168. package/esm2022/lib/utils/mask.util.mjs +1 -1
  169. package/esm2022/lib/utils/object.util.mjs +1 -1
  170. package/esm2022/lib/utils/string.util.mjs +1 -1
  171. package/esm2022/lib/utils/validation.util.mjs +1 -1
  172. package/esm2022/lib/utils/window.util.mjs +1 -1
  173. package/esm2022/public-api.mjs +1 -1
  174. package/fesm2022/ngx-vector-components.mjs +92 -77
  175. package/fesm2022/ngx-vector-components.mjs.map +1 -1
  176. package/lib/components/fields/text-field/text-field.component.d.ts +4 -2
  177. package/lib/models/profile.model.d.ts +2 -1
  178. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-vector-components.mjs","sources":["../../../projects/ngx-vector-components/src/lib/models/app-name.enum.ts","../../../projects/ngx-vector-components/src/lib/models/boolean-type.enum.ts","../../../projects/ngx-vector-components/src/lib/models/crud-history.model.ts","../../../projects/ngx-vector-components/src/lib/models/crud-mode.enum.ts","../../../projects/ngx-vector-components/src/lib/models/data-table.model.ts","../../../projects/ngx-vector-components/src/lib/models/document-type.enum.ts","../../../projects/ngx-vector-components/src/lib/models/message-status.enum.ts","../../../projects/ngx-vector-components/src/lib/models/profile.model.ts","../../../projects/ngx-vector-components/src/lib/models/role.enum.ts","../../../projects/ngx-vector-components/src/lib/models/status.enum.ts","../../../projects/ngx-vector-components/src/lib/models/view.enum.ts","../../../projects/ngx-vector-components/src/lib/components/badge/badge.component.ts","../../../projects/ngx-vector-components/src/lib/components/badge/badge.component.html","../../../projects/ngx-vector-components/src/lib/pipes/currency-brl.pipe.ts","../../../projects/ngx-vector-components/src/lib/utils/cpf-cnpj-validator.util.ts","../../../projects/ngx-vector-components/src/lib/utils/file.util.ts","../../../projects/ngx-vector-components/src/lib/utils/mask.util.ts","../../../projects/ngx-vector-components/src/lib/utils/object.util.ts","../../../projects/ngx-vector-components/src/lib/utils/string.util.ts","../../../projects/ngx-vector-components/src/lib/utils/validation.util.ts","../../../projects/ngx-vector-components/src/lib/utils/window.util.ts","../../../projects/ngx-vector-components/src/lib/pipes/format-document.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/mask.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/not-hidden.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/only-active.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/remove-last-child.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/unread-notifications.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/pipes.module.ts","../../../projects/ngx-vector-components/src/lib/shared/shared.module.ts","../../../projects/ngx-vector-components/src/lib/components/badge/badge.module.ts","../../../projects/ngx-vector-components/src/lib/injections/index.ts","../../../projects/ngx-vector-components/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../projects/ngx-vector-components/src/lib/components/breadcrumb/breadcrumb.component.html","../../../projects/ngx-vector-components/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-base/crud-base.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/button/button.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/button/button.component.html","../../../projects/ngx-vector-components/src/lib/components/crud-footer/crud-footer.component.ts","../../../projects/ngx-vector-components/src/lib/components/crud-footer/crud-footer.component.html","../../../projects/ngx-vector-components/src/lib/components/panel/panel.component.ts","../../../projects/ngx-vector-components/src/lib/components/panel/panel.component.html","../../../projects/ngx-vector-components/src/lib/components/panel/panel.module.ts","../../../projects/ngx-vector-components/src/lib/components/score/score.component.ts","../../../projects/ngx-vector-components/src/lib/components/score/score.component.html","../../../projects/ngx-vector-components/src/lib/components/score/score.module.ts","../../../projects/ngx-vector-components/src/lib/services/auth.service.ts","../../../projects/ngx-vector-components/src/lib/services/crud-base.service.ts","../../../projects/ngx-vector-components/src/lib/services/enum.service.ts","../../../projects/ngx-vector-components/src/lib/services/error-message.service.ts","../../../projects/ngx-vector-components/src/lib/services/geolocation.service.ts","../../../projects/ngx-vector-components/src/lib/services/loading.service.ts","../../../projects/ngx-vector-components/src/lib/services/storage.service.ts","../../../projects/ngx-vector-components/src/lib/services/profile.service.ts","../../../projects/ngx-vector-components/src/lib/services/menu.service.ts","../../../projects/ngx-vector-components/src/lib/services/modal.service.ts","../../../projects/ngx-vector-components/src/lib/services/notifications.service.ts","../../../projects/ngx-vector-components/src/lib/components/fields/field-error-message/field-error-message.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/field-error-message/field-error-message.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/calendar-field/calendar-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/calendar-field/calendar-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/checkbox-field/checkbox-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/checkbox-field/checkbox-field.component.html","../../../projects/ngx-vector-components/src/lib/models/currency.enum.ts","../../../projects/ngx-vector-components/src/lib/models/locale.enum.ts","../../../projects/ngx-vector-components/src/lib/components/fields/currency-field/currency-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/currency-field/currency-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/text-field/text-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/text-field/text-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/multiselect-field/multiselect-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/multiselect-field/multiselect-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/dropdown-field/dropdown-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/dropdown-field/dropdown-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/select-button-field/select-button-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/select-button-field/select-button-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/filters/filters.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/filters/filters.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/data-table/data-table.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/data-table/data-table.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/input-number-field/input-number-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/input-number-field/input-number-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/input-otp/input-otp.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/input-otp/input-otp.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/input-switch-field/input-switch-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/input-switch-field/input-switch-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/percentage-field/percentage-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/percentage-field/percentage-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/radio-button-field/radio-button-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/radio-button-field/radio-button-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/range-value/range-value.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/range-value/range-value.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/search-field/search-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/search-field/search-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/textarea-field/textarea-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/textarea-field/textarea-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/fields.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-footer/crud-footer.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-header/crud-header.component.ts","../../../projects/ngx-vector-components/src/lib/components/crud-header/crud-header.component.html","../../../projects/ngx-vector-components/src/lib/components/crud-header/crud-header.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-history/crud-history.component.ts","../../../projects/ngx-vector-components/src/lib/components/crud-history/crud-history.component.html","../../../projects/ngx-vector-components/src/lib/components/crud-history/crud-history.module.ts","../../../projects/ngx-vector-components/src/lib/components/generic-error-modal/generic-error-modal.component.ts","../../../projects/ngx-vector-components/src/lib/components/generic-error-modal/generic-error-modal.component.html","../../../projects/ngx-vector-components/src/lib/components/generic-error-modal/generic-error-modal.module.ts","../../../projects/ngx-vector-components/src/lib/components/generic-modal/generic-modal.component.ts","../../../projects/ngx-vector-components/src/lib/components/generic-modal/generic-modal.component.html","../../../projects/ngx-vector-components/src/lib/components/generic-modal/generic-modal.module.ts","../../../projects/ngx-vector-components/src/lib/components/menu/sub-menus-list/sub-menus-list.component.ts","../../../projects/ngx-vector-components/src/lib/components/menu/sub-menus-list/sub-menus-list.component.html","../../../projects/ngx-vector-components/src/lib/components/menu/menu.component.ts","../../../projects/ngx-vector-components/src/lib/components/menu/menu.component.html","../../../projects/ngx-vector-components/src/lib/components/menu/menu.module.ts","../../../projects/ngx-vector-components/src/lib/components/stepper/stepper.component.ts","../../../projects/ngx-vector-components/src/lib/components/stepper/stepper.component.html","../../../projects/ngx-vector-components/src/lib/components/stepper/stepper.module.ts","../../../projects/ngx-vector-components/src/lib/components/top-bar/top-bar.component.ts","../../../projects/ngx-vector-components/src/lib/components/top-bar/top-bar.component.html","../../../projects/ngx-vector-components/src/lib/components/top-bar/top-bar.module.ts","../../../projects/ngx-vector-components/src/lib/guards/crud-list-has-items.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/get-token-by-guid.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/has-permission.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/role.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/token-is-present.guard.ts","../../../projects/ngx-vector-components/src/lib/interceptors/http-interceptor.ts","../../../projects/ngx-vector-components/src/lib/resolvers/get-selected-crud-item.resolver.ts","../../../projects/ngx-vector-components/src/ngx-vector-components.ts"],"sourcesContent":["export enum AppName {\r\n PORTAL = 'PORTAL',\r\n FINTECH = 'FINTECH',\r\n MARKETPLACE = 'MARKETPLACE',\r\n LOGTECH = 'LOGTECH',\r\n SURVEY = 'SURVEY',\r\n PRODUCER_PORTAL = 'PRODUCER_PORTAL',\r\n}\r\n","export enum BooleanType {\r\n YES = 'YES',\r\n NO = 'NO',\r\n}\r\n","export class CrudHistory<T> {\r\n auditId?: number;\r\n dataAuditDelta?: DataAuditDelta[];\r\n dateTime?: Date;\r\n entityType?: number;\r\n eventType?: string;\r\n modifierName?: string;\r\n typeOfModification?: string;\r\n modifiedFromWeb?: boolean;\r\n}\r\n\r\nexport type DataAuditDelta = {\r\n fieldName?: string;\r\n newValue?: string;\r\n oldValue?: string;\r\n type?: number | string;\r\n typeDescription?: string;\r\n};\r\n","export enum CrudMode {\r\n NEW,\r\n EDIT,\r\n VIEW,\r\n}\r\n","import { MenuItem } from 'primeng/api';\r\nimport { ListItem } from './list-item.model';\r\nimport { Status } from './status.enum';\r\n\r\nexport type DataTableBaseItem = {\r\n actions?: MenuItem[];\r\n};\r\n\r\nexport enum TableColumnType {\r\n TEXT = 'TEXT',\r\n BOOLEAN = 'BOOLEAN',\r\n DATE = 'DATE',\r\n DATETIME = 'DATETIME',\r\n ENUM = 'ENUM',\r\n STATUS_BADGE = 'STATUS_BADGE',\r\n ACTIVE_BOOLEAN_BADGE = 'ACTIVE_BOOLEAN_BADGE',\r\n BUTTON = 'BUTTON',\r\n CUSTOM_STYLE = 'CUSTOM_STYLE',\r\n MASK = 'MASK',\r\n TEXT_BADGE = 'TEXT_BADGE',\r\n STACK_BADGE = 'STACK_BADGE',\r\n CURRENCY = 'CURRENCY',\r\n SCORE = 'SCORE',\r\n}\r\n\r\nexport type TableColumn = {\r\n header: string;\r\n field: string;\r\n width?: string;\r\n type?: TableColumnType;\r\n textFieldClass?: string;\r\n getEnumTranslated?: (enumVal: any) => string;\r\n getStatus?: (value: any) => Status;\r\n clickFunction?: Function;\r\n icon?: string | ((rowData: any) => string);\r\n notSortable?: boolean;\r\n mask?: string;\r\n currencyType?: 'USD' | 'BRL';\r\n hidden?: boolean;\r\n};\r\n\r\nexport type DataTableLazyLoadEvent = {\r\n start: number;\r\n length: number;\r\n draw: number;\r\n page: number;\r\n order: { column: number; dir: 'asc' | 'desc' }[];\r\n columns: {\r\n data: string;\r\n name: string;\r\n orderable: boolean;\r\n search: { value: string; regex: boolean };\r\n searchable: boolean;\r\n }[];\r\n search: { value: string; regex: boolean };\r\n tab: ListItem;\r\n};\r\n\r\nexport enum SelectionType {\r\n CHECKBOX = 'checkbox',\r\n RADIOBUTTON = 'radiobutton',\r\n}\r\n","export enum DocumentType {\r\n CPF,\r\n CNPJ,\r\n}\r\n","export enum MessageStatus {\r\n SUCCESS = 'success',\r\n INFO = 'info',\r\n WARN = 'warn',\r\n ERROR = 'error',\r\n}\r\n","import { DataTableBaseItem } from './data-table.model';\r\n\r\nexport type Profile = {\r\n id: number;\r\n name: string;\r\n profileTypeId: number;\r\n ProfileTypeName: string;\r\n modules: ProfileModule[];\r\n active: boolean;\r\n} & DataTableBaseItem;\r\n\r\nexport enum ProfileTypeEnum {\r\n SHIPPER = 1,\r\n SUPER_USER,\r\n CARRIER,\r\n DRIVER,\r\n SHIPPER_INTEGRATION,\r\n BATCHES,\r\n}\r\n\r\nexport type ProfileModule = {\r\n menu: string;\r\n actions: ProfileModuleAction[];\r\n} & ProfileModuleBase;\r\n\r\nexport type ProfileModuleGroupedByMenu = {\r\n menu: string;\r\n modules: ProfileModule[];\r\n children?: ProfileModuleGroupedByMenu[];\r\n};\r\n\r\nexport type ProfileModuleAction = {} & ProfileModuleBase;\r\n\r\nexport type ProfileModuleBase = {\r\n id: number;\r\n name: string;\r\n isAvailable?: boolean;\r\n};\r\n\r\nexport enum ProfileModuleType {\r\n OPERATIONAL_EVALUATION = 'OperationalEvaluation',\r\n ADMIN_SURVEYS = 'AdminSurveys',\r\n DIGITAL_DISCHARGE = 'Quitação Digital',\r\n REGISTER_OPERATION = 'RegisterOperation',\r\n REGISTER_PRODUCTS = 'RegisterProduct',\r\n ADMIN_NPS = 'NPS',\r\n COCKPIT = 'Cockpit',\r\n VALIDATIONS_CARGO_MATCH = 'ValidationsCargoMatch',\r\n PAYMENT_FREIGHT = 'Pagamento De Frete',\r\n FREIGHT_ADJUST = 'FreightAdjust',\r\n PUBLISH_FREIGHT = 'PublishFreight',\r\n APPROVE_FREIGHT = 'ApproveFreight',\r\n REGISTER_JUSTICATIVE = 'RegisterJustificative',\r\n BANK_EXTERNAL = 'BancoExterno',\r\n PAYMENT_DASHBOARD = 'PaymentDashboard',\r\n PAYMENT_SCHEDULING = 'Agendamento De Pagamento',\r\n DICHARGE_CONTROL_PANEL = 'DischargeControlPanel',\r\n CARD_CONTROL = 'Cartão digital',\r\n VECTOR_PAY_STATEMENT = 'VectorPayStatement',\r\n BUNGE_REFUND = 'BungeEstorno',\r\n FINTECH_ADMIN = 'Financeiro',\r\n}\r\n\r\nexport enum ProfileModuleActionType {\r\n ADD_VEHICLE = 'Add Vehicle',\r\n EDIT_VEHICLE = 'Edit Vehicle',\r\n DELETE_VEHICLE = 'Delete Vehicle',\r\n SHOW_VEHICLE = 'Show Vehicle',\r\n ADD_DRIVER = 'Add Driver',\r\n EDIT_DRIVER = 'Edit Driver',\r\n DELETE_DRIVER = 'Delete Driver',\r\n SHOW_DRIVER = 'Show Driver',\r\n SHOW_DRIVER_NEW = 'Show Driver New',\r\n ADD_CARRIER = 'Add Carrier',\r\n DOCUMENTAL_HAZMAT = 'Documental Hazmat',\r\n EDIT_CARRIER = 'Edit Carrier',\r\n DELETE_CARRIER = 'Delete Carrier',\r\n SHOW_CARRIER = 'Show Carrier',\r\n SHOW_ACCREDITED = 'Show Accredited',\r\n ADD_PROFILE = 'Add Profile',\r\n EDIT_PROFILE = 'Edit Profile',\r\n DELETE_PROFILE = 'Delete Profile',\r\n SHOW_PROFILE = 'Show Profile',\r\n EDIT_BROADCAST_VALUES = 'Edit Broadcast Values',\r\n ADD_WAVE = 'Add Wave',\r\n EDIT_WAVE = 'Edit Wave',\r\n SHOW_WAVE = 'Show Wave',\r\n HISTORICAL_CHANGES_VEHICLE = 'Historical Changes Vehicle',\r\n HISTORICAL_CHANGES_DRIVER = 'Historical Changes Driver',\r\n HISTORICAL_CHANGES_CARRIER = 'Historical Changes Carrier',\r\n HISTORICAL_CHANGES_TRIP = 'Historical Changes Trip',\r\n HISTORICAL_CHANGES_USER = 'Historical Changes User',\r\n CANCEL_TRIPS = 'Cancel Trips',\r\n CANCEL_TRIPSPA = 'Cancel Trips PA',\r\n MANUAL_UPLOAD_DOCUMENTS = 'Manual Upload Documents',\r\n HISTORICAL_CHANGES_LOTS = 'Historical Changes Lots',\r\n ADD_LOCATION = 'Add Location',\r\n EDIT_LOCATION = 'Edit Location',\r\n SHOW_LOCATION = 'Show Location',\r\n ADD_RESTRICTIONS = 'Add Restrictions',\r\n EDIT_RESTRICTIONS = 'Edit Restrictions',\r\n SHOW_RESTRICTIONS = 'Show Restrictions',\r\n DELETE_RESTRICTIONS = 'Delete Restrictions',\r\n DELETE_LOCATION = 'Delete Location',\r\n SHOW_MESSAGES = 'Show Messages',\r\n EDIT_MESSAGES = 'Edit Messages',\r\n DELETE_MESSAGES = 'Delete Messages',\r\n ADD_MESSAGES = 'Add Messages',\r\n ADD_LOT = 'Add Lot',\r\n EDIT_LOT = 'Edit Lot',\r\n DELETE_LOT = 'Delete Lot',\r\n SHOW_LOT = 'Show Lot',\r\n ACCEPT_CREDIT = 'Accept Credit',\r\n SHOW_CREDIT = 'Show Credit',\r\n ADD_VEHICLE_CONFIGURATION = 'Add Vehicle Configuration',\r\n EDIT_VEHICLE_CONFIGURATION = 'Edit Vehicle Configuration',\r\n SHOW_VEHICLE_CONFIGURATION = 'Show Vehicle Configuration',\r\n ADD_SCHEDULING = 'Add Scheduling',\r\n EDIT_SCHEDULING = 'Edit Scheduling',\r\n DELETE_SCHEDULING = 'Delete Scheduling',\r\n ADD_VEHICLE_CONFIGURATION_SHIPPER = 'Add Vehicle Configuration Shipper',\r\n EDIT_VEHICLE_CONFIGURATION_SHIPPER = 'Edit Vehicle Configuration Shipper',\r\n SHOW_VEHICLE_CONFIGURATION_SHIPPER = 'Show Vehicle Configuration Shipper',\r\n EDIT_TRIP_BUNGE = 'Edit trip Bunge',\r\n EDIT_TRIP_COFCO = 'Edit trip Cofco',\r\n SHOW_MINIMUM_TRANSPORT_PRICE_TABLE = 'Show Minimum Transport Price Table',\r\n EDIT_MINIMUM_TRANSPORT_PRICE_TABLE = 'Edit Minimum Transport Price Table',\r\n HISTORICAL_CHANGES_CREDITS = 'Historical Changes Credits',\r\n INTEGRAÇÃO_PAGBEM = 'Integração Pagbem',\r\n VALIDATION_CARRIER = 'Validation Carrier',\r\n VALIDATION_DRIVER = 'Validation Driver',\r\n VALIDATION_VEHICLE = 'Validation Vehicle',\r\n EDIT_TRIP_STATUS = 'Edit trip status',\r\n REGISTRATION_VALIDATION = 'Registration Validation',\r\n B3_OPERATION = 'B3 Operation',\r\n SHOW_CARRIER_DETAIL_INTEGRATION = 'Show Carrier Detail Integration',\r\n SHOW_DRIVER_DETAIL_INTEGRATION = 'Show Driver Detail Integration',\r\n FUELS_SHOW_DISTRIBUTION_CENTER = 'Fuels show distribution center',\r\n FUELS_ADD_DISTRIBUTION_CENTER = 'Fuels add distribution center',\r\n FUELS_EDIT_DISTRIBUTION_CENTER = 'Fuels edit distribution center',\r\n FUELS_DELETE_DISTRIBUTION_CENTER = 'Fuels delete distribution center',\r\n FUELS_SHOW_DISTRIBUTION_POINT = 'Fuels show distribution point',\r\n FUELS_ADD_DISTRIBUTION_POINT = 'Fuels add distribution point',\r\n FUELS_EDIT_DISTRIBUTION_POINT = 'Fuels edit distribution point',\r\n FUELS_DELETE_DISTRIBUTION_POINT = 'Fuels delete distribution point',\r\n FUELS_SHOW_DISTRIBUTION_POST = 'Fuels show distribution post',\r\n FUELS_ADD_DISTRIBUTION_POST = 'Fuels add distribution post',\r\n FUELS_EDIT_DISTRIBUTION_POST = 'Fuels edit distribution post',\r\n FUELS_DELETE_DISTRIBUTION_POST = 'Fuels delete distribution post',\r\n FUELS_SHOW_MARKETPLACE_PRODUCT = 'Fuels show marketplace product',\r\n FUELS_ADD_MARKETPLACE_PRODUCT = 'Fuels add marketplace product',\r\n FUELS_EDIT_MARKETPLACE_PRODUCT = 'Fuels edit marketplace product',\r\n FUELS_DELETE_MARKETPLACE_PRODUCT = 'Fuels delete marketplace product',\r\n FUELS_SHOW_STOCK_UPDATE = 'Fuels show stock update',\r\n FUELS_ADD_STOCK_UPDATE = 'Fuels add stock update',\r\n SHOW_MARKETPLACES = 'Show marketplaces',\r\n FUELS_SHOW_DEPOSIT = 'Fuels show deposit',\r\n FUELS_ADD_DEPOSIT = 'Fuels add deposit',\r\n FUELS_EDIT_DEPOSIT = 'Fuels edit deposit',\r\n FUELS_DELETE_DEPOSIT = 'Fuels delete deposit',\r\n FUELS_SHOW_SUPPLY_OFFER = 'Fuels show supply offer',\r\n FUELS_ADD_SUPPLY_OFFER = 'Fuels add supply offer',\r\n FUELS_EDIT_SUPPLY_OFFER = 'Fuels edit supply offer',\r\n FUELS_SHOW_OPERATOR = 'Fuels show operator',\r\n FUELS_ADD_OPERATOR = 'Fuels add operator',\r\n FUELS_EDIT_OPERATOR = 'Fuels edit operator',\r\n FUELS_DELETE_OPERATOR = 'Fuels delete operator',\r\n FINTECH_BANK_ADMIN = 'Fintech Bank Admin',\r\n FINTECH_BANK_USER = 'Fintech Bank User',\r\n FINTECH_PIX_PAYMENT_REVERSAL = 'Pix Payment Reversal',\r\n FINTECH_CREDIT_ADMIN = 'Fintech Credit Admin',\r\n FINTECH_CREDIT_USER = 'Fintech Credit User',\r\n FINTECH_BANK_ADMIN_ACCOUNTS_VIEW = 'Fintech Bank Admin - Accounts View',\r\n FINTECH_CREDIT_ADMIN_PROPOSAL_NOT_CONFIRMED = 'Fintech Credit Admin - Proposal Not Confirmed',\r\n FINTECH_CREDIT_ADMIN_CONTRACTS_FOLLOW_UP = 'Fintech Credit Admin - Contracts Follow-Up',\r\n ADMIN_MARKEPLACE = 'Admin Markeplace',\r\n APPROVE_REQUEST = 'Approve Request',\r\n REPROVE_REQUEST = 'Reprove Request',\r\n SHOW_REQUEST = 'Show Request',\r\n SHOW_USER = 'Show User',\r\n ADD_USER = 'Add User',\r\n EDIT_USER = 'Edit User',\r\n DELETE_USER = 'Delete User',\r\n ADD_REGION = 'Add Region',\r\n SHOW_REGION = 'Show Region',\r\n EDIT_REGION = 'Edit Region',\r\n ADD_LOCATION_SHIPPER = 'Add LocationShipper',\r\n EDIT_LOCATION_SHIPPER = 'Edit LocationShipper',\r\n SHOW_LOCATION_SHIPPER = 'Show LocationShipper',\r\n DELETE_LOCATION_SHIPPER = 'Delete LocationShipper',\r\n ADD_SCHEDULE = 'Add Schedule',\r\n EDIT_SCHEDULE = 'Edit Schedule',\r\n SHOW_SCHEDULE = 'Show Schedule',\r\n ADD_VACANCIES_LOGISTIC = 'Add Vacancies Logistic',\r\n ADD_VACANCIES_COMMERCIAL = 'Add Vacancies Commercial',\r\n SHOW_VACANCIES_COMPLETE = 'Show Vacancies Complete',\r\n ADD_SCHEDULE_OFF = 'Add Schedule Off',\r\n SHOW_NEWS = 'Show News',\r\n ADD_NEWS = 'Add News',\r\n EDIT_NEWS = 'Edit News',\r\n DELETE_NEWS = 'Delete News',\r\n HISTORICAL_CHANGES_NEWS = 'Historical Changes News',\r\n ADD_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Add DistributionCentersCompanyCredit',\r\n EDIT_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Edit DistributionCentersCompanyCredit',\r\n SHOW_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Show DistributionCentersCompanyCredit',\r\n DELETE_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Delete DistributionCentersCompanyCredit',\r\n ADD_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Add DistributionCentersCompanyUnitCredit',\r\n EDIT_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Edit DistributionCentersCompanyUnitCredit',\r\n SHOW_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Show DistributionCentersCompanyUnitCredit',\r\n DELETE_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Delete DistributionCentersCompanyUnitCredit',\r\n APPROVE_VECTOR = 'ApproveVector',\r\n APPROVE_ETCD = 'ApproveETCD',\r\n APPROVE_CARRIER = 'ApproveEmbarcador',\r\n DELETE_PARAMETERS_ETCD = 'Delete Parameters',\r\n SHOW_RECEPTION_PRODUCT = 'Show Reception Product',\r\n EDIT_RECEPTION_PRODUCT = 'Edit Reception Product',\r\n DELETE_RECEPTION_PRODUCT = 'Delete Reception Product',\r\n ADD_RECEPTION_PRODUCT = 'Add Reception Product',\r\n SHOW_DIGITAL_DISCHARGE = 'Show Digital Discharge',\r\n SHOW_DIGITAL_DISCHARGE_FILES = 'Show Digital Discharge Files',\r\n SHOW_DIGITAL_TRANSPORTATION = 'Show Digital Transportation',\r\n FULL_ACCESS_DIGITAL_DISCHARGE = 'Full Acess Digital Discharge',\r\n SHOW_ETCD = 'Show ETCD',\r\n EDIT_ETCD = 'Edit ETCD',\r\n DELETE_ETCD = 'Delete ETCD',\r\n ADD_ETCD = 'Add ETCD',\r\n SHOW_REGIONAL_ETCD = 'Show Regional ETCD',\r\n SHOW_VIRTUAL_BRANCH = 'Show Virtual Branch',\r\n EDIT_VIRTUAL_BRANCH = 'Edit Virtual Branch',\r\n ADD_VIRTUAL_BRANCH = 'Add Virtual Branch',\r\n DELETE_VIRTUAL_BRANCH = 'Delete Virtual Branch',\r\n SHOW_PHYSICAL_BRANCH = 'Show Physical Branch',\r\n EDIT_PHYSICAL_BRANCH = 'Edit Physical Branch',\r\n ADD_PHYSICAL_BRANCH = 'Add Physical Branch',\r\n DELETE_PHYSICAL_BRANCH = 'Delete Physical Branch',\r\n SHOW_FISCAL_BRANCH = 'Show Fiscal Branch',\r\n EDIT_FISCAL_BRANCH = 'Edit Fiscal Branch',\r\n ADD_FISCAL_BRANCH = 'Add Fiscal Branch',\r\n DELETE_FISCAL_BRANCH = 'Delete Fiscal Branch',\r\n SHOW_MONITORING_ETCD = 'Show Monitoring ETCD',\r\n ADD_PRODUCT_ETCD = 'Add Product ETCD',\r\n EDIT_PRODUCT_ETCD = 'Edit Product ETCD',\r\n SHOW_PRODUCT_ETCD = 'Show Product ETCD',\r\n DELETE_PRODUCT_ETCD = 'Delete Product ETCD',\r\n ADD_PARAMETERS_ETCD = 'Add Parameters ETCD',\r\n EDIT_PARAMETERS_ETCD = 'Edit Parameters ETCD',\r\n SHOW_PARAMETERS_ETCD = 'Show Parameters ETCD',\r\n ADD_FREIGHT_ETCD = 'Add Freight ETCD',\r\n SHOW_FREIGHT_ETCD = 'Show Freight ETCD',\r\n APPROVE_ADJUSMENT_ETCD = 'Approve Adjusment ETCD',\r\n REPROVE_ADJUSMENT_ETCD = 'Reprove Adjusment ETCD',\r\n ADD_JUSTIFICATIVE_ETCD = 'Add Justificative ETCD',\r\n EDIT_JUSTIFICATIVE_ETCD = 'Edit Justificative ETCD',\r\n DELETE_JUSTIFICATIVE_ETCD = 'Delete Justificative ETCD',\r\n APPROVE_RELEASE_ETCD = 'Approve Release ETCD',\r\n REPROVE_RELEASE_ETCD = 'Reprove Release ETCD',\r\n SHOW_ADVANCE_ETCD = 'Show Advance ETCD',\r\n APPROVE_REQUESTS_ETCD = 'Approve Requests ETCD',\r\n SHOW_SUPPLY = 'Show Supply',\r\n SHOW_TRIP_OFFERT = 'Trip Offer Show',\r\n APPROVE_DISCHARGE_PAYMENT = 'Aprovar quitacao',\r\n APPROVE_ADVANCE_PAYMENT = 'Aprovar adiantamento',\r\n APPROVE_ENGINE_PAYMENT = 'Aprovar motor de pagamento',\r\n EXTRACT_THIRD = 'Extrato terceiro',\r\n HISTORICAL_CHANGES_GROUPS = 'HistoricalChangesGroups',\r\n DELETE_ONLY_MEMBER_GROUPS = 'Delete Only Member Groups',\r\n ADD_ONLY_MEMBER_GROUPS = 'Add Only Member Groups',\r\n SHOW_GROUPS = 'Show Groups',\r\n DELETE_GROUPS = 'Delete Groups',\r\n EDIT_GROUPS = 'Edit Groups',\r\n ADD_GROUPS = 'Add Groups',\r\n ADD_UPDATE_GEOFENCE = 'Add Update Geofence',\r\n SHOW_GEOFENCE = 'Show Geofence',\r\n SHOW_GEOFENCE_LOG = 'Show Geofence Log',\r\n HISTORICAL_CHANGES_GEOFENCE = 'Historical Changes Geofence',\r\n SHOW_DRIVER_LOG = 'Show Driver Log',\r\n UPDATE_CHECKIN_CHECKOUT = 'Update CheckIn CheckOut',\r\n AUTOMATIC_CHECKIN = 'Automatic CheckIn',\r\n SHOW_FILTERS_MONTHLY_RECEPTION = 'Show Filters Monthly Reception',\r\n VIEW_ROUTE_TRIP = 'View Route Trip',\r\n SHOW_ROUTE = 'Show Route',\r\n EDIT_ROUTE = 'Edit Route',\r\n SHOW_RISK_MANAGEMENT = 'Show Risk Management',\r\n ADD_RISK_MANAGEMENT = 'Add Risk Management',\r\n EDIT_RISK_MANAGEMENT = 'Edit Risk Management',\r\n DELETE_RISK_MANAGEMENT = 'Delete Risk Management',\r\n DIGITAL_DISCHARGE_BASIC_DATA = 'Quitacao Digital Basic Data',\r\n DIGITAL_DISCHARGE_ETCD_APPROVER = 'Quitacao Digital ETCD Aprovador',\r\n DIGITAL_DISCHARGE_ETCD_APPROVER_MANAGEMENT = 'Quitacao Digital ETCD Aprovador Gestor',\r\n DIGITAL_DISCHARGE_VECTOR_APPROVER = 'Quitacao Digital Vector Aprovador',\r\n DIGITAL_DISCHARGE_VECTOR_APPROVER_MANAGEMENT = 'Quitacao Digital Vector Aprovador Gestor',\r\n DIGITAL_DISCHARGE_APPROVE_SAP = 'Quitacao Digital Aprovador Contingencia Sap',\r\n PAYMENT_FREIGHT_ADJUST_FREIGHT_VALUE = 'Pagamento Frete Ajustar Valor Frete',\r\n SHOW_MESSAGE_CUSTOM = 'Show Messages Custom',\r\n DELETE_MESSAGE_CUSTOM = 'Delete Messages Custom',\r\n ADD_MESSAGE_CUSTOM = 'Add Messages Custom',\r\n EDIT_MESSAGE_CUSTOM = 'Edit Messages Custom',\r\n RECEPTION_WITHOUT_SCHEDULING = 'Reception Without Scheduling',\r\n BANK_EDIT = 'Edit',\r\n BANK_REGISTER_FULL = 'Cadastro Full',\r\n SEARCH_CALENDAR_FULL = 'Pesquisar Agenda Full',\r\n SHOW_MOVEMENT_ETCD = 'Show Movement Etcd',\r\n CREATE_AND_EDIT_NPS = 'Create and edit NPS',\r\n READ_NPS_INFORMATION = 'Read NPS information',\r\n TEX_ONBOARDING_TRACKING = 'OnboardingTracking',\r\n TEX_CARRIER_ASSOCIATION_TRACKING = 'Carrier Association Tracking',\r\n BIDDING_PARAMETERS = 'Bidding Parameters',\r\n DRIVER_SCORE_METRICS_ADMIN = 'Driver Score Metrics Admin',\r\n SHOW_DOCK_BUILDING = 'Show Dock Building',\r\n ADD_DOCK_BUILDING = 'Add Dock Building',\r\n EDIT_DOCK_BUILDING = 'Edit Dock Building',\r\n EDIT_DOCK = 'Edit Dock',\r\n FRIENDLY_TRIP = 'Friendly Trip',\r\n CANCEL_FRIENDLY_TRIP = 'Cancelar Viagem Amiga',\r\n SHOW_FRIENDLY_TRIP = 'Visualizar Viagem Amiga',\r\n CREATE_FRIENDLY_TRIP = 'Solicitar Viagem Amiga',\r\n ADD_OBSERVATION = 'Add Observation',\r\n SHOW_OBSERVATION = 'Show Observation',\r\n EDIT_OBSERVATION = 'Edit Observation',\r\n DELETE_OBSERVATION = 'Delete Observation',\r\n CLASSIFIER_PARAMETERS_FRIENDLY_TRIP = 'Parâmetros de classificador',\r\n SCORE_REPORT_FRIENDLY_TRIP = 'Relatório de Pontuação',\r\n SEND_NFS_ETCD = 'Send NFs ETCD',\r\n SHOW_ANTECITABLE_RECEVEIBLES = 'Vizualizar antecipacao de recebiveis',\r\n SHOW_LOG_ANTECITABLE_RECEVEIBLES = 'Vizualizar log antecipacao de recebiveis',\r\n AUTOMATIC_DISCLOSURE_CONFIGURATIONS = 'Automatic Disclosure Configurations',\r\n SHOW_PAYMENT_SCHEDULING_DETAIL = 'Show Payment Scheduling Detail',\r\n SCHEDULE_UPDATE_CHECKIN_CHECKOUT = 'Schedule Update CheckIn CheckOut',\r\n SHOW_PARAMETERS_CANCEL_TRIPS = 'show Parameters Cancel Trips',\r\n EDIT_PARAMETERS_CANCEL_TRIPS = 'Edit Parameters Cancel Trips',\r\n SHOW_PARAMETERS_DIVULGATION_WEB = 'Show Parameters Divulgation Web',\r\n EDIT_PARAMETERS_DIVULGATION_WEB = 'Edit Parameters Divulgation Web',\r\n SHOW_PRICE_TAKING = 'Show PriceTaking',\r\n SHOWTABLE_PRICE_TAKING = 'ShowTable PriceTaking',\r\n SHOWTABLE_PRICE_TAKING_EXCEL = 'ShowTable PriceTakingExcel',\r\n SEND_OFFER_PRICE_TAKING = 'Send Offer PriceTaking',\r\n CHANGE_STATUS_PRICE_TAKING = 'Change Status PriceTaking',\r\n SHOWTABLE_PRICE_TAKING_HISTORY = 'ShowTable PriceTaking History',\r\n SAVE_PRICE_TAKING = 'Save PriceTaking',\r\n SHOW_SHIPPING_ORIGIN = 'Show Shipping Origin',\r\n SHOW_SHIPPING_COMBINED = 'Show Shipping Combined',\r\n SHOW_SHIPPING_CONTINUOUS = 'Show Shipping Continuous',\r\n SHOW_LOYALTY = 'Show Loyalty',\r\n SHOW_PAYMENT_PARAMETERS = 'Show Payment Parameters',\r\n COCKPIT_SUMMARY = 'Cockpit Summary',\r\n COCKPIT_REGISTRATION = 'Cockpit Registration',\r\n COCKPIT_BANK = 'Cockpit Bank',\r\n COCKPIT_CREDIT = 'Cockpit Credit',\r\n COCKPIT_PA = 'Cockpit PA',\r\n COCKPIT_LOG = 'Cockpit Log',\r\n CREATE_UPDATE_CARGO_MATCH_VALIDATIONS = 'Create Update Cargo Match Validations',\r\n SHOW_CARGO_MATCH_ETCD_VALIDATIONS = 'Show Cargo Match Etcd Validations',\r\n SHOW_CARGO_MATCH_ETCD_VALIDATIONS_HISTORY = 'Show Cargo Match Etcd Validations History',\r\n PARAMETERIZE_LOT_RANGE_GDV = 'Parameterize Lot Range',\r\n PERFORM_CHECKIN_CHECKOUT_GDV = 'Perform Checkin CheckOut.',\r\n UPLOAD_DOCUMENTS_GDV = 'Upload Documents',\r\n FIX_DOCUMENTS_GDV = 'Fix Documents',\r\n VALIDATE_DOCUMENT_UPLOAD_GDV = 'Validate Document Upload',\r\n REQUEST_CORRECTION_DOCUMENT_INFORMATION_GDV = 'Request correction of document information',\r\n UPLOAD_CTE_MDFE_GDV = 'Upload CTE MDFE',\r\n APPROVE_CANCELLATION_LOAD_ORDER_GDV = 'Approve cancellation of Load Order',\r\n SHOW_FREIGHT_SIMULATOR_ETCD = 'Show Freight Simulator Etcd',\r\n CREATE_UPDATE_FREIGHT_SIMULATOR_ETCD = 'Create Update Freight Simulator Etcd',\r\n APPROVE_REPROVE_ETCD_SIMULATION = 'Approve Reprove Etcd Simulation',\r\n ADVANCE_AND_DISCHARGE_PAYMENT = 'Advance and discharge payment',\r\n PAYMENT_ENGINE = 'Payment Engine',\r\n PAYMENT_STATEMENT = 'Payment Statement',\r\n EDIT_CARRIER_SUSTAINABLE = 'Edit Carrier Sustainable',\r\n SHOW_CARRIER_SUSTAINABLE = 'Show Carrier Sustainable',\r\n SHOW_ORDER_TRAKING = 'Show OrderTraking',\r\n SHOW_ORDER_TRAKING_EXCEL = 'Show OrderTrakingExcel',\r\n EDIT_ORDER_TRAKING_CONFIG = 'Edit OrderTrakingConfig',\r\n SEND_DOCUMENTS_TRIP_MANUAL = 'Send Documents Trip Manual',\r\n DELETE_DOCUMENTS_TRIP_MANUAL = 'Delete Documents Trip Manual',\r\n SEND_DOCUMENTS_CARGO_MANUAL = 'Send Documents Cargo Manual',\r\n ADD_POOLOFFERT = 'Add PoolOffert',\r\n DELETE_POOLOFFERT = 'Delete PoolOffert',\r\n SHOW_POOLOFFERT = 'Show PoolOffert',\r\n EDIT_POOLOFFERT = 'Edit PoolOffert',\r\n DOCUMENTARY_IRREGULARITY = 'documentaryIrregularity',\r\n DOCUMENTARY_IRREGULARITY_FULL_SEARCH = 'documentaryIrregularityFullSearch',\r\n BLOCK_USER_ACCESS = 'Block User Access',\r\n SHOW_DRIVER_DASHBOARD = 'Show Driver Dashboard',\r\n ENABLE_DISABLE_BROADCAST_GRID = 'Enabled-Disabled broadcast in grid',\r\n SHOW_BIDDING = 'Show Bidding',\r\n ADD_FREIGHT_RATE = 'Add Freight Rate',\r\n ADD_MANUAL_CARGO = 'Add Manual Cargo',\r\n EDIT_TRIP_OFFER = 'Trip Offer Edit',\r\n SHOW_TRIP_OFFER = 'Trip Offer Show',\r\n CANCEL_TRIP_OFFER_CARGO_MATCH = 'Trip Offer Cargo Match Cancel',\r\n CREATE_EDIT_ETCD_MANUAL = 'Create Edit Etcd Manual',\r\n DUPLICATE_LOT = 'Duplicar Lote',\r\n ADD_LOT_NORMAL = 'Add Lot Normal',\r\n DUPLICATE_CARGO = 'Duplicar Carga',\r\n DISCLOSURE_IN_MASS = 'Disclosure En Masse',\r\n EDIT_BIDDING = 'Edit Bidding',\r\n SHOW_CHECKLIST_PARAMETER = 'Show Checklist Parameter',\r\n ADD_CHECKLIST_PARAMETER = 'Add Checklist Parameter',\r\n EDIT_CHECKLIST_PARAMETER = 'Edit Checklist Parameter',\r\n DELETE_CHECKLIST_PARAMETER = 'Delete Checklist Parameter',\r\n SHOW_CHECKLIST_PARAMETER_HISTORY = 'Show Checklist Parameter History',\r\n ADD_CHECKLIST_PARAMETER_TYPE = 'Add Checklist Parameter Type',\r\n ADD_MAIL_LOTS = 'Add Mails Lots',\r\n ADD_ROUTE = 'Add Route',\r\n ADD_CASH_ADVANCE = 'Add Cash Advance',\r\n ADD_HAS_TOLL = 'Add Has Toll',\r\n EDIT_FREIGHT_RATE = 'Edit Freight Rate',\r\n ADD_FREIGHT_RATE_SON = 'Add Freight Rate Son',\r\n EDIT_FREIGHT_RATE_SON = 'Edit Freight Rate Son',\r\n CHANGE_IS_POC = 'ChangeIsPOC',\r\n APPROVE_BIDDING_CLOSURE = 'Aprovar encerramento do Bidding',\r\n APPROVE_BIDDING_WITH_GREATER_VALUE = 'Aprovar Bidding com valor maior que o menor valor',\r\n VEHICLE_SHOW_SHIPPER_PETROBRAS = 'Vehicle Show Shipper Petrobras',\r\n DRIVER_SHOW_SHIPPER_PETROBRAS = 'Driver Show Shipper Petrobras',\r\n CARRIER_SHOW_SHIPPER_PETROBRAS = 'Carrier Show Shipper Petrobras',\r\n SHOW_CARRIER_DOCUMENTS = 'Show Carrier Documents',\r\n EDIT_CARRIER_DOCUMENTS = 'Edit Carrier Documents',\r\n CARRIER_VALIDATE_DOCUMENTS = 'Carrier Validate Documents',\r\n SHOW_VEHICLE_DOCUMENTS = 'Show Vehicle Documents',\r\n SAVE_VEHICLE_DOCUMENTS = 'Save Vehicle Documents',\r\n VEHICLE_VALIDATE_DOCUMENTS = 'Vehicle Validate Documents',\r\n SAVE_DRIVER_DOCUMENTS = 'Save Driver Documents',\r\n SHOW_DRIVER_DOCUMENTS = 'Show Driver Documents',\r\n DRIVER_VALIDATE_DOCUMENTS = 'Driver Validate Documents',\r\n ONLY_SHOW_PROFILE_PETROBRAS = 'Only Show Profile Petrobras',\r\n SHOW_PARAMETERS_CARRIER = 'Show Parameters Carrier',\r\n SAVE_CARRIERS_DOCUMENTS = 'Save Carriers Documents',\r\n APRV_Validation = 'APRV_Validation',\r\n SHOW_PLANNED_TRIPS = 'Show Planned Trips',\r\n ADD_PLANNED_TRIPS = 'Add Planned Trips',\r\n ADD_MONITORING_PLANNED_TRIPS = 'Add Monitoring Planned Trips',\r\n SHOW_MONITORING_PLANNED_TRIPS = 'Show Monitoring Planned Trips',\r\n SHOW_DRIVER_TRIP_INFO_DETAIL = 'Show Driver Trip Info Detail',\r\n MANUAL_CHECKLIST_APPLICATION = 'Manual Checklist Application',\r\n SUPPLIER_UPDATE_CHECKIN_CHECKOUT = 'Supplier Update CheckIn CheckOut',\r\n RETROACTIVE_STEP_ADVANCEMENT = 'Retroactive Show',\r\n EDIT_CONFIGURATION = 'Edit Configuration',\r\n DELETE_ROTOGRAM = 'Delete Rotogram',\r\n ADD_OBSERVATION_EVENT = 'Add Observation Event',\r\n APPROVED_EVENT = 'Approved Event',\r\n SHOW_ROUTE_PLANNED_TRIP = 'Show Route Planned Trip',\r\n NEW_ROUTE_PLANNED_TRIP = 'New Route Planned Trip',\r\n EDIT_ROUTE_PLANNED_TRIP = 'Edit Route Planned Trip',\r\n NEW_ROTOGRAM = 'New Rotogram',\r\n SHOW_ROTROGRAM = 'Show Rotogram',\r\n LOW_FUEL_STOCK_RECEPTION_PRODUCT = 'Low Fuel Stock Reception Product',\r\n SHOW_TELEMETRY_POINT = 'Show TelemetryPoints',\r\n ADD_BLOCK_HAZMAT = 'Add Block Hazmat',\r\n SHOW_BLOCK_HAZMAT = 'Show Block Hazmat',\r\n EDIT_BLOCK_HAZMAT = 'Edit Block Hazmat',\r\n CONFIGURE_APPROVAL_AUTHORITY = 'Configure Approval Authority',\r\n SHOW_APPROVAL_AUTHORITY_CONFIG = 'Show Approval Authority Config',\r\n BUY_VALE_PEDAGIO = 'Buy Vale Pedagio',\r\n CANCEL_VALE_PEDAGIO = 'Cancel Vale Pedagio',\r\n SHOW_INFO_VALE_PEDAGIO = 'Show Info Vale Pedagio',\r\n SHOW_ORDER_TRAKING_UNTIL_TRIP_EN = 'Show OrderTraking Until Trip EN',\r\n AUDIT_CHECKLIST = 'Audit CheckList',\r\n ADD_SURVEY_DRIVER = 'Add Survey Driver',\r\n SHOW_SURVEY_DRIVER = 'Show Survey Driver',\r\n EDIT_SURVEY_DRIVER = 'Edit Survey Driver',\r\n DELETE_SURVEY_DRIVER = 'Delete Survey Driver',\r\n SHOW_SHIPPING_FREIGHT = 'Show Shipping Freight',\r\n MANAGE_SHIPPING_FREIGHT = 'Manage Shipping Freight',\r\n UPDATE_TRAVEL_APPROVAL = 'Update Travel Approval',\r\n CONFIGURE_WAITING_LINES = 'Configure Waiting Lines',\r\n ADD_WAITING_LINES = 'Add Waiting Lines',\r\n SHOW_WAITING_LINES = 'Show Waiting Lines',\r\n CALL_DRIVER_WAITING_LINES = 'Call Driver Waiting Lines',\r\n MONITORING_HANDLE_EVENT = 'Monitoring Handle Event',\r\n MONITORING_JUSTIFY_EVENT = 'Monitoring Justify Event',\r\n APPROVE_POOL_BIDDING_CLOSURE = 'Aprovar Encerramento Pool Bidding',\r\n APPROVE_POOL_BIDDING_LESSER_VALUE = 'Aprovar Bidding Pool Com Valor Maior Que Menor Valor',\r\n SHOW_GR_VECTOR_PARAMETERS = 'Show GR Vector Parameters',\r\n ACTIVATE_OR_INACTIVATE_GR_PARAMETERS = 'Activate or Inactivate GR Parameters',\r\n UPDATE_GR_PARAMETERS = 'Update GR Parameters',\r\n CREATE_GR_VECTOR = 'Create GR Vector',\r\n APPROVE_OR_DISAPROVE_GR = 'Approve Or Disaprove Gr',\r\n SHOW_GR_VECTOR = 'Show GR Vector',\r\n ADD_DRIVER_MULTICARRIER = 'Add Driver MultiCarrier',\r\n APPROVE_OR_DISAPPROVE_ANALYSIS = 'Approve Or Disapprove Analysis',\r\n VIEW_LOCATION_GROUP = 'View Location Group',\r\n CREATE_LOCATION_GROUP = 'Create Location Group',\r\n EDIT_LOCATION_GROUP = 'Edit Location Group',\r\n DEACTIVATE_LOCATION_GROUP = 'Deactivate Location Group',\r\n DELIVERY_TOLL_CARD = 'Delivery Toll Card',\r\n SHOW_TOLL_CARD = 'View Toll Card',\r\n EDIT_TOLL_CARD = 'Edit Toll Card',\r\n SENT_TO_SAP_SUPPLY = 'Sent To Sap Supply',\r\n SAVE_NFSAP_DOCUMENTS = 'Save NFSap Documents',\r\n SHOW_LOT_PARAMETER_SHIPPER = 'Show Lot Parameter Shipper',\r\n SAVE_LOT_PARAMETER_SHIPPER = 'Save Lot Parameter Shipper',\r\n SHOW_GENERAL_PARAMETERS = 'Show General Parameters',\r\n SHOW_DISTRIBUTION_OF_VACANCIES = 'Show Distribution Of Vacancies',\r\n SHOW_SCHEDULE_SCHEDULING_MANAGEMENT = 'Show Schedule Scheduling Management',\r\n SHOW_HISTORICAL_SCHEDULING_MANAGEMENT = 'Show Historical Scheduling Management',\r\n DELETE_SUPPLIER_SCHEDULING_MANAGEMENT = 'Delete Supplier Scheduling Management',\r\n EDIT_VECTOR_SHIFT_VACANCIES = 'Edit Vector Shift Vacancies',\r\n SHOW_ESTIMATED_TIME_TO_ARRIVE = 'Show Estimated Time To Arrive',\r\n EDIT_ESTIMATED_TIME_TO_ARRIVE = 'Edit Estimated Time To Arrive',\r\n SHOW_ETA_VECTOR = 'Show Eta Vector',\r\n SHOW_PROFILEUSER = 'Show ProfileUser',\r\n EDIT_PROFILEUSER = 'Edit ProfileUser',\r\n CREATE_PROFILEUSER = 'Create ProfileUser',\r\n ACTIVATE_PROFILEUSER = 'Activate ProfileUser',\r\n DEACTIVATE_PROFILEUSER = 'Deactivate ProfileUser',\r\n ADD_SUPPLY_MANUAL = 'Add Supply Manual',\r\n SHOW_ISS_PARAMS = 'Show Iss Param',\r\n SHOW_PGR_INSURANCE = 'Show PGR Insurance',\r\n ADD_PGR_CONTRACTS = 'Add PGR Contracts',\r\n DELETE_PGR_CONTRACTS = 'Delete PGR Contracts',\r\n ADD_PGR_RULES = 'Add PGR Rules',\r\n DELETE_PGR_RULES = 'Delete PGR Rules',\r\n ADD_PGR_CONFIGURATIONS = 'Add PGR Configurations',\r\n CREATE_ISS_PARAMS = 'Create Iss Param',\r\n EDIT_ISS_PARAMS = 'Edit Iss Param',\r\n DELETE_LOCATION_SHIFT_PRIORITY = 'Delete Location Shift Priority',\r\n ADD_LOCATION_SHIFT_PRIORITY = 'Add Location Shift Priority',\r\n SAVE_CLIENT_ORDER_TRACKING = 'Save Client Order Tracking',\r\n SHOW_CLIENT_ORDER_TRACKING = 'Show Client Order Tracking',\r\n SHOW_PARAMETER_ORDER_TRACKING = 'Show Parameter Order Tracking',\r\n SAVE_PARAMETER_ORDER_TRACKING = 'Save Parameter Order Tracking',\r\n SHOW_PARAMETERS_MONITORING = 'Show Parameters Monitoring',\r\n ADD_PARAMETERS_MONITORING = 'Add Parameters Monitoring',\r\n FINALIZE_PLANNED_TRIP_PENDING_FINISH = 'Finalize Planned Trip Pending Finish',\r\n SHOW_PLANNED_TRIP_LOGS = 'Show Planned Trip Logs',\r\n CONTROL_CADASTRO_EXCEL_EXPORT = 'Control Cadastro Excel Export',\r\n OPEN_SHIFTS_MANUALLY = 'Open Shifts Manually',\r\n OPEN_PROGRAMABILITY_SHIFT = 'Open Programability Shift',\r\n SHOW_TRIPS_REFUSED = 'Show Trips Refused',\r\n SHOW_GTFROTA_PENDING_SUPPLY_LOG = 'Show GtFrotaPendingSupplylog',\r\n CREDIT_LIMIT_MANAGEMENT = 'Credit Limit Management',\r\n LOCATION_SCHEDULE_INTEGRATION_EDIT = 'Location Schedule Integration Edit',\r\n LIST_TOLL_CARD = 'List Toll Card',\r\n LINK_TOLL_CARD = 'Link Toll Card',\r\n SHOW_TRIP_VECTOR_PAY = 'Exibir Parâmetros Viagem',\r\n EDIT_TRIP_VECTOR_PAY = 'Editar Parâmetros Viagem',\r\n N2_APPROVAL_HISTORICAL_LINKAGE_LOT = 'N2 Approval Historical Linkage Lot',\r\n N1_APPROVAL_HISTORICAL_LINKAGE_LOT = 'N1 Approval Historical Linkage Lot',\r\n SHOW_SHIPPER_LOTCADENCECONFIGURATION = 'Show ShipperLotCadenceConfiguration',\r\n EDIT_SHIPPER_LOTCADENCECONFIGURATION = 'Edit ShipperLotCadenceConfiguration',\r\n SHOW_LOTCADENCECONFIGURATION = 'Show LotCadenceConfiguration',\r\n EDIT_LOTCADENCECONFIGURATION = 'Edit LotCadenceConfiguration',\r\n EDIT_LOTDAILYCADENCES = 'Edit LotDailyCadences',\r\n PERMISSION_N2_CHANGE_FREIGHT = 'Permission N2 Change Freight',\r\n PERMISSION_N3_CHANGE_FREIGHT = 'Permission N3 Change Freight',\r\n PERMISSION_N4_CHANGE_FREIGHT = 'Permission N4 Change Freight',\r\n CLEAN_OLD_LOTDAILYCADENCES = 'Clean Old LotDailyCadences',\r\n SHOW_CONTROL_CARD_ADMIN = 'Toll Card Admin',\r\n SHOW_CONTROL_CARD_PARTNER = 'Toll Card Partner',\r\n SHOW_HEAT_MAP = 'Show Heat Map',\r\n SHOW_STATUS_MAP = 'Show Status Map',\r\n BUNGE_REFUND_TOTAL = 'Bunge Estorno Total',\r\n TOLL_MANAGEMENT = 'Gestão de Pedágio',\r\n DASHBOARD_VECTORPAY = 'Dashboard VectorPay',\r\n BUNGE_REFUND_PARTIAL = 'Bunge Estorno Parcial',\r\n ADD_REFUND_PARTIAL = 'AdicionarEstornoParcial',\r\n SEARCH_PAYMENT_TAG_HISTORY = 'Search Tag History',\r\n CAN_ADD_AGGREGATOR = 'Adicionar Agenciados',\r\n CAN_ACTIVATE_AGGREGATOR = 'Ativar Agenciadores',\r\n EDIT_PARAM_TOLL = 'Parametros Pedagio',\r\n CADOC_4111 = 'Documento De Saldos Contábeis Diários 4111',\r\n CADOC_1201 = 'Documento De Saldos Contábeis Diários 1201',\r\n EDIT_SCHEDULE_CHECKED_IN = 'Edit Schedule (Checked-in)',\r\n SHOW_IRREGULARITY = 'Show Irregularity',\r\n LOG_DISCHARGE_PAYMENT = 'Log Quitacao',\r\n EDIT_ISS = 'Editar ISS',\r\n EDIT_ICMS = 'Editar ICMS',\r\n CREATE_ICMS_PARAMS = 'Create Icms Param',\r\n EDIT_ICMS_PARAMS = 'Edit Icms Param',\r\n SHOW_ICMS_PARAMS = 'Show Icms Param',\r\n APPROVE_PAYMENT_CARRIER_ADMIN = 'Approve Payment - Carrier Admin',\r\n}\r\n","export enum Role {\r\n ADMIN = 'ADMIN',\r\n}\r\n","export enum Status {\r\n PENDING,\r\n APPROVED,\r\n REJECTED,\r\n INFO,\r\n NOT_EXECUTEDCOUNT\r\n}\r\n","export enum View {\r\n HOME,\r\n ADMIN,\r\n DIGITAL_CARRIER,\r\n RISK_MANAGER,\r\n VECTOR_CLUB,\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Status } from '../../models';\r\n\r\n@Component({\r\n selector: 'vector-badge',\r\n templateUrl: './badge.component.html',\r\n styleUrls: ['./badge.component.scss'],\r\n})\r\nexport class BadgeComponent implements OnInit {\r\n @Input()\r\n public type?: Status;\r\n @Input()\r\n public label?: string;\r\n @Input()\r\n public customColor?: string;\r\n @Input()\r\n public customBackgroundColor?: string;\r\n @Input()\r\n public tooltip?: string;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n public getStatusColor() {\r\n switch (this.type) {\r\n case Status.PENDING:\r\n return 'badge-warning';\r\n case Status.APPROVED:\r\n return 'badge-success';\r\n case Status.REJECTED:\r\n return 'badge-error';\r\n case Status.INFO:\r\n return 'badge-info';\r\n }\r\n return '';\r\n }\r\n}\r\n","<div\r\n class=\"badge\"\r\n [class]=\"getStatusColor()\"\r\n [ngStyle]=\"{ 'background-color': customBackgroundColor, color: customColor }\"\r\n [pTooltip]=\"tooltip || ''\"\r\n tooltipPosition=\"top\"\r\n>\r\n {{ label }}\r\n</div>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'currencyBrl',\r\n})\r\nexport class CurrencyBrlPipe implements PipeTransform {\r\n transform(value: number = 0): string {\r\n if (!value) value = 0;\r\n return `${value.toLocaleString('pt-BR', { currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;\r\n }\r\n}\r\n","export class CpfCnpjValidator {\r\n public static validateCpfOrCnpj(taxId: string) {\r\n taxId = taxId.replace(/[^0-9]+/g, '');\r\n\r\n if (taxId.length == 11) {\r\n return this.validateCpf(taxId);\r\n } else if (taxId.length == 14) {\r\n return this.validateCnpj(taxId);\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n public static validateCpf(cpf: string) {\r\n if (!cpf?.trim() || cpf.length !== 11 || !cpf.match('^[0-9]+$')) {\r\n return false;\r\n }\r\n\r\n if (\r\n [\r\n '00000000000',\r\n '11111111111',\r\n '22222222222',\r\n '33333333333',\r\n '44444444444',\r\n '55555555555',\r\n '66666666666',\r\n '77777777777',\r\n '88888888888',\r\n '99999999999',\r\n ].includes(cpf)\r\n ) {\r\n return false;\r\n }\r\n let num: number = 0;\r\n let caracter: string = '';\r\n let counter: number = 10;\r\n let sum: number = 0;\r\n let rest: number = 0;\r\n let firstDigit: number = 0;\r\n let secondDigit: number = 0;\r\n let cpfAux: string = '';\r\n cpfAux = cpf.substring(0, 9);\r\n for (let i: number = 0; i < 9; i++) {\r\n caracter = cpfAux.charAt(i);\r\n num = Number(caracter);\r\n sum = sum + num * counter;\r\n counter--;\r\n }\r\n rest = sum % 11;\r\n firstDigit = 11 - rest;\r\n if (firstDigit > 9) {\r\n firstDigit = 0;\r\n }\r\n counter = 11;\r\n sum = 0;\r\n cpfAux = cpfAux + firstDigit;\r\n for (let i: number = 0; i < 10; i++) {\r\n caracter = cpfAux.charAt(i);\r\n num = Number(caracter);\r\n sum = sum + num * counter;\r\n counter--;\r\n }\r\n rest = sum % 11;\r\n secondDigit = 11 - rest;\r\n if (secondDigit > 9) {\r\n secondDigit = 0;\r\n }\r\n cpfAux = cpfAux + secondDigit;\r\n return cpf === cpfAux;\r\n }\r\n\r\n public static validateCnpj(cnpj: string) {\r\n cnpj = cnpj.replace(/[^\\d]+/g, '');\r\n\r\n if (cnpj == '') return false;\r\n\r\n if (cnpj.length != 14) return false;\r\n\r\n if (\r\n [\r\n '00000000000000',\r\n '11111111111111',\r\n '22222222222222',\r\n '33333333333333',\r\n '44444444444444',\r\n '55555555555555',\r\n '66666666666666',\r\n '77777777777777',\r\n '88888888888888',\r\n '99999999999999',\r\n ].includes(cnpj)\r\n )\r\n return false;\r\n\r\n let size = cnpj.length - 2;\r\n let numbers = cnpj.substring(0, size);\r\n let digits = cnpj.substring(size);\r\n let sum = 0;\r\n let pos = size - 7;\r\n for (let i = size; i >= 1; i--) {\r\n sum += parseInt(numbers.charAt(size - i)) * pos--;\r\n if (pos < 2) pos = 9;\r\n }\r\n let resultado = sum % 11 < 2 ? 0 : 11 - (sum % 11);\r\n if (resultado != parseInt(digits.charAt(0))) return false;\r\n\r\n size = size + 1;\r\n numbers = cnpj.substring(0, size);\r\n sum = 0;\r\n pos = size - 7;\r\n for (let i = size; i >= 1; i--) {\r\n sum += parseInt(numbers.charAt(size - i)) * pos--;\r\n if (pos < 2) pos = 9;\r\n }\r\n resultado = sum % 11 < 2 ? 0 : 11 - (sum % 11);\r\n if (resultado != parseInt(digits.charAt(1))) return false;\r\n\r\n return true;\r\n }\r\n}\r\n","import { saveAs } from 'file-saver';\r\n\r\nexport class FileUtil {\r\n public static getBlob(base64StringData: string, mimeType: string) {\r\n const decodedData = atob(base64StringData);\r\n const byteNumbers = new Array(decodedData.length);\r\n for (let i = 0; i < decodedData.length; i++) {\r\n byteNumbers[i] = decodedData.charCodeAt(i);\r\n }\r\n return new Blob([new Uint8Array(byteNumbers)], { type: mimeType });\r\n }\r\n public static downloadFile(mimeType: string, base64StringData: string, fileName: string) {\r\n saveAs(FileUtil.getBlob(base64StringData, mimeType), fileName);\r\n }\r\n}\r\n","const CPF_PATTERN = '###.###.###-##';\r\nconst CNPJ_PATTERN = '##.###.###/####-##';\r\nconst BOLETO_PATTERN = '#####.##### #####.###### #####.###### # ############## #';\r\nconst POSTALCODE_PATTERN = '#####-###';\r\nconst CELLPHONE_PATTERN = '(##) #####-####';\r\nconst PHONE_PATTERN = '(##) ####-####';\r\nconst PLATE_PATTERN = '###-####';\r\nconst HOURS_MINUTES_PATTERN = '##:##';\r\nconst DNI_PATTERN = '##.###.###';\r\nconst CUIT_PATTERN = '##-########-#';\r\n\r\nexport class MaskUtil {\r\n public static CPF_TEXT_FIELD_PATTERN = '999.999.999-99';\r\n public static CNPJ_TEXT_FIELD_PATTERN = '99.999.999/9999-99';\r\n public static BOLETO_TEXT_FIELD_PATTERN = '99999.99999 99999.999999 99999.999999 9 99999999999999 9';\r\n public static CELLPHONE_TEXT_FIELD_PATTERN = '(99) 99999-9999';\r\n public static PHONE_TEXT_FIELD_PATTERN = '(99) 9999-9999';\r\n public static POSTALCODE_TEXT_FIELD_PATTERN = '99999-999';\r\n public static PLATE_FIELD_PATTERN = 'aaa-9*99';\r\n public static HOURS_MINUTES_FIELD_PATTERN = '99:99';\r\n public static DNI_FIELD_PATTERN = '99.999.999';\r\n public static CUIT_FIELD_PATTERN = '99.99999999.9';\r\n\r\n public static formatDocument(stringValue: string) {\r\n if (!stringValue) {\r\n return '';\r\n }\r\n\r\n var unmaskedString = this.removerSpecialChars(stringValue);\r\n if (unmaskedString.length === 11) {\r\n return this.doMaskString(unmaskedString, CPF_PATTERN);\r\n }\r\n\r\n if (unmaskedString.length === 14) {\r\n return this.doMaskString(unmaskedString, CNPJ_PATTERN);\r\n }\r\n\r\n return stringValue;\r\n }\r\n\r\n public static removerSpecialChars(text: string): string {\r\n return text.replace(/[.\\-\\/]/g, '');\r\n }\r\n\r\n public static formatPostalCode(stringValue: string) {\r\n return this.doMaskString(stringValue, POSTALCODE_PATTERN);\r\n }\r\n\r\n public static formatBoleto(stringValue: string) {\r\n return this.doMaskString(stringValue, BOLETO_PATTERN);\r\n }\r\n\r\n public static formatPhone(stringValue: string) {\r\n if (!stringValue) {\r\n return '';\r\n }\r\n\r\n if (stringValue.length === 11) {\r\n return this.doMaskString(stringValue, CELLPHONE_PATTERN);\r\n } else if (stringValue.length === 10) {\r\n return this.doMaskString(stringValue, PHONE_PATTERN);\r\n }\r\n\r\n return stringValue;\r\n }\r\n\r\n public static formatHoursMinutes(stringValue: string) {\r\n return this.doMaskString(stringValue, HOURS_MINUTES_PATTERN);\r\n }\r\n\r\n public static formatPlate(stringValue: string) {\r\n return this.doMaskString(stringValue, PLATE_PATTERN);\r\n }\r\n\r\n public static formatDni(stringValue: string) {\r\n return this.doMaskString(stringValue, DNI_PATTERN);\r\n }\r\n\r\n public static formatCuit(stringValue: string) {\r\n return this.doMaskString(stringValue, CUIT_PATTERN);\r\n }\r\n\r\n public static doMaskString(str: string, pattern?: string) {\r\n if (!str?.trim()) {\r\n return '';\r\n }\r\n\r\n if (!pattern || !pattern.includes('#')) {\r\n console.warn('Utilize uma máscara válida. Ex.: (##) #####-####');\r\n return str;\r\n }\r\n let i = 0;\r\n return pattern.replace(/#/g, () => str[i++]);\r\n }\r\n}\r\n","export class ObjectUtil {\r\n public static getObjectKeys<T>(obj: Object): Array<keyof T> {\r\n if (!obj) {\r\n return [];\r\n }\r\n\r\n return Object.keys(obj).map((key: string) => key as keyof T);\r\n }\r\n\r\n public static isValid(obj: any) {\r\n return obj !== null && obj !== undefined;\r\n }\r\n\r\n public static getCodes(obj: any): any {\r\n if (!obj) {\r\n return {};\r\n }\r\n\r\n return Object.keys(obj).reduce((acc, curr) => {\r\n let value = obj[curr];\r\n try {\r\n value = JSON.parse(obj[curr]);\r\n } catch (_) {\r\n value = obj[curr];\r\n }\r\n return { ...acc, [curr]: value?.code || value };\r\n }, {});\r\n }\r\n}\r\n","export class StringUtil {\r\n public static getInitials(nameString?: string) {\r\n if (!nameString) {\r\n return '';\r\n }\r\n\r\n const initials = nameString.split(' ').map((namePart) => namePart.substr(0, 1));\r\n return initials ? `${initials[0]}${initials[initials.length - 1]}` : '';\r\n }\r\n\r\n public static revertString(str: string) {\r\n if (!str) {\r\n return '';\r\n }\r\n\r\n return str.split('').reverse().join('');\r\n }\r\n\r\n public static convertTimeToMinutes(timeText: string): number {\r\n const parts = timeText.split(':');\r\n const minutes = parseInt(parts[0]);\r\n const seconds = parseInt(parts[1]);\r\n const minutesTotals = minutes + seconds / 60;\r\n return minutesTotals;\r\n }\r\n\r\n public static convertMinutesToTime(minutesTotal: number): string {\r\n const minutes = Math.floor(minutesTotal);\r\n const seconds = Math.round((minutesTotal - minutes) * 60);\r\n\r\n const minutesText = `${minutes}`.padStart(2, '0');\r\n const secondsText = `${seconds}`.padStart(2, '0');\r\n\r\n return `${minutesText}:${secondsText}`;\r\n }\r\n\r\n public static convertObjectToQueryString(obj: Record<string, any>): string {\r\n const queryParams: string[] = [];\r\n for (const key in obj) {\r\n if (obj.hasOwnProperty(key) && obj[key]) {\r\n queryParams.push(`${key}=${obj[key]}`);\r\n }\r\n }\r\n return queryParams.join('&');\r\n }\r\n\r\n public static convertToUppercaseWithoutSymbols(stringValue: string, withSpace?: boolean): string {\r\n const convert = stringValue\r\n .toUpperCase()\r\n .normalize('NFD')\r\n .replace(/[\\u0300-\\u036f]/g, '')\r\n .replace(/[^\\w\\s]/g, '');\r\n\r\n if (withSpace) {\r\n return convert.replace(/\\s+/g, ' ');\r\n } else {\r\n return convert.replace(/\\s+/g, '');\r\n }\r\n }\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\nimport { ObjectUtil } from './object.util';\r\n\r\nexport class ValidationUtil {\r\n public static email(control: AbstractControl): ValidationErrors | null {\r\n const email = control.value as string;\r\n\r\n if (!email || email === '') {\r\n return null;\r\n }\r\n\r\n if (\r\n !email.match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/) ||\r\n email.match(/['`~!#%^&*()|+¨=?;:'´\",<>\\{\\}\\[\\]\\\\\\/]/gi)\r\n ) {\r\n return {\r\n email: true,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static fullName(control: AbstractControl): ValidationErrors | null {\r\n const name: string = control.value;\r\n if (!name) {\r\n return null;\r\n }\r\n\r\n const splittedName = name\r\n .trim()\r\n .split(' ')\r\n .map((namePart) => namePart.trim());\r\n\r\n if (splittedName.length < 2) {\r\n return { invalid: 'Deve conter pelo menos um nome e sobrenome.' };\r\n }\r\n return null;\r\n }\r\n\r\n public static noMultipleWhitespace(control: AbstractControl): ValidationErrors | null {\r\n const name: string = control.value;\r\n\r\n if (name) {\r\n if (!name.match(/^([a-zA-ZÀ-ú0-9]+\\s)*[a-zA-ZÀ-ú0-9]+$/)) {\r\n return { haveWhiteSpace: true };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public static isValidTaxId(control: AbstractControl): ValidationErrors | null {\r\n if (!control.value) {\r\n return null;\r\n }\r\n\r\n if (control.value.length === 11) {\r\n return ValidationUtil.isValidCpf(control);\r\n }\r\n if (control.value.length === 14) {\r\n return ValidationUtil.isValidCnpj(control);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static isValidCpf(control: AbstractControl): ValidationErrors | null {\r\n const cpf = control.value;\r\n if (cpf) {\r\n let numbers, digits, sum, i, result, equalDigits;\r\n equalDigits = 1;\r\n if (cpf.length < 11) {\r\n return null;\r\n }\r\n\r\n for (i = 0; i < cpf.length - 1; i++) {\r\n if (cpf.charAt(i) !== cpf.charAt(i + 1)) {\r\n equalDigits = 0;\r\n break;\r\n }\r\n }\r\n\r\n if (!equalDigits) {\r\n numbers = cpf.substring(0, 9);\r\n digits = cpf.substring(9);\r\n sum = 0;\r\n for (i = 10; i > 1; i--) {\r\n sum += numbers.charAt(10 - i) * i;\r\n }\r\n\r\n result = sum % 11 < 2 ? 0 : 11 - (sum % 11);\r\n\r\n if (result !== Number(digits.charAt(0))) {\r\n return { cpfNotValid: true };\r\n }\r\n numbers = cpf.substring(0, 10);\r\n sum = 0;\r\n\r\n for (i = 11; i > 1; i--) {\r\n sum += numbers.charAt(11 - i) * i;\r\n }\r\n result = sum % 11 < 2 ? 0 : 11 - (sum % 11);\r\n\r\n if (result !== Number(digits.charAt(1))) {\r\n return { cpfNotValid: true };\r\n }\r\n return null;\r\n } else {\r\n return { cpfNotValid: true };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n public static isValidCnpj(control: AbstractControl): ValidationErrors | null {\r\n let cnpj = control.value;\r\n cnpj = cnpj.replace(/[^\\d]+/g, '');\r\n if (/^(\\d)\\1+$/.test(cnpj)) {\r\n return { cnpjNotValid: true };\r\n }\r\n\r\n let t = cnpj.length - 2,\r\n d = cnpj.substring(t),\r\n d1 = parseInt(d.charAt(0)),\r\n d2 = parseInt(d.charAt(1)),\r\n calc = (x: number) => {\r\n let n = cnpj.substring(0, x),\r\n y = x - 7,\r\n s = 0,\r\n r = 0;\r\n for (let i = x; i >= 1; i--) {\r\n s += n.charAt(x - i) * y--;\r\n if (y < 2) y = 9;\r\n }\r\n r = 11 - (s % 11);\r\n return r > 9 ? 0 : r;\r\n };\r\n if (calc(t) === d1 && calc(t + 1) === d2) {\r\n return null;\r\n } else {\r\n return { cnpjNotValid: true };\r\n }\r\n }\r\n\r\n public static majorAge(control: AbstractControl): ValidationErrors | null {\r\n if (!control.value) {\r\n return null;\r\n }\r\n const age = ~~((Date.now() - control.value) / 31557600000);\r\n\r\n if (age < 18) {\r\n return { isNotMajorAge: true };\r\n }\r\n return null;\r\n }\r\n\r\n public static matchField(anotherField: AbstractControl | null): ValidatorFn {\r\n const validator = (control: AbstractControl) => {\r\n if (!control.value || !anotherField?.value) {\r\n return null;\r\n }\r\n if (control.value !== anotherField?.value) {\r\n return { fieldDoesNotMatch: true };\r\n }\r\n\r\n return null;\r\n };\r\n return validator;\r\n }\r\n\r\n public static cellphone(control: AbstractControl): ValidationErrors | null {\r\n if (!control.value || control.value.length < 11) {\r\n return null;\r\n }\r\n\r\n const firstNumber = control.value.substring(2, 3);\r\n\r\n if (firstNumber != '9') {\r\n return { cellphoneInvalid: true };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public static lowerThanOrEqualTo(greaterControlName: string): ValidatorFn {\r\n const validator = (control: AbstractControl) => {\r\n const lowerValue = control.value;\r\n const greaterValue = control.parent?.get(greaterControlName)?.value;\r\n if (!control.parent?.get(greaterControlName)) {\r\n console.log(`Control with name ${greaterControlName} not registered`);\r\n return {};\r\n }\r\n if (\r\n ObjectUtil.isValid(lowerValue) &&\r\n ObjectUtil.isValid(greaterValue) &&\r\n lowerValue !== '' &&\r\n greaterValue !== '' &&\r\n +lowerValue > +greaterValue\r\n ) {\r\n return {\r\n invalid: 'Valor mínimo deve ser menor ou igual ao valor máximo',\r\n };\r\n }\r\n return {};\r\n };\r\n return validator;\r\n }\r\n\r\n public static greaterThanOrEqualTo(lowerControlName: string): ValidatorFn {\r\n const validator = (control: AbstractControl) => {\r\n const greaterValue = control.value;\r\n const lowerValue = control.parent?.get(lowerControlName)?.value;\r\n if (!control.parent?.get(lowerControlName)) {\r\n console.log(`Control with name ${lowerControlName} not registered`);\r\n return {};\r\n }\r\n if (\r\n ObjectUtil.isValid(lowerValue) &&\r\n ObjectUtil.isValid(greaterValue) &&\r\n lowerValue !== '' &&\r\n greaterValue !== '' &&\r\n +lowerValue > +greaterValue\r\n ) {\r\n return {\r\n invalid: 'Valor máximo deve ser maior ou igual ao valor mínimo',\r\n };\r\n }\r\n return {};\r\n };\r\n return validator;\r\n }\r\n\r\n public static notSequentialNumbers(length: number): ValidatorFn {\r\n const validator = (control: AbstractControl): ValidationErrors | null => {\r\n const controlValue = control.value;\r\n const sequentialNumbers = '01234567890123456789';\r\n\r\n if (controlValue) {\r\n if (controlValue.length === length) {\r\n if (~sequentialNumbers.indexOf(control.value)) {\r\n return { isSequential: true };\r\n } else if (!!controlValue.match(/^(\\d)\\1+$/)) {\r\n return { isSequential: true };\r\n } else {\r\n return null;\r\n }\r\n }\r\n }\r\n return null;\r\n };\r\n return validator;\r\n }\r\n\r\n public static firstLetterIsUppercase(control: AbstractControl): ValidationErrors | null {\r\n const controlValue = control.value as string;\r\n const regex = /^([A-ZÀ-Ú][a-zà-ú]*)(?:\\s+([A-ZÀ-Ú][a-zà-ú]*))*$/;\r\n\r\n if (!!controlValue) {\r\n if (!controlValue.match(regex)) {\r\n return { invalidField: true };\r\n }\r\n return null;\r\n }\r\n return null;\r\n }\r\n\r\n public static containsLettersAndNumbers(control: AbstractControl): ValidationErrors | null {\r\n const controlValue = control.value as string;\r\n const regex = /^(?=.*[0-9])(?=.*[A-z])([A-z0-9_-]+)$/;\r\n\r\n if (!!controlValue) {\r\n if (!!!controlValue.match(regex)) {\r\n return { isNotAlphaNumeric: true };\r\n }\r\n return null;\r\n }\r\n return null;\r\n }\r\n\r\n public static greaterThanTo(lowerControlName: string): ValidatorFn {\r\n const validator = (control: AbstractControl) => {\r\n const greaterValue = control.value;\r\n const lowerValue = control.parent?.get(lowerControlName)?.value;\r\n if (!control.parent?.get(lowerControlName)) {\r\n console.log(`Control with name ${lowerControlName} not registered`);\r\n return {};\r\n }\r\n if (\r\n ObjectUtil.isValid(lowerValue) &&\r\n ObjectUtil.isValid(greaterValue) &&\r\n lowerValue !== '' &&\r\n greaterValue !== '' &&\r\n +lowerValue >= +greaterValue\r\n ) {\r\n return {\r\n invalid: ` Este valor não pode ser igual ou menor que o valor inicial`,\r\n };\r\n }\r\n return {};\r\n };\r\n return validator;\r\n }\r\n\r\n public static onlyLetters(control: AbstractControl): ValidationErrors | null {\r\n const value = control.value as string;\r\n\r\n if (!value || value === '') {\r\n return null;\r\n }\r\n\r\n if (/[\\d\\W]/.test(value)) {\r\n return { invalid: 'O lembrete de senha só pode conter letras.' };\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","export class WindowUtil {\r\n static isSmallDevice() {\r\n return window.innerWidth < 640;\r\n }\r\n static isDesktop() {\r\n return window.innerWidth >= 1024;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MaskUtil } from '../utils';\r\n\r\n@Pipe({\r\n name: 'formatDocument',\r\n})\r\nexport class FormatDocumentPipe implements PipeTransform {\r\n transform(value: string = ''): string {\r\n return MaskUtil.formatDocument(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MaskUtil } from '../utils';\r\n\r\n@Pipe({\r\n name: 'mask',\r\n})\r\nexport class MaskPipe implements PipeTransform {\r\n transform(value: string = '', mask: string): string {\r\n if (!mask || !mask.includes('#')) {\r\n console.warn('Uma máscara válida deve ser passada para o MaskPipe. Ex.: (##) #####-####');\r\n return value;\r\n }\r\n return MaskUtil.doMaskString(value, mask);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'notHidden',\r\n})\r\nexport class NotHiddenPipe implements PipeTransform {\r\n transform(value: any[]): any[] {\r\n return value?.filter((item) => !item.hidden) || [];\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'onlyActive',\r\n})\r\nexport class OnlyActivePipe implements PipeTransform {\r\n transform(value: any[]): any[] {\r\n return value?.filter((item) => item.active) || [];\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'removeLastChild',\r\n})\r\nexport class RemoveLastChildPipe implements PipeTransform {\r\n transform(value: any[]): any[] {\r\n const newArray = [...value];\r\n newArray.pop();\r\n return newArray;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { VectorNotification } from '../models/vector-notification.model';\r\n\r\n@Pipe({ name: 'unreadNotifications' })\r\nexport class UnreadNotificationsPipe implements PipeTransform {\r\n constructor() {}\r\n transform(notifications: VectorNotification[] | null) {\r\n return notifications?.filter((item) => !item.wasRead) ?? [];\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CurrencyBrlPipe } from './currency-brl.pipe';\r\nimport { FormatDocumentPipe } from './format-document.pipe';\r\nimport { MaskPipe } from './mask.pipe';\r\nimport { NotHiddenPipe } from './not-hidden.pipe';\r\nimport { OnlyActivePipe } from './only-active.pipe';\r\nimport { RemoveLastChildPipe } from './remove-last-child.pipe';\r\nimport { UnreadNotificationsPipe } from './unread-notifications.pipe';\r\n\r\n@NgModule({\r\n declarations: [\r\n RemoveLastChildPipe,\r\n CurrencyBrlPipe,\r\n NotHiddenPipe,\r\n OnlyActivePipe,\r\n FormatDocumentPipe,\r\n MaskPipe,\r\n UnreadNotificationsPipe,\r\n ],\r\n exports: [\r\n RemoveLastChildPipe,\r\n CurrencyBrlPipe,\r\n NotHiddenPipe,\r\n OnlyActivePipe,\r\n FormatDocumentPipe,\r\n MaskPipe,\r\n UnreadNotificationsPipe,\r\n ],\r\n})\r\nexport class PipesModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { PipesModule } from '../pipes';\r\n\r\n@NgModule({\r\n exports: [CommonModule, TooltipModule, PipesModule],\r\n imports: [TranslateModule],\r\n})\r\nexport class SharedModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BadgeComponent } from './badge.component';\r\n\r\n@NgModule({\r\n declarations: [BadgeComponent],\r\n imports: [SharedModule, TooltipModule],\r\n exports: [BadgeComponent],\r\n})\r\nexport class BadgeModule {}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { AppName, MenuItem } from '../models';\r\n\r\nexport interface Environment {\r\n production: boolean;\r\n appName: string;\r\n API_URL: string;\r\n LOGITECH_URL: string;\r\n LOGTECH_ASPX_URL: string;\r\n PORTAL_URL: string;\r\n FINTECH_URL: string;\r\n MARKETPLACE_URL: string;\r\n SURVEY_URL: string;\r\n API_KEY: string;\r\n}\r\n\r\nexport const APP_NAME = new InjectionToken<AppName>('APP_NAME');\r\nexport const ENVIRONMENT = new InjectionToken<Environment>('ENVIRONMENT');\r\nexport const MENU_OPTIONS = new InjectionToken<MenuItem[]>('MENU_OPTIONS');\r\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { ENVIRONMENT, MENU_OPTIONS } from '../../injections';\r\nimport { MenuItem } from '../../models';\r\n\r\n@Component({\r\n selector: 'vector-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss'],\r\n})\r\nexport class BreadcrumbComponent implements OnInit, OnDestroy {\r\n public appName = this.environment.appName;\r\n public routeFragments: MenuItem[] = [];\r\n private subscription = new Subscription();\r\n\r\n constructor(\r\n private router: Router,\r\n @Inject(ENVIRONMENT) private environment: any,\r\n @Inject(MENU_OPTIONS) private menuOptions: MenuItem[]\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.add(\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.routeFragments = [];\r\n let url = event.urlAfterRedirects.replace('/', '');\r\n if (url.includes('?')) {\r\n url = url.substring(0, url.indexOf('?'));\r\n }\r\n this.extractRouteFragmentsFromMenu(url, this.menuOptions);\r\n }\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public navigateToFragment(fragment: MenuItem) {\r\n this.router.navigate([fragment.route], { queryParamsHandling: 'preserve' });\r\n }\r\n\r\n private extractRouteFragmentsFromMenu(url: string, currentChildren: MenuItem[]): boolean {\r\n let foundItem = false;\r\n for (let i = 0; i < currentChildren.length; i++) {\r\n if (currentChildren[i].route) {\r\n if (\r\n currentChildren[i].route &&\r\n (currentChildren[i].route!.startsWith(url) || url.startsWith(currentChildren[i].route || ''))\r\n ) {\r\n this.routeFragments = [currentChildren[i]];\r\n foundItem = true;\r\n }\r\n }\r\n\r\n if (currentChildren[i].children && this.extractRouteFragmentsFromMenu(url, currentChildren[i].children || [])) {\r\n this.routeFragments = [currentChildren[i]].concat(this.routeFragments);\r\n foundItem = true;\r\n break;\r\n }\r\n }\r\n\r\n return foundItem;\r\n }\r\n}\r\n","<div class=\"breadcrumb-container\" *ngIf=\"routeFragments?.length\">\r\n <div class=\"route-path\">\r\n <span class=\"app-name\">{{ appName }}</span>\r\n <div *ngIf=\"routeFragments.length < 2\" class=\"chevron\"></div>\r\n <span\r\n class=\"route-fragment\"\r\n [ngClass]=\"{ clickable: fragment.route }\"\r\n *ngFor=\"let fragment of routeFragments | removeLastChild\"\r\n (click)=\"navigateToFragment(fragment)\"\r\n ><div class=\"chevron\"></div>\r\n {{ fragment.label }}</span\r\n >\r\n </div>\r\n <span class=\"last-route\">\r\n {{ routeFragments[routeFragments.length - 1].label }}\r\n </span>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BreadcrumbComponent } from './breadcrumb.component';\r\n\r\n@NgModule({\r\n declarations: [BreadcrumbComponent],\r\n exports: [BreadcrumbComponent],\r\n imports: [SharedModule],\r\n})\r\nexport class BreadcrumbModule {}\r\n","import { Component, OnDestroy } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { CrudMode } from '../../models/crud-mode.enum';\r\n\r\n@Component({\r\n template: '',\r\n})\r\nexport class CrudBaseComponent implements OnDestroy {\r\n public crudMode = CrudMode.NEW;\r\n public isReadonly = false;\r\n public form = new UntypedFormGroup({});\r\n protected subscription = new Subscription();\r\n\r\n constructor(protected activatedRoute: ActivatedRoute) {\r\n this.crudMode = this.getCrudModeByRoute(this.activatedRoute.snapshot.url[0].path);\r\n this.isReadonly = this.crudMode === CrudMode.VIEW;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public isInsertion() {\r\n return this.crudMode === CrudMode.NEW;\r\n }\r\n\r\n public isEdition() {\r\n return this.crudMode === CrudMode.EDIT;\r\n }\r\n\r\n private getCrudModeByRoute(route: string) {\r\n switch (route) {\r\n case 'new':\r\n return CrudMode.NEW;\r\n case 'edit':\r\n return CrudMode.EDIT;\r\n case 'view':\r\n return CrudMode.VIEW;\r\n default:\r\n return CrudMode.NEW;\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\ntype ButtonType =\r\n | 'success'\r\n | 'success-outlined'\r\n | 'default'\r\n | 'default-filled'\r\n | 'default-outlined'\r\n | 'default-outlined-gray'\r\n | 'default-outlined-gray-icon-red'\r\n | 'default-outlined-gray-icon-gray'\r\n | 'cancel'\r\n | 'cancel-filled'\r\n | 'light-outline';\r\n\r\n@Component({\r\n selector: 'vector-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss'],\r\n})\r\nexport class ButtonComponent {\r\n @Input()\r\n public disabled = false;\r\n @Input()\r\n public label = '';\r\n @Input()\r\n public type: ButtonType = 'default';\r\n @Input()\r\n public leftIcon = '';\r\n @Input()\r\n public rightIcon = '';\r\n @Input()\r\n public noShadow = false;\r\n @Input()\r\n public round = false;\r\n @Input()\r\n public style: any = {};\r\n @Input()\r\n public loading: boolean = false;\r\n @Output()\r\n public onClick = new EventEmitter<any>();\r\n\r\n get styleClass() {\r\n return `button shadow-3 ${this.type} ${this.noShadow && 'no-shadow'}`;\r\n }\r\n}\r\n","<p-button\r\n [styleClass]=\"styleClass\"\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"leftIcon || rightIcon\"\r\n [iconPos]=\"rightIcon ? 'right' : 'left'\"\r\n [style]=\"style\"\r\n (onClick)=\"onClick.emit($event)\"\r\n [ngClass]=\"{ round: round }\"\r\n [loading]=\"loading\"\r\n></p-button>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\ntype ButtonType = 'success' | 'success-outlined' | 'default' | 'default-filled' | 'cancel' | 'cancel-filled';\r\n@Component({\r\n selector: 'vector-crud-footer',\r\n templateUrl: './crud-footer.component.html',\r\n styleUrls: ['./crud-footer.component.scss'],\r\n})\r\nexport class CrudFooterComponent implements OnInit {\r\n @Input()\r\n public submitDisabled = false;\r\n @Input()\r\n public submitHidden = false;\r\n @Input()\r\n public goBackHidden = false;\r\n\r\n @Input()\r\n public labelGoBack?: string;\r\n @Input()\r\n public typeGoBack?: ButtonType;\r\n @Input()\r\n public labelGoSubmit?: string;\r\n @Input()\r\n public typeGoSubmit?: ButtonType;\r\n\r\n @Output()\r\n public onGoBack = new EventEmitter<void>();\r\n @Output()\r\n public onSubmit = new EventEmitter<void>();\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"footer-container shadow-3\">\r\n <div class=\"button\" *ngIf=\"!goBackHidden\">\r\n <vector-button\r\n [label]=\"labelGoBack ? labelGoBack : ('enums.Options.GO_BACK' | translate)\"\r\n [type]=\"typeGoBack ? typeGoBack : 'default'\"\r\n (onClick)=\"onGoBack.emit()\"\r\n >\r\n </vector-button>\r\n </div>\r\n\r\n <div class=\"button\" *ngIf=\"!submitHidden\">\r\n <vector-button\r\n [label]=\"labelGoSubmit ? labelGoSubmit : ('enums.Options.SAVE' | translate)\"\r\n [type]=\"typeGoSubmit ? typeGoSubmit : 'success'\"\r\n (onClick)=\"onSubmit.emit()\"\r\n [disabled]=\"submitDisabled\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-panel',\r\n templateUrl: './panel.component.html',\r\n styleUrls: ['./panel.component.scss'],\r\n})\r\nexport class PanelComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<p-panel [showHeader]=\"false\">\r\n <ng-template pTemplate=\"content\">\r\n <div class=\"shadow-3\"><ng-content></ng-content></div></ng-template\r\n></p-panel>\r\n","import { NgModule } from '@angular/core';\r\nimport { PanelModule as PrimeNgPanel } from 'primeng/panel';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { PanelComponent } from './panel.component';\r\n\r\n@NgModule({\r\n declarations: [PanelComponent],\r\n exports: [PanelComponent],\r\n imports: [SharedModule, PrimeNgPanel],\r\n})\r\nexport class PanelModule {}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-score',\r\n templateUrl: './score.component.html',\r\n styleUrls: ['./score.component.scss'],\r\n})\r\nexport class ScoreComponent implements OnInit {\r\n @Input()\r\n public score: number = 0;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"container\">\r\n <span class=\"score\">{{ score }}</span>\r\n <em class=\"fas fa-star star\"></em>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { ScoreComponent } from './score.component';\r\n\r\n@NgModule({\r\n declarations: [ScoreComponent],\r\n exports: [ScoreComponent],\r\n})\r\nexport class ScoreModule {}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\nimport { map, switchMap, tap } from 'rxjs/operators';\r\nimport { ProfileService, StorageService } from '.';\r\nimport { ENVIRONMENT, Environment } from '../injections';\r\nimport { Role } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthService {\r\n public readonly role$ = new BehaviorSubject<Role>(this.storageService.getRole());\r\n private parentWindowUrl = '';\r\n private subscription = new Subscription();\r\n private readonly baseUrl: string;\r\n\r\n constructor(\r\n @Inject(ENVIRONMENT) private environment: Environment,\r\n private http: HttpClient,\r\n private storageService: StorageService,\r\n private profileService: ProfileService,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n this.baseUrl = this.environment.API_URL.endsWith('/api') ? 'Auth' : 'api/Auth';\r\n\r\n this.subscription.add(\r\n this.activatedRoute.queryParams.subscribe((params) => {\r\n if (params['parent']) {\r\n this.parentWindowUrl = decodeURIComponent(params['parent']);\r\n }\r\n })\r\n );\r\n }\r\n\r\n public getTokenByGuid(tokenGuid: string): Observable<any> {\r\n let response: any;\r\n return this.http.get<any>(`${this.baseUrl}/TemporaryAccessToken/${tokenGuid}`).pipe(\r\n switchMap((tokenResponse: any) => {\r\n response = tokenResponse;\r\n this.storageService.setToken(tokenResponse.accessToken);\r\n this.storageService.setUsername(tokenResponse.userName);\r\n this.storageService.setRefreshToken(tokenResponse.refreshToken);\r\n return this.profileService.getUserProfile();\r\n }),\r\n map(() => {\r\n return response;\r\n })\r\n );\r\n }\r\n\r\n public getTokenByRefreshToken(refreshToken: string) {\r\n const headers = new HttpHeaders()\r\n .set('Content-Type', 'application/x-www-form-urlencoded')\r\n .set('no-spinner', 'true');\r\n return this.http\r\n .post<any>(\r\n `connect/token`,\r\n `username=${this.storageService.getUsername()}&grant_type=refresh_token&refresh_token=${refreshToken}`,\r\n { headers }\r\n )\r\n .pipe(\r\n tap((response) => {\r\n if (response?.access_token && response?.refresh_token) {\r\n this.storageService.setToken(`Bearer ${response.access_token}`);\r\n this.storageService.setRefreshToken(response.refresh_token);\r\n }\r\n })\r\n );\r\n }\r\n\r\n public generateTokenGuid(): Observable<string> {\r\n return this.http\r\n .post<any>(`${this.baseUrl}/TemporaryAccessToken/generate`, {\r\n RefreshToken: this.storageService.getRefreshToken(),\r\n })\r\n .pipe(map((response) => response?.accessToken || ''));\r\n }\r\n\r\n public logout(): void {\r\n this.storageService.clear();\r\n if (window.parent == window) {\r\n window.location.href = this.environment.PORTAL_URL;\r\n } else {\r\n window.parent.postMessage({ logout: true }, this.parentWindowUrl);\r\n }\r\n }\r\n}\r\n","import { BehaviorSubject } from 'rxjs';\r\nimport { HttpResponseGridPaged } from '../models/http-response.model';\r\n\r\nexport class CrudBaseService<T> {\r\n public dataset$ = new BehaviorSubject<HttpResponseGridPaged<T>>({\r\n data: [],\r\n draw: 0,\r\n recordsFiltered: 0,\r\n recordsTotal: 0,\r\n });\r\n public flatUnpagedDataset$ = new BehaviorSubject<T[]>([]);\r\n public getHistory(entityId: string) {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { ListItem } from '../models/list-item.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class EnumService {\r\n constructor(private translateService: TranslateService) {}\r\n public getTranslatedListItemsFromEnum(enumType: any, enumName: string): Observable<ListItem[]> {\r\n return this.getEnumTranslations(enumName).pipe(\r\n map((enumTranslations: any) => {\r\n return Object.keys(enumType)\r\n .filter((item) => isNaN(+item))\r\n .map((item: string) => {\r\n return {\r\n name: enumTranslations[item],\r\n code: enumType[item],\r\n };\r\n });\r\n })\r\n );\r\n }\r\n\r\n public getEnumTranslations(enumName: string): Observable<any> {\r\n return this.translateService.get('enums').pipe(\r\n map((translations) => {\r\n return translations[enumName];\r\n })\r\n );\r\n }\r\n\r\n public getListItemsFromEnum(enumType: any): ListItem[] {\r\n return Object.keys(enumType)\r\n .filter((item) => isNaN(+item))\r\n .map((item: string) => {\r\n return {\r\n name: enumType[item],\r\n code: enumType[item],\r\n };\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ErrorMessageService {\r\n public hasToken$ = new Subject<boolean>();\r\n public genericModalErrorMessage$ = new Subject<string | undefined>();\r\n}\r\n","import { HttpBackend, HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IpInfo } from '../models/ip-info.enum';\r\n\r\n@Injectable()\r\nexport class GeolocationService {\r\n private customHttpClient: HttpClient;\r\n\r\n constructor(private http: HttpClient, private backend: HttpBackend) {\r\n this.customHttpClient = new HttpClient(backend);\r\n }\r\n\r\n public getGeoLoc() {\r\n return this.customHttpClient.get<IpInfo>('https://api.ipify.org/?format=json');\r\n }\r\n\r\n public createUserLoginInfo(userInfo: any) {\r\n return this.http.post(`Telemetry/CreateUserLogInfo`, userInfo);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LoadingService {\r\n public loading$ = new Subject<boolean>();\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ProfileModule, Role } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class StorageService {\r\n public clear(): void {\r\n sessionStorage.clear();\r\n localStorage.clear();\r\n }\r\n\r\n public clearSession(): void {\r\n sessionStorage.clear();\r\n }\r\n\r\n public get(key: string): any {\r\n const storageItem = localStorage.getItem(key);\r\n try {\r\n return storageItem ? JSON.parse(storageItem) : '';\r\n } catch (e) {\r\n return storageItem;\r\n }\r\n }\r\n\r\n public set(key: string, value: any): void {\r\n localStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));\r\n }\r\n\r\n public remove(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n\r\n public getSession(key: string): any {\r\n const storageItem = sessionStorage.getItem(key);\r\n try {\r\n return storageItem ? JSON.parse(storageItem) : '';\r\n } catch (e) {\r\n return storageItem;\r\n }\r\n }\r\n\r\n public setSession(key: string, value: any): void {\r\n sessionStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));\r\n }\r\n\r\n public removeSession(key: string): void {\r\n sessionStorage.removeItem(key);\r\n }\r\n\r\n public getToken(): string {\r\n return localStorage.getItem('token') || '';\r\n }\r\n\r\n public setToken(token: string) {\r\n localStorage.setItem('token', token);\r\n }\r\n\r\n public removeToken() {\r\n localStorage.removeItem('token');\r\n }\r\n\r\n public getRefreshToken(): string {\r\n return sessionStorage.getItem('refreshToken') || '';\r\n }\r\n\r\n public setRefreshToken(refreshToken: string) {\r\n sessionStorage.setItem('refreshToken', refreshToken);\r\n }\r\n\r\n public removeRefreshToken() {\r\n sessionStorage.removeItem('refreshToken');\r\n }\r\n\r\n public getUsername(): string {\r\n return sessionStorage.getItem('username') || '';\r\n }\r\n\r\n public setUsername(username: string) {\r\n sessionStorage.setItem('username', username);\r\n }\r\n\r\n public removeUsername() {\r\n sessionStorage.removeItem('username');\r\n }\r\n\r\n public getUserId(): number {\r\n const userId = sessionStorage.getItem('userId');\r\n return userId ? +atob(userId) : 0;\r\n }\r\n\r\n public setUserId(userId: number) {\r\n sessionStorage.setItem('userId', btoa(`${userId}`));\r\n }\r\n\r\n public clearUserId() {\r\n sessionStorage.removeItem('userId');\r\n }\r\n\r\n public getRole(): Role {\r\n return atob(sessionStorage.getItem('role') || '') as Role;\r\n }\r\n\r\n public setRole(role?: string) {\r\n sessionStorage.setItem('role', role || '');\r\n }\r\n\r\n public clearRole() {\r\n sessionStorage.removeItem('role');\r\n }\r\n\r\n public getProfile(): {\r\n marketplace: ProfileModule | undefined;\r\n fintech: ProfileModule | undefined;\r\n allModules: ProfileModule[] | undefined;\r\n } {\r\n const data = sessionStorage.getItem('profile') || '';\r\n return data ? JSON.parse(data) : data;\r\n }\r\n\r\n public setProfile(profiles: {\r\n marketplace: ProfileModule | undefined;\r\n fintech: ProfileModule | undefined;\r\n allModules: ProfileModule[] | undefined;\r\n }) {\r\n sessionStorage.setItem('profile', JSON.stringify(profiles || ''));\r\n }\r\n\r\n public removeProfile() {\r\n sessionStorage.removeItem('profile');\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport {\r\n Profile,\r\n ProfileModule,\r\n ProfileModuleActionType,\r\n ProfileModuleType,\r\n ProfileTypeEnum,\r\n} from '../models/profile.model';\r\nimport { StorageService } from './storage.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ProfileService {\r\n public readonly moduleProfile$ = new BehaviorSubject<ProfileModule[] | undefined>(\r\n this.storageService.getProfile().allModules\r\n );\r\n\r\n public readonly profileFirstName$ = new BehaviorSubject<string | undefined>(undefined);\r\n public readonly profileTypeItens$ = new BehaviorSubject<\r\n { shipper: number; carrierId: number; profileTypeId: number } | undefined\r\n >(undefined);\r\n public hasFintechAdminPermission = false;\r\n public hasMarketplaceAdminPermission = false;\r\n public hasAnyFintechPermission = false;\r\n public hasAnyMarketplacePermission = false;\r\n\r\n constructor(private http: HttpClient, private storageService: StorageService) {\r\n const { fintech, marketplace } = this.storageService.getProfile();\r\n this.hasFintechAdminPermission = !!fintech?.actions.some((act) =>\r\n [\r\n ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),\r\n ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),\r\n ].includes(act.name)\r\n );\r\n this.hasMarketplaceAdminPermission = !!marketplace?.actions.some(\r\n (act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE\r\n );\r\n this.hasAnyFintechPermission = !!fintech?.actions?.length;\r\n this.hasAnyMarketplacePermission = !!marketplace?.actions?.length;\r\n }\r\n\r\n private getProfileTypeEnum(profileTypeId: number) {\r\n if (profileTypeId) return profileTypeId as ProfileTypeEnum;\r\n else return null;\r\n }\r\n\r\n public getUserProfile() {\r\n return this.http.get<any>('connect/userinfo').pipe(\r\n tap((response) => {\r\n if (response.firstName) {\r\n this.profileFirstName$.next(response.firstName);\r\n }\r\n if (response) {\r\n let dataObject = {\r\n shipper: response?.shipper,\r\n carrierId: response?.carrierId,\r\n profileTypeId: response?.profile.profileTypeId,\r\n profileName: response?.profile.name,\r\n userId: response?.id,\r\n profileTypeEnum: this.getProfileTypeEnum(response?.profile.profileTypeId),\r\n isEtcd: response?.isEtcd,\r\n shipperEtcd: response?.shipperEtcd,\r\n userName: response.firstName,\r\n regionalId: response?.regionalId,\r\n regionalUserList: response?.regionalUserList,\r\n };\r\n if (response.id) {\r\n this.storageService.setUserId(response.id);\r\n }\r\n this.storageService.setSession('userInfo', dataObject);\r\n this.profileTypeItens$.next(dataObject);\r\n }\r\n\r\n const completeProfile: Profile = response.profile;\r\n const marketplaceProfileModule = completeProfile.modules.find((mod) => mod.name === 'Marketplace');\r\n const fintechProfileModule = completeProfile.modules.find((mod) => mod.name === 'Fintech');\r\n const allModules = completeProfile.modules;\r\n this.hasFintechAdminPermission = !!fintechProfileModule?.actions.some((act) =>\r\n [\r\n ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),\r\n ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),\r\n ].includes(act.name)\r\n );\r\n this.hasMarketplaceAdminPermission = !!marketplaceProfileModule?.actions.some(\r\n (act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE\r\n );\r\n this.hasAnyFintechPermission = !!fintechProfileModule?.actions?.length;\r\n this.storageService.setProfile({\r\n marketplace: marketplaceProfileModule,\r\n fintech: fintechProfileModule,\r\n allModules,\r\n });\r\n this.moduleProfile$.next(allModules);\r\n })\r\n );\r\n }\r\n\r\n public userHasPermission(\r\n action: ProfileModuleActionType | ProfileModuleType | ProfileModuleActionType[] | ProfileModuleType[] | undefined\r\n ) {\r\n if (!action) {\r\n return true;\r\n }\r\n if (!this.moduleProfile$.value) {\r\n return false;\r\n }\r\n\r\n if (Array.isArray(action)) {\r\n return action.some((act) => {\r\n if (Object.values(ProfileModuleActionType).some((val) => val === act)) {\r\n return this.moduleProfile$.value?.some((module) =>\r\n module.actions.some((moduleAction) => moduleAction.name === act)\r\n );\r\n }\r\n\r\n if (Object.values(ProfileModuleType).some((val) => val === act)) {\r\n return this.moduleProfile$.value?.some((module) => module.name === act);\r\n }\r\n\r\n return false;\r\n });\r\n } else {\r\n if (Object.values(ProfileModuleActionType).some((val) => val === action)) {\r\n return this.moduleProfile$.value.some((module) => module.actions.some((act) => act.name === action));\r\n }\r\n\r\n if (Object.values(ProfileModuleType).some((val) => val === action)) {\r\n return this.moduleProfile$.value.some((module) => module.name === action);\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public getUserInfo(): Observable<any> {\r\n return this.http.get<any>(`connect/userinfo`);\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { APP_NAME, ENVIRONMENT, Environment, MENU_OPTIONS } from '../injections';\r\nimport { AppName, MenuItem, View } from '../models';\r\nimport { VectorApp } from '../models/vector-app.model';\r\nimport { AuthService } from './auth.service';\r\nimport { ProfileService } from './profile.service';\r\nimport { StorageService } from './storage.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MenuService {\r\n public toggleMenu$ = new Subject<void>();\r\n public menuOpened$ = new Subject<boolean>();\r\n public frameUrl$ = new Subject<string | undefined>();\r\n public menuNotifications: { [menuId: string]: number } = {};\r\n\r\n constructor(\r\n @Inject(ENVIRONMENT) private environment: Environment,\r\n @Inject(MENU_OPTIONS) private menuOptions: MenuItem[],\r\n @Inject(APP_NAME) private appName: string,\r\n private profileService: ProfileService,\r\n private storageService: StorageService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {}\r\n\r\n public getSideMainMenuOptions(): MenuItem[] {\r\n return this.menuOptions\r\n .filter(\r\n (menu) =>\r\n (!menu.view || ![View.HOME, View.ADMIN].includes(menu.view)) &&\r\n !menu.hidden &&\r\n this.profileService.userHasPermission(menu.permission)\r\n )\r\n .map((menu) => this.removeHiddenChildren(menu))\r\n .filter((menu) => !menu.hidden)\r\n .map((menu, index) => this.generateId(menu, index));\r\n }\r\n\r\n public getSideAdminMenuOptions(): MenuItem[] {\r\n return this.menuOptions\r\n .filter(\r\n (menu) => menu.view === View.ADMIN && !menu.hidden && this.profileService.userHasPermission(menu.permission)\r\n )\r\n .map((menu) => this.removeHiddenChildren(menu))\r\n .filter((menu) => !menu.hidden)\r\n .map((menu, index) => this.generateId(menu, index));\r\n }\r\n\r\n public navigateToPortal(params: Partial<VectorApp>): void {\r\n this.authService.generateTokenGuid().subscribe((tokenGuid) => {\r\n const userId = this.storageService.getUserId();\r\n if (params.navigate) {\r\n params.navigate(tokenGuid, userId);\r\n } else {\r\n switch (this.appName) {\r\n case AppName.FINTECH:\r\n this.handleFintechRedirects(params, tokenGuid, userId);\r\n break;\r\n case AppName.MARKETPLACE:\r\n this.handleMarketplaceRedirects(params, tokenGuid, userId);\r\n break;\r\n case AppName.LOGTECH:\r\n this.handleLogtechRedirects(params, tokenGuid, userId);\r\n break;\r\n }\r\n this.storageService.clear();\r\n }\r\n });\r\n }\r\n\r\n public addMenuNotification(menuId: string) {\r\n this.updateMenuNotifications(menuId, (this.menuNotifications[menuId] || 0) + 1);\r\n }\r\n\r\n public subtractMenuNotification(menuId: string) {\r\n this.updateMenuNotifications(menuId, this.menuNotifications[menuId] ? this.menuNotifications[menuId] - 1 : 0);\r\n }\r\n\r\n public updateMenuNotifications(menuId: string, notificationsCount: number): void {\r\n this.menuNotifications[menuId] = notificationsCount;\r\n }\r\n\r\n private removeHiddenChildren(menu: MenuItem) {\r\n const newMenu = { ...menu };\r\n const hadChildren = !!newMenu.children?.length;\r\n newMenu.children = newMenu.children\r\n ?.filter((child) => !child.hidden && this.profileService.userHasPermission(child.permission))\r\n .map((menu) => this.removeHiddenChildren(menu))\r\n .filter((child) => !child.hidden);\r\n if (\r\n hadChildren &&\r\n !newMenu.children?.length &&\r\n !newMenu.route &&\r\n !newMenu.frameUrl &&\r\n !newMenu.externalUrl &&\r\n !newMenu.command\r\n ) {\r\n newMenu.hidden = true;\r\n }\r\n return newMenu;\r\n }\r\n\r\n private generateId(menu: MenuItem, index: number, parentId: string = '') {\r\n menu.id = `${parentId}${index}`;\r\n menu.children = menu.children?.map((child, childIndex) => this.generateId(child, childIndex, menu.id));\r\n return menu;\r\n }\r\n\r\n private handleFintechRedirects(params: Partial<VectorApp>, tokenGuid: string, userId: number) {\r\n if (params.appName === AppName.FINTECH) {\r\n this.router.navigate([''], {\r\n queryParams: { Token: tokenGuid, role: params.isAdmin ? btoa('ADMIN') : '', userId },\r\n });\r\n } else {\r\n let url =\r\n params.appName === AppName.MARKETPLACE ? this.environment.MARKETPLACE_URL : this.environment.LOGITECH_URL;\r\n url += `?Token=${tokenGuid}&userId=${userId}`;\r\n if (params.isAdmin) {\r\n url += `&role=${btoa('ADMIN')}`;\r\n }\r\n window.location.href = url;\r\n }\r\n }\r\n\r\n private handleMarketplaceRedirects(params: Partial<VectorApp>, tokenGuid: string, userId: number) {\r\n if (params.appName === AppName.MARKETPLACE) {\r\n this.router.navigate([''], {\r\n queryParams: { Token: tokenGuid, role: params.isAdmin ? btoa('ADMIN') : '', userId: btoa(`${userId}`) },\r\n });\r\n } else {\r\n let url = params.appName === AppName.FINTECH ? this.environment.FINTECH_URL : this.environment.LOGITECH_URL;\r\n url += `?Token=${tokenGuid}&userId=${userId}`;\r\n if (params.isAdmin) {\r\n url += `&role=${btoa('ADMIN')}`;\r\n }\r\n window.location.href = url;\r\n }\r\n }\r\n\r\n private handleLogtechRedirects(params: Partial<VectorApp>, tokenGuid: string, userId: number) {\r\n if (params.appName === AppName.LOGTECH) {\r\n this.router.navigate([''], {\r\n queryParams: { Token: tokenGuid, userId: btoa(`${userId}`) },\r\n });\r\n } else {\r\n let url = params.appName === AppName.FINTECH ? this.environment.FINTECH_URL : this.environment.MARKETPLACE_URL;\r\n url += `?Token=${tokenGuid}&userId=${userId}`;\r\n if (params.isAdmin) {\r\n url += `&role=${btoa('ADMIN')}`;\r\n }\r\n window.location.href = url;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ModalService {\r\n public showModalBackground$ = new Subject<boolean>();\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, of } from 'rxjs';\r\nimport { VectorNotification } from '../models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotificationsService {\r\n public notifications$ = new BehaviorSubject<VectorNotification[]>([]);\r\n\r\n private readonly baseUrl = 'api/Notifications'; //to do: confirmar api\r\n constructor(private http: HttpClient) {}\r\n\r\n public getUserNotifications(): void {\r\n of(NOTIFICATIONS_MOCK).subscribe((notifications) => this.notifications$.next(notifications));\r\n // return this.http.get(`${this.baseUrl}`);\r\n }\r\n}\r\n\r\nconst NOTIFICATIONS_MOCK: VectorNotification[] = [\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n needsApproval: true,\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n warning: 'Lorem',\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n warning: 'Lorem',\r\n wasRead: true,\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n wasRead: true,\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n warning: 'Lorem',\r\n wasRead: true,\r\n },\r\n {\r\n title: 'Lorem ipsum dolor sit amet',\r\n description: 'Conference Room 3B',\r\n wasRead: true,\r\n },\r\n];\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-field-error-message',\r\n templateUrl: './field-error-message.component.html',\r\n styleUrls: ['./field-error-message.component.scss'],\r\n})\r\nexport class FieldErrorMessageComponent implements OnInit {\r\n @Input()\r\n public control: any;\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control && this.control.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n if (this.control.hasError('minlength')) {\r\n return `Tamanho mínimo: ${this.control.errors['minlength'].requiredLength}`;\r\n }\r\n\r\n if (this.control.hasError('maxlength')) {\r\n return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;\r\n }\r\n\r\n if (this.control.hasError('fieldDoesNotMatch')) {\r\n return typeof this.control.errors['fieldDoesNotMatch'] === 'string'\r\n ? this.control.errors['fieldDoesNotMatch']\r\n : 'Campo inválido';\r\n }\r\n\r\n return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n}\r\n","<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\nimport { ModalService } from '../../../services';\r\n\r\n@Component({\r\n selector: 'vector-calendar-field',\r\n templateUrl: './calendar-field.component.html',\r\n styleUrls: ['./calendar-field.component.scss'],\r\n})\r\nexport class CalendarComponent {\r\n @Input()\r\n public isRequired: boolean = false;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public showCalendarOnFocus = true;\r\n @Input()\r\n public min?: any = DateTime.fromFormat('01/01/1900', 'dd/MM/yyyy').toJSDate();\r\n @Input()\r\n public max?: any = DateTime.now().startOf('day').plus({ years: 1 }).toJSDate();\r\n @Input()\r\n public disabledDates: Date[] = [];\r\n @Input()\r\n public disabled: boolean = false;\r\n @Input()\r\n public defaultDate: Date = DateTime.now().toJSDate();\r\n @Input()\r\n public hiddenErrorMessage: boolean = false;\r\n @Input()\r\n public showTime = false;\r\n @Input()\r\n public showSeconds = false;\r\n @Input()\r\n public stepMinute = 1;\r\n @Input()\r\n public stepHour = 1;\r\n @Input()\r\n public stepSecond = 1;\r\n @Input()\r\n public timeOnly: boolean = false;\r\n @Input()\r\n public hourFormat: string = '24';\r\n\r\n @Output()\r\n public onFocus = new EventEmitter<Event>();\r\n @Output()\r\n public onBlur = new EventEmitter<Event>();\r\n @Output()\r\n public onInput = new EventEmitter<Event>();\r\n @Output()\r\n public onSelect = new EventEmitter<Date>();\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n public keyFilter = '';\r\n\r\n constructor(private modalService: ModalService) {}\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control && this.control.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n if (this.control.hasError('maxlength')) {\r\n return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;\r\n }\r\n\r\n return 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public onShowCalendar() {\r\n this.modalService.showModalBackground$.next(true);\r\n }\r\n\r\n public onHideCalendar() {\r\n this.modalService.showModalBackground$.next(false);\r\n }\r\n}\r\n","<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <p-calendar\r\n appendTo=\"body\"\r\n icon=\"fas fa-calendar-day\"\r\n (onClose)=\"onHideCalendar()\"\r\n (onShow)=\"onShowCalendar()\"\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onSelect)=\"onSelect.emit($event)\"\r\n (onInput)=\"onInput.emit()\"\r\n [defaultDate]=\"defaultDate\"\r\n [disabled]=\"disabled\"\r\n [disabledDates]=\"disabledDates\"\r\n [formControl]=\"control\"\r\n [maxDate]=\"max\"\r\n [minDate]=\"min\"\r\n [readonlyInput]=\"false\"\r\n [showIcon]=\"true\"\r\n [showOnFocus]=\"showCalendarOnFocus\"\r\n [showSeconds]=\"showSeconds\"\r\n [showTime]=\"showTime\"\r\n [stepMinute]=\"stepMinute\"\r\n [timeOnly]=\"timeOnly\"\r\n [stepHour]=\"stepHour\"\r\n [stepSecond]=\"stepSecond\"\r\n [hourFormat]=\"hourFormat\"\r\n ></p-calendar>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ListItem } from '../../../models';\r\n\r\n@Component({\r\n selector: 'vector-checkbox-field',\r\n templateUrl: './checkbox-field.component.html',\r\n styleUrls: ['./checkbox-field.component.scss'],\r\n})\r\nexport class CheckboxFieldComponent implements OnInit {\r\n @Input()\r\n public isRequired: boolean = false;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public rounded: boolean = false;\r\n @Input()\r\n public labelSize: 'default' | 'large' = 'default';\r\n @Input()\r\n public value: boolean | undefined = false;\r\n @Input()\r\n public groupName: string = '';\r\n @Input()\r\n public options: ListItem[] | null = null;\r\n @Input()\r\n public disabled: boolean = false;\r\n @Output()\r\n public valueChange = new EventEmitter<boolean>();\r\n constructor() {}\r\n\r\n ngOnInit() {\r\n if (this.disabled) {\r\n this.control?.disable();\r\n } else {\r\n this.control?.enable();\r\n }\r\n }\r\n}\r\n","<div class=\"checkbox-container flex-wrap\">\r\n <ng-container *ngIf=\"control && groupName; else elseBlock\">\r\n <div class=\"checkbox-item mb-3 mr-3\" *ngFor=\"let option of options\">\r\n <p-checkbox\r\n [name]=\"groupName\"\r\n [formControl]=\"control\"\r\n [value]=\"option\"\r\n checkboxIcon=\"fas fa-check\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [inputId]=\"option.code\"\r\n ></p-checkbox>\r\n <label [for]=\"option.code\"> {{ option.name }}</label>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #elseBlock>\r\n <p-checkbox\r\n *ngIf=\"control && !groupName\"\r\n [formControl]=\"control\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <p-checkbox\r\n *ngIf=\"!control && !groupName\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\r\n >{{ label }}\r\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\r\n </label>\r\n </ng-template>\r\n</div>\r\n","export enum Currency {\r\n BR = 'R$ ',\r\n AR = '$ ',\r\n US = '$ ',\r\n}\r\n","export enum Locale {\r\n BR = 'pt-BR',\r\n AR = 'es-AR',\r\n US = 'en-US',\r\n}\r\n","import { AfterViewInit, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\r\nimport { InputNumber } from 'primeng/inputnumber';\r\nimport { Currency } from '../../../models/currency.enum';\r\nimport { Locale } from '../../../models/locale.enum';\r\n\r\n@Component({\r\n selector: 'vector-currency-field',\r\n templateUrl: './currency-field.component.html',\r\n styleUrls: ['./currency-field.component.scss'],\r\n})\r\nexport class CurrencyFieldComponent implements AfterViewInit {\r\n @Input()\r\n public minValue = 0;\r\n @Input()\r\n public maxValue = 999999999;\r\n @Input()\r\n public placeholder: string = '';\r\n @Input()\r\n public numberOfDecimals: number = 2;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public outlined = false;\r\n @Input()\r\n public rounded = false;\r\n @Input()\r\n public label?: string;\r\n @Input()\r\n public isBankingField: boolean = false;\r\n @Input()\r\n public inputClassName = '';\r\n @Input()\r\n public localePrefix: Locale | string = Locale.BR;\r\n @Input()\r\n public currencyPrefix: Currency | string = Currency.BR;\r\n @Input()\r\n public disabled = false;\r\n @Input()\r\n public centered = false;\r\n @Input()\r\n public inputId?: string;\r\n\r\n @Output()\r\n public onBlur = new EventEmitter<Event>();\r\n\r\n @ViewChild(InputNumber)\r\n private inputElement?: InputNumber;\r\n\r\n ngAfterViewInit() {\r\n const inputElement = this.inputElement?.el.nativeElement.querySelector('input');\r\n inputElement.addEventListener(\r\n 'select',\r\n () => {\r\n inputElement.selectionStart = inputElement.selectionEnd;\r\n },\r\n false\r\n );\r\n }\r\n\r\n public getInputNgClass() {\r\n return { outlined: this.outlined, rounded: this.rounded, [this.inputClassName]: !!this.inputClassName };\r\n }\r\n\r\n public focusLastIndex($event: Event): void {\r\n const target = $event.target as HTMLInputElement;\r\n const selectionIndex = target?.value.length || 0;\r\n target?.setSelectionRange(selectionIndex, selectionIndex);\r\n }\r\n\r\n public inputNextChar($event: KeyboardEvent): void {\r\n const target = $event.target as HTMLInputElement;\r\n const valueTyped = $event.key;\r\n let newValue = target.value.replace('R$ ', '').replace(/[\\.,]/g, '');\r\n const isDeleteOrBackspace = ['Delete', 'Backspace'].includes($event.key);\r\n if (isDeleteOrBackspace) {\r\n newValue = newValue.substring(0, newValue.length - 1).padStart(3, '0');\r\n } else if (!isNaN(+valueTyped)) {\r\n newValue += valueTyped;\r\n newValue = `${+newValue}`.padStart(3, '0');\r\n }\r\n target.value = `${this.outlined ? 'R$ ' : ''}${Number(\r\n `${newValue.substring(0, newValue.length - 2)}.${newValue.substring(newValue.length - 2, newValue.length)}`\r\n ).toLocaleString('pt-BR', {\r\n currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: this.numberOfDecimals,\r\n })}`;\r\n this.focusLastIndex($event);\r\n }\r\n\r\n public clearValue() {\r\n this.control.setValue(0);\r\n }\r\n}\r\n","<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\r\n <div class=\"inner-container\">\r\n <label *ngIf=\"label\">{{ label }}</label>\r\n <div class=\"input\">\r\n <span *ngIf=\"!outlined\">{{ currencyPrefix }} </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"getInputNgClass()\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"numberOfDecimals\"\r\n [min]=\"minValue\"\r\n [max]=\"maxValue\"\r\n [prefix]=\"outlined ? currencyPrefix : ''\"\r\n [disabled]=\"disabled\"\r\n [locale]=\"localePrefix ? localePrefix : 'pt-BR'\"\r\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\r\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\r\n (onBlur)=\"onBlur.emit($event)\"\r\n [inputId]=\"inputId\"\r\n ></p-inputNumber>\r\n </div>\r\n </div>\r\n </div>\r\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { DocumentType, ListItem } from '../../../models';\r\nimport { MaskUtil } from '../../../utils';\r\n\r\n@Component({\r\n selector: 'vector-text-field',\r\n templateUrl: './text-field.component.html',\r\n styleUrls: ['./text-field.component.scss'],\r\n})\r\nexport class TextFieldComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public isRequired: boolean = false;\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public maxlength: string = '';\r\n @Input()\r\n public isPassword = false;\r\n @Input()\r\n public numeric = false;\r\n @Input()\r\n public numericPositive = false;\r\n @Input()\r\n public numericDotComma = false;\r\n @Input()\r\n public decimal = false;\r\n @Input()\r\n public onlyText = false;\r\n @Input()\r\n public noSpecialCharacters = false;\r\n @Input()\r\n public alphaNumeric = false;\r\n @Input()\r\n public alphaNumericAndWhitespace = false;\r\n @Input()\r\n public mask?: string;\r\n @Input()\r\n public autoClear = true;\r\n @Input()\r\n public readonly = false;\r\n @Input()\r\n public rightIcon = '';\r\n @Input()\r\n public centered = false;\r\n @Input()\r\n public enableDocumentTypeChoice = false;\r\n @Input()\r\n public hiddenErrorMessage: boolean = false;\r\n @Input()\r\n public leftLabel?: string;\r\n @Input()\r\n set control(_control: any) {\r\n this._control = _control;\r\n if (this.enableDocumentTypeChoice) {\r\n this.handleInitialDocumentTypeState();\r\n }\r\n\r\n if (this.controlSubscription) {\r\n this.controlSubscription.unsubscribe();\r\n this.controlSubscription = new Subscription();\r\n }\r\n this.controlSubscription.add(\r\n this.control.valueChanges.subscribe((value: string) => {\r\n if (this.enableDocumentTypeChoice && !this.lastTypedValue && value?.length > 11) {\r\n this.handleInitialDocumentTypeState();\r\n }\r\n this.lastTypedValue = value;\r\n })\r\n );\r\n }\r\n @Input()\r\n public inputId?: string;\r\n @Input()\r\n public slotChar = '_';\r\n @Input()\r\n public disabled: boolean = false;\r\n @Input()\r\n public pattern: string = '';\r\n @Output()\r\n public blurEvent = new EventEmitter();\r\n @Output()\r\n public inputEvent = new EventEmitter();\r\n @Output()\r\n public enterKeyPress = new EventEmitter();\r\n @Output()\r\n public backSpaceKeyPress = new EventEmitter();\r\n @Output()\r\n public focusEvent = new EventEmitter();\r\n @Output()\r\n public onDocumentTypeChange = new EventEmitter<ListItem>();\r\n\r\n public isPasswordVisible = false;\r\n public validateOnly = false;\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n get keyfilter() {\r\n this.validateOnly = false;\r\n if (this.numeric) {\r\n return 'int';\r\n }\r\n if (this.numericPositive) {\r\n return 'pint';\r\n }\r\n if (this.decimal) {\r\n this.validateOnly = true;\r\n return /^(\\d+(?:[\\,]\\d{2})?)$/;\r\n }\r\n if (this.onlyText) {\r\n this.validateOnly = true;\r\n return /^[a-zA-ZÀ-ú\\s]*$/gm;\r\n }\r\n if (this.alphaNumeric) {\r\n return 'alphanum';\r\n }\r\n if (this.alphaNumericAndWhitespace) {\r\n return /^[A-Za-zÀ-ú0-9 ]*$/gm;\r\n }\r\n if (this.numericDotComma) {\r\n return 'money';\r\n }\r\n if (this.noSpecialCharacters) {\r\n return /^[a-zA-ZÀ-ÖØ-öø-ÿ0-9\\s]+$/;\r\n }\r\n return /[\\s\\S]*/;\r\n }\r\n\r\n get control() {\r\n return this._control;\r\n }\r\n\r\n get showPasswordIcon() {\r\n return this.isPasswordVisible ? 'fas fa-eye' : 'fas fa-eye-slash';\r\n }\r\n\r\n public documentTypes: ListItem[] = [\r\n {\r\n name: 'CPF',\r\n code: DocumentType.CPF,\r\n },\r\n {\r\n name: 'CNPJ',\r\n code: DocumentType.CNPJ,\r\n },\r\n ];\r\n\r\n public selectedDocumentType = this.documentTypes[1];\r\n\r\n private lastBlurValue = '';\r\n private lastTypedValue = '';\r\n private subscription = new Subscription();\r\n private controlSubscription = new Subscription();\r\n private _control: any;\r\n\r\n ngOnInit() {\r\n if (this.enableDocumentTypeChoice) {\r\n this.setDocumentType(this.selectedDocumentType.code);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n this.controlSubscription.unsubscribe();\r\n }\r\n\r\n public onBlur() {\r\n this.control.markAsTouched();\r\n if (this.lastBlurValue !== this.control.value) {\r\n this.lastBlurValue = this.control.value;\r\n setTimeout(() => {\r\n this.blurEvent.emit(this.control.value);\r\n });\r\n }\r\n }\r\n\r\n public onInput($event: Event) {\r\n const target = $event.target as HTMLInputElement;\r\n this.inputEvent.emit(target.value);\r\n }\r\n\r\n public onEnterPress() {\r\n this.onBlur();\r\n this.enterKeyPress.emit();\r\n }\r\n public onBackSpacePress() {\r\n this.onBlur();\r\n this.backSpaceKeyPress.emit();\r\n }\r\n\r\n public onFocus($event: Event) {\r\n const target = $event.target as HTMLInputElement;\r\n if (this.mask) {\r\n const firstUnderscore = target?.value.indexOf('_');\r\n const selectionIndex = (firstUnderscore >= 0 ? firstUnderscore : target?.value.length) || 0;\r\n target?.setSelectionRange(selectionIndex, selectionIndex);\r\n }\r\n this.focusEvent.emit(target?.value);\r\n }\r\n\r\n public toggleShowPassword() {\r\n this.isPasswordVisible = !this.isPasswordVisible;\r\n }\r\n\r\n public handleDocumentTypeChange() {\r\n if (this.selectedDocumentType.code === DocumentType.CNPJ) {\r\n this.setDocumentType(DocumentType.CPF);\r\n } else {\r\n this.setDocumentType(DocumentType.CNPJ);\r\n }\r\n }\r\n\r\n private handleInitialDocumentTypeState() {\r\n if (this.control?.value) {\r\n if (this.control.value.length === 11) {\r\n this.setDocumentType(DocumentType.CPF);\r\n } else {\r\n this.setDocumentType(DocumentType.CNPJ);\r\n }\r\n } else {\r\n this.setDocumentType(DocumentType.CPF);\r\n }\r\n }\r\n\r\n private setDocumentType(documentType: DocumentType) {\r\n switch (documentType) {\r\n case DocumentType.CNPJ:\r\n this.selectedDocumentType = this.documentTypes[1];\r\n this.mask = MaskUtil.CNPJ_TEXT_FIELD_PATTERN;\r\n break;\r\n case DocumentType.CPF:\r\n this.selectedDocumentType = this.documentTypes[0];\r\n this.mask = MaskUtil.CPF_TEXT_FIELD_PATTERN;\r\n break;\r\n }\r\n this.onDocumentTypeChange.emit(this.selectedDocumentType);\r\n }\r\n}\r\n","<form class=\"input-container p-input-icon-right\">\r\n <i *ngIf=\"rightIcon\" [class]=\"rightIcon\"></i>\r\n <i *ngIf=\"isPassword\" class=\"show-password-icon {{ showPasswordIcon }}\" (click)=\"toggleShowPassword()\"></i>\r\n <div class=\"p-inputgroup\" *ngIf=\"!inputId\">\r\n <vector-button\r\n *ngIf=\"enableDocumentTypeChoice\"\r\n leftIcon=\"fas fa-exchange-alt\"\r\n type=\"success\"\r\n [label]=\"selectedDocumentType.name\"\r\n [disabled]=\"control.disabled\"\r\n [noShadow]=\"true\"\r\n (onClick)=\"handleDocumentTypeChange()\"\r\n ></vector-button>\r\n\r\n <span *ngIf=\"leftLabel\" class=\"left-label\">\r\n {{ leftLabel }}\r\n </span>\r\n\r\n <input\r\n *ngIf=\"!mask\"\r\n pInputText\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [pValidateOnly]=\"validateOnly\"\r\n [pKeyFilter]=\"keyfilter\"\r\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\r\n (blur)=\"onBlur()\"\r\n (input)=\"onInput($event)\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n (click)=\"onFocus($event)\"\r\n [readonly]=\"readonly ? true : null\"\r\n [pattern]=\"pattern\"\r\n />\r\n <p-inputMask\r\n *ngIf=\"mask\"\r\n type=\"text\"\r\n [inputId]=\"inputId || 'mask-field'\"\r\n [formControl]=\"control\"\r\n [mask]=\"mask\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n [autoClear]=\"autoClear\"\r\n [unmask]=\"true\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n [slotChar]=\"slotChar\"\r\n (click)=\"onFocus($event)\"\r\n [pattern]=\"pattern\"\r\n ></p-inputMask>\r\n </div>\r\n <div class=\"p-inputgroup\" *ngIf=\"inputId\">\r\n <vector-button\r\n *ngIf=\"enableDocumentTypeChoice\"\r\n leftIcon=\"fas fa-exchange-alt\"\r\n type=\"success\"\r\n [label]=\"selectedDocumentType.name\"\r\n [disabled]=\"control.disabled\"\r\n [noShadow]=\"true\"\r\n (onClick)=\"handleDocumentTypeChange()\"\r\n ></vector-button>\r\n\r\n <span *ngIf=\"leftLabel\" class=\"left-label\">\r\n {{ leftLabel }}\r\n </span>\r\n\r\n <input\r\n *ngIf=\"!mask\"\r\n [id]=\"inputId\"\r\n pInputText\r\n type=\"text\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [pValidateOnly]=\"validateOnly\"\r\n [pKeyFilter]=\"keyfilter\"\r\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\r\n (blur)=\"onBlur()\"\r\n (input)=\"onInput($event)\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n (click)=\"onFocus($event)\"\r\n [readonly]=\"readonly ? true : null\"\r\n [pattern]=\"pattern\"\r\n />\r\n <p-inputMask\r\n *ngIf=\"mask\"\r\n type=\"text\"\r\n [inputId]=\"inputId || 'mask-field'\"\r\n [formControl]=\"control\"\r\n [mask]=\"mask\"\r\n [placeholder]=\"placeholder\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (keydown.backspace)=\"onBackSpacePress()\"\r\n [autoClear]=\"autoClear\"\r\n [unmask]=\"true\"\r\n [styleClass]=\"centered ? 'text-centered' : ''\"\r\n [slotChar]=\"slotChar\"\r\n (click)=\"onFocus($event)\"\r\n [pattern]=\"pattern\"\r\n ></p-inputMask>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</form>\r\n","import { Component, EventEmitter, Input, Output, Renderer2, signal } from '@angular/core';\r\nimport { MultiSelectFilterEvent } from 'primeng/multiselect';\r\nimport { ListItem } from '../../../models';\r\nimport { BaseDropdown } from '../../../services';\r\nimport { ObjectUtil } from '../../../utils';\r\n\r\nexport type ListItemExtend = ListItem & {\r\n key?: number | string;\r\n id?: number | string;\r\n};\r\n\r\nexport type ListItemOptionsFlagType = ListItem & {\r\n align: 'center' | 'left';\r\n showDescriptionOnRight: boolean;\r\n type: 'img' | 'icon';\r\n iconSource?: string;\r\n iconSize?: '1em' | '1.25em' | '1.5em' | '1.75em' | '2em';\r\n iconClass?: string;\r\n imgSource?: string;\r\n imgSize?: '15' | '20' | '25';\r\n imgClass?: string;\r\n};\r\n\r\n@Component({\r\n selector: 'vector-multiselect-field',\r\n templateUrl: './multiselect-field.component.html',\r\n styleUrls: ['./multiselect-field.component.scss'],\r\n})\r\nexport class MultiselectFieldComponent {\r\n @Input()\r\n set pagedSugestion(_pagedSugestion: ListItem[]) {\r\n this._pagedSugestion = _pagedSugestion;\r\n this.options = this.pagedSugestion || [];\r\n }\r\n @Input()\r\n public isRequired: boolean = false;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public options: ListItem[] | ListItemExtend[] | ListItemOptionsFlagType[] = [];\r\n @Input()\r\n public filter = false;\r\n @Input()\r\n public showSelectAllOption: boolean = true;\r\n @Input()\r\n public display: string = 'comma';\r\n @Input()\r\n public paged = true;\r\n @Input()\r\n public disabled: boolean = false;\r\n @Input()\r\n public minLengthToService: number = 0;\r\n @Input()\r\n public initialLoad = true;\r\n @Input()\r\n public service: BaseDropdown | undefined;\r\n @Input()\r\n public filterVirtualScrool = false;\r\n @Input()\r\n public showHeader: boolean = true;\r\n @Input()\r\n public showFlags: boolean = false;\r\n private _showFlagsOptions?: ListItemOptionsFlagType[] | undefined;\r\n\r\n @Input()\r\n public dependencies: any;\r\n @Input()\r\n public limitScrollPage: number = 20;\r\n @Input()\r\n public forceSelection = true;\r\n\r\n @Input()\r\n set showFlagsOptions(value: ListItemOptionsFlagType[]) {\r\n if (!this.showFlags) {\r\n throw new Error('showFlags is set to false. Setting showFlagsOptions is not allowed.');\r\n }\r\n value.forEach((option) => {\r\n if (option.type === 'img') {\r\n if (!option.imgSource) {\r\n throw new Error(\"imgSource is required when type is 'img'\");\r\n }\r\n if (!option.imgSize) {\r\n throw new Error(\"imgSize is required when type is 'img'\");\r\n }\r\n } else if (option.type === 'icon') {\r\n if (!option.iconSource) {\r\n throw new Error(\"iconSource is required when type is 'icon'\");\r\n }\r\n if (!option.iconSize) {\r\n throw new Error(\"iconSize is required when type is 'icon'\");\r\n }\r\n }\r\n });\r\n this._showFlagsOptions = value;\r\n }\r\n\r\n get showFlagsOptions(): ListItemOptionsFlagType[] {\r\n if (!this._showFlagsOptions) {\r\n throw new Error('showFlagsOptions was not set');\r\n }\r\n return this._showFlagsOptions;\r\n }\r\n\r\n @Output()\r\n public onChange = new EventEmitter();\r\n @Output()\r\n public onClosePanel = new EventEmitter();\r\n\r\n private currentSearchQuery = '';\r\n private currentScrollPage = -1;\r\n private currentScrollIndex = 0;\r\n\r\n public unlistenAutocompleteVirtualScroll = () => {};\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n get pagedSugestion() {\r\n return this._pagedSugestion;\r\n }\r\n\r\n private _pagedSugestion: ListItem[] = [];\r\n private signalOptions = signal<ListItem[]>([]);\r\n\r\n constructor(private renderer: Renderer2) {}\r\n\r\n ngOnInit(): void {\r\n if (this.initialLoad && this.filterVirtualScrool) {\r\n this.search(null, true);\r\n }\r\n\r\n if (this.control && this.disabled) {\r\n this.control.disable();\r\n } else {\r\n this.control.enable();\r\n }\r\n\r\n if (this.service && this.control && this.control.value && Array.isArray(this.control.value)) {\r\n const controlValueArray = this.control.value.map((value: any) => value);\r\n if (controlValueArray.length) {\r\n this.loadInitialSelectedValues(controlValueArray);\r\n }\r\n }\r\n }\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control && this.control.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public customFormattingMultiSelectFieldWithFlags(): void {\r\n this.onloadAutocompletePanelService();\r\n\r\n setTimeout(() => {\r\n const vectorMultiselectField = document.querySelector('vector-multiselect-field.multiselect-flags');\r\n\r\n if (vectorMultiselectField) {\r\n const pOverlayElement = vectorMultiselectField.querySelector('p-overlay');\r\n\r\n if (pOverlayElement) {\r\n const classList = Array.from(pOverlayElement.classList);\r\n const targetClass = classList.find((className) => className.startsWith('ng-tns-'));\r\n\r\n if (targetClass) {\r\n const classReferenceCode = targetClass.replace('ng-tns-', '');\r\n const targetDivWithRefCode = document.querySelector(`div.ng-tns-${classReferenceCode}`);\r\n\r\n if (targetDivWithRefCode) {\r\n targetDivWithRefCode.classList.add('multiselect-flags');\r\n }\r\n }\r\n }\r\n }\r\n }, 200);\r\n }\r\n\r\n private onloadAutocompletePanelService(): void {\r\n if (this.service) {\r\n this.search();\r\n this.currentScrollPage++;\r\n\r\n this.service\r\n .getPaged(\r\n encodeURIComponent(this.currentSearchQuery),\r\n this.currentScrollPage,\r\n this.limitScrollPage,\r\n this.dependencies\r\n )\r\n .subscribe({\r\n next: (response) => {\r\n if (response && response.length) {\r\n const currentSignalOptions = this.signalOptions() || [];\r\n const combined = [\r\n ...currentSignalOptions,\r\n ...response,\r\n ...(this.currentScrollPage === 0 ? [] : (this.options as (ListItem | ListItemOptionsFlagType)[])),\r\n ];\r\n const uniqueOptions = combined.filter(\r\n (item, index, self) => self.findIndex((i) => i.code === item.code) === index\r\n );\r\n\r\n this.options = uniqueOptions;\r\n this.signalOptions.set(uniqueOptions);\r\n } else {\r\n this.options = this.currentScrollPage === 0 ? [] : this.options;\r\n this.signalOptions.set(this.options);\r\n }\r\n\r\n const controlValue = typeof this.control.value == 'object' ? this.control.value?.code : this.control.value;\r\n\r\n if (this.control.value && this.options?.find((item) => item.code == controlValue)) {\r\n this.setControlValueFromSuggestions();\r\n }\r\n\r\n if (this.forceSelection) {\r\n this.handleSearchErrors();\r\n }\r\n },\r\n error: (err) => {},\r\n });\r\n }\r\n }\r\n\r\n private loadInitialSelectedValues(controlValueArray: any[]): void {\r\n if (!this.service) return;\r\n this.service.getPaged('', 0, this.limitScrollPage, this.dependencies).subscribe({\r\n next: (response) => {\r\n this.options = response;\r\n this.setInitialControlValues(controlValueArray);\r\n },\r\n error: (err) => {},\r\n });\r\n }\r\n\r\n private setInitialControlValues(values: any[]): void {\r\n const selectedItems = (this.options as ListItemExtend[])\r\n .filter((item) => values.includes(item.code || item.key || item.id))\r\n .map((el) => (el.code = el.key ? el.key : el.id ? el.id : el.code));\r\n this.control.setValue(selectedItems, { emitEvent: false });\r\n }\r\n\r\n public onOpenAutocompletePanel(): void {\r\n this.search();\r\n const multiSelectPanel = document.querySelector('.p-multiselect-items-wrapper');\r\n\r\n if (multiSelectPanel && this.paged && this.currentSearchQuery.length >= this.minLengthToService) {\r\n this.unlistenAutocompleteVirtualScroll = this.renderer.listen(multiSelectPanel, 'scroll', (event) => {\r\n const eventHeight = event.target.scrollHeight - event.target.clientHeight - 150;\r\n\r\n if (Math.round(event.target.scrollTop) >= eventHeight) {\r\n this.pageResults();\r\n }\r\n });\r\n }\r\n }\r\n\r\n public onHideAutocompletePanel(): void {\r\n if (this.paged) {\r\n this.unlistenAutocompleteVirtualScroll();\r\n }\r\n }\r\n\r\n public search($event?: any, forceSearch = false): void {\r\n this.currentSearchQuery = $event?.filter.toUpperCase() || '';\r\n this.currentScrollPage = -1;\r\n this.currentScrollIndex = 0;\r\n if (forceSearch || this.currentSearchQuery.length >= this.minLengthToService) {\r\n this.pageResults();\r\n } else {\r\n this.options = [];\r\n }\r\n }\r\n\r\n public onFilterChange($event?: MultiSelectFilterEvent): void {\r\n if (!$event || !$event.filter) return;\r\n\r\n if (this.service && $event?.filter.length >= this.minLengthToService) {\r\n this.service.getPaged($event.filter, this.currentScrollPage, this.limitScrollPage, this.dependencies).subscribe({\r\n next: (response: ListItem[]) => {\r\n if (response && response.length) {\r\n const currentSignalOptions = this.signalOptions() || [];\r\n const combined = [...response, ...currentSignalOptions, ...(this.options as ListItem[])];\r\n const uniqueOptions = combined.filter(\r\n (item, index, self) => self.findIndex((i) => i.code === item.code) === index\r\n );\r\n\r\n this.options = uniqueOptions;\r\n this.signalOptions.set(uniqueOptions);\r\n }\r\n },\r\n error: (err) => {},\r\n });\r\n }\r\n }\r\n\r\n private pageResults(): void {\r\n const filteredOptions = this.filterListByQuery(this.pagedSugestion, this.currentSearchQuery.toUpperCase());\r\n this.options = filteredOptions.slice(0, this.currentScrollIndex + 20);\r\n\r\n if (this.pagedSugestion?.length && this.pagedSugestion.length > 20) {\r\n this.currentScrollIndex = this.currentScrollIndex + 20;\r\n }\r\n\r\n this.setControlValueFromSuggestions();\r\n }\r\n\r\n private filterListByQuery(list: ListItem[] = [], query: string): ListItem[] {\r\n return list.filter(\r\n (opt) => String(opt.code).toUpperCase().includes(query) || opt.name.toUpperCase().includes(query)\r\n );\r\n }\r\n\r\n private setControlValueFromSuggestions() {\r\n const code =\r\n (ObjectUtil.isValid(this.control.value?.code) && `${this.control.value?.code}`) || `${this.control.value}`;\r\n if (this.control.value && this.options?.length) {\r\n let itemsArray = this.options;\r\n if (this.options?.length) {\r\n itemsArray = this.options;\r\n }\r\n const itemFromSuggestions = itemsArray.find((opt) => `${opt.code}`.toUpperCase() === code.toUpperCase());\r\n if (itemFromSuggestions) {\r\n this.control.setValue(itemFromSuggestions, { emitEvent: false });\r\n } else {\r\n this.service?.getById(+code).subscribe((response) => {\r\n this.control.setValue(response, { emitEvent: false });\r\n });\r\n }\r\n } else if (this.control.value && !this.options?.length) {\r\n this.service?.getById(+code).subscribe((response) => {\r\n this.control.setValue(response, { emitEvent: false });\r\n });\r\n }\r\n }\r\n\r\n private handleSearchErrors() {\r\n if (this.options?.length) {\r\n delete this.control.errors?.itemNotFound;\r\n } else if (this.currentSearchQuery) {\r\n this.control.setErrors({ itemNotFound: true });\r\n }\r\n }\r\n}\r\n","<div class=\"multiselect-field-input-container\">\r\n <p-multiSelect\r\n *ngIf=\"!filterVirtualScrool\"\r\n #multiselect\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Selecionar todos\"\r\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"filter\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n [showToggleAll]=\"showSelectAllOption\"\r\n [dropdownIcon]=\"'pi pi-chevron-down'\"\r\n [display]=\"display\"\r\n (onChange)=\"onChange.emit($event)\"\r\n (onPanelHide)=\"onClosePanel.emit($event)\"\r\n (onPanelShow)=\"customFormattingMultiSelectFieldWithFlags()\"\r\n (onFilter)=\"onFilterChange($event)\"\r\n [disabled]=\"disabled\"\r\n [showHeader]=\"showHeader\"\r\n >\r\n <ng-container *ngIf=\"showFlags\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"grid-nogutter w-full flex\">\r\n <div\r\n class=\"md:col-6 sm:col-12 align-content-center\"\r\n [ngClass]=\"option.align === 'center' ? 'md:text-center' : 'md:text-left'\"\r\n >\r\n <img\r\n *ngIf=\"option.type == 'img'\"\r\n [src]=\"option.imgSource\"\r\n [ngClass]=\"option.imgClass\"\r\n [style]=\"{ height: option.imgSize + 'px' }\"\r\n />\r\n <i\r\n *ngIf=\"option.type == 'icon'\"\r\n [className]=\"option.iconSource\"\r\n [ngClass]=\"option.iconClass\"\r\n [style]=\"{ 'font-size': option.iconSize }\"\r\n ></i>\r\n </div>\r\n\r\n <div *ngIf=\"option.showDescriptionOnRight\" class=\"col-6 hidden md:block align-content-center\">\r\n <span class=\"block\">{{ option.name }}</span>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </p-multiSelect>\r\n\r\n <p-multiSelect\r\n *ngIf=\"filterVirtualScrool\"\r\n #multiselect\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n dropdownIcon=\"fas fa-sort-down\"\r\n selectedItemsLabel=\"Selecionar todos\"\r\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"filter\"\r\n [maxSelectedLabels]=\"options.length - 1\"\r\n [showHeader]=\"true\"\r\n [showToggleAll]=\"showSelectAllOption\"\r\n [dropdownIcon]=\"'pi pi-chevron-down'\"\r\n [display]=\"display\"\r\n (onChange)=\"onChange.emit($event)\"\r\n (onFilter)=\"search($event)\"\r\n (onPanelShow)=\"onOpenAutocompletePanel()\"\r\n (onPanelHide)=\"onHideAutocompletePanel()\"\r\n [disabled]=\"disabled\"\r\n >\r\n </p-multiSelect>\r\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2, ViewEncapsulation } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { ListItem } from '../../../models';\r\nimport { BaseDropdown } from '../../../services';\r\nimport { ObjectUtil } from '../../../utils';\r\n\r\nexport type DropdownButtonAction = {\r\n label: string;\r\n onClick: (value: any) => void;\r\n};\r\n\r\n@Component({\r\n selector: 'vector-dropdown-field',\r\n templateUrl: './dropdown-field.component.html',\r\n styleUrls: ['./dropdown-field.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class DropdownFieldComponent implements OnInit, OnDestroy {\r\n @Input()\r\n set options(_options: ListItem[]) {\r\n this._options = _options;\r\n this.pagedSuggestions = this.options || [];\r\n }\r\n @Input()\r\n public isNgContent = false;\r\n @Input()\r\n public forceSelection = true;\r\n @Input()\r\n public isRequired: boolean | undefined = false;\r\n @Input()\r\n set control(_control: any) {\r\n this._control = _control;\r\n if (this.control) {\r\n this.subscription.add(\r\n this.control.valueChanges.subscribe(() => {\r\n this.setControlValueFromSuggestions();\r\n })\r\n );\r\n }\r\n }\r\n @Input()\r\n public label: string = '';\r\n @Input()\r\n public service: BaseDropdown | undefined;\r\n @Input()\r\n public paged = true;\r\n @Input()\r\n public buttonAction: DropdownButtonAction | undefined;\r\n @Input()\r\n public dependencies: any;\r\n @Input()\r\n public hiddenErrorMessage: boolean = false;\r\n @Input()\r\n public dynamicFilters?: ListItem[];\r\n @Input()\r\n public minLengthToService: number = 0;\r\n @Input()\r\n public initialLoad = true;\r\n @Input()\r\n public disabled = false;\r\n @Input()\r\n public limitScrollPage: number = 20;\r\n @Input()\r\n public inputId?: string;\r\n @Output()\r\n public onFocus = new EventEmitter();\r\n @Output()\r\n public onChange = new EventEmitter();\r\n\r\n get control() {\r\n return this._control;\r\n }\r\n\r\n get options() {\r\n return this._options;\r\n }\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n public pagedSuggestions: ListItem[] = [];\r\n public unlistenAutocompleteVirtualScroll = () => {};\r\n public selectedDynamicFilter: any = this.dynamicFilters ? this.dynamicFilters[0].code : undefined;\r\n\r\n private _control: any;\r\n private _options: any[] = [];\r\n private currentScrollPage = -1;\r\n private currentScrollIndex = 0;\r\n private subscription = new Subscription();\r\n private currentSearchQuery = '';\r\n\r\n constructor(private renderer: Renderer2) {}\r\n\r\n ngOnInit(): void {\r\n if (this.control && this.disabled) {\r\n this.control.disable();\r\n } else {\r\n this.control.enable();\r\n }\r\n\r\n if (this.initialLoad) {\r\n this.search(null, true);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n if (this.unlistenAutocompleteVirtualScroll) {\r\n this.unlistenAutocompleteVirtualScroll();\r\n }\r\n }\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control?.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n return this.control?.errors && typeof this.control.errors['invalid'] === 'string'\r\n ? this.control?.errors['invalid']\r\n : 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public search($event?: any, forceSearch = false): void {\r\n this.currentSearchQuery = $event?.query.toUpperCase() || '';\r\n this.currentScrollPage = -1;\r\n this.currentScrollIndex = 0;\r\n if (forceSearch || this.currentSearchQuery.length >= this.minLengthToService) {\r\n this.pageResults();\r\n } else {\r\n this.pagedSuggestions = [];\r\n }\r\n }\r\n\r\n public onOpenAutocompletePanel(): void {\r\n const autocompletePanel = document.querySelector('.p-autocomplete-panel');\r\n if (autocompletePanel && this.paged && this.currentSearchQuery.length >= this.minLengthToService) {\r\n this.unlistenAutocompleteVirtualScroll = this.renderer.listen(autocompletePanel, 'scroll', (event) => {\r\n const eventHeight = event.target.scrollHeight - event.target.clientHeight - 150;\r\n\r\n if (Math.round(event.target.scrollTop) >= eventHeight) {\r\n this.pageResults();\r\n }\r\n });\r\n }\r\n }\r\n\r\n public onHideAutocompletePanel(): void {\r\n if (this.paged) {\r\n this.unlistenAutocompleteVirtualScroll();\r\n }\r\n }\r\n\r\n private pageResults(): void {\r\n if (this.service) {\r\n this.currentScrollPage++;\r\n this.service\r\n .getPaged(\r\n encodeURIComponent(this.currentSearchQuery),\r\n this.currentScrollPage,\r\n this.limitScrollPage,\r\n this.dependencies\r\n )\r\n .subscribe({\r\n next: (response) => {\r\n const formattedResponse = response.map((item) => ({\r\n ...item,\r\n name: this.formatDropdownValue(item.name),\r\n }));\r\n this.pagedSuggestions =\r\n this.currentScrollPage === 0 ? formattedResponse : this.pagedSuggestions?.concat(formattedResponse);\r\n const controlValue = typeof this.control.value == 'object' ? this.control.value?.code : this.control.value;\r\n if (this.control.value && this.pagedSuggestions?.find((item) => item.code == controlValue)) {\r\n this.setControlValueFromSuggestions();\r\n }\r\n if (this.forceSelection) {\r\n this.handleSearchErrors();\r\n }\r\n },\r\n error: (err) => {},\r\n });\r\n } else {\r\n const filteredOptions = this.filterListByQuery(this.options, this.currentSearchQuery.toUpperCase());\r\n this.pagedSuggestions = filteredOptions.slice(0, this.currentScrollIndex + this.limitScrollPage);\r\n\r\n if (this.options?.length && this.options.length > this.limitScrollPage) {\r\n this.currentScrollIndex = this.currentScrollIndex + this.limitScrollPage;\r\n }\r\n\r\n this.setControlValueFromSuggestions();\r\n if (this.forceSelection) {\r\n this.handleSearchErrors();\r\n }\r\n }\r\n }\r\n\r\n private setControlValueFromSuggestions() {\r\n const code =\r\n (ObjectUtil.isValid(this.control.value?.code) && `${this.control.value?.code}`) || `${this.control.value}`;\r\n if (this.control.value && this.pagedSuggestions?.length) {\r\n let itemsArray = this.pagedSuggestions;\r\n if (this.options?.length) {\r\n itemsArray = this.options;\r\n }\r\n const itemFromSuggestions = itemsArray.find((opt) => `${opt.code}`.toUpperCase() === code.toUpperCase());\r\n if (itemFromSuggestions) {\r\n this.control.setValue(itemFromSuggestions, { emitEvent: false });\r\n } else {\r\n this.service?.getById(+code).subscribe((response) => {\r\n this.control.setValue(response, { emitEvent: false });\r\n });\r\n }\r\n } else if (this.control.value && !this.pagedSuggestions?.length) {\r\n this.service?.getById(+code).subscribe((response) => {\r\n this.control.setValue(response, { emitEvent: false });\r\n });\r\n }\r\n }\r\n\r\n private handleSearchErrors() {\r\n if (this.pagedSuggestions?.length) {\r\n delete this.control.errors?.itemNotFound;\r\n } else if (this.currentSearchQuery) {\r\n this.control.setErrors({ itemNotFound: true });\r\n }\r\n }\r\n\r\n private filterListByQuery(list: ListItem[] = [], query: string): ListItem[] {\r\n return list.filter(\r\n (opt) => String(opt.code).toUpperCase().includes(query) || opt.name.toUpperCase().includes(query)\r\n );\r\n }\r\n\r\n formatDropdownValue(value: string): string {\r\n const firstDigitIndex = value.search(/\\d/);\r\n if (firstDigitIndex === -1) return value;\r\n\r\n const prefix = value.slice(0, firstDigitIndex);\r\n\r\n const suffixWithNumbers = value.slice(firstDigitIndex);\r\n\r\n const match = suffixWithNumbers.match(/^(\\d+)(.*)$/);\r\n if (!match) return value;\r\n\r\n const rawNumber = match[1];\r\n const suffix = match[2];\r\n\r\n const formatted = this.applyDynamicCpfCnpjMask(rawNumber);\r\n\r\n return `${prefix}${formatted}${suffix}`;\r\n }\r\n\r\n private applyDynamicCpfCnpjMask(value: string): string {\r\n if (!value) return '';\r\n\r\n const alphanumerics = value.replace(/[^a-zA-Z0-9]/g, '');\r\n const isOnlyDigits = /^\\d+$/.test(alphanumerics);\r\n if (isOnlyDigits && !this.isCpfOrCnpj(alphanumerics)) return value;\r\n\r\n let masked = '';\r\n const isCpf = alphanumerics.length <= 11;\r\n\r\n if (isCpf) {\r\n for (let i = 0; i < alphanumerics.length; i++) {\r\n masked += alphanumerics[i];\r\n if (i === 2 || i === 5) masked += '.';\r\n else if (i === 8) masked += '-';\r\n }\r\n } else {\r\n for (let i = 0; i < alphanumerics.length; i++) {\r\n masked += alphanumerics[i];\r\n if (i === 1 || i === 4) masked += '.';\r\n else if (i === 7) masked += '/';\r\n else if (i === 11) masked += '-';\r\n }\r\n }\r\n\r\n return masked;\r\n }\r\n\r\n private isCpfOrCnpj(value: string): boolean {\r\n const cleaned = value.replace(/\\D/g, '');\r\n return this.isValidCpf(cleaned) || this.isValidCnpj(cleaned);\r\n }\r\n\r\n private isValidCpf(cpf: string): boolean {\r\n if (cpf.length !== 11 || /^(\\d)\\1+$/.test(cpf)) return false;\r\n\r\n const digits = cpf.split('').map(Number);\r\n\r\n const calcVerifier = (factor: number) => {\r\n let total = 0;\r\n for (let i = 0; i < factor - 1; i++) {\r\n total += digits[i] * (factor - i);\r\n }\r\n const rest = total % 11;\r\n return rest < 2 ? 0 : 11 - rest;\r\n };\r\n\r\n const dv1 = calcVerifier(10);\r\n const dv2 = calcVerifier(11);\r\n\r\n return dv1 === digits[9] && dv2 === digits[10];\r\n }\r\n\r\n private isValidCnpj(cnpj: string): boolean {\r\n if (cnpj.length !== 14 || /^(\\d)\\1+$/.test(cnpj)) return false;\r\n\r\n const digits = cnpj.split('').map(Number);\r\n const calcVerifier = (length: number) => {\r\n const weights = length === 12 ? [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2] : [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n\r\n const total = digits.slice(0, length).reduce((sum, num, idx) => sum + num * weights[idx], 0);\r\n\r\n const rest = total % 11;\r\n return rest < 2 ? 0 : 11 - rest;\r\n };\r\n\r\n const dv1 = calcVerifier(12);\r\n const dv2 = calcVerifier(13);\r\n\r\n return dv1 === digits[12] && dv2 === digits[13];\r\n }\r\n}\r\n","<div class=\"relative\">\r\n <div class=\"input-container\">\r\n <div class=\"input-inner-container\" *ngIf=\"!isNgContent\">\r\n <p-dropdown\r\n *ngIf=\"dynamicFilters\"\r\n appendTo=\"body\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [(ngModel)]=\"selectedDynamicFilter\"\r\n [options]=\"dynamicFilters\"\r\n [disabled]=\"disabled\"\r\n [inputId]=\"inputId\"\r\n >\r\n </p-dropdown>\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n [forceSelection]=\"forceSelection\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n [delay]=\"800\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n [inputId]=\"inputId\"\r\n >\r\n </p-autoComplete>\r\n </div>\r\n\r\n <div class=\"input-inner-container\" *ngIf=\"isNgContent\">\r\n <p-autoComplete\r\n appendTo=\"body\"\r\n field=\"name\"\r\n [forceSelection]=\"forceSelection\"\r\n [dropdown]=\"true\"\r\n [formControl]=\"control\"\r\n [placeholder]=\"placeholder\"\r\n [suggestions]=\"pagedSuggestions\"\r\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\r\n [delay]=\"800\"\r\n (completeMethod)=\"search($event)\"\r\n (onShow)=\"onOpenAutocompletePanel()\"\r\n (onHide)=\"onHideAutocompletePanel()\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n (onChange)=\"onChange.emit($event)\"\r\n [disabled]=\"disabled\"\r\n [inputId]=\"inputId\"\r\n >\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"option-content\">\r\n <span class=\"option-label\">{{ option.name }}</span>\r\n <br />\r\n <span class=\"option-sublabel\">{{ option.code }}</span>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n\r\n <vector-button\r\n *ngIf=\"buttonAction\"\r\n [label]=\"buttonAction.label\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"buttonAction.onClick(control.value)\"\r\n ></vector-button>\r\n </div>\r\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n","import { Component, Input } from '@angular/core';\r\nimport { ListItem } from '../../../models';\r\n\r\n@Component({\r\n selector: 'vector-select-button-field',\r\n templateUrl: './select-button-field.component.html',\r\n styleUrls: ['./select-button-field.component.scss'],\r\n})\r\nexport class SelectButtonFieldComponent {\r\n @Input()\r\n public options: ListItem[] = [];\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public disabled: boolean = false;\r\n\r\n constructor() {}\r\n}\r\n","<div class=\"input-container p-input-icon-right\">\r\n <p-selectButton\r\n [options]=\"options\"\r\n [formControl]=\"control\"\r\n optionLabel=\"name\"\r\n optionValue=\"code\"\r\n [disabled]=\"disabled\"\r\n ></p-selectButton>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl, UntypedFormGroup, ValidatorFn, Validators } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { ListItem } from '../../../models';\r\nimport { BaseDropdown } from '../../../services';\r\nimport { ObjectUtil, ValidationUtil } from '../../../utils';\r\n\r\nexport enum FieldType {\r\n DROPDOWN,\r\n TEXT,\r\n DATE,\r\n NUMBER,\r\n CURRENCY,\r\n DYNAMIC_DROPDOWN,\r\n SELECT_BUTTON,\r\n DATE_RANGE,\r\n MULTISELECT,\r\n}\r\n\r\nexport type FilterField = {\r\n name: string;\r\n type: FieldType;\r\n minLength?: number;\r\n maxLength?: number;\r\n min?: number;\r\n max?: number;\r\n required?: boolean;\r\n readonly?: boolean;\r\n disabled?: boolean;\r\n label?: string;\r\n mask?: string;\r\n options?: ListItem[];\r\n filterTypes?: ListItem[];\r\n service?: BaseDropdown;\r\n defaultValue?: any;\r\n placeholder?: string;\r\n hidden?: boolean;\r\n dependencies?: string[];\r\n size?: 'small' | 'medium' | 'large' | 'largest' | 'full';\r\n minLengthToService?: number;\r\n initiateValue?: boolean;\r\n tooltip?: string;\r\n controler?: UntypedFormControl;\r\n dateMin?: Date;\r\n dateMax?: Date;\r\n class?: string;\r\n limitScrollPage?: number;\r\n};\r\n\r\n@Component({\r\n selector: 'vector-filters',\r\n templateUrl: './filters.component.html',\r\n styleUrls: ['./filters.component.scss'],\r\n})\r\nexport class FiltersComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public set fields(_fields: FilterField[]) {\r\n const isFirstSet = !this._fields.length && _fields?.length;\r\n this._fields = _fields;\r\n this.formGroup = new UntypedFormGroup({});\r\n\r\n this.fieldsSubscription.unsubscribe();\r\n this.fieldsSubscription = new Subscription();\r\n\r\n this.fields?.forEach((field) => {\r\n if (field?.defaultValue && typeof field?.defaultValue === 'object') {\r\n field.initiateValue = !!field.defaultValue?.code;\r\n } else {\r\n field.initiateValue = !!field.defaultValue;\r\n }\r\n if (field.type === FieldType.DATE_RANGE) {\r\n this.formGroup.addControl(\r\n field.name,\r\n new UntypedFormGroup({\r\n startDate: new UntypedFormControl({ value: field.defaultValue?.startDate, disabled: field.readonly }, [\r\n ...this.buildValidators(field),\r\n ValidationUtil.lowerThanOrEqualTo('endDate'),\r\n ]),\r\n endDate: new UntypedFormControl({ value: field.defaultValue?.endDate, disabled: field.readonly }, [\r\n ...this.buildValidators(field),\r\n ValidationUtil.greaterThanOrEqualTo('startDate'),\r\n ]),\r\n })\r\n );\r\n } else {\r\n if (field.controler) {\r\n this.formGroup.addControl(field.name, field.controler);\r\n } else {\r\n this.formGroup.addControl(\r\n field.name,\r\n new UntypedFormControl({ value: field.defaultValue, disabled: field.readonly }, this.buildValidators(field))\r\n );\r\n }\r\n }\r\n\r\n if (!field.limitScrollPage) {\r\n field.limitScrollPage = 20;\r\n }\r\n });\r\n\r\n this.fields\r\n ?.filter((field) => field.dependencies)\r\n .forEach((field) => {\r\n field.dependencies?.forEach((dependency) => {\r\n this.fieldsSubscription.add(\r\n this.formGroup.get(dependency)?.valueChanges.subscribe((value) => {\r\n this.formGroup.get(field.name)?.reset();\r\n })\r\n );\r\n });\r\n });\r\n\r\n this.patchFormFromQueryParams({ ...this.activatedRoute.snapshot.queryParams });\r\n\r\n if (this._fields?.length && this.formGroup.valid && isFirstSet) {\r\n this.search();\r\n }\r\n this.formBuilded.emit();\r\n\r\n this.fieldsSubscription.add(\r\n this.activatedRoute.queryParams.subscribe((queryParams) => {\r\n this.patchFormFromQueryParams({ ...queryParams });\r\n })\r\n );\r\n }\r\n\r\n @Output()\r\n public onSearch = new EventEmitter<any>();\r\n @Output()\r\n public formBuilded = new EventEmitter<void>();\r\n\r\n public get fields() {\r\n return this._fields;\r\n }\r\n\r\n public fieldTypes = FieldType;\r\n public formGroup = new UntypedFormGroup({});\r\n\r\n private _fields: FilterField[] = [];\r\n private fieldsSubscription = new Subscription();\r\n\r\n get hideFilters() {\r\n return !this.fields?.filter((item) => !item.hidden).length;\r\n }\r\n\r\n constructor(private activatedRoute: ActivatedRoute) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnDestroy() {\r\n this.fieldsSubscription.unsubscribe();\r\n }\r\n\r\n public search() {\r\n this.formGroup.markAllAsTouched();\r\n if (this.formGroup.valid) {\r\n const filterValue = this.formGroup.getRawValue();\r\n Object.keys(filterValue).forEach((key) => {\r\n if (filterValue[key]?.hasOwnProperty('code')) {\r\n filterValue[key] = filterValue[key].code;\r\n }\r\n if (!ObjectUtil.isValid(filterValue[key])) {\r\n const fieldType = this.fields.find((field) => field.name === key)?.type ?? FieldType.TEXT;\r\n filterValue[key] = [FieldType.DROPDOWN, FieldType.NUMBER].includes(fieldType) ? -1 : '';\r\n }\r\n });\r\n this.onSearch.emit(filterValue);\r\n }\r\n }\r\n\r\n public isTextFieldType(field: FilterField) {\r\n return [FieldType.TEXT, FieldType.NUMBER].includes(field.type);\r\n }\r\n\r\n public getFieldDependencies(field: FilterField) {\r\n if (!field.dependencies) {\r\n return undefined;\r\n }\r\n return field.dependencies.reduce((prev, curr) => {\r\n let depValue: any = this.formGroup.get(curr)?.value?.code;\r\n if (!ObjectUtil.isValid(depValue)) {\r\n depValue = -1;\r\n }\r\n return {\r\n ...prev,\r\n [curr]: depValue,\r\n };\r\n }, {});\r\n }\r\n\r\n public getGridClass(field: FilterField) {\r\n switch (field.size) {\r\n case 'small':\r\n return 'md:col-1';\r\n case 'medium':\r\n return 'md:col-3';\r\n case 'large':\r\n return 'md:col-4';\r\n case 'largest':\r\n return 'md:col-8';\r\n case 'full':\r\n return 'md:col-12';\r\n default:\r\n return 'md:col-4';\r\n }\r\n }\r\n\r\n private patchFormFromQueryParams(queryParams: any) {\r\n if (Object.keys(queryParams).length) {\r\n this.fields.forEach((field) => {\r\n if (queryParams.hasOwnProperty(field.name)) {\r\n try {\r\n queryParams[field.name] = queryParams[field.name]\r\n ? JSON.parse(queryParams[field.name])\r\n : queryParams[field.name];\r\n } catch (_) {}\r\n if (field.type === FieldType.DATE_RANGE) {\r\n queryParams[field.name] = {\r\n startDate: queryParams[field.name].startDate ? new Date(queryParams[field.name].startDate) : undefined,\r\n endDate: queryParams[field.name].endDate ? new Date(queryParams[field.name].endDate) : undefined,\r\n };\r\n }\r\n if (field.type === FieldType.DATE) {\r\n queryParams[field.name] = queryParams[field.name] ? new Date(queryParams[field.name]) : undefined;\r\n }\r\n }\r\n });\r\n this.formGroup.patchValue(queryParams);\r\n }\r\n }\r\n\r\n private buildValidators(field: FilterField): ValidatorFn[] {\r\n const validators = [];\r\n if (field.required) {\r\n validators.push(Validators.required);\r\n }\r\n if (field.minLength) {\r\n validators.push(Validators.minLength(field.minLength));\r\n }\r\n if (field.maxLength) {\r\n validators.push(Validators.maxLength(field.maxLength));\r\n }\r\n if (field.min) {\r\n validators.push(Validators.min(field.min));\r\n }\r\n if (field.max) {\r\n validators.push(Validators.max(field.max));\r\n }\r\n return validators;\r\n }\r\n}\r\n","<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label\r\n >{{ field.label }}\r\n <i\r\n *ngIf=\"field.tooltip\"\r\n class=\"fas fa-info-circle mt-1 pl-2 ch\"\r\n pTooltip=\"{{ field.tooltip }}\"\r\n tooltipPosition=\"bottom\"\r\n ></i\r\n ></label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n [class]=\"field.class\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\r\n [dynamicFilters]=\"field.filterTypes\"\r\n [disabled]=\"field.disabled\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [minLengthToService]=\"field.minLengthToService || 0\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n [initialLoad]=\"field.initiateValue\"\r\n [limitScrollPage]=\"field.limitScrollPage\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n [disabled]=\"field.disabled\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n [disabled]=\"field.disabled\"\r\n [min]=\"field.dateMin\"\r\n [max]=\"field.dateMax\"\r\n ></vector-calendar-field>\r\n <vector-select-button-field\r\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options\"\r\n (click)=\"search()\"\r\n [disabled]=\"field.disabled\"\r\n >\r\n </vector-select-button-field>\r\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.startDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n [disabled]=\"field.disabled\"\r\n [min]=\"field.dateMin\"\r\n ></vector-calendar-field>\r\n Até\r\n <vector-calendar-field\r\n [control]=\"formGroup.get(field.name + '.endDate')\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n [disabled]=\"field.disabled\"\r\n [max]=\"field.dateMax\"\r\n ></vector-calendar-field>\r\n </div>\r\n <vector-multiselect-field\r\n *ngIf=\"field.type === fieldTypes.MULTISELECT\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [options]=\"field.options || []\"\r\n [disabled]=\"field.disabled\"\r\n >\r\n </vector-multiselect-field>\r\n </div>\r\n <div class=\"search-button sm:col-4\">\r\n <vector-button\r\n [label]=\"'app.label.search' | translate\"\r\n (click)=\"search()\"\r\n [disabled]=\"!formGroup.valid\"\r\n [round]=\"true\"\r\n type=\"default-filled\"\r\n ></vector-button>\r\n </div>\r\n</div>\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\nimport { Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { FilterChangedEvent, ListItem, Status } from '../../../models';\r\nimport { DataTableLazyLoadEvent, TableColumn, TableColumnType } from '../../../models/data-table.model';\r\nimport { MaskUtil } from '../../../utils';\r\nimport { FilterField, FiltersComponent } from '../filters/filters.component';\r\n\r\n@Component({\r\n selector: 'vector-data-table',\r\n templateUrl: './data-table.component.html',\r\n styleUrls: ['./data-table.component.scss'],\r\n})\r\nexport class DataTableComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public columns: TableColumn[] = [];\r\n @Input()\r\n public set data(_data: any[]) {\r\n this._data = _data;\r\n this.selectedItems = this._data?.filter((item) => item.selected) || [];\r\n }\r\n public get data() {\r\n return this._data;\r\n }\r\n private _data: any[] = [];\r\n @Input()\r\n public exportExcel = false;\r\n @Input()\r\n public exportPDF = false;\r\n @Input()\r\n public customFunction: { label: string; icon?: string; clickFunction: Function }[] | undefined;\r\n @Input()\r\n public totalRecords = 0;\r\n @Input()\r\n public disabledHeadercheckbox = false;\r\n @Input()\r\n public filters: FilterField[] = [];\r\n @Input()\r\n public addItemLabel = '';\r\n @Input()\r\n public pagination = true;\r\n @Input()\r\n public virtualPagination = false;\r\n @Input()\r\n public set tabs(_tabs: ListItem[]) {\r\n this._tabs = _tabs;\r\n this._tabSelected = _tabs[0];\r\n }\r\n @Input()\r\n public customButtons: { label: string; clickFunction: Function }[] | undefined;\r\n @Input()\r\n public addItemButtonPlusSign = false;\r\n @Input()\r\n public hasActions: boolean = true;\r\n @Input()\r\n public hasExpandableIcon = false;\r\n @Input()\r\n public addNameColumnExpand = '';\r\n @Input() expandable = false;\r\n @Input() expansionTemplate!: TemplateRef<any> | null;\r\n @Input()\r\n public set selectionMode(_selectionMode) {\r\n switch (_selectionMode) {\r\n case 'single':\r\n this._selectionMode = 'single';\r\n break;\r\n case 'multiple':\r\n this._selectionMode = 'multiple';\r\n break;\r\n default:\r\n this._selectionMode = null;\r\n break;\r\n }\r\n }\r\n @Input()\r\n public selectionType: 'checkbox' | 'radiobutton' | null = null;\r\n @Input()\r\n public set height(_height: string) {\r\n switch (_height) {\r\n case 'small':\r\n this._height = '300px';\r\n break;\r\n case 'medium':\r\n this._height = '500px';\r\n break;\r\n case 'large':\r\n this._height = '700px';\r\n break;\r\n case 'full':\r\n this._height = 'flex';\r\n break;\r\n default:\r\n this._height = '300px';\r\n }\r\n }\r\n @Input()\r\n public showLimitBalance = false;\r\n @Input()\r\n public showDataBalance = false;\r\n @Input()\r\n public dataAccountBalance: { visible: boolean; name: string; valueBalance: number; showBalance: boolean }[] = [];\r\n\r\n @Output()\r\n public onLazyLoad = new EventEmitter<DataTableLazyLoadEvent>();\r\n @Output()\r\n public onFilter = new EventEmitter<any>();\r\n @Output()\r\n public onAdd = new EventEmitter<void>();\r\n @Output()\r\n public onExportExcel = new EventEmitter<void>();\r\n @Output()\r\n public onExportPDF = new EventEmitter<void>();\r\n @Output()\r\n public onSelectedRows = new EventEmitter<any>();\r\n @Output()\r\n public onFilterChanged = new EventEmitter<FilterChangedEvent>();\r\n @Output()\r\n public onTabSelected = new EventEmitter<ListItem>();\r\n @Output()\r\n public onExpandRow: EventEmitter<any> = new EventEmitter();\r\n\r\n @Input()\r\n public firstLazyLoad = false;\r\n @Input()\r\n public shouldLazyLoadWithoutFilter = false;\r\n @Input()\r\n public reorderableColumns = false;\r\n\r\n @ViewChild(FiltersComponent, { static: true })\r\n public filtersComponent: FiltersComponent | undefined;\r\n\r\n public selectedItems: any = [];\r\n\r\n get balance(): (itemAccount?: any) => number | string {\r\n return (itemAccount?: any): number | string => {\r\n return itemAccount.showBalance\r\n ? itemAccount.valueBalance.toLocaleString('pt-BR', {\r\n currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n })\r\n : '-,--';\r\n };\r\n }\r\n\r\n get tabs() {\r\n return this._tabs;\r\n }\r\n get height() {\r\n return this._height;\r\n }\r\n get selectionMode() {\r\n return this._selectionMode;\r\n }\r\n\r\n private _selectionMode: 'single' | 'multiple' | null = null;\r\n private _height: string = 'small';\r\n private _tabs: ListItem[] = [];\r\n private _draw = 1;\r\n private _firstLazyLoadedDone = this.firstLazyLoad;\r\n private _lastLazyLoadEvent: DataTableLazyLoadEvent | undefined;\r\n private _tabSelected: ListItem | undefined;\r\n private _filterSubscription = new Subscription();\r\n\r\n constructor(public cd: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n if (!this.height) {\r\n this.height = 'small';\r\n }\r\n\r\n if (!this.pagination || this.virtualPagination) {\r\n this.filtersComponent?.search();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._filterSubscription.unsubscribe();\r\n }\r\n\r\n getColStyle(col: TableColumn) {\r\n return { 'min-width': col.width };\r\n }\r\n\r\n lazyLoaded(params: { filter: boolean; data: any } = { filter: false, data: { start: 0, rows: 10 } }) {\r\n if (!params.filter && !this.shouldLazyLoadWithoutFilter) {\r\n const columns = this.columns.map((col) => {\r\n return {\r\n data: col.field,\r\n name: `${col.field.substring(0, 1).toUpperCase()}${col.field.substring(1, col.field.length)}`,\r\n orderable: true,\r\n search: { value: '', regex: false },\r\n searchable: true,\r\n };\r\n });\r\n if (this.hasActions) {\r\n columns.unshift({\r\n data: 'active',\r\n name: 'Active',\r\n orderable: true,\r\n search: { value: '', regex: false },\r\n searchable: true,\r\n });\r\n }\r\n this._lastLazyLoadEvent = {\r\n ...(this._lastLazyLoadEvent || ({} as any)),\r\n page: params.data.first / params.data.rows + 1,\r\n start: params.data.first,\r\n length: params.data.rows,\r\n draw: this._draw++,\r\n order: params.data.sortField\r\n ? [\r\n {\r\n column:\r\n this.columns.findIndex((col) => col.field === params.data.sortField) + (this.hasActions ? 1 : 0),\r\n dir: params.data.sortOrder > 0 ? 'asc' : 'desc',\r\n },\r\n ]\r\n : [{ column: 0, dir: 'desc' }],\r\n columns: columns,\r\n tab: this._tabSelected,\r\n };\r\n } else {\r\n this._lastLazyLoadEvent = {\r\n ...this._lastLazyLoadEvent,\r\n ...params.data,\r\n start: 0,\r\n };\r\n if (this._tabSelected) {\r\n this._lastLazyLoadEvent = {\r\n ...(this._lastLazyLoadEvent || ({} as any)),\r\n ...{ Status: this._tabSelected.code },\r\n tab: this._tabSelected,\r\n };\r\n }\r\n }\r\n\r\n if (this._firstLazyLoadedDone || this.firstLazyLoad) {\r\n this.onLazyLoad.emit(this._lastLazyLoadEvent);\r\n }\r\n this._firstLazyLoadedDone = true;\r\n }\r\n\r\n getCellContent(item: any, col: TableColumn) {\r\n const cellText = this.getCellText(item, col);\r\n let content = `<span class=\"p-column-title\">${col.header}</span><span class=\"w-100\">`;\r\n if (\r\n !col.type ||\r\n [TableColumnType.ENUM, TableColumnType.TEXT, TableColumnType.DATETIME, TableColumnType.DATE].includes(col.type)\r\n ) {\r\n content += cellText;\r\n }\r\n switch (col.type) {\r\n case TableColumnType.CUSTOM_STYLE:\r\n content += `<span class=\"${col.textFieldClass ? item[col.textFieldClass] : ''}\">${cellText}</span>`;\r\n break;\r\n case TableColumnType.BOOLEAN:\r\n content += `<div class=\"text-centered\"><i class=\" status-table-field fas fa-${\r\n cellText ? 'check boolean-value-positive' : 'times boolean-value-negative'\r\n }\"></i></div>`;\r\n break;\r\n case TableColumnType.STATUS_BADGE:\r\n content += `<div class=\"text-centered\"><i class=\"fas fa-circle status-table-field ${this.getStatusColor(\r\n cellText\r\n )}\"></i></div>`;\r\n break;\r\n case TableColumnType.ACTIVE_BOOLEAN_BADGE:\r\n content += `<div class=\"text-centered\"><i class=\"fas fa-circle status-table-field ${this.getActiveStatusColor(\r\n cellText\r\n )}\"></i></div>`;\r\n break;\r\n case TableColumnType.BUTTON:\r\n let iconClass = '';\r\n if (typeof col.icon === 'function') {\r\n iconClass = col.icon(item);\r\n } else {\r\n iconClass = col.icon || 'fas fa-circle';\r\n }\r\n content += `<div class=\"text-centered\"><i class=\"${iconClass} status-table-field table-button\"></i></div>`;\r\n break;\r\n case TableColumnType.MASK:\r\n if (col.mask === 'dynamicCpfCnpj') {\r\n content += MaskUtil.formatDocument(cellText);\r\n } else {\r\n content += MaskUtil.doMaskString(cellText, col.mask);\r\n }\r\n break;\r\n case TableColumnType.CURRENCY:\r\n content += Number(cellText).toLocaleString('pt-BR', {\r\n currency: col.currencyType || 'BRL',\r\n currencyDisplay: 'narrowSymbol',\r\n style: 'currency',\r\n });\r\n }\r\n\r\n content += `</span>`;\r\n return content;\r\n }\r\n\r\n public getCellText(item: any, col: TableColumn) {\r\n if (col.getEnumTranslated) {\r\n return col.getEnumTranslated(item[col.field]);\r\n }\r\n if (col.type === TableColumnType.DATETIME && item[col.field]) {\r\n const dateTime =\r\n item[col.field] instanceof Date ? DateTime.fromJSDate(item[col.field]) : DateTime.fromISO(item[col.field]);\r\n return dateTime.toUTC().toFormat('dd/MM/yyyy HH:mm');\r\n }\r\n if (col.type === TableColumnType.DATE && item[col.field]) {\r\n const dateTime =\r\n item[col.field] instanceof Date ? DateTime.fromJSDate(item[col.field]) : DateTime.fromISO(item[col.field]);\r\n return dateTime.toUTC().toFormat('dd/MM/yyyy');\r\n }\r\n if (col.type === TableColumnType.STACK_BADGE) {\r\n if (!item[col.field].length || item[col.field].length === 1) {\r\n return item[col.field];\r\n } else {\r\n return `+${item[col.field].length}`;\r\n }\r\n }\r\n if (col.type === TableColumnType.STATUS_BADGE) {\r\n return item[col.field] == 0 ? 0 : item[col.field];\r\n }\r\n\r\n return item[col.field || ''] || '';\r\n }\r\n\r\n public getTooltipText(item: any, col: TableColumn) {\r\n if (\r\n !col.type ||\r\n ![TableColumnType.STACK_BADGE].includes(col.type) ||\r\n !Array.isArray(item[col.field]) ||\r\n item[col.field].length === 1\r\n ) {\r\n return null;\r\n }\r\n\r\n if (!Array.isArray(item[col.field])) {\r\n return item[col.field];\r\n }\r\n return item[col.field].join(' - ');\r\n }\r\n\r\n onTabChange($event: any) {\r\n this._tabSelected = this.tabs[$event.index];\r\n this.lazyLoaded({ filter: true, data: {} });\r\n this.onTabSelected.emit(this._tabSelected);\r\n }\r\n\r\n subscribeToFilterChanges() {\r\n this._filterSubscription.unsubscribe();\r\n this._filterSubscription = new Subscription();\r\n Object.keys(this.filtersComponent?.formGroup.controls || {}).forEach((key) => {\r\n this._filterSubscription.add(\r\n this.filtersComponent?.formGroup\r\n .get(key)\r\n ?.valueChanges.pipe(debounceTime(300))\r\n .subscribe((value) => {\r\n this.onFilterChanged.emit({ field: key, value });\r\n })\r\n );\r\n this.onFilterChanged.emit({ field: key, value: this.filtersComponent?.formGroup.get(key)?.value });\r\n });\r\n }\r\n\r\n onRowClick(item: any) {\r\n setTimeout(() => {\r\n this.cd.markForCheck();\r\n });\r\n\r\n this.onExpandRow.emit(item);\r\n }\r\n\r\n get listHasActions() {\r\n return this.data.some((item) => item.actions?.length);\r\n }\r\n\r\n public changeSelectedItems(value: any) {\r\n this.onSelectedRows.emit(this.selectedItems);\r\n }\r\n\r\n public isHtmlCell(col: TableColumn) {\r\n return !col.type || !this.isBadgeCell(col);\r\n }\r\n\r\n public isBadgeCell(col: TableColumn) {\r\n return col.type && [TableColumnType.TEXT_BADGE, TableColumnType.STACK_BADGE].includes(col.type);\r\n }\r\n\r\n public isScoreCell(col: TableColumn) {\r\n return col.type === TableColumnType.SCORE;\r\n }\r\n\r\n public onSelectionChange(selection: any) {\r\n for (let i = selection.length - 1; i >= 0; i--) {\r\n let data = selection[i];\r\n if (data.disabledCheckBox) {\r\n selection.splice(i, 1);\r\n }\r\n }\r\n this.selectedItems = selection;\r\n }\r\n\r\n public changeShowBalance(itemAccount?: any): void {\r\n if (itemAccount) {\r\n itemAccount.showBalance = !itemAccount.showBalance;\r\n }\r\n }\r\n\r\n private getStatusColor(status: Status) {\r\n switch (status) {\r\n case Status.PENDING:\r\n return 'warning';\r\n case Status.APPROVED:\r\n return 'success';\r\n case Status.REJECTED:\r\n return 'error';\r\n case Status.INFO:\r\n return 'info';\r\n }\r\n return '';\r\n }\r\n\r\n private getActiveStatusColor(active: boolean) {\r\n return active ? 'success' : 'error';\r\n }\r\n}\r\n","<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters\r\n [fields]=\"filters\"\r\n (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"\r\n (formBuilded)=\"subscribeToFilterChanges()\"\r\n ></vector-filters>\r\n </div>\r\n <div\r\n class=\"table-header-actions field\"\r\n *ngIf=\"addItemLabel || exportExcel || exportPDF || customFunction || customButtons\"\r\n >\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file-excel\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file-pdf\"></i><span>PDF</span>\r\n </button>\r\n <button\r\n *ngFor=\"let button of customFunction\"\r\n (click)=\"button.clickFunction()\"\r\n class=\"export-button custom-function\"\r\n >\r\n <i *ngIf=\"button?.icon\" class=\"{{ button?.icon }}\"></i><span>{{ button?.label }}</span>\r\n </button>\r\n\r\n <vector-button\r\n *ngFor=\"let button of customButtons\"\r\n class=\"add-item-button\"\r\n [round]=\"true\"\r\n [label]=\"button.label\"\r\n (click)=\"button.clickFunction()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n <vector-button\r\n *ngIf=\"addItemLabel\"\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n [round]=\"true\"\r\n ></vector-button>\r\n </div>\r\n @if(showLimitBalance){\r\n <div class=\"col-12 grid ml-0\">\r\n @for (itemAccount of dataAccountBalance; track $index) { @if(itemAccount.visible){\r\n <div class=\"card balance-container\">\r\n <span class=\"card-header\">{{ itemAccount.name }}</span>\r\n <div class=\"card-content value-container\">\r\n <span>R$ </span>\r\n <span *ngIf=\"itemAccount.showBalance\" class=\"balance\">{{ balance(itemAccount) }}</span>\r\n <div class=\"hidden-balance\" *ngIf=\"!itemAccount.showBalance\"></div>\r\n <div class=\"icon-container\">\r\n <i\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-eye': !itemAccount.showBalance, 'fa-eye-slash': itemAccount.showBalance }\"\r\n (click)=\"changeShowBalance(itemAccount)\"\r\n ></i>\r\n </div>\r\n </div>\r\n </div>\r\n } }\r\n </div>\r\n\r\n } @if(showDataBalance){\r\n <div class=\"col-12 grid ml-0\">\r\n @for (itemAccount of dataAccountBalance; track $index) {\r\n <div class=\"card balance-container\">\r\n <span class=\"card-header\">{{ itemAccount.name }}</span>\r\n <div class=\"card-content value-container\">\r\n <span class=\"balance\">{{ itemAccount.valueBalance }}</span>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n\r\n }\r\n\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\">\r\n <ng-template pTemplate=\"header\">\r\n <em *ngIf=\"tab.icon\" [class]=\"tab.icon\">&nbsp;</em>\r\n <span>{{ tab.name }}</span>\r\n </ng-template>\r\n </p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} até {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n dataKey=\"id\"\r\n [scrollHeight]=\"height\"\r\n [attr.selectionMode]=\"selectionMode\"\r\n [(selection)]=\"selectedItems\"\r\n (onRowSelect)=\"changeSelectedItems($event)\"\r\n (onHeaderCheckboxToggle)=\"changeSelectedItems($event)\"\r\n (onRowUnselect)=\"changeSelectedItems($event)\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [reorderableColumns]=\"reorderableColumns\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th *ngIf=\"reorderableColumns\" style=\"width: 5rem\"></th>\r\n\r\n <th *ngIf=\"selectionType === 'checkbox'\">\r\n <p-tableHeaderCheckbox [disabled]=\"disabledHeadercheckbox\"></p-tableHeaderCheckbox>\r\n </th>\r\n <th class=\"text-center\" *ngIf=\"hasExpandableIcon\">\r\n {{ addNameColumnExpand }}\r\n </th>\r\n <th *ngIf=\"hasActions\">{{ 'app.label.actions' | translate }}</th>\r\n <th *ngIf=\"selectionType === 'radiobutton'\">\r\n <div class=\"flex align-items-center\">\r\n <span></span>\r\n </div>\r\n </th>\r\n @for(col of columns; track $index) { @if(!col.hidden){\r\n <th [ngStyle]=\"getColStyle(col)\" [pSortableColumn]=\"col.notSortable ? '' : col.field\" pReorderableColumn>\r\n <div class=\"flex align-items-center\">\r\n <span>{{ col.header }}</span> <p-sortIcon *ngIf=\"!col.notSortable\" [field]=\"col.field\"></p-sortIcon>\r\n </div>\r\n </th>\r\n } }\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-item let-expanded=\"expanded\" let-index=\"rowIndex\">\r\n <tr\r\n class=\"row\"\r\n [pSelectableRow]=\"rowData\"\r\n [ngClass]=\"{ expandable: expandable }\"\r\n [pRowToggler]=\"expandable ? item : undefined\"\r\n (click)=\"onRowClick(item)\"\r\n [pReorderableRow]=\"index\"\r\n >\r\n <ng-container *ngIf=\"reorderableColumns\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"justify-content-center align-items-center\">\r\n <span class=\"pi pi-bars\" pReorderableRowHandle></span>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectionType === 'checkbox'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"justify-content-center align-items-center\">\r\n <p-tableCheckbox [value]=\"item\" [disabled]=\"item.disabledCheckBox\"></p-tableCheckbox>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectionType === 'radiobutton'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"justify-content-center align-items-center\">\r\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\r\n </td>\r\n </ng-container>\r\n <td *ngIf=\"hasExpandableIcon\" style=\"max-width: 150px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i\r\n [ngClass]=\"\r\n expanded ? 'actions-menu-button pi pi-chevron-down' : 'actions-menu-button pi pi-chevron-right'\r\n \"\r\n ></i>\r\n </td>\r\n <td *ngIf=\"hasActions\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n @for(col of columns; track $index) { @if(!col.hidden){\r\n <ng-container>\r\n <td\r\n *ngIf=\"isHtmlCell(col)\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n <td\r\n *ngIf=\"(!isHtmlCell(col) && !!col.getStatus) || isScoreCell(col)\"\r\n class=\"cell\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n >\r\n <vector-badge\r\n *ngIf=\"isBadgeCell(col)\"\r\n [label]=\"getCellText(item, col)\"\r\n [type]=\"col.getStatus && col.getStatus(item[col.field])\"\r\n [tooltip]=\"getTooltipText(item, col)\"\r\n ></vector-badge>\r\n <vector-score *ngIf=\"isScoreCell(col)\" [score]=\"item[col.field]\"></vector-score>\r\n </td>\r\n </ng-container>\r\n }}\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n <ng-template pTemplate=\"rowexpansion\" let-item>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + (hasActions ? 1 : 0)\">\r\n <ng-container *ngTemplateOutlet=\"expansionTemplate; context: { item }\"> </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n@Component({\r\n selector: 'vector-input-number',\r\n templateUrl: './input-number-field.component.html',\r\n styleUrls: ['./input-number-field.component.scss'],\r\n})\r\nexport class InputNumberFieldComponent {\r\n @Input()\r\n public inputId?: string;\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public showButtons: boolean = false;\r\n @Input()\r\n public type: 'decimal' | 'percent' = 'decimal';\r\n @Input()\r\n public minFractionDigits: number = 0;\r\n @Input()\r\n public maxFractionDigits: number = 4;\r\n @Input()\r\n public buttonLayout: 'stacked' | 'horizontal' | 'vertical' = 'horizontal';\r\n @Input()\r\n public incrementButtonIcon: string = 'pi pi-plus-circle';\r\n @Input()\r\n public decrementButtonIcon: string = 'pi pi-minus-circle';\r\n @Input()\r\n public min: number = 0;\r\n @Input()\r\n public step: number = 1;\r\n @Input()\r\n public disabled = false;\r\n\r\n @Input()\r\n public set max(_max) {\r\n this._max = _max;\r\n }\r\n @Input()\r\n public set suffix(_suffix) {\r\n this._suffix = _suffix;\r\n }\r\n\r\n @Output()\r\n public onFocus = new EventEmitter<Event>();\r\n @Output()\r\n public onBlur = new EventEmitter<Event>();\r\n @Output()\r\n public onInput = new EventEmitter();\r\n @Output()\r\n public onClear = new EventEmitter();\r\n\r\n get max(): number {\r\n if (this.type === 'percent') {\r\n return this._max || 100;\r\n }\r\n return this._max || 999999999;\r\n }\r\n\r\n get suffix() {\r\n switch (this.type) {\r\n case 'percent':\r\n return this._suffix || '%';\r\n }\r\n return '';\r\n }\r\n\r\n public _maxFractionDigits: number | null = null;\r\n public _max: number | null = null;\r\n public _suffix: string | null = null;\r\n}\r\n","<div class=\"input-container\">\r\n <p-inputNumber\r\n [inputId]=\"inputId\"\r\n [formControl]=\"control\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [suffix]=\"suffix\"\r\n [step]=\"step\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [showButtons]=\"showButtons\"\r\n [disabled]=\"disabled\"\r\n [buttonLayout]=\"buttonLayout\"\r\n [incrementButtonIcon]=\"incrementButtonIcon\"\r\n [decrementButtonIcon]=\"decrementButtonIcon\"\r\n (onBlur)=\"onBlur.emit($event)\"\r\n (onFocus)=\"onFocus.emit($event)\"\r\n ></p-inputNumber>\r\n <vector-field-error-message [control]=\"control\"></vector-field-error-message>\r\n</div>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-input-otp',\r\n templateUrl: './input-otp.component.html',\r\n styleUrl: './input-otp.component.scss',\r\n})\r\nexport class InputOtpComponent {\r\n @Input()\r\n public integerOnly = false;\r\n @Input()\r\n public length = 6;\r\n @Input()\r\n public inputValue!: string | number;\r\n @Input()\r\n public isReadonly = false;\r\n @Input()\r\n public isDisabled = false;\r\n @Input()\r\n public isInvalid = false;\r\n\r\n @Output()\r\n public onChangeOtp = new EventEmitter();\r\n @Output()\r\n public onBlurOtp = new EventEmitter();\r\n @Output()\r\n public onFocusOtp = new EventEmitter();\r\n\r\n public onChange($event: any) {\r\n this.onChangeOtp.emit($event);\r\n }\r\n\r\n public onBlur($event: Event) {\r\n this.onBlurOtp.emit($event);\r\n }\r\n\r\n public onFocus($event: Event) {\r\n this.onFocusOtp.emit($event);\r\n }\r\n}\r\n","<p-inputOtp\r\n class=\"custom-field-text input-otp\"\r\n [integerOnly]=\"integerOnly\"\r\n [length]=\"length\"\r\n [ngModel]=\"inputValue\"\r\n [invalid]=\"isInvalid\"\r\n [disabled]=\"isDisabled\"\r\n [readonly]=\"isReadonly\"\r\n (onChange)=\"onChange($event)\"\r\n (onBlur)=\"onBlur($event)\"\r\n (onFocus)=\"onFocus($event)\"\r\n></p-inputOtp>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-input-switch-field',\r\n templateUrl: './input-switch-field.component.html',\r\n styleUrls: ['./input-switch-field.component.scss'],\r\n})\r\nexport class InputSwitchFieldComponent implements OnInit {\r\n @Input()\r\n public control: any;\r\n\r\n @Input()\r\n public disabled = false;\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<p-inputSwitch [formControl]=\"control\" [disabled]=\"disabled\"></p-inputSwitch>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-percentage-field',\r\n templateUrl: './percentage-field.component.html',\r\n styleUrls: ['./percentage-field.component.scss'],\r\n})\r\nexport class PercentageFieldComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public min: number = 0;\r\n @Input()\r\n public max: number = 100;\r\n @Input()\r\n public minFractionDigits: number = 0;\r\n @Input()\r\n public maxFractionDigits: number = 0;\r\n @Input()\r\n public step = 0;\r\n @Output()\r\n public blurEvent = new EventEmitter();\r\n @Output()\r\n public enterKeyPress = new EventEmitter();\r\n @Output()\r\n public focusEvent = new EventEmitter();\r\n\r\n public readonly percentageRegex = `^(100(\\\\.0{1,2})?|[1-9]?\\\\d(\\\\.\\\\d{1,2})?)$`;\r\n\r\n private lastBlurValue = '';\r\n\r\n ngOnInit() {}\r\n\r\n ngOnDestroy() {}\r\n\r\n public onBlur() {\r\n this.control.markAsTouched();\r\n if (this.lastBlurValue !== this.control.value) {\r\n this.lastBlurValue = this.control.value;\r\n setTimeout(() => {\r\n this.blurEvent.emit(this.control.value);\r\n });\r\n }\r\n }\r\n}\r\n","<form class=\"input-container\">\r\n <p-inputNumber\r\n [formControl]=\"control\"\r\n suffix=\"%\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [minFractionDigits]=\"minFractionDigits\"\r\n [maxFractionDigits]=\"maxFractionDigits\"\r\n [step]=\"step\"\r\n [showButtons]=\"step > 1\"\r\n buttonLayout=\"horizontal\"\r\n decrementButtonIcon=\"pi pi-minus-circle\"\r\n incrementButtonIcon=\"pi pi-plus-circle\"\r\n (onBlur)=\"onBlur()\"\r\n ></p-inputNumber>\r\n</form>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { BooleanType } from '../../../models';\r\n\r\nexport type RadioButtonOption = {\r\n label: string;\r\n value: string;\r\n textTooltip?: string;\r\n};\r\n\r\n@Component({\r\n selector: 'vector-radio-button-field',\r\n templateUrl: './radio-button-field.component.html',\r\n styleUrls: ['./radio-button-field.component.scss'],\r\n})\r\nexport class RadioButtonFieldComponent implements OnInit {\r\n @Input()\r\n public groupName: string = '';\r\n @Input()\r\n public options: RadioButtonOption[] = [\r\n { label: this.getYesLabel(), value: BooleanType.YES },\r\n { label: this.getNoLabel(), value: BooleanType.NO },\r\n ];\r\n @Input()\r\n public control: any;\r\n @Input()\r\n public layout: 'vertical' | 'horizontal' = 'vertical';\r\n @Input()\r\n public justifySpaceBetween = false;\r\n @Input()\r\n public addIcon = false;\r\n @Input()\r\n public disabled: boolean = false;\r\n\r\n constructor(private translateService: TranslateService) {}\r\n\r\n ngOnInit(): void {\r\n if (this.control && this.disabled) {\r\n this.control.disable();\r\n } else {\r\n this.control.enable();\r\n }\r\n }\r\n\r\n get layoutClass() {\r\n return { horizontal: this.layout === 'horizontal', vertical: this.layout === 'vertical' };\r\n }\r\n\r\n private getYesLabel() {\r\n const label = this.translateService.instant('app.label.yes');\r\n return label !== 'app.label.yes' ? label : 'Sim';\r\n }\r\n\r\n private getNoLabel() {\r\n const label = this.translateService.instant('app.label.no');\r\n return label !== 'app.label.no' ? label : 'Não';\r\n }\r\n}\r\n","<div\r\n class=\"radio-buttons-container\"\r\n [ngClass]=\"layoutClass\"\r\n [ngStyle]=\"{ 'justify-content': justifySpaceBetween ? 'space-between' : 'flex-start' }\"\r\n>\r\n <div *ngFor=\"let option of options\" class=\"radio-button-item\">\r\n <p-radioButton\r\n [name]=\"groupName\"\r\n [value]=\"option.value\"\r\n [label]=\"option.label\"\r\n [formControl]=\"control\"\r\n ></p-radioButton>\r\n <i\r\n *ngIf=\"addIcon && option.textTooltip != null\"\r\n class=\"fas fa-info-circle mt-1 pr-3 pl-2\"\r\n pTooltip=\"{{ option.textTooltip }}\"\r\n tooltipPosition=\"bottom\"\r\n ></i>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-range-value',\r\n templateUrl: './range-value.component.html',\r\n styleUrls: ['./range-value.component.scss'],\r\n})\r\nexport class RangeValueComponent implements OnInit {\r\n @Input() value: number = 0;\r\n @Input() movimentedValue: number | null = null;\r\n @Input() min: number = 0;\r\n @Input() max: number = 100;\r\n @Input() disabled: boolean = false;\r\n @Output() valueChange = new EventEmitter<number>();\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n changeValue() {\r\n if (this.value < this.min) {\r\n this.value = this.min;\r\n }\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n getMovimentedValue() {\r\n if (this.movimentedValue) {\r\n return this.movimentedValue;\r\n } else {\r\n return (this.max - this.min) / 100;\r\n }\r\n }\r\n\r\n increment() {\r\n if (!this.disabled) {\r\n if (this.value + this.getMovimentedValue() < this.max) {\r\n this.value = this.value + this.getMovimentedValue();\r\n this.valueChange.emit(this.value);\r\n } else {\r\n this.value = this.max;\r\n this.valueChange.emit(this.value);\r\n }\r\n }\r\n }\r\n decrement() {\r\n if (!this.disabled) {\r\n if (this.value - this.getMovimentedValue() > this.min) {\r\n this.value = this.value - this.getMovimentedValue();\r\n this.valueChange.emit(this.value);\r\n } else {\r\n this.value = this.min;\r\n this.valueChange.emit(this.value);\r\n }\r\n }\r\n }\r\n}\r\n","<div class=\"range-input\">\r\n <a href=\"javascript:void(0)\" class=\"btn-range minus\" (click)=\"decrement()\"></a>\r\n <p-slider [(ngModel)]=\"value\" (onChange)=\"changeValue()\" [min]=\"min\" [max]=\"max\" [disabled]=\"disabled\"></p-slider>\r\n <a href=\"javascript:void(0)\" class=\"btn-range plus\" (click)=\"increment()\"></a>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { UntypedFormControl } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'vector-search-field',\r\n templateUrl: './search-field.component.html',\r\n styleUrls: ['./search-field.component.scss'],\r\n})\r\nexport class SearchFieldComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public placeholder = '';\r\n @Output()\r\n public onSearch = new EventEmitter<string>();\r\n\r\n public formControl = new UntypedFormControl();\r\n private subscription = new Subscription();\r\n constructor() {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.add(\r\n this.formControl.valueChanges.pipe(debounceTime(300)).subscribe((value) => {\r\n this.onSearch.emit(value);\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","<vector-text-field [control]=\"formControl\" rightIcon=\"fas fa-search\" [label]=\"placeholder\"></vector-text-field>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'vector-textarea-field',\r\n templateUrl: './textarea-field.component.html',\r\n styleUrls: ['./textarea-field.component.scss'],\r\n})\r\nexport class TextareaFieldComponent implements OnInit {\r\n @Input()\r\n public isRequired: boolean | undefined = false;\r\n @Input()\r\n public label: string | undefined = '';\r\n @Input()\r\n public maxlength: string = '';\r\n @Input()\r\n public rows: number = 5;\r\n @Input()\r\n public cols: number = 10;\r\n @Input()\r\n public control: any;\r\n @Output()\r\n public blurEvent = new EventEmitter();\r\n @Output()\r\n public enterKeyPress = new EventEmitter();\r\n @Output()\r\n public focusEvent = new EventEmitter();\r\n\r\n get placeholder() {\r\n if (!this.label) {\r\n return '';\r\n }\r\n return `${this.label}${this.isRequired ? '*' : ''}`;\r\n }\r\n\r\n private lastBlurValue = '';\r\n\r\n ngOnInit() {}\r\n\r\n public fieldErrorLabel(): string {\r\n if (this.control && this.control.invalid && this.control.touched) {\r\n if (this.control.hasError('required')) {\r\n return 'Campo obrigatório';\r\n }\r\n\r\n if (this.control.hasError('minlength')) {\r\n return `Tamanho mínimo: ${this.control.errors['minlength'].requiredLength}`;\r\n }\r\n\r\n if (this.control.hasError('maxlength')) {\r\n return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;\r\n }\r\n\r\n return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public onBlur() {\r\n this.control.markAsTouched();\r\n if (this.lastBlurValue !== this.control.value) {\r\n this.lastBlurValue = this.control.value;\r\n setTimeout(() => {\r\n this.blurEvent.emit(this.control.value);\r\n });\r\n }\r\n }\r\n\r\n public onEnterPress() {\r\n this.onBlur();\r\n this.enterKeyPress.emit();\r\n }\r\n\r\n public onFocus($event: Event) {\r\n const target = $event.target as HTMLTextAreaElement;\r\n this.focusEvent.emit(target?.value);\r\n }\r\n}\r\n","<form class=\"input-container\">\r\n <textarea\r\n pInputTextarea\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n [formControl]=\"control\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n [autoResize]=\"false\"\r\n (onBlur)=\"onBlur()\"\r\n (keydown.enter)=\"onEnterPress()\"\r\n (click)=\"onFocus($event)\"\r\n >\r\n </textarea>\r\n <span class=\"length-control\">{{ control?.value?.length || 0 }} / {{ maxlength }}</span>\r\n</form>\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputOtpModule } from 'primeng/inputotp';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { KeyFilterModule } from 'primeng/keyfilter';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { SelectButtonModule } from 'primeng/selectbutton';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { TableModule } from 'primeng/table';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BadgeModule } from '../badge';\r\nimport { PanelModule } from '../panel';\r\nimport { ScoreModule } from '../score';\r\nimport { ButtonComponent } from './button';\r\nimport { CalendarComponent } from './calendar-field';\r\nimport { CheckboxFieldComponent } from './checkbox-field';\r\nimport { CurrencyFieldComponent } from './currency-field';\r\nimport { DataTableComponent } from './data-table';\r\nimport { DropdownFieldComponent } from './dropdown-field';\r\nimport { FieldErrorMessageComponent } from './field-error-message';\r\nimport { FiltersComponent } from './filters';\r\nimport { InputNumberFieldComponent } from './input-number-field';\r\nimport { InputOtpComponent } from './input-otp';\r\nimport { InputSwitchFieldComponent } from './input-switch-field';\r\nimport { MultiselectFieldComponent } from './multiselect-field';\r\nimport { PercentageFieldComponent } from './percentage-field';\r\nimport { RadioButtonFieldComponent } from './radio-button-field';\r\nimport { RangeValueComponent } from './range-value';\r\nimport { SearchFieldComponent } from './search-field';\r\nimport { SelectButtonFieldComponent } from './select-button-field';\r\nimport { TextFieldComponent } from './text-field';\r\nimport { TextareaFieldComponent } from './textarea-field';\r\n\r\n@NgModule({\r\n imports: [\r\n SharedModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n KeyFilterModule,\r\n InputTextModule,\r\n CheckboxModule,\r\n InputMaskModule,\r\n CalendarModule,\r\n MultiSelectModule,\r\n DropdownModule,\r\n AutoCompleteModule,\r\n SliderModule,\r\n RadioButtonModule,\r\n FileUploadModule,\r\n DialogModule,\r\n InputNumberModule,\r\n PanelModule,\r\n TabViewModule,\r\n ButtonModule,\r\n InputTextareaModule,\r\n SelectButtonModule,\r\n InputNumberModule,\r\n BadgeModule,\r\n ScoreModule,\r\n TranslateModule,\r\n InputSwitchModule,\r\n MenuModule,\r\n TableModule,\r\n InputOtpModule,\r\n ],\r\n declarations: [\r\n DataTableComponent,\r\n TextFieldComponent,\r\n CheckboxFieldComponent,\r\n ButtonComponent,\r\n CalendarComponent,\r\n MultiselectFieldComponent,\r\n DropdownFieldComponent,\r\n RangeValueComponent,\r\n SearchFieldComponent,\r\n RadioButtonFieldComponent,\r\n CurrencyFieldComponent,\r\n PercentageFieldComponent,\r\n FiltersComponent,\r\n TextareaFieldComponent,\r\n FieldErrorMessageComponent,\r\n SelectButtonFieldComponent,\r\n InputNumberFieldComponent,\r\n InputSwitchFieldComponent,\r\n InputOtpComponent,\r\n ],\r\n exports: [\r\n DataTableComponent,\r\n TextFieldComponent,\r\n CheckboxFieldComponent,\r\n ButtonComponent,\r\n CalendarComponent,\r\n MultiselectFieldComponent,\r\n DropdownFieldComponent,\r\n RangeValueComponent,\r\n SearchFieldComponent,\r\n RadioButtonFieldComponent,\r\n FileUploadModule,\r\n DialogModule,\r\n CurrencyFieldComponent,\r\n PercentageFieldComponent,\r\n FiltersComponent,\r\n TextareaFieldComponent,\r\n FieldErrorMessageComponent,\r\n SelectButtonFieldComponent,\r\n InputNumberFieldComponent,\r\n InputSwitchFieldComponent,\r\n InputOtpComponent,\r\n ],\r\n})\r\nexport class FieldsModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { FieldsModule } from '../fields/fields.module';\r\nimport { CrudFooterComponent } from './crud-footer.component';\r\n\r\n@NgModule({\r\n declarations: [CrudFooterComponent],\r\n exports: [CrudFooterComponent, TranslateModule],\r\n imports: [SharedModule, FieldsModule, TranslateModule],\r\n})\r\nexport class FooterModule {}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Status } from '../../models';\r\n\r\n@Component({\r\n selector: 'vector-crud-header',\r\n templateUrl: './crud-header.component.html',\r\n styleUrls: ['./crud-header.component.scss'],\r\n})\r\nexport class CrudHeaderComponent implements OnInit {\r\n @Input()\r\n public statusCode?: number;\r\n @Input()\r\n public code?: number;\r\n\r\n get statusLabel() {\r\n switch (this.statusCode) {\r\n case Status.PENDING:\r\n return 'Pendente';\r\n case Status.APPROVED:\r\n return 'Ativo';\r\n case Status.REJECTED:\r\n return 'Inativo';\r\n }\r\n return '';\r\n }\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","<div class=\"container\">\r\n <div class=\"status-container\">\r\n <span>Status</span>\r\n <vector-badge [label]=\"statusLabel\" [type]=\"statusCode\"></vector-badge>\r\n </div>\r\n <div class=\"separator\"></div>\r\n <span class=\"code-label\"\r\n >Código de identificação<span class=\"code\">{{ code }}</span></span\r\n >\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BadgeModule } from '../badge';\r\nimport { CrudHeaderComponent } from './crud-header.component';\r\n\r\n@NgModule({\r\n declarations: [CrudHeaderComponent],\r\n imports: [SharedModule, BadgeModule],\r\n exports: [CrudHeaderComponent],\r\n})\r\nexport class CrudHeaderModule {}\r\n","import { Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';\r\nimport { CrudHistory } from '../../models';\r\n\r\n@Component({\r\n selector: 'vector-crud-history',\r\n templateUrl: './crud-history.component.html',\r\n styleUrls: ['./crud-history.component.scss'],\r\n})\r\nexport class CrudHistoryComponent {\r\n @Input()\r\n public crudHistory?: CrudHistory<any>;\r\n @Output()\r\n public onClick = new EventEmitter<any>();\r\n\r\n public modifierNameLabel = '';\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['crudHistory']) {\r\n this.modifierNameLabel = this.getModifierNameLabel(this.crudHistory) ?? '';\r\n }\r\n }\r\n public getHistoryBadgeBackgroundColor(crudHistoryEventType?: string): string {\r\n switch (crudHistoryEventType) {\r\n case 'ActionCreate':\r\n return '#CBFFAE';\r\n case 'ActionUpdate':\r\n return '#FFE6B0';\r\n case 'ActionDelete':\r\n return 'Removido';\r\n case 'ActionUpdate-OnComposition':\r\n return '#FFE6B0';\r\n case 'ActionUpdate-OnUnit':\r\n return '#FFE6B0';\r\n case 'ActionCreate-OnComposition':\r\n return '#CBFFAE';\r\n case 'ActionCancel':\r\n return '#FFE6B0';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n public getHistoryBadgeColor(crudHistoryEventType?: string): string {\r\n switch (crudHistoryEventType) {\r\n case 'ActionCreate':\r\n return '#067306';\r\n case 'ActionUpdate':\r\n return '#946300';\r\n case 'ActionDelete':\r\n return '#6B2D2D';\r\n case 'ActionUpdate-OnComposition':\r\n return '#946300';\r\n case 'ActionUpdate-OnUnit':\r\n return '#946300';\r\n case 'ActionCreate-OnComposition':\r\n return '#067306';\r\n case 'ActionCancel':\r\n return '#946300';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n public getHistoryBadgeLabel(crudHistoryEventType?: string): string {\r\n switch (crudHistoryEventType) {\r\n case 'ActionCreate':\r\n return 'Criado';\r\n case 'ActionUpdate':\r\n return 'Modificado';\r\n case 'ActionDelete':\r\n return 'Removido';\r\n case 'ActionUpdate-OnComposition':\r\n return 'Composição Modificada';\r\n case 'ActionUpdate-OnUnit':\r\n return 'Unidade Modificada';\r\n case 'ActionCreate-OnComposition':\r\n return 'Composição Criada';\r\n case 'ActionCancel':\r\n return 'Modificado';\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n getModifierNameLabel(crudHistory?: CrudHistory<any>): string {\r\n if (!crudHistory) {\r\n return '';\r\n }\r\n if (crudHistory.modifiedFromWeb == null) {\r\n return crudHistory.modifierName ?? '';\r\n } else {\r\n return (crudHistory.modifierName ?? '') + ' em ' + (crudHistory.modifiedFromWeb ? 'Web' : 'Integração');\r\n }\r\n }\r\n}\r\n","<p-accordionTab *ngIf=\"crudHistory\" class=\"history-item\">\r\n <ng-template pTemplate=\"header\">\r\n <div class=\"history-item-header-container\" (click)=\"onClick.emit()\">\r\n <div class=\"history-item-header-left\">\r\n <span id=\"color-first-span\" *ngIf=\"crudHistory.typeOfModification\">{{ crudHistory.typeOfModification }}</span>\r\n <vector-badge\r\n [customBackgroundColor]=\"getHistoryBadgeBackgroundColor(crudHistory.eventType)\"\r\n [customColor]=\"getHistoryBadgeColor(crudHistory.eventType)\"\r\n [label]=\"getHistoryBadgeLabel(crudHistory.eventType)\"\r\n ></vector-badge>\r\n <span>por {{ modifierNameLabel }}</span>\r\n </div>\r\n <span class=\"history-item-header-right\">\r\n {{ crudHistory.dateTime | date : 'dd/MM/yyyy HH:mm' }}\r\n </span>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <div *ngFor=\"let auditDelta of crudHistory.dataAuditDelta\">\r\n <div class=\"grid\">\r\n <div class=\"col-12 md:col-6 field\">\r\n <span>{{ auditDelta.fieldName }}</span>\r\n </div>\r\n <div class=\"col-12 md:col-6 field\">\r\n <span class=\"new-value\">{{ auditDelta.newValue }}</span>\r\n <span class=\"old-value pl-1\">{{ auditDelta.oldValue }}</span>\r\n <span *ngIf=\"auditDelta.type || auditDelta.type == 0\" class=\"text-600 pl-1\">\r\n Entity: <span class=\"text-green-300\">{{ auditDelta.type }}</span>\r\n <i\r\n class=\"fas fa-info-circle text-400 text-base ch pl-1\"\r\n [pTooltip]=\"auditDelta.typeDescription\"\r\n tooltipPosition=\"top\"\r\n ></i>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</p-accordionTab>\r\n","import { NgModule } from '@angular/core';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { BadgeModule } from '../badge';\r\nimport { CrudHistoryComponent } from './crud-history.component';\r\n\r\n@NgModule({\r\n declarations: [CrudHistoryComponent],\r\n imports: [SharedModule, BadgeModule, AccordionModule, TooltipModule],\r\n exports: [CrudHistoryComponent],\r\n})\r\nexport class CrudHistoryModule {}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { ErrorMessageService } from '../../services';\r\n\r\n@Component({\r\n selector: 'vector-generic-error-modal',\r\n templateUrl: './generic-error-modal.component.html',\r\n styleUrls: ['./generic-error-modal.component.scss'],\r\n})\r\nexport class GenericErrorModalComponent implements OnInit, OnDestroy {\r\n @Input()\r\n public skipMessages: string[] = [];\r\n public message?: string = '';\r\n\r\n private subscription = new Subscription();\r\n\r\n constructor(private errorService: ErrorMessageService) {\r\n this.subscription.add(\r\n this.errorService.genericModalErrorMessage$.pipe().subscribe((message) => {\r\n this.message = message;\r\n })\r\n );\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public close() {\r\n this.message = '';\r\n }\r\n}\r\n","<p-dialog\r\n [visible]=\"!!message\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"true\"\r\n>\r\n <div class=\"content-container\">\r\n <img class=\"emote\" src=\".././../../assets/images/emote_bad.svg\" />\r\n <p class=\"title\">Algo deu errado!</p>\r\n <p class=\"message\">{{ message }}</p>\r\n\r\n <div class=\"actions\">\r\n <vector-button (click)=\"close()\" label=\"Voltar\"></vector-button>\r\n </div>\r\n </div>\r\n</p-dialog>\r\n","import { NgModule } from '@angular/core';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { FieldsModule } from '../fields/fields.module';\r\nimport { GenericErrorModalComponent } from './generic-error-modal.component';\r\n@NgModule({\r\n declarations: [GenericErrorModalComponent],\r\n imports: [SharedModule, DialogModule, FieldsModule],\r\n exports: [GenericErrorModalComponent],\r\n})\r\nexport class GenericErrorModalModule {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { GenericModalMessage } from '../../models/generic-modal.model';\r\n\r\n@Component({\r\n selector: 'vector-generic-modal',\r\n templateUrl: './generic-modal.component.html',\r\n styleUrls: ['./generic-modal.component.scss'],\r\n})\r\nexport class GenericModalComponent implements OnInit {\r\n @Input()\r\n public modalMessage: GenericModalMessage = {\r\n fileIcon: 'alert_icon',\r\n title: '',\r\n message: [],\r\n confirmButton: { label: 'Confirmar', clickFunction: () => {} },\r\n cancelButton: { label: 'Voltar', clickFunction: () => {} },\r\n };\r\n @Input()\r\n public isClosable: boolean = true;\r\n @Input()\r\n public hiddenActions: boolean = false;\r\n @Input()\r\n public linkLabel: string = '';\r\n @Input()\r\n public linkUrl: string = '';\r\n @Input()\r\n public display!: boolean;\r\n @Input()\r\n public maxWidth?: string = '';\r\n @Input()\r\n public lineBreak?: string = '';\r\n @Output()\r\n public displayChange = new EventEmitter<boolean>();\r\n @Output()\r\n public onCloseModal = new EventEmitter();\r\n\r\n constructor(public router: Router) {}\r\n\r\n ngOnInit(): void {}\r\n\r\n public routerLink(url: string) {\r\n this.router.navigate([url]);\r\n }\r\n\r\n public confirm() {\r\n this.display = false;\r\n this.displayChange.emit(this.display);\r\n }\r\n\r\n public hideModal() {\r\n this.display = false;\r\n this.displayChange.emit(this.display);\r\n this.onCloseModal.emit();\r\n }\r\n}\r\n","<p-dialog\r\n [(visible)]=\"display\"\r\n [modal]=\"true\"\r\n [breakpoints]=\"{ '440px': '95vw' }\"\r\n [style]=\"{ width: '400px' }\"\r\n [draggable]=\"false\"\r\n [resizable]=\"false\"\r\n [blockScroll]=\"true\"\r\n [closeOnEscape]=\"false\"\r\n [closable]=\"isClosable\"\r\n (onHide)=\"hideModal()\"\r\n [ngStyle]=\"{ 'max-width': maxWidth, 'line-break': lineBreak }\"\r\n>\r\n <div class=\"grid modal-generic\">\r\n <div class=\"col-12\">\r\n <img\r\n *ngIf=\"modalMessage.fileIcon\"\r\n class=\"flex mx-auto mb-3\"\r\n [ngClass]=\"!isClosable ? 'mt-4' : ''\"\r\n src=\"assets/images/{{ modalMessage.fileIcon }}.svg\"\r\n />\r\n <h1 *ngIf=\"modalMessage.title\">{{ modalMessage.title }}</h1>\r\n <p *ngFor=\"let text of modalMessage.message\" [innerHTML]=\"text\"></p>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"linkLabel\" class=\"grid mt-2 justify-content-center\">\r\n <div class=\"col-12 md:col-6\">\r\n <vector-button [label]=\"linkLabel\" (click)=\"routerLink(linkUrl)\"></vector-button>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"!hiddenActions\" class=\"grid mt-2 justify-content-center\">\r\n <div class=\"col-12 md:col-6\" *ngIf=\"modalMessage.cancelButton\">\r\n <vector-button\r\n (onClick)=\"modalMessage.cancelButton && modalMessage.cancelButton.clickFunction()\"\r\n [label]=\"modalMessage.cancelButton.label\"\r\n [type]=\"modalMessage.cancelButton.type ? modalMessage.cancelButton.type : 'default'\"\r\n ></vector-button>\r\n </div>\r\n\r\n <div class=\"col-12 md:col-6\" *ngIf=\"modalMessage.confirmButton\">\r\n <vector-button\r\n (onClick)=\"modalMessage.confirmButton && modalMessage.confirmButton.clickFunction()\"\r\n [label]=\"modalMessage.confirmButton.label\"\r\n [type]=\"modalMessage.confirmButton.type ? modalMessage.confirmButton.type : 'default-filled'\"\r\n ></vector-button>\r\n </div>\r\n </div>\r\n</p-dialog>\r\n","import { NgModule } from '@angular/core';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { FieldsModule } from '../fields/fields.module';\r\nimport { GenericModalComponent } from './generic-modal.component';\r\n\r\n@NgModule({\r\n declarations: [GenericModalComponent],\r\n exports: [GenericModalComponent],\r\n imports: [DialogModule, FieldsModule, SharedModule],\r\n})\r\nexport class GenericModalModule {}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MenuItem } from '../../../models';\r\n\r\n@Component({\r\n selector: 'vector-sub-menus-list',\r\n templateUrl: './sub-menus-list.component.html',\r\n styleUrls: ['./sub-menus-list.component.scss'],\r\n})\r\nexport class SubMenusListComponent {\r\n @Input()\r\n public showList = false;\r\n @Input()\r\n public options: MenuItem[] | undefined;\r\n @Input()\r\n public childLevel = 1;\r\n @Input()\r\n public submenuSelected: MenuItem | undefined;\r\n @Output()\r\n public submenuSelectedChange = new EventEmitter<MenuItem>();\r\n\r\n public submenuClick(option: MenuItem) {\r\n if (!option.alwaysOpen) {\r\n if (this.submenuSelected?.id === option.id) {\r\n this.submenuSelected = undefined;\r\n } else {\r\n this.submenuSelected = option.children?.length ? option : undefined;\r\n }\r\n this.submenuSelectedChange.emit(option);\r\n }\r\n }\r\n\r\n public get paddingLeft() {\r\n return this.childLevel * 10 + 'px';\r\n }\r\n}\r\n","<div class=\"sub-menu-container\">\r\n <ul *ngIf=\"showList\" class=\"sub-menu\">\r\n <div *ngFor=\"let submenuItem of options\">\r\n <li class=\"sub-menu-item\" [ngStyle]=\"{ 'padding-left': paddingLeft }\" (click)=\"submenuClick(submenuItem)\">\r\n <div\r\n class=\"current-item\"\r\n [ngClass]=\"{\r\n 'active-menu': submenuSelected?.id === submenuItem.id,\r\n 'always-open': !!submenuItem.alwaysOpen,\r\n 'last-child': !submenuItem.children?.length\r\n }\"\r\n [pTooltip]=\"submenuItem.label\"\r\n tooltipPosition=\"right\"\r\n >\r\n <div *ngIf=\"submenuItem.icon\" class=\"icon-container\">\r\n <i [class]=\"submenuItem.icon\"></i>\r\n </div>\r\n <span class=\"menu-label\">{{ submenuItem.label }}</span>\r\n <i\r\n *ngIf=\"submenuItem.children?.length && !submenuItem.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': submenuSelected?.id !== submenuItem.id,\r\n 'fa-angle-up': submenuSelected?.id === submenuItem.id\r\n }\"\r\n ></i>\r\n </div>\r\n </li>\r\n <vector-sub-menus-list\r\n *ngIf=\"submenuItem?.children\"\r\n [options]=\"submenuItem?.children\"\r\n [showList]=\"submenuItem?.id === submenuSelected?.id || !!submenuItem?.alwaysOpen\"\r\n [childLevel]=\"childLevel + 1\"\r\n (submenuSelectedChange)=\"submenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </div>\r\n </ul>\r\n</div>\r\n","import { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { Component, EventEmitter, HostListener, Inject, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { APP_NAME, ENVIRONMENT } from '../../injections';\r\nimport { AppName, MenuItem, Role } from '../../models';\r\nimport { VectorApp } from '../../models/vector-app.model';\r\nimport { MenuService, ProfileService, StorageService } from '../../services';\r\n\r\n@Component({\r\n selector: 'vector-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.scss'],\r\n animations: [\r\n trigger('sideInOut', [state('in', style({ width: '60px' })), state('out', style({ width: '250px' }))]),\r\n trigger('fadeInOut', [\r\n state(\r\n '0',\r\n style({\r\n opacity: 0,\r\n width: '0%',\r\n 'font-size': '0em',\r\n })\r\n ),\r\n state(\r\n '1',\r\n style({\r\n opacity: 1,\r\n 'font-size': '1em',\r\n width: '100%',\r\n })\r\n ),\r\n transition('0 <=> 1', animate('350ms ease-in-out')),\r\n ]),\r\n trigger('fadeSearchInOut', [\r\n state(\r\n '0',\r\n style({\r\n opacity: 0,\r\n width: '0%',\r\n 'font-size': '0em',\r\n })\r\n ),\r\n state(\r\n '1',\r\n style({\r\n opacity: 1,\r\n 'font-size': '1em',\r\n width: '100%',\r\n })\r\n ),\r\n transition('0 <=> 1', animate('350ms ease-in-out')),\r\n ]),\r\n trigger('submenuFadeInOut', [\r\n state(\r\n '0',\r\n style({\r\n opacity: 0,\r\n height: '0%',\r\n })\r\n ),\r\n state(\r\n '1',\r\n style({\r\n opacity: 1,\r\n height: 'fit-content',\r\n })\r\n ),\r\n transition('0 <=> 1', animate('350ms ease-in-out')),\r\n ]),\r\n ],\r\n})\r\nexport class MenuComponent implements OnInit, OnDestroy {\r\n public options: MenuItem[] = [];\r\n public activeOption: MenuItem | undefined;\r\n public activeSubmenuOption: MenuItem | undefined;\r\n public widthStyle = { width: '250px' };\r\n public lastAnimation = 'out';\r\n public appNameLabel = this.environment.appName;\r\n public adminOption: MenuItem | undefined;\r\n public appsEnum = AppName;\r\n public production = this.environment.production;\r\n @Output() onFinishMenuOptionsConfig = new EventEmitter<any>();\r\n\r\n set opened(opened: boolean) {\r\n this._opened = opened;\r\n this.menuService.menuOpened$.next(this.opened);\r\n }\r\n\r\n public get opened() {\r\n return this._opened;\r\n }\r\n\r\n public get hasFintechAdminPermission() {\r\n return this.profileService.hasFintechAdminPermission;\r\n }\r\n\r\n public get hasMarketplaceAdminPermission() {\r\n return this.profileService.hasMarketplaceAdminPermission;\r\n }\r\n\r\n public get hasAnyMarketplacePermission() {\r\n return this.profileService.hasAnyMarketplacePermission;\r\n }\r\n\r\n public get hasAnyFintechPermission() {\r\n return this.profileService.hasAnyFintechPermission;\r\n }\r\n\r\n @Input()\r\n public accountService: any;\r\n @Input()\r\n public apps: VectorApp[] = [];\r\n\r\n private _opened = true;\r\n private subscription = new Subscription();\r\n private currentWindowWidth: number = 0;\r\n\r\n constructor(\r\n private menuService: MenuService,\r\n private router: Router,\r\n private profileService: ProfileService,\r\n private storageService: StorageService,\r\n @Inject(ENVIRONMENT) private environment: any,\r\n @Inject(APP_NAME) private currentApp: string\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.add(\r\n this.menuService.toggleMenu$.subscribe(() => {\r\n this.toggleMenu();\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.profileService.moduleProfile$.subscribe((profile) => {\r\n if (profile) {\r\n const role = this.storageService.getRole();\r\n this.options =\r\n role === Role.ADMIN\r\n ? this.menuService.getSideAdminMenuOptions()\r\n : this.menuService.getSideMainMenuOptions();\r\n\r\n if (this.hasFintechAdminPermission || this.hasMarketplaceAdminPermission) {\r\n this.adminOption = {\r\n id: `${99999}`,\r\n label: 'Admin Fintech',\r\n iconFileName: 'vector_admin_icon',\r\n command: () => {\r\n this.navigateToPortal({ appName: AppName.FINTECH, isAdmin: true });\r\n },\r\n };\r\n\r\n if (this.hasFintechAdminPermission) {\r\n this.adminOption.children?.push({\r\n id: `${999991}`,\r\n label: 'Admin Fintech',\r\n command: () => {\r\n this.navigateToPortal({ appName: AppName.FINTECH, isAdmin: true });\r\n },\r\n hidden: !this.hasFintechAdminPermission,\r\n });\r\n }\r\n\r\n if (this.hasMarketplaceAdminPermission) {\r\n this.adminOption.children?.push({\r\n id: `${999992}`,\r\n label: 'Admin Marketplace',\r\n command: () => {\r\n this.navigateToPortal({ appName: AppName.MARKETPLACE, isAdmin: true });\r\n },\r\n hidden: !this.hasMarketplaceAdminPermission,\r\n });\r\n }\r\n }\r\n this.onFinishMenuOptionsConfig.emit(null);\r\n }\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.menuService.frameUrl$.subscribe((frameUrl) => {\r\n if (frameUrl) {\r\n this.storageService.setSession('frameUrl', frameUrl);\r\n } else {\r\n this.storageService.removeSession('frameUrl');\r\n }\r\n })\r\n );\r\n\r\n const frameUrlFromStorage = this.storageService.getSession('frameUrl');\r\n if (frameUrlFromStorage) {\r\n this.menuService.frameUrl$.next(frameUrlFromStorage);\r\n }\r\n\r\n this.currentWindowWidth = window.innerWidth;\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n onResize() {\r\n if (this.opened && this.currentWindowWidth !== window.innerWidth) {\r\n this.clearAndCloseMenu();\r\n }\r\n this.currentWindowWidth = window.innerWidth;\r\n }\r\n\r\n @HostListener('document:keydown.escape', ['$event'])\r\n handleKeyboardEvent() {\r\n this.toggleMenu();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public toggleMenu() {\r\n this.opened = !this.opened;\r\n if (!this.opened) {\r\n this.activeOption = undefined;\r\n this.activeSubmenuOption = undefined;\r\n }\r\n this.resizeMenu();\r\n }\r\n\r\n public onMenuClick(option: MenuItem) {\r\n if (!option.alwaysOpen) {\r\n if (this.activeOption?.id === option.id) {\r\n this.activeOption = undefined;\r\n } else {\r\n this.activeOption = option.children?.length ? option : undefined;\r\n }\r\n if (option.frameUrl) {\r\n this.menuService.frameUrl$.next(option.frameUrl);\r\n } else if (option.route) {\r\n this.router.navigate([option.route]);\r\n this.menuService.frameUrl$.next(undefined);\r\n } else if (option.externalUrl) {\r\n window.open(option.externalUrl, '_blank');\r\n this.menuService.frameUrl$.next(undefined);\r\n }\r\n if (option.children?.length && !this.opened) {\r\n this.toggleMenu();\r\n }\r\n this.activeSubmenuOption = undefined;\r\n }\r\n }\r\n\r\n public onSubmenuClick(submenuItem: MenuItem) {\r\n if (!submenuItem.alwaysOpen) {\r\n if (this.activeSubmenuOption?.id === submenuItem?.id) {\r\n this.activeSubmenuOption = undefined;\r\n } else {\r\n this.activeSubmenuOption = submenuItem.children?.length ? submenuItem : undefined;\r\n }\r\n if (submenuItem.frameUrl) {\r\n this.menuService.frameUrl$.next(submenuItem.frameUrl);\r\n } else if (submenuItem.route) {\r\n this.router.navigate([submenuItem.route]);\r\n this.menuService.frameUrl$.next(undefined);\r\n } else if (submenuItem.externalUrl) {\r\n window.open(submenuItem.externalUrl, '_blank');\r\n this.menuService.frameUrl$.next(undefined);\r\n } else if (submenuItem.command) {\r\n submenuItem.command();\r\n this.menuService.frameUrl$.next(undefined);\r\n }\r\n }\r\n }\r\n\r\n public openTermsOfUse() {\r\n this.accountService.termsOfUse$.next();\r\n }\r\n\r\n public isPortalSelected(portal: AppName) {\r\n return this.currentApp === portal;\r\n }\r\n\r\n public navigateToPortal(params: Partial<VectorApp>) {\r\n this.activeOption = undefined;\r\n this.activeSubmenuOption = undefined;\r\n this.menuService.navigateToPortal(params);\r\n }\r\n\r\n public getMenuNotificationsCount(menu: MenuItem) {\r\n return this.menuService.menuNotifications[menu.id || ''];\r\n }\r\n\r\n private clearAndCloseMenu(): void {\r\n this.opened = false;\r\n this.activeOption = undefined;\r\n this.resizeMenu();\r\n }\r\n\r\n private resizeMenu() {\r\n this.lastAnimation = this.opened ? 'out' : 'in';\r\n this.widthStyle = { width: this.opened ? '250px' : '60px' };\r\n this.activeSubmenuOption = undefined;\r\n }\r\n}\r\n","<nav id=\"menu\" [ngStyle]=\"widthStyle\" [@sideInOut]=\"lastAnimation\">\r\n <div class=\"header-menu\">\r\n <div class=\"logo-container\">\r\n <div class=\"logo\" [ngClass]=\"{ 'logo-small': !opened }\"></div>\r\n </div>\r\n </div>\r\n <div class=\"menu-sections\">\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened ? 1 : 0 }\" class=\"menu-section-title\">SELEÇÃO DE PORTAL</span>\r\n <ul class=\"side-menu\">\r\n <ng-container *ngIf=\"apps.length\">\r\n <li *ngFor=\"let app of apps\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(app.appName) }\"\r\n (click)=\"navigateToPortal(app)\"\r\n >\r\n <div class=\"icon-container selected-portal-item {{ app.className }}\"></div>\r\n <span class=\"menu-label\">{{ app.description }}</span>\r\n </div>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!apps.length\">\r\n <li>\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(appsEnum.LOGTECH) }\"\r\n (click)=\"navigateToPortal({ appName: appsEnum.LOGTECH, isAdmin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item logtech\"></div>\r\n <span class=\"menu-label\">Cargas</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"hasAnyFintechPermission\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(appsEnum.FINTECH) }\"\r\n (click)=\"navigateToPortal({ appName: appsEnum.FINTECH, isAdmin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item fintech\"></div>\r\n <span class=\"menu-label\">Conta digital</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"!production\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'selected-portal': isPortalSelected(appsEnum.MARKETPLACE) }\"\r\n (click)=\"navigateToPortal({ appName: appsEnum.MARKETPLACE, isAdmin: false })\"\r\n >\r\n <div class=\"icon-container selected-portal-item marketplace\"></div>\r\n <span class=\"menu-label\">Combustível</span>\r\n </div>\r\n </li>\r\n <li *ngIf=\"adminOption && (hasFintechAdminPermission || hasMarketplaceAdminPermission)\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === adminOption.id }\"\r\n (click)=\"navigateToPortal({ appName: appsEnum.FINTECH, isAdmin: true })\"\r\n >\r\n <div class=\"icon-container selected-portal-item admin\"></div>\r\n <span class=\"menu-label\">Admin Fintech</span>\r\n </div>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n <div class=\"menu-section\">\r\n <span [ngStyle]=\"{ opacity: opened && options.length ? 1 : 0 }\" class=\"menu-section-title\">MENU</span>\r\n <ul class=\"side-menu\">\r\n <li *ngFor=\"let option of options\">\r\n <div\r\n class=\"side-menu-item\"\r\n [ngClass]=\"{ 'active-menu': activeOption?.id === option.id, 'always-open': !!option.alwaysOpen }\"\r\n [pTooltip]=\"option.label\"\r\n tooltipPosition=\"right\"\r\n (click)=\"onMenuClick(option)\"\r\n >\r\n <div class=\"icon-container\">\r\n <img\r\n *ngIf=\"option.iconFileName\"\r\n [src]=\"'../../../../assets/icons/' + option.iconFileName + '.svg'\"\r\n class=\"menu-icon\"\r\n />\r\n <i *ngIf=\"option.icon\" class=\"menu-icon {{ option.icon }}\"></i>\r\n <span *ngIf=\"getMenuNotificationsCount(option)\" class=\"menu-notifications-count\">{{\r\n getMenuNotificationsCount(option)\r\n }}</span>\r\n </div>\r\n <span class=\"menu-label\">{{ option.label }}</span>\r\n <i\r\n *ngIf=\"opened && option.children?.length && !option.alwaysOpen\"\r\n class=\"fas angle-icon\"\r\n [ngClass]=\"{\r\n 'fa-angle-down': activeOption?.id !== option.id,\r\n 'fa-angle-up': activeOption?.id === option.id\r\n }\"\r\n ></i>\r\n </div>\r\n <vector-sub-menus-list\r\n [options]=\"option.children\"\r\n [showList]=\"activeOption?.id === option.id || (!!option.alwaysOpen && opened)\"\r\n [submenuSelected]=\"activeSubmenuOption\"\r\n (submenuSelectedChange)=\"onSubmenuClick($event)\"\r\n ></vector-sub-menus-list>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n <div class=\"footer side-menu-item\">\r\n <div class=\"icon-container\">\r\n <a>\r\n <img src=\"../../../../assets/icons/menu_footer_icon.svg\" (click)=\"openTermsOfUse()\" class=\"menu-icon\" />\r\n </a>\r\n </div>\r\n <span class=\"menu-label footer-content\">\r\n <span> Veja nosso <a (click)=\"openTermsOfUse()\">Termo de uso</a> </span>\r\n <span>e <a (click)=\"openTermsOfUse()\">Política de privacidade</a></span>\r\n </span>\r\n </div>\r\n</nav>\r\n","import { NgModule } from '@angular/core';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { MenuComponent } from './menu.component';\r\nimport { SubMenusListComponent } from './sub-menus-list/sub-menus-list.component';\r\n\r\n@NgModule({\r\n declarations: [MenuComponent, SubMenusListComponent],\r\n exports: [MenuComponent],\r\n imports: [SharedModule, OverlayPanelModule],\r\n})\r\nexport class MenuModule {}\r\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output } from '@angular/core';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'vector-stepper',\r\n templateUrl: './stepper.component.html',\r\n styleUrls: ['./stepper.component.scss'],\r\n})\r\nexport class StepperComponent implements AfterViewInit {\r\n @Input()\r\n public steps: MenuItem[] = [];\r\n @Input()\r\n public navigable = false;\r\n @Input()\r\n public activeIndex = 0;\r\n @Output()\r\n public activeIndexChange = new EventEmitter<number>();\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n ngAfterViewInit(): void {\r\n const stepsNumbers: HTMLSpanElement[] = this.elementRef.nativeElement.getElementsByClassName('p-steps-number');\r\n let index = 0;\r\n for (let element of stepsNumbers) {\r\n const step = this.steps[index];\r\n if (step.styleClass === 'checked') {\r\n element.innerHTML = `<span class=\"fas fa-check\"></span>`;\r\n }\r\n if (step.icon) {\r\n element.innerHTML = `<span class=\"${step.icon}\"></span>`;\r\n }\r\n if (step.disabled) {\r\n element.classList.add('disabled');\r\n }\r\n index++;\r\n }\r\n }\r\n\r\n onActiveIndexChange(index: number) {\r\n this.activeIndexChange.emit(index);\r\n }\r\n}\r\n","<div class=\"wrapper\">\r\n <p-steps\r\n [model]=\"steps\"\r\n [readonly]=\"!navigable\"\r\n [activeIndex]=\"activeIndex\"\r\n (activeIndexChange)=\"onActiveIndexChange($event)\"\r\n >\r\n ></p-steps\r\n >\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { StepsModule } from 'primeng/steps';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { StepperComponent } from './stepper.component';\r\n\r\n@NgModule({\r\n declarations: [StepperComponent],\r\n exports: [StepperComponent],\r\n imports: [SharedModule, StepsModule],\r\n})\r\nexport class StepperModule {}\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { Role, VectorNotification } from '../../models';\r\nimport { HelpCentralIconOptionsType } from '../../models/topbar.model';\r\nimport { AuthService, ErrorMessageService, MenuService, ProfileService, StorageService } from '../../services';\r\nimport { NotificationsService } from '../../services/notifications.service';\r\nimport { MaskUtil, WindowUtil } from '../../utils';\r\n\r\n@Component({\r\n selector: 'vector-top-bar',\r\n templateUrl: './top-bar.component.html',\r\n styleUrls: ['./top-bar.component.scss'],\r\n})\r\nexport class TopBarComponent implements OnInit, OnDestroy {\r\n public hideElements = false;\r\n public openedMenu = false;\r\n public openedChangeAccountMenu = false;\r\n public showNotifications = false;\r\n public doingOnboarding = false;\r\n\r\n public vectorFirstName: any;\r\n public currentAccount: any = {};\r\n public isAdmin = false;\r\n public otherAccounts: any[] = [];\r\n public maskUtil = MaskUtil;\r\n\r\n @Input()\r\n public fintech: boolean = false;\r\n @Input()\r\n public accountService: any;\r\n @Input()\r\n public showHelpCentral = false;\r\n public helpCentralIcons: HelpCentralIconOptionsType[] = [\r\n {\r\n icon: 'fab fa-whatsapp',\r\n url: 'https://api.whatsapp.com/send?phone=5521971551188&text=ol%C3%A1',\r\n active: true,\r\n },\r\n {\r\n icon: 'pi pi-phone',\r\n url: 'tel:552120423017',\r\n active: true,\r\n },\r\n {\r\n icon: 'far fa-envelope',\r\n url: 'mailto:suporte@vectorapp.com.br',\r\n active: true,\r\n },\r\n {\r\n icon: 'far fa-question-circle',\r\n url: '',\r\n active: false,\r\n },\r\n ];\r\n\r\n @Output() onClick = new EventEmitter<string>();\r\n\r\n public notificationsList: VectorNotification[] = [];\r\n\r\n private subscription = new Subscription();\r\n\r\n constructor(\r\n private menuService: MenuService,\r\n private authService: AuthService,\r\n private router: Router,\r\n private profileService: ProfileService,\r\n private storageService: StorageService,\r\n private notificationsService: NotificationsService,\r\n private errorMessageService: ErrorMessageService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.subscription.add(\r\n this.profileService.profileFirstName$.subscribe((value) => {\r\n this.vectorFirstName = value;\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.menuService.menuOpened$.subscribe((hasOpened) => {\r\n this.hideElements = hasOpened;\r\n })\r\n );\r\n\r\n if (this.accountService) {\r\n this.subscription.add(\r\n this.accountService.currentAccount$.subscribe((account: any) => {\r\n this.currentAccount = account;\r\n if (this.currentAccount) {\r\n const str = `${this.currentAccount.accountNumber}`;\r\n const len = str.length;\r\n const accountWithHyfen = str.substring(0, len - 1) + '-' + str.substring(len - 1);\r\n this.currentAccount.accountNumber = accountWithHyfen;\r\n }\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.accountService?.userAccounts$.subscribe((accounts: any) => {\r\n this.otherAccounts = accounts?.filter((acc: any) => acc.uuid !== this.currentAccount?.uuid) || [];\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.accountService.onOnboarding$.subscribe((onOnboarding: any) => {\r\n setTimeout(() => {\r\n this.doingOnboarding = onOnboarding;\r\n });\r\n })\r\n );\r\n }\r\n\r\n this.subscription.add(\r\n this.authService.role$.subscribe((role) => {\r\n this.isAdmin = role === Role.ADMIN;\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.notificationsService.notifications$.subscribe((notifications) => {\r\n this.notificationsList = notifications;\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public toggleMenu() {\r\n this.menuService.toggleMenu$.next();\r\n }\r\n\r\n public logout() {\r\n this.authService.logout();\r\n }\r\n\r\n public isDesktop() {\r\n return WindowUtil.isDesktop();\r\n }\r\n\r\n public changeAccount(newAccount: any) {\r\n if (newAccount.isBlocked) {\r\n this.errorMessageService.genericModalErrorMessage$.next('Entre em contato com a central de atendimento');\r\n return;\r\n }\r\n\r\n this.storageService.set('linkedCnpj', newAccount.customerDocument);\r\n this.accountService.currentAccount$.next(newAccount);\r\n window.location.reload();\r\n }\r\n\r\n public goToTermsOfUse() {\r\n this.accountService.termsOfUse$.next();\r\n }\r\n\r\n public goToPasswordChange() {\r\n this.router.navigate(['password', 'recover'], { queryParams: { change: true } });\r\n }\r\n\r\n public goToTariff() {\r\n this.router.navigate(['fintech/under-construction']);\r\n }\r\n public goToOnboarding() {\r\n this.router.navigate(['onboarding', 'attorney-information']);\r\n }\r\n\r\n public handleClick(link: string | undefined) {\r\n this.onClick.emit(link || '');\r\n }\r\n}\r\n","<div class=\"top-bar-container\">\r\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\r\n <div class=\"menu-icon\"></div>\r\n </div>\r\n\r\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\r\n <span>Banco {{ currentAccount?.bankCode }}</span>\r\n <span class=\"separator\"></span>\r\n <span>AG {{ currentAccount?.agency }}</span>\r\n <span class=\"separator\"></span>\r\n <span>CC {{ currentAccount?.accountNumber }}</span>\r\n <span class=\"separator\"></span>\r\n <span\r\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\r\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\r\n >\r\n <ng-container>\r\n <span class=\"separator\"></span>\r\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\r\n <span class=\"mr-2\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\r\n <div class=\"help-central\" *ngIf=\"showHelpCentral\">\r\n <span>{{ 'app.label.help_central' | translate }}:</span>\r\n <ng-container *ngFor=\"let item of helpCentralIcons\">\r\n <a target=\"_blank\" [ngClass]=\"{ hidden: !item.active }\" [attr.href]=\"item.url\">\r\n <i [class]=\"item.icon\"></i>\r\n </a>\r\n </ng-container>\r\n </div>\r\n\r\n <span *ngIf=\"!fintech\" (click)=\"notifications.toggle($event)\" class=\"fas fa-bell notifications-icon\">\r\n <span *ngIf=\"(notificationsList | unreadNotifications).length\" class=\"notifications-indicator\"> </span>\r\n </span>\r\n\r\n <span class=\"separator\"></span>\r\n <div\r\n #menuContainer\r\n class=\"menu-container\"\r\n (click)=\"menu.toggle($event)\"\r\n pTooltip=\"Enter your username\"\r\n tooltipPosition=\"bottom\"\r\n tooltipEvent=\"click\"\r\n >\r\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\r\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\r\n <ng-template pTemplate>\r\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\r\n </div>\r\n </div>\r\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\r\n <span class=\"change-account-mobile-label\">Alternar conta</span>\r\n <span\r\n class=\"fas\"\r\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\r\n ></span>\r\n </div>\r\n </div>\r\n <ul class=\"user-menu\">\r\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\r\n <span class=\"terms-of-use user-menu-icon\"></span>\r\n <span>Termos de Uso</span>\r\n </li>\r\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\r\n <span class=\"fintech-password user-menu-icon\"></span>\r\n <span>Alterar Senha</span>\r\n </li>\r\n <li (click)=\"logout()\">\r\n <span class=\"logout user-menu-icon\"></span>\r\n <span>Sair</span>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\r\n <ng-template pTemplate>\r\n <div\r\n *ngFor=\"let account of otherAccounts\"\r\n class=\"account-info change-account-info\"\r\n (click)=\"changeAccount(account)\"\r\n >\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>Banco: </span>\r\n <span class=\"account-info-value\">{{ account?.bank }}</span>\r\n </div>\r\n\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>AG: </span>\r\n <span class=\"account-info-value\">{{ account?.agency }}</span>\r\n </div>\r\n </div>\r\n <div class=\"account-info-row\">\r\n <div class=\"account-info-item\">\r\n <span>CC: </span>\r\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\r\n </div>\r\n <span class=\"separator\"></span>\r\n <div class=\"account-info-item\">\r\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\r\n <span class=\"account-info-value\"> {{ account?.document | formatDocument }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n <hr />\r\n <p class=\"text-center add-account\" (click)=\"goToOnboarding(); changeAccountMenu.hide()\">\r\n Adicionar uma nova conta\r\n </p>\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #notifications\r\n (onHide)=\"showNotifications = false\"\r\n (onShow)=\"showNotifications = true\"\r\n styleClass=\"background-white\"\r\n>\r\n <ng-template pTemplate>\r\n <div class=\"notifications-header\">\r\n <div class=\"notifications-vector-logo\"></div>\r\n <span class=\"notifications-title\">\r\n {{ 'app.label.notifications' | translate }}\r\n </span>\r\n </div>\r\n <ul class=\"notifications-list\">\r\n <li\r\n (click)=\"handleClick(notification?.link)\"\r\n class=\"notification-item\"\r\n *ngFor=\"let notification of notificationsList | unreadNotifications\"\r\n >\r\n <span class=\"notification-title\">{{ notification.title }}</span>\r\n <span>{{ notification.description }}</span>\r\n <em class=\"fas fa-chevron-right\"></em>\r\n </li>\r\n </ul>\r\n </ng-template>\r\n</p-overlayPanel>\r\n","import { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SharedModule } from '../../shared/shared.module';\r\nimport { MenuModule } from '../menu';\r\nimport { TopBarComponent } from './top-bar.component';\r\n\r\n@NgModule({\r\n declarations: [TopBarComponent],\r\n exports: [TopBarComponent],\r\n imports: [SharedModule, OverlayPanelModule, TranslateModule, MenuModule],\r\n})\r\nexport class TopBarModule {}\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nexport const crudListHasItemsGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const serviceType = routeSnapshot.data['service'];\r\n if (!serviceType) {\r\n console.error('You forgot to add the service declaration to route \"data\" property.');\r\n return false;\r\n }\r\n const service: typeof serviceType = inject(serviceType);\r\n return !!(service.dataset$.value?.data?.length || service.flatUnpagedDataset$.value?.length);\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { map, switchMap } from 'rxjs/operators';\r\nimport { APP_NAME } from '../injections';\r\nimport { AppName, Role } from '../models';\r\nimport { AuthService, ProfileService, StorageService } from '../services';\r\n\r\nexport const getTokenByGuidGuard = (route: ActivatedRouteSnapshot) => {\r\n const authService: AuthService = inject(AuthService);\r\n const storageService: StorageService = inject(StorageService);\r\n const router: Router = inject(Router);\r\n const profileService: ProfileService = inject(ProfileService);\r\n const appName: AppName = inject(APP_NAME);\r\n\r\n const paramTokenGuid = route.queryParams['Token'];\r\n const role = atob(route.queryParams['role'] || '') as Role;\r\n authService.role$.next(role);\r\n if (paramTokenGuid) {\r\n storageService.clear();\r\n storageService.setRole(route.queryParams['role']);\r\n storageService.setUserId(route.queryParams['userId']);\r\n return authService.getTokenByGuid(paramTokenGuid).pipe(\r\n switchMap((token) => {\r\n if (token && role !== Role.ADMIN) {\r\n router.createUrlTree([appName.toLowerCase()]);\r\n }\r\n return profileService.getUserInfo().pipe(\r\n map((response) => {\r\n if (response.id) {\r\n storageService.setUserId(response.id);\r\n }\r\n return true;\r\n })\r\n );\r\n })\r\n );\r\n } else if (storageService.getToken()) {\r\n if (role !== Role.ADMIN) {\r\n return router.createUrlTree([appName.toLowerCase()]);\r\n }\r\n return true;\r\n }\r\n authService.logout();\r\n return false;\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { APP_NAME } from '../injections';\r\nimport { AppName } from '../models';\r\nimport { ProfileService } from '../services';\r\n\r\nexport const hasPermissionGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const profileService: ProfileService = inject(ProfileService);\r\n const router: Router = inject(Router);\r\n const appName: AppName = inject(APP_NAME);\r\n const hasPermission = profileService.userHasPermission(routeSnapshot.data['permission']);\r\n\r\n if (!hasPermission) {\r\n return router.createUrlTree([appName.toLowerCase()]);\r\n }\r\n return true;\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { Role } from '../models';\r\nimport { StorageService } from '../services';\r\n\r\nexport const roleGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const storageService: StorageService = inject(StorageService);\r\n const router: Router = inject(Router);\r\n const isRoleAdmin = storageService.getRole() === Role.ADMIN;\r\n\r\n if ((routeSnapshot.data['adminView'] && isRoleAdmin) || (!routeSnapshot.data['adminView'] && !isRoleAdmin)) {\r\n return true;\r\n }\r\n return router.createUrlTree(['']);\r\n};\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\nimport { firstValueFrom } from 'rxjs';\r\nimport { AuthService, StorageService } from '../services';\r\n\r\nexport const tokenIsPresentGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const storageService: StorageService = inject(StorageService);\r\n const authService: AuthService = inject(AuthService);\r\n\r\n if (routeSnapshot.queryParams['tokenGuid']) {\r\n return firstValueFrom(authService.getTokenByGuid(routeSnapshot.queryParams['tokenGuid'])).then(\r\n (response) => !!response.accessToken\r\n );\r\n } else {\r\n return !!storageService.getToken();\r\n }\r\n};\r\n","import {\r\n HttpErrorResponse,\r\n HttpEvent,\r\n HttpHandler,\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpResponse,\r\n} from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { MessageService } from 'primeng/api';\r\nimport { BehaviorSubject, Observable, throwError } from 'rxjs';\r\nimport { catchError, filter, switchMap, take, tap } from 'rxjs/operators';\r\nimport { ENVIRONMENT } from '../injections';\r\nimport { MessageStatus } from '../models';\r\nimport { AuthService, ErrorMessageService, LoadingService, StorageService } from '../services';\r\n\r\n@Injectable()\r\nexport class HttpInterceptorProvider implements HttpInterceptor {\r\n private activeRequests: string[] = [];\r\n private isRefreshing = false;\r\n private refreshTokenSubject: BehaviorSubject<any> = new BehaviorSubject<any>(null);\r\n constructor(\r\n private storageService: StorageService,\r\n private errorMessageService: ErrorMessageService,\r\n private loadingService: LoadingService,\r\n private authService: AuthService,\r\n private messageService: MessageService,\r\n @Inject(ENVIRONMENT) private environment: any\r\n ) {}\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n const isExternalUrl = request.headers.get('external-url');\r\n\r\n if (!this.isRefreshTokenRequest(request.url)) {\r\n if (!isExternalUrl) {\r\n request = this.addTokenIfPresent(request);\r\n request = this.addEncryptPasswordIfPresent(request);\r\n request = this.addAccountUuidIfPresent(request);\r\n request = this.addModifierIdIfPresent(request);\r\n request = this.addContentType(request);\r\n }\r\n }\r\n\r\n if (!isExternalUrl) {\r\n request = this.fixUrl(request);\r\n }\r\n\r\n const noSpinnerHeader = request.headers.get('no-spinner');\r\n if (!noSpinnerHeader && !request.url.startsWith('/assets/')) {\r\n this.loadingService.loading$.next(true);\r\n this.activeRequests.push(this.getUrlWithoutParams(request.url));\r\n }\r\n\r\n return next.handle(request).pipe(\r\n catchError((response: HttpErrorResponse) => {\r\n if (response.error?.messages?.length) {\r\n this.errorMessageService.genericModalErrorMessage$.next(\r\n response.error.messages[response.error.messages.length - 1]\r\n );\r\n }\r\n if (!this.isRefreshTokenRequest(request.url)) {\r\n if (response.status === 401) {\r\n return this.handle401Error(request, next);\r\n }\r\n if (response.status === 403) {\r\n this.errorMessageService.genericModalErrorMessage$.next('Usuário sem privilégios para realizar essa ação');\r\n } else {\r\n if (!isExternalUrl) {\r\n if (typeof response.error == 'string') {\r\n this.messageService.add({ severity: MessageStatus.ERROR, summary: 'Erro', detail: response.error });\r\n }\r\n }\r\n }\r\n }\r\n if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {\r\n this.activeRequests.splice(\r\n this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)),\r\n 1\r\n );\r\n if (!this.activeRequests.length) {\r\n this.loadingService.loading$.next(false);\r\n }\r\n }\r\n\r\n return throwError(() => response);\r\n }),\r\n tap((response) => {\r\n if (response instanceof HttpResponse) {\r\n if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {\r\n this.activeRequests.splice(\r\n this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)),\r\n 1\r\n );\r\n if (!this.activeRequests.length) {\r\n this.loadingService.loading$.next(false);\r\n }\r\n }\r\n\r\n if (\r\n Object(response.body).hasOwnProperty('statusCode') &&\r\n response.body.statusCode === 400 &&\r\n response.body.messages?.length\r\n ) {\r\n this.errorMessageService.genericModalErrorMessage$.next(\r\n response.body.messages[response.body.messages.length - 1]\r\n );\r\n }\r\n }\r\n })\r\n );\r\n }\r\n\r\n private isRefreshTokenRequest(url: string) {\r\n return url.includes('connect/token');\r\n }\r\n\r\n private getUrlWithoutParams(fullUrl: string | null): string {\r\n if (!fullUrl) {\r\n return '';\r\n }\r\n\r\n const decodedUrl = decodeURIComponent(fullUrl.trim());\r\n\r\n if (!decodedUrl.includes('?')) {\r\n return decodedUrl;\r\n }\r\n\r\n return decodedUrl.substring(0, decodedUrl.indexOf('?'));\r\n }\r\n\r\n private addTokenIfPresent(request: HttpRequest<any>): HttpRequest<any> {\r\n const token = this.storageService.getToken();\r\n if (token) {\r\n request = request.clone({ setHeaders: { Authorization: token } });\r\n }\r\n return request;\r\n }\r\n\r\n private addModifierIdIfPresent(request: HttpRequest<any>): HttpRequest<any> {\r\n const modifierId = this.storageService.getUserId();\r\n if (modifierId && request.method !== 'GET' && !(request.body instanceof FormData)) {\r\n request = request.clone({ body: { ...request.body, modifierId } });\r\n }\r\n return request;\r\n }\r\n\r\n private addEncryptPasswordIfPresent(request: HttpRequest<any>): HttpRequest<any> {\r\n const encriptPassword = this.storageService.get('encryptPassword');\r\n if (request.method !== 'GET' && encriptPassword) {\r\n if (request.body instanceof FormData) {\r\n request.body.append('encriptPassword', encriptPassword);\r\n } else {\r\n request = request.clone({ body: { ...request.body, encriptPassword } });\r\n }\r\n }\r\n return request;\r\n }\r\n\r\n private addAccountUuidIfPresent(request: HttpRequest<any>): HttpRequest<any> {\r\n const accountUuid = this.storageService.get('accountUuid');\r\n if (request.method !== 'GET' && accountUuid) {\r\n if (request.body instanceof FormData) {\r\n request.body.append('accountUuid', accountUuid);\r\n } else {\r\n request = request.clone({ body: { ...request.body, accountUuid } });\r\n }\r\n }\r\n return request;\r\n }\r\n\r\n private addContentType(request: HttpRequest<any>): HttpRequest<any> {\r\n return request.clone({ setHeaders: { contentType: 'application/json' } });\r\n }\r\n\r\n private fixUrl(request: HttpRequest<any>): HttpRequest<any> {\r\n if (this.isAuthRequest(request.url) || this.isProfilesRequest(request.url)) {\r\n return request.clone({\r\n url: `${this.environment.API_URL.replace('/api', '')}/${request.url}`,\r\n });\r\n }\r\n return request.clone({\r\n url: request.url.startsWith('/assets/') ? request.url : `${this.environment.API_URL}/${request.url}`,\r\n });\r\n }\r\n\r\n private isAuthRequest(url: string) {\r\n return url.includes('connect/token');\r\n }\r\n\r\n private isProfilesRequest(url: string) {\r\n return url.includes('connect/userinfo');\r\n }\r\n\r\n private handle401Error(request: HttpRequest<any>, next: HttpHandler) {\r\n if (!this.isRefreshing) {\r\n this.isRefreshing = true;\r\n this.refreshTokenSubject.next(null);\r\n\r\n const refreshToken = this.storageService.getRefreshToken();\r\n if (refreshToken) {\r\n return this.authService.getTokenByRefreshToken(refreshToken).pipe(\r\n switchMap((token: any) => {\r\n this.isRefreshing = false;\r\n this.refreshTokenSubject.next(this.storageService.getToken());\r\n return next.handle(this.addTokenIfPresent(request));\r\n }),\r\n catchError((err) => {\r\n this.isRefreshing = false;\r\n this.authService.logout();\r\n return throwError(() => err);\r\n })\r\n );\r\n } else {\r\n this.isRefreshing = false;\r\n this.authService.logout();\r\n return throwError(() => new Error());\r\n }\r\n }\r\n\r\n return this.refreshTokenSubject.pipe(\r\n filter((token) => token !== null),\r\n take(1),\r\n switchMap((token) => next.handle(this.addTokenIfPresent(request)))\r\n );\r\n }\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\n\r\nexport const getSelectedCrudItemResolver = (routeSnapshot: ActivatedRouteSnapshot) => {\r\n const serviceType = routeSnapshot.data['service'];\r\n if (!serviceType) {\r\n console.error('You forgot to add the service declaration to route \"data\" property.');\r\n return undefined;\r\n }\r\n const service: typeof serviceType = inject(serviceType);\r\n if (service.dataset$.value?.data?.length) {\r\n return service.dataset$.value.data.find((item: any) => item.id == routeSnapshot.params['id']);\r\n }\r\n if (service.flatUnpagedDataset$.value?.length) {\r\n return service.flatUnpagedDataset$.value.find((item: any) => item.id == routeSnapshot.params['id']);\r\n }\r\n return undefined;\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.RemoveLastChildPipe","i2.ButtonComponent","i3","PrimeNgPanel","i2.StorageService","i2.ProfileService","i1.ProfileService","i4.AuthService","i1.ModalService","i5.FieldErrorMessageComponent","i4","i6.ButtonComponent","i7.FieldErrorMessageComponent","i5","i5.TextFieldComponent","i7.CalendarComponent","i8.MultiselectFieldComponent","i9.DropdownFieldComponent","i10.CurrencyFieldComponent","i11.SelectButtonFieldComponent","i12.NotHiddenPipe","i13","i3.PanelComponent","i5.BadgeComponent","i6.ScoreComponent","i9.ButtonComponent","i10.FiltersComponent","i11","i3.FieldErrorMessageComponent","i1.TextFieldComponent","MenuModule","i1.BadgeComponent","i3.BadgeComponent","i1.ErrorMessageService","i3.ButtonComponent","i1.MenuService","i1.StorageService","i5.SubMenusListComponent","i1.AuthService","i3.NotificationsService","i7","i8.FormatDocumentPipe","i9.UnreadNotificationsPipe","i10"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-vector-components.mjs","sources":["../../../projects/ngx-vector-components/src/lib/models/app-name.enum.ts","../../../projects/ngx-vector-components/src/lib/models/boolean-type.enum.ts","../../../projects/ngx-vector-components/src/lib/models/crud-history.model.ts","../../../projects/ngx-vector-components/src/lib/models/crud-mode.enum.ts","../../../projects/ngx-vector-components/src/lib/models/data-table.model.ts","../../../projects/ngx-vector-components/src/lib/models/document-type.enum.ts","../../../projects/ngx-vector-components/src/lib/models/message-status.enum.ts","../../../projects/ngx-vector-components/src/lib/models/profile.model.ts","../../../projects/ngx-vector-components/src/lib/models/role.enum.ts","../../../projects/ngx-vector-components/src/lib/models/status.enum.ts","../../../projects/ngx-vector-components/src/lib/models/view.enum.ts","../../../projects/ngx-vector-components/src/lib/components/badge/badge.component.ts","../../../projects/ngx-vector-components/src/lib/components/badge/badge.component.html","../../../projects/ngx-vector-components/src/lib/pipes/currency-brl.pipe.ts","../../../projects/ngx-vector-components/src/lib/utils/cpf-cnpj-validator.util.ts","../../../projects/ngx-vector-components/src/lib/utils/file.util.ts","../../../projects/ngx-vector-components/src/lib/utils/mask.util.ts","../../../projects/ngx-vector-components/src/lib/utils/object.util.ts","../../../projects/ngx-vector-components/src/lib/utils/string.util.ts","../../../projects/ngx-vector-components/src/lib/utils/validation.util.ts","../../../projects/ngx-vector-components/src/lib/utils/window.util.ts","../../../projects/ngx-vector-components/src/lib/pipes/format-document.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/mask.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/not-hidden.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/only-active.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/remove-last-child.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/unread-notifications.pipe.ts","../../../projects/ngx-vector-components/src/lib/pipes/pipes.module.ts","../../../projects/ngx-vector-components/src/lib/shared/shared.module.ts","../../../projects/ngx-vector-components/src/lib/components/badge/badge.module.ts","../../../projects/ngx-vector-components/src/lib/injections/index.ts","../../../projects/ngx-vector-components/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../projects/ngx-vector-components/src/lib/components/breadcrumb/breadcrumb.component.html","../../../projects/ngx-vector-components/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-base/crud-base.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/button/button.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/button/button.component.html","../../../projects/ngx-vector-components/src/lib/components/crud-footer/crud-footer.component.ts","../../../projects/ngx-vector-components/src/lib/components/crud-footer/crud-footer.component.html","../../../projects/ngx-vector-components/src/lib/components/panel/panel.component.ts","../../../projects/ngx-vector-components/src/lib/components/panel/panel.component.html","../../../projects/ngx-vector-components/src/lib/components/panel/panel.module.ts","../../../projects/ngx-vector-components/src/lib/components/score/score.component.ts","../../../projects/ngx-vector-components/src/lib/components/score/score.component.html","../../../projects/ngx-vector-components/src/lib/components/score/score.module.ts","../../../projects/ngx-vector-components/src/lib/services/auth.service.ts","../../../projects/ngx-vector-components/src/lib/services/crud-base.service.ts","../../../projects/ngx-vector-components/src/lib/services/enum.service.ts","../../../projects/ngx-vector-components/src/lib/services/error-message.service.ts","../../../projects/ngx-vector-components/src/lib/services/geolocation.service.ts","../../../projects/ngx-vector-components/src/lib/services/loading.service.ts","../../../projects/ngx-vector-components/src/lib/services/storage.service.ts","../../../projects/ngx-vector-components/src/lib/services/profile.service.ts","../../../projects/ngx-vector-components/src/lib/services/menu.service.ts","../../../projects/ngx-vector-components/src/lib/services/modal.service.ts","../../../projects/ngx-vector-components/src/lib/services/notifications.service.ts","../../../projects/ngx-vector-components/src/lib/components/fields/field-error-message/field-error-message.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/field-error-message/field-error-message.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/calendar-field/calendar-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/calendar-field/calendar-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/checkbox-field/checkbox-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/checkbox-field/checkbox-field.component.html","../../../projects/ngx-vector-components/src/lib/models/currency.enum.ts","../../../projects/ngx-vector-components/src/lib/models/locale.enum.ts","../../../projects/ngx-vector-components/src/lib/components/fields/currency-field/currency-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/currency-field/currency-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/text-field/text-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/text-field/text-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/multiselect-field/multiselect-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/multiselect-field/multiselect-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/dropdown-field/dropdown-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/dropdown-field/dropdown-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/select-button-field/select-button-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/select-button-field/select-button-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/filters/filters.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/filters/filters.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/data-table/data-table.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/data-table/data-table.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/input-number-field/input-number-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/input-number-field/input-number-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/input-otp/input-otp.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/input-otp/input-otp.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/input-switch-field/input-switch-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/input-switch-field/input-switch-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/percentage-field/percentage-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/percentage-field/percentage-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/radio-button-field/radio-button-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/radio-button-field/radio-button-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/range-value/range-value.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/range-value/range-value.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/search-field/search-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/search-field/search-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/textarea-field/textarea-field.component.ts","../../../projects/ngx-vector-components/src/lib/components/fields/textarea-field/textarea-field.component.html","../../../projects/ngx-vector-components/src/lib/components/fields/fields.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-footer/crud-footer.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-header/crud-header.component.ts","../../../projects/ngx-vector-components/src/lib/components/crud-header/crud-header.component.html","../../../projects/ngx-vector-components/src/lib/components/crud-header/crud-header.module.ts","../../../projects/ngx-vector-components/src/lib/components/crud-history/crud-history.component.ts","../../../projects/ngx-vector-components/src/lib/components/crud-history/crud-history.component.html","../../../projects/ngx-vector-components/src/lib/components/crud-history/crud-history.module.ts","../../../projects/ngx-vector-components/src/lib/components/generic-error-modal/generic-error-modal.component.ts","../../../projects/ngx-vector-components/src/lib/components/generic-error-modal/generic-error-modal.component.html","../../../projects/ngx-vector-components/src/lib/components/generic-error-modal/generic-error-modal.module.ts","../../../projects/ngx-vector-components/src/lib/components/generic-modal/generic-modal.component.ts","../../../projects/ngx-vector-components/src/lib/components/generic-modal/generic-modal.component.html","../../../projects/ngx-vector-components/src/lib/components/generic-modal/generic-modal.module.ts","../../../projects/ngx-vector-components/src/lib/components/menu/sub-menus-list/sub-menus-list.component.ts","../../../projects/ngx-vector-components/src/lib/components/menu/sub-menus-list/sub-menus-list.component.html","../../../projects/ngx-vector-components/src/lib/components/menu/menu.component.ts","../../../projects/ngx-vector-components/src/lib/components/menu/menu.component.html","../../../projects/ngx-vector-components/src/lib/components/menu/menu.module.ts","../../../projects/ngx-vector-components/src/lib/components/stepper/stepper.component.ts","../../../projects/ngx-vector-components/src/lib/components/stepper/stepper.component.html","../../../projects/ngx-vector-components/src/lib/components/stepper/stepper.module.ts","../../../projects/ngx-vector-components/src/lib/components/top-bar/top-bar.component.ts","../../../projects/ngx-vector-components/src/lib/components/top-bar/top-bar.component.html","../../../projects/ngx-vector-components/src/lib/components/top-bar/top-bar.module.ts","../../../projects/ngx-vector-components/src/lib/guards/crud-list-has-items.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/get-token-by-guid.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/has-permission.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/role.guard.ts","../../../projects/ngx-vector-components/src/lib/guards/token-is-present.guard.ts","../../../projects/ngx-vector-components/src/lib/interceptors/http-interceptor.ts","../../../projects/ngx-vector-components/src/lib/resolvers/get-selected-crud-item.resolver.ts","../../../projects/ngx-vector-components/src/ngx-vector-components.ts"],"sourcesContent":["export enum AppName {\n PORTAL = 'PORTAL',\n FINTECH = 'FINTECH',\n MARKETPLACE = 'MARKETPLACE',\n LOGTECH = 'LOGTECH',\n SURVEY = 'SURVEY',\n PRODUCER_PORTAL = 'PRODUCER_PORTAL',\n}\n","export enum BooleanType {\n YES = 'YES',\n NO = 'NO',\n}\n","export class CrudHistory<T> {\n auditId?: number;\n dataAuditDelta?: DataAuditDelta[];\n dateTime?: Date;\n entityType?: number;\n eventType?: string;\n modifierName?: string;\n typeOfModification?: string;\n modifiedFromWeb?: boolean;\n}\n\nexport type DataAuditDelta = {\n fieldName?: string;\n newValue?: string;\n oldValue?: string;\n type?: number | string;\n typeDescription?: string;\n};\n","export enum CrudMode {\n NEW,\n EDIT,\n VIEW,\n}\n","import { MenuItem } from 'primeng/api';\nimport { ListItem } from './list-item.model';\nimport { Status } from './status.enum';\n\nexport type DataTableBaseItem = {\n actions?: MenuItem[];\n};\n\nexport enum TableColumnType {\n TEXT = 'TEXT',\n BOOLEAN = 'BOOLEAN',\n DATE = 'DATE',\n DATETIME = 'DATETIME',\n ENUM = 'ENUM',\n STATUS_BADGE = 'STATUS_BADGE',\n ACTIVE_BOOLEAN_BADGE = 'ACTIVE_BOOLEAN_BADGE',\n BUTTON = 'BUTTON',\n CUSTOM_STYLE = 'CUSTOM_STYLE',\n MASK = 'MASK',\n TEXT_BADGE = 'TEXT_BADGE',\n STACK_BADGE = 'STACK_BADGE',\n CURRENCY = 'CURRENCY',\n SCORE = 'SCORE',\n}\n\nexport type TableColumn = {\n header: string;\n field: string;\n width?: string;\n type?: TableColumnType;\n textFieldClass?: string;\n getEnumTranslated?: (enumVal: any) => string;\n getStatus?: (value: any) => Status;\n clickFunction?: Function;\n icon?: string | ((rowData: any) => string);\n notSortable?: boolean;\n mask?: string;\n currencyType?: 'USD' | 'BRL';\n hidden?: boolean;\n};\n\nexport type DataTableLazyLoadEvent = {\n start: number;\n length: number;\n draw: number;\n page: number;\n order: { column: number; dir: 'asc' | 'desc' }[];\n columns: {\n data: string;\n name: string;\n orderable: boolean;\n search: { value: string; regex: boolean };\n searchable: boolean;\n }[];\n search: { value: string; regex: boolean };\n tab: ListItem;\n};\n\nexport enum SelectionType {\n CHECKBOX = 'checkbox',\n RADIOBUTTON = 'radiobutton',\n}\n","export enum DocumentType {\n CPF,\n CNPJ,\n}\n","export enum MessageStatus {\n SUCCESS = 'success',\n INFO = 'info',\n WARN = 'warn',\n ERROR = 'error',\n}\n","import { DataTableBaseItem } from './data-table.model';\n\nexport type Profile = {\n id: number;\n name: string;\n profileTypeId: number;\n ProfileTypeName: string;\n modules: ProfileModule[];\n active: boolean;\n} & DataTableBaseItem;\n\nexport enum ProfileTypeEnum {\n SHIPPER = 1,\n SUPER_USER,\n CARRIER,\n DRIVER,\n SHIPPER_INTEGRATION,\n BATCHES,\n}\n\nexport type ProfileModule = {\n menu: string;\n actions: ProfileModuleAction[];\n} & ProfileModuleBase;\n\nexport type ProfileModuleGroupedByMenu = {\n menu: string;\n modules: ProfileModule[];\n children?: ProfileModuleGroupedByMenu[];\n};\n\nexport type ProfileModuleAction = {} & ProfileModuleBase;\n\nexport type ProfileModuleBase = {\n id: number;\n name: string;\n isAvailable?: boolean;\n};\n\nexport enum ProfileModuleType {\n OPERATIONAL_EVALUATION = 'OperationalEvaluation',\n ADMIN_SURVEYS = 'AdminSurveys',\n DIGITAL_DISCHARGE = 'Quitação Digital',\n REGISTER_OPERATION = 'RegisterOperation',\n REGISTER_PRODUCTS = 'RegisterProduct',\n ADMIN_NPS = 'NPS',\n COCKPIT = 'Cockpit',\n VALIDATIONS_CARGO_MATCH = 'ValidationsCargoMatch',\n PAYMENT_FREIGHT = 'Pagamento De Frete',\n FREIGHT_ADJUST = 'FreightAdjust',\n PUBLISH_FREIGHT = 'PublishFreight',\n APPROVE_FREIGHT = 'ApproveFreight',\n REGISTER_JUSTICATIVE = 'RegisterJustificative',\n BANK_EXTERNAL = 'BancoExterno',\n PAYMENT_DASHBOARD = 'PaymentDashboard',\n PAYMENT_SCHEDULING = 'Agendamento De Pagamento',\n DICHARGE_CONTROL_PANEL = 'DischargeControlPanel',\n CARD_CONTROL = 'Cartão digital',\n VECTOR_PAY_STATEMENT = 'VectorPayStatement',\n BUNGE_REFUND = 'BungeEstorno',\n FINTECH_ADMIN = 'Financeiro',\n FOB_REPORT = 'FOB Report',\n}\n\nexport enum ProfileModuleActionType {\n ADD_VEHICLE = 'Add Vehicle',\n EDIT_VEHICLE = 'Edit Vehicle',\n DELETE_VEHICLE = 'Delete Vehicle',\n SHOW_VEHICLE = 'Show Vehicle',\n ADD_DRIVER = 'Add Driver',\n EDIT_DRIVER = 'Edit Driver',\n DELETE_DRIVER = 'Delete Driver',\n SHOW_DRIVER = 'Show Driver',\n SHOW_DRIVER_NEW = 'Show Driver New',\n ADD_CARRIER = 'Add Carrier',\n DOCUMENTAL_HAZMAT = 'Documental Hazmat',\n EDIT_CARRIER = 'Edit Carrier',\n DELETE_CARRIER = 'Delete Carrier',\n SHOW_CARRIER = 'Show Carrier',\n SHOW_ACCREDITED = 'Show Accredited',\n ADD_PROFILE = 'Add Profile',\n EDIT_PROFILE = 'Edit Profile',\n DELETE_PROFILE = 'Delete Profile',\n SHOW_PROFILE = 'Show Profile',\n EDIT_BROADCAST_VALUES = 'Edit Broadcast Values',\n ADD_WAVE = 'Add Wave',\n EDIT_WAVE = 'Edit Wave',\n SHOW_WAVE = 'Show Wave',\n HISTORICAL_CHANGES_VEHICLE = 'Historical Changes Vehicle',\n HISTORICAL_CHANGES_DRIVER = 'Historical Changes Driver',\n HISTORICAL_CHANGES_CARRIER = 'Historical Changes Carrier',\n HISTORICAL_CHANGES_TRIP = 'Historical Changes Trip',\n HISTORICAL_CHANGES_USER = 'Historical Changes User',\n CANCEL_TRIPS = 'Cancel Trips',\n CANCEL_TRIPSPA = 'Cancel Trips PA',\n MANUAL_UPLOAD_DOCUMENTS = 'Manual Upload Documents',\n HISTORICAL_CHANGES_LOTS = 'Historical Changes Lots',\n ADD_LOCATION = 'Add Location',\n EDIT_LOCATION = 'Edit Location',\n SHOW_LOCATION = 'Show Location',\n ADD_RESTRICTIONS = 'Add Restrictions',\n EDIT_RESTRICTIONS = 'Edit Restrictions',\n SHOW_RESTRICTIONS = 'Show Restrictions',\n DELETE_RESTRICTIONS = 'Delete Restrictions',\n DELETE_LOCATION = 'Delete Location',\n SHOW_MESSAGES = 'Show Messages',\n EDIT_MESSAGES = 'Edit Messages',\n DELETE_MESSAGES = 'Delete Messages',\n ADD_MESSAGES = 'Add Messages',\n ADD_LOT = 'Add Lot',\n EDIT_LOT = 'Edit Lot',\n DELETE_LOT = 'Delete Lot',\n SHOW_LOT = 'Show Lot',\n ACCEPT_CREDIT = 'Accept Credit',\n SHOW_CREDIT = 'Show Credit',\n ADD_VEHICLE_CONFIGURATION = 'Add Vehicle Configuration',\n EDIT_VEHICLE_CONFIGURATION = 'Edit Vehicle Configuration',\n SHOW_VEHICLE_CONFIGURATION = 'Show Vehicle Configuration',\n ADD_SCHEDULING = 'Add Scheduling',\n EDIT_SCHEDULING = 'Edit Scheduling',\n DELETE_SCHEDULING = 'Delete Scheduling',\n ADD_VEHICLE_CONFIGURATION_SHIPPER = 'Add Vehicle Configuration Shipper',\n EDIT_VEHICLE_CONFIGURATION_SHIPPER = 'Edit Vehicle Configuration Shipper',\n SHOW_VEHICLE_CONFIGURATION_SHIPPER = 'Show Vehicle Configuration Shipper',\n EDIT_TRIP_BUNGE = 'Edit trip Bunge',\n EDIT_TRIP_COFCO = 'Edit trip Cofco',\n SHOW_MINIMUM_TRANSPORT_PRICE_TABLE = 'Show Minimum Transport Price Table',\n EDIT_MINIMUM_TRANSPORT_PRICE_TABLE = 'Edit Minimum Transport Price Table',\n HISTORICAL_CHANGES_CREDITS = 'Historical Changes Credits',\n INTEGRAÇÃO_PAGBEM = 'Integração Pagbem',\n VALIDATION_CARRIER = 'Validation Carrier',\n VALIDATION_DRIVER = 'Validation Driver',\n VALIDATION_VEHICLE = 'Validation Vehicle',\n EDIT_TRIP_STATUS = 'Edit trip status',\n REGISTRATION_VALIDATION = 'Registration Validation',\n B3_OPERATION = 'B3 Operation',\n SHOW_CARRIER_DETAIL_INTEGRATION = 'Show Carrier Detail Integration',\n SHOW_DRIVER_DETAIL_INTEGRATION = 'Show Driver Detail Integration',\n FUELS_SHOW_DISTRIBUTION_CENTER = 'Fuels show distribution center',\n FUELS_ADD_DISTRIBUTION_CENTER = 'Fuels add distribution center',\n FUELS_EDIT_DISTRIBUTION_CENTER = 'Fuels edit distribution center',\n FUELS_DELETE_DISTRIBUTION_CENTER = 'Fuels delete distribution center',\n FUELS_SHOW_DISTRIBUTION_POINT = 'Fuels show distribution point',\n FUELS_ADD_DISTRIBUTION_POINT = 'Fuels add distribution point',\n FUELS_EDIT_DISTRIBUTION_POINT = 'Fuels edit distribution point',\n FUELS_DELETE_DISTRIBUTION_POINT = 'Fuels delete distribution point',\n FUELS_SHOW_DISTRIBUTION_POST = 'Fuels show distribution post',\n FUELS_ADD_DISTRIBUTION_POST = 'Fuels add distribution post',\n FUELS_EDIT_DISTRIBUTION_POST = 'Fuels edit distribution post',\n FUELS_DELETE_DISTRIBUTION_POST = 'Fuels delete distribution post',\n FUELS_SHOW_MARKETPLACE_PRODUCT = 'Fuels show marketplace product',\n FUELS_ADD_MARKETPLACE_PRODUCT = 'Fuels add marketplace product',\n FUELS_EDIT_MARKETPLACE_PRODUCT = 'Fuels edit marketplace product',\n FUELS_DELETE_MARKETPLACE_PRODUCT = 'Fuels delete marketplace product',\n FUELS_SHOW_STOCK_UPDATE = 'Fuels show stock update',\n FUELS_ADD_STOCK_UPDATE = 'Fuels add stock update',\n SHOW_MARKETPLACES = 'Show marketplaces',\n FUELS_SHOW_DEPOSIT = 'Fuels show deposit',\n FUELS_ADD_DEPOSIT = 'Fuels add deposit',\n FUELS_EDIT_DEPOSIT = 'Fuels edit deposit',\n FUELS_DELETE_DEPOSIT = 'Fuels delete deposit',\n FUELS_SHOW_SUPPLY_OFFER = 'Fuels show supply offer',\n FUELS_ADD_SUPPLY_OFFER = 'Fuels add supply offer',\n FUELS_EDIT_SUPPLY_OFFER = 'Fuels edit supply offer',\n FUELS_SHOW_OPERATOR = 'Fuels show operator',\n FUELS_ADD_OPERATOR = 'Fuels add operator',\n FUELS_EDIT_OPERATOR = 'Fuels edit operator',\n FUELS_DELETE_OPERATOR = 'Fuels delete operator',\n FINTECH_BANK_ADMIN = 'Fintech Bank Admin',\n FINTECH_BANK_USER = 'Fintech Bank User',\n FINTECH_PIX_PAYMENT_REVERSAL = 'Pix Payment Reversal',\n FINTECH_CREDIT_ADMIN = 'Fintech Credit Admin',\n FINTECH_CREDIT_USER = 'Fintech Credit User',\n FINTECH_BANK_ADMIN_ACCOUNTS_VIEW = 'Fintech Bank Admin - Accounts View',\n FINTECH_CREDIT_ADMIN_PROPOSAL_NOT_CONFIRMED = 'Fintech Credit Admin - Proposal Not Confirmed',\n FINTECH_CREDIT_ADMIN_CONTRACTS_FOLLOW_UP = 'Fintech Credit Admin - Contracts Follow-Up',\n ADMIN_MARKEPLACE = 'Admin Markeplace',\n APPROVE_REQUEST = 'Approve Request',\n REPROVE_REQUEST = 'Reprove Request',\n SHOW_REQUEST = 'Show Request',\n SHOW_USER = 'Show User',\n ADD_USER = 'Add User',\n EDIT_USER = 'Edit User',\n DELETE_USER = 'Delete User',\n ADD_REGION = 'Add Region',\n SHOW_REGION = 'Show Region',\n EDIT_REGION = 'Edit Region',\n ADD_LOCATION_SHIPPER = 'Add LocationShipper',\n EDIT_LOCATION_SHIPPER = 'Edit LocationShipper',\n SHOW_LOCATION_SHIPPER = 'Show LocationShipper',\n DELETE_LOCATION_SHIPPER = 'Delete LocationShipper',\n ADD_SCHEDULE = 'Add Schedule',\n EDIT_SCHEDULE = 'Edit Schedule',\n SHOW_SCHEDULE = 'Show Schedule',\n ADD_VACANCIES_LOGISTIC = 'Add Vacancies Logistic',\n ADD_VACANCIES_COMMERCIAL = 'Add Vacancies Commercial',\n SHOW_VACANCIES_COMPLETE = 'Show Vacancies Complete',\n ADD_SCHEDULE_OFF = 'Add Schedule Off',\n SHOW_NEWS = 'Show News',\n ADD_NEWS = 'Add News',\n EDIT_NEWS = 'Edit News',\n DELETE_NEWS = 'Delete News',\n HISTORICAL_CHANGES_NEWS = 'Historical Changes News',\n ADD_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Add DistributionCentersCompanyCredit',\n EDIT_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Edit DistributionCentersCompanyCredit',\n SHOW_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Show DistributionCentersCompanyCredit',\n DELETE_DISTRIBUTION_CENTER_COMPANY_CREDIT = 'Delete DistributionCentersCompanyCredit',\n ADD_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Add DistributionCentersCompanyUnitCredit',\n EDIT_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Edit DistributionCentersCompanyUnitCredit',\n SHOW_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Show DistributionCentersCompanyUnitCredit',\n DELETE_DISTRIBUTION_CENTER_COMPANY_CREDIT_UNIT = 'Delete DistributionCentersCompanyUnitCredit',\n APPROVE_VECTOR = 'ApproveVector',\n APPROVE_ETCD = 'ApproveETCD',\n APPROVE_CARRIER = 'ApproveEmbarcador',\n DELETE_PARAMETERS_ETCD = 'Delete Parameters',\n SHOW_RECEPTION_PRODUCT = 'Show Reception Product',\n EDIT_RECEPTION_PRODUCT = 'Edit Reception Product',\n DELETE_RECEPTION_PRODUCT = 'Delete Reception Product',\n ADD_RECEPTION_PRODUCT = 'Add Reception Product',\n SHOW_DIGITAL_DISCHARGE = 'Show Digital Discharge',\n SHOW_DIGITAL_DISCHARGE_FILES = 'Show Digital Discharge Files',\n SHOW_DIGITAL_TRANSPORTATION = 'Show Digital Transportation',\n FULL_ACCESS_DIGITAL_DISCHARGE = 'Full Acess Digital Discharge',\n SHOW_ETCD = 'Show ETCD',\n EDIT_ETCD = 'Edit ETCD',\n DELETE_ETCD = 'Delete ETCD',\n ADD_ETCD = 'Add ETCD',\n SHOW_REGIONAL_ETCD = 'Show Regional ETCD',\n SHOW_VIRTUAL_BRANCH = 'Show Virtual Branch',\n EDIT_VIRTUAL_BRANCH = 'Edit Virtual Branch',\n ADD_VIRTUAL_BRANCH = 'Add Virtual Branch',\n DELETE_VIRTUAL_BRANCH = 'Delete Virtual Branch',\n SHOW_PHYSICAL_BRANCH = 'Show Physical Branch',\n EDIT_PHYSICAL_BRANCH = 'Edit Physical Branch',\n ADD_PHYSICAL_BRANCH = 'Add Physical Branch',\n DELETE_PHYSICAL_BRANCH = 'Delete Physical Branch',\n SHOW_FISCAL_BRANCH = 'Show Fiscal Branch',\n EDIT_FISCAL_BRANCH = 'Edit Fiscal Branch',\n ADD_FISCAL_BRANCH = 'Add Fiscal Branch',\n DELETE_FISCAL_BRANCH = 'Delete Fiscal Branch',\n SHOW_MONITORING_ETCD = 'Show Monitoring ETCD',\n ADD_PRODUCT_ETCD = 'Add Product ETCD',\n EDIT_PRODUCT_ETCD = 'Edit Product ETCD',\n SHOW_PRODUCT_ETCD = 'Show Product ETCD',\n DELETE_PRODUCT_ETCD = 'Delete Product ETCD',\n ADD_PARAMETERS_ETCD = 'Add Parameters ETCD',\n EDIT_PARAMETERS_ETCD = 'Edit Parameters ETCD',\n SHOW_PARAMETERS_ETCD = 'Show Parameters ETCD',\n ADD_FREIGHT_ETCD = 'Add Freight ETCD',\n SHOW_FREIGHT_ETCD = 'Show Freight ETCD',\n APPROVE_ADJUSMENT_ETCD = 'Approve Adjusment ETCD',\n REPROVE_ADJUSMENT_ETCD = 'Reprove Adjusment ETCD',\n ADD_JUSTIFICATIVE_ETCD = 'Add Justificative ETCD',\n EDIT_JUSTIFICATIVE_ETCD = 'Edit Justificative ETCD',\n DELETE_JUSTIFICATIVE_ETCD = 'Delete Justificative ETCD',\n APPROVE_RELEASE_ETCD = 'Approve Release ETCD',\n REPROVE_RELEASE_ETCD = 'Reprove Release ETCD',\n SHOW_ADVANCE_ETCD = 'Show Advance ETCD',\n APPROVE_REQUESTS_ETCD = 'Approve Requests ETCD',\n SHOW_SUPPLY = 'Show Supply',\n SHOW_TRIP_OFFERT = 'Trip Offer Show',\n APPROVE_DISCHARGE_PAYMENT = 'Aprovar quitacao',\n APPROVE_ADVANCE_PAYMENT = 'Aprovar adiantamento',\n APPROVE_ENGINE_PAYMENT = 'Aprovar motor de pagamento',\n EXTRACT_THIRD = 'Extrato terceiro',\n HISTORICAL_CHANGES_GROUPS = 'HistoricalChangesGroups',\n DELETE_ONLY_MEMBER_GROUPS = 'Delete Only Member Groups',\n ADD_ONLY_MEMBER_GROUPS = 'Add Only Member Groups',\n SHOW_GROUPS = 'Show Groups',\n DELETE_GROUPS = 'Delete Groups',\n EDIT_GROUPS = 'Edit Groups',\n ADD_GROUPS = 'Add Groups',\n ADD_UPDATE_GEOFENCE = 'Add Update Geofence',\n SHOW_GEOFENCE = 'Show Geofence',\n SHOW_GEOFENCE_LOG = 'Show Geofence Log',\n HISTORICAL_CHANGES_GEOFENCE = 'Historical Changes Geofence',\n SHOW_DRIVER_LOG = 'Show Driver Log',\n UPDATE_CHECKIN_CHECKOUT = 'Update CheckIn CheckOut',\n AUTOMATIC_CHECKIN = 'Automatic CheckIn',\n SHOW_FILTERS_MONTHLY_RECEPTION = 'Show Filters Monthly Reception',\n VIEW_ROUTE_TRIP = 'View Route Trip',\n SHOW_ROUTE = 'Show Route',\n EDIT_ROUTE = 'Edit Route',\n SHOW_RISK_MANAGEMENT = 'Show Risk Management',\n ADD_RISK_MANAGEMENT = 'Add Risk Management',\n EDIT_RISK_MANAGEMENT = 'Edit Risk Management',\n DELETE_RISK_MANAGEMENT = 'Delete Risk Management',\n DIGITAL_DISCHARGE_BASIC_DATA = 'Quitacao Digital Basic Data',\n DIGITAL_DISCHARGE_ETCD_APPROVER = 'Quitacao Digital ETCD Aprovador',\n DIGITAL_DISCHARGE_ETCD_APPROVER_MANAGEMENT = 'Quitacao Digital ETCD Aprovador Gestor',\n DIGITAL_DISCHARGE_VECTOR_APPROVER = 'Quitacao Digital Vector Aprovador',\n DIGITAL_DISCHARGE_VECTOR_APPROVER_MANAGEMENT = 'Quitacao Digital Vector Aprovador Gestor',\n DIGITAL_DISCHARGE_APPROVE_SAP = 'Quitacao Digital Aprovador Contingencia Sap',\n PAYMENT_FREIGHT_ADJUST_FREIGHT_VALUE = 'Pagamento Frete Ajustar Valor Frete',\n SHOW_MESSAGE_CUSTOM = 'Show Messages Custom',\n DELETE_MESSAGE_CUSTOM = 'Delete Messages Custom',\n ADD_MESSAGE_CUSTOM = 'Add Messages Custom',\n EDIT_MESSAGE_CUSTOM = 'Edit Messages Custom',\n RECEPTION_WITHOUT_SCHEDULING = 'Reception Without Scheduling',\n BANK_EDIT = 'Edit',\n BANK_REGISTER_FULL = 'Cadastro Full',\n SEARCH_CALENDAR_FULL = 'Pesquisar Agenda Full',\n SHOW_MOVEMENT_ETCD = 'Show Movement Etcd',\n CREATE_AND_EDIT_NPS = 'Create and edit NPS',\n READ_NPS_INFORMATION = 'Read NPS information',\n TEX_ONBOARDING_TRACKING = 'OnboardingTracking',\n TEX_CARRIER_ASSOCIATION_TRACKING = 'Carrier Association Tracking',\n BIDDING_PARAMETERS = 'Bidding Parameters',\n DRIVER_SCORE_METRICS_ADMIN = 'Driver Score Metrics Admin',\n SHOW_DOCK_BUILDING = 'Show Dock Building',\n ADD_DOCK_BUILDING = 'Add Dock Building',\n EDIT_DOCK_BUILDING = 'Edit Dock Building',\n EDIT_DOCK = 'Edit Dock',\n FRIENDLY_TRIP = 'Friendly Trip',\n CANCEL_FRIENDLY_TRIP = 'Cancelar Viagem Amiga',\n SHOW_FRIENDLY_TRIP = 'Visualizar Viagem Amiga',\n CREATE_FRIENDLY_TRIP = 'Solicitar Viagem Amiga',\n ADD_OBSERVATION = 'Add Observation',\n SHOW_OBSERVATION = 'Show Observation',\n EDIT_OBSERVATION = 'Edit Observation',\n DELETE_OBSERVATION = 'Delete Observation',\n CLASSIFIER_PARAMETERS_FRIENDLY_TRIP = 'Parâmetros de classificador',\n SCORE_REPORT_FRIENDLY_TRIP = 'Relatório de Pontuação',\n SEND_NFS_ETCD = 'Send NFs ETCD',\n SHOW_ANTECITABLE_RECEVEIBLES = 'Vizualizar antecipacao de recebiveis',\n SHOW_LOG_ANTECITABLE_RECEVEIBLES = 'Vizualizar log antecipacao de recebiveis',\n AUTOMATIC_DISCLOSURE_CONFIGURATIONS = 'Automatic Disclosure Configurations',\n SHOW_PAYMENT_SCHEDULING_DETAIL = 'Show Payment Scheduling Detail',\n SCHEDULE_UPDATE_CHECKIN_CHECKOUT = 'Schedule Update CheckIn CheckOut',\n SHOW_PARAMETERS_CANCEL_TRIPS = 'show Parameters Cancel Trips',\n EDIT_PARAMETERS_CANCEL_TRIPS = 'Edit Parameters Cancel Trips',\n SHOW_PARAMETERS_DIVULGATION_WEB = 'Show Parameters Divulgation Web',\n EDIT_PARAMETERS_DIVULGATION_WEB = 'Edit Parameters Divulgation Web',\n SHOW_PRICE_TAKING = 'Show PriceTaking',\n SHOWTABLE_PRICE_TAKING = 'ShowTable PriceTaking',\n SHOWTABLE_PRICE_TAKING_EXCEL = 'ShowTable PriceTakingExcel',\n SEND_OFFER_PRICE_TAKING = 'Send Offer PriceTaking',\n CHANGE_STATUS_PRICE_TAKING = 'Change Status PriceTaking',\n SHOWTABLE_PRICE_TAKING_HISTORY = 'ShowTable PriceTaking History',\n SAVE_PRICE_TAKING = 'Save PriceTaking',\n SHOW_SHIPPING_ORIGIN = 'Show Shipping Origin',\n SHOW_SHIPPING_COMBINED = 'Show Shipping Combined',\n SHOW_SHIPPING_CONTINUOUS = 'Show Shipping Continuous',\n SHOW_LOYALTY = 'Show Loyalty',\n SHOW_PAYMENT_PARAMETERS = 'Show Payment Parameters',\n COCKPIT_SUMMARY = 'Cockpit Summary',\n COCKPIT_REGISTRATION = 'Cockpit Registration',\n COCKPIT_BANK = 'Cockpit Bank',\n COCKPIT_CREDIT = 'Cockpit Credit',\n COCKPIT_PA = 'Cockpit PA',\n COCKPIT_LOG = 'Cockpit Log',\n CREATE_UPDATE_CARGO_MATCH_VALIDATIONS = 'Create Update Cargo Match Validations',\n SHOW_CARGO_MATCH_ETCD_VALIDATIONS = 'Show Cargo Match Etcd Validations',\n SHOW_CARGO_MATCH_ETCD_VALIDATIONS_HISTORY = 'Show Cargo Match Etcd Validations History',\n PARAMETERIZE_LOT_RANGE_GDV = 'Parameterize Lot Range',\n PERFORM_CHECKIN_CHECKOUT_GDV = 'Perform Checkin CheckOut.',\n UPLOAD_DOCUMENTS_GDV = 'Upload Documents',\n FIX_DOCUMENTS_GDV = 'Fix Documents',\n VALIDATE_DOCUMENT_UPLOAD_GDV = 'Validate Document Upload',\n REQUEST_CORRECTION_DOCUMENT_INFORMATION_GDV = 'Request correction of document information',\n UPLOAD_CTE_MDFE_GDV = 'Upload CTE MDFE',\n APPROVE_CANCELLATION_LOAD_ORDER_GDV = 'Approve cancellation of Load Order',\n SHOW_FREIGHT_SIMULATOR_ETCD = 'Show Freight Simulator Etcd',\n CREATE_UPDATE_FREIGHT_SIMULATOR_ETCD = 'Create Update Freight Simulator Etcd',\n APPROVE_REPROVE_ETCD_SIMULATION = 'Approve Reprove Etcd Simulation',\n ADVANCE_AND_DISCHARGE_PAYMENT = 'Advance and discharge payment',\n PAYMENT_ENGINE = 'Payment Engine',\n PAYMENT_STATEMENT = 'Payment Statement',\n EDIT_CARRIER_SUSTAINABLE = 'Edit Carrier Sustainable',\n SHOW_CARRIER_SUSTAINABLE = 'Show Carrier Sustainable',\n SHOW_ORDER_TRAKING = 'Show OrderTraking',\n SHOW_ORDER_TRAKING_EXCEL = 'Show OrderTrakingExcel',\n EDIT_ORDER_TRAKING_CONFIG = 'Edit OrderTrakingConfig',\n SEND_DOCUMENTS_TRIP_MANUAL = 'Send Documents Trip Manual',\n DELETE_DOCUMENTS_TRIP_MANUAL = 'Delete Documents Trip Manual',\n SEND_DOCUMENTS_CARGO_MANUAL = 'Send Documents Cargo Manual',\n ADD_POOLOFFERT = 'Add PoolOffert',\n DELETE_POOLOFFERT = 'Delete PoolOffert',\n SHOW_POOLOFFERT = 'Show PoolOffert',\n EDIT_POOLOFFERT = 'Edit PoolOffert',\n DOCUMENTARY_IRREGULARITY = 'documentaryIrregularity',\n DOCUMENTARY_IRREGULARITY_FULL_SEARCH = 'documentaryIrregularityFullSearch',\n BLOCK_USER_ACCESS = 'Block User Access',\n SHOW_DRIVER_DASHBOARD = 'Show Driver Dashboard',\n ENABLE_DISABLE_BROADCAST_GRID = 'Enabled-Disabled broadcast in grid',\n SHOW_BIDDING = 'Show Bidding',\n ADD_FREIGHT_RATE = 'Add Freight Rate',\n ADD_MANUAL_CARGO = 'Add Manual Cargo',\n EDIT_TRIP_OFFER = 'Trip Offer Edit',\n SHOW_TRIP_OFFER = 'Trip Offer Show',\n CANCEL_TRIP_OFFER_CARGO_MATCH = 'Trip Offer Cargo Match Cancel',\n CREATE_EDIT_ETCD_MANUAL = 'Create Edit Etcd Manual',\n DUPLICATE_LOT = 'Duplicar Lote',\n ADD_LOT_NORMAL = 'Add Lot Normal',\n DUPLICATE_CARGO = 'Duplicar Carga',\n DISCLOSURE_IN_MASS = 'Disclosure En Masse',\n EDIT_BIDDING = 'Edit Bidding',\n SHOW_CHECKLIST_PARAMETER = 'Show Checklist Parameter',\n ADD_CHECKLIST_PARAMETER = 'Add Checklist Parameter',\n EDIT_CHECKLIST_PARAMETER = 'Edit Checklist Parameter',\n DELETE_CHECKLIST_PARAMETER = 'Delete Checklist Parameter',\n SHOW_CHECKLIST_PARAMETER_HISTORY = 'Show Checklist Parameter History',\n ADD_CHECKLIST_PARAMETER_TYPE = 'Add Checklist Parameter Type',\n ADD_MAIL_LOTS = 'Add Mails Lots',\n ADD_ROUTE = 'Add Route',\n ADD_CASH_ADVANCE = 'Add Cash Advance',\n ADD_HAS_TOLL = 'Add Has Toll',\n EDIT_FREIGHT_RATE = 'Edit Freight Rate',\n ADD_FREIGHT_RATE_SON = 'Add Freight Rate Son',\n EDIT_FREIGHT_RATE_SON = 'Edit Freight Rate Son',\n CHANGE_IS_POC = 'ChangeIsPOC',\n APPROVE_BIDDING_CLOSURE = 'Aprovar encerramento do Bidding',\n APPROVE_BIDDING_WITH_GREATER_VALUE = 'Aprovar Bidding com valor maior que o menor valor',\n VEHICLE_SHOW_SHIPPER_PETROBRAS = 'Vehicle Show Shipper Petrobras',\n DRIVER_SHOW_SHIPPER_PETROBRAS = 'Driver Show Shipper Petrobras',\n CARRIER_SHOW_SHIPPER_PETROBRAS = 'Carrier Show Shipper Petrobras',\n SHOW_CARRIER_DOCUMENTS = 'Show Carrier Documents',\n EDIT_CARRIER_DOCUMENTS = 'Edit Carrier Documents',\n CARRIER_VALIDATE_DOCUMENTS = 'Carrier Validate Documents',\n SHOW_VEHICLE_DOCUMENTS = 'Show Vehicle Documents',\n SAVE_VEHICLE_DOCUMENTS = 'Save Vehicle Documents',\n VEHICLE_VALIDATE_DOCUMENTS = 'Vehicle Validate Documents',\n SAVE_DRIVER_DOCUMENTS = 'Save Driver Documents',\n SHOW_DRIVER_DOCUMENTS = 'Show Driver Documents',\n DRIVER_VALIDATE_DOCUMENTS = 'Driver Validate Documents',\n ONLY_SHOW_PROFILE_PETROBRAS = 'Only Show Profile Petrobras',\n SHOW_PARAMETERS_CARRIER = 'Show Parameters Carrier',\n SAVE_CARRIERS_DOCUMENTS = 'Save Carriers Documents',\n APRV_Validation = 'APRV_Validation',\n SHOW_PLANNED_TRIPS = 'Show Planned Trips',\n ADD_PLANNED_TRIPS = 'Add Planned Trips',\n ADD_MONITORING_PLANNED_TRIPS = 'Add Monitoring Planned Trips',\n SHOW_MONITORING_PLANNED_TRIPS = 'Show Monitoring Planned Trips',\n SHOW_DRIVER_TRIP_INFO_DETAIL = 'Show Driver Trip Info Detail',\n MANUAL_CHECKLIST_APPLICATION = 'Manual Checklist Application',\n SUPPLIER_UPDATE_CHECKIN_CHECKOUT = 'Supplier Update CheckIn CheckOut',\n RETROACTIVE_STEP_ADVANCEMENT = 'Retroactive Show',\n EDIT_CONFIGURATION = 'Edit Configuration',\n DELETE_ROTOGRAM = 'Delete Rotogram',\n ADD_OBSERVATION_EVENT = 'Add Observation Event',\n APPROVED_EVENT = 'Approved Event',\n SHOW_ROUTE_PLANNED_TRIP = 'Show Route Planned Trip',\n NEW_ROUTE_PLANNED_TRIP = 'New Route Planned Trip',\n EDIT_ROUTE_PLANNED_TRIP = 'Edit Route Planned Trip',\n NEW_ROTOGRAM = 'New Rotogram',\n SHOW_ROTROGRAM = 'Show Rotogram',\n LOW_FUEL_STOCK_RECEPTION_PRODUCT = 'Low Fuel Stock Reception Product',\n SHOW_TELEMETRY_POINT = 'Show TelemetryPoints',\n ADD_BLOCK_HAZMAT = 'Add Block Hazmat',\n SHOW_BLOCK_HAZMAT = 'Show Block Hazmat',\n EDIT_BLOCK_HAZMAT = 'Edit Block Hazmat',\n CONFIGURE_APPROVAL_AUTHORITY = 'Configure Approval Authority',\n SHOW_APPROVAL_AUTHORITY_CONFIG = 'Show Approval Authority Config',\n BUY_VALE_PEDAGIO = 'Buy Vale Pedagio',\n CANCEL_VALE_PEDAGIO = 'Cancel Vale Pedagio',\n SHOW_INFO_VALE_PEDAGIO = 'Show Info Vale Pedagio',\n SHOW_ORDER_TRAKING_UNTIL_TRIP_EN = 'Show OrderTraking Until Trip EN',\n AUDIT_CHECKLIST = 'Audit CheckList',\n ADD_SURVEY_DRIVER = 'Add Survey Driver',\n SHOW_SURVEY_DRIVER = 'Show Survey Driver',\n EDIT_SURVEY_DRIVER = 'Edit Survey Driver',\n DELETE_SURVEY_DRIVER = 'Delete Survey Driver',\n SHOW_SHIPPING_FREIGHT = 'Show Shipping Freight',\n MANAGE_SHIPPING_FREIGHT = 'Manage Shipping Freight',\n UPDATE_TRAVEL_APPROVAL = 'Update Travel Approval',\n CONFIGURE_WAITING_LINES = 'Configure Waiting Lines',\n ADD_WAITING_LINES = 'Add Waiting Lines',\n SHOW_WAITING_LINES = 'Show Waiting Lines',\n CALL_DRIVER_WAITING_LINES = 'Call Driver Waiting Lines',\n MONITORING_HANDLE_EVENT = 'Monitoring Handle Event',\n MONITORING_JUSTIFY_EVENT = 'Monitoring Justify Event',\n APPROVE_POOL_BIDDING_CLOSURE = 'Aprovar Encerramento Pool Bidding',\n APPROVE_POOL_BIDDING_LESSER_VALUE = 'Aprovar Bidding Pool Com Valor Maior Que Menor Valor',\n SHOW_GR_VECTOR_PARAMETERS = 'Show GR Vector Parameters',\n ACTIVATE_OR_INACTIVATE_GR_PARAMETERS = 'Activate or Inactivate GR Parameters',\n UPDATE_GR_PARAMETERS = 'Update GR Parameters',\n CREATE_GR_VECTOR = 'Create GR Vector',\n APPROVE_OR_DISAPROVE_GR = 'Approve Or Disaprove Gr',\n SHOW_GR_VECTOR = 'Show GR Vector',\n ADD_DRIVER_MULTICARRIER = 'Add Driver MultiCarrier',\n APPROVE_OR_DISAPPROVE_ANALYSIS = 'Approve Or Disapprove Analysis',\n VIEW_LOCATION_GROUP = 'View Location Group',\n CREATE_LOCATION_GROUP = 'Create Location Group',\n EDIT_LOCATION_GROUP = 'Edit Location Group',\n DEACTIVATE_LOCATION_GROUP = 'Deactivate Location Group',\n DELIVERY_TOLL_CARD = 'Delivery Toll Card',\n SHOW_TOLL_CARD = 'View Toll Card',\n EDIT_TOLL_CARD = 'Edit Toll Card',\n SENT_TO_SAP_SUPPLY = 'Sent To Sap Supply',\n SAVE_NFSAP_DOCUMENTS = 'Save NFSap Documents',\n SHOW_LOT_PARAMETER_SHIPPER = 'Show Lot Parameter Shipper',\n SAVE_LOT_PARAMETER_SHIPPER = 'Save Lot Parameter Shipper',\n SHOW_GENERAL_PARAMETERS = 'Show General Parameters',\n SHOW_DISTRIBUTION_OF_VACANCIES = 'Show Distribution Of Vacancies',\n SHOW_SCHEDULE_SCHEDULING_MANAGEMENT = 'Show Schedule Scheduling Management',\n SHOW_HISTORICAL_SCHEDULING_MANAGEMENT = 'Show Historical Scheduling Management',\n DELETE_SUPPLIER_SCHEDULING_MANAGEMENT = 'Delete Supplier Scheduling Management',\n EDIT_VECTOR_SHIFT_VACANCIES = 'Edit Vector Shift Vacancies',\n SHOW_ESTIMATED_TIME_TO_ARRIVE = 'Show Estimated Time To Arrive',\n EDIT_ESTIMATED_TIME_TO_ARRIVE = 'Edit Estimated Time To Arrive',\n SHOW_ETA_VECTOR = 'Show Eta Vector',\n SHOW_PROFILEUSER = 'Show ProfileUser',\n EDIT_PROFILEUSER = 'Edit ProfileUser',\n CREATE_PROFILEUSER = 'Create ProfileUser',\n ACTIVATE_PROFILEUSER = 'Activate ProfileUser',\n DEACTIVATE_PROFILEUSER = 'Deactivate ProfileUser',\n ADD_SUPPLY_MANUAL = 'Add Supply Manual',\n SHOW_ISS_PARAMS = 'Show Iss Param',\n SHOW_PGR_INSURANCE = 'Show PGR Insurance',\n ADD_PGR_CONTRACTS = 'Add PGR Contracts',\n DELETE_PGR_CONTRACTS = 'Delete PGR Contracts',\n ADD_PGR_RULES = 'Add PGR Rules',\n DELETE_PGR_RULES = 'Delete PGR Rules',\n ADD_PGR_CONFIGURATIONS = 'Add PGR Configurations',\n CREATE_ISS_PARAMS = 'Create Iss Param',\n EDIT_ISS_PARAMS = 'Edit Iss Param',\n DELETE_LOCATION_SHIFT_PRIORITY = 'Delete Location Shift Priority',\n ADD_LOCATION_SHIFT_PRIORITY = 'Add Location Shift Priority',\n SAVE_CLIENT_ORDER_TRACKING = 'Save Client Order Tracking',\n SHOW_CLIENT_ORDER_TRACKING = 'Show Client Order Tracking',\n SHOW_PARAMETER_ORDER_TRACKING = 'Show Parameter Order Tracking',\n SAVE_PARAMETER_ORDER_TRACKING = 'Save Parameter Order Tracking',\n SHOW_PARAMETERS_MONITORING = 'Show Parameters Monitoring',\n ADD_PARAMETERS_MONITORING = 'Add Parameters Monitoring',\n FINALIZE_PLANNED_TRIP_PENDING_FINISH = 'Finalize Planned Trip Pending Finish',\n SHOW_PLANNED_TRIP_LOGS = 'Show Planned Trip Logs',\n CONTROL_CADASTRO_EXCEL_EXPORT = 'Control Cadastro Excel Export',\n OPEN_SHIFTS_MANUALLY = 'Open Shifts Manually',\n OPEN_PROGRAMABILITY_SHIFT = 'Open Programability Shift',\n SHOW_TRIPS_REFUSED = 'Show Trips Refused',\n SHOW_GTFROTA_PENDING_SUPPLY_LOG = 'Show GtFrotaPendingSupplylog',\n CREDIT_LIMIT_MANAGEMENT = 'Credit Limit Management',\n LOCATION_SCHEDULE_INTEGRATION_EDIT = 'Location Schedule Integration Edit',\n LIST_TOLL_CARD = 'List Toll Card',\n LINK_TOLL_CARD = 'Link Toll Card',\n SHOW_TRIP_VECTOR_PAY = 'Exibir Parâmetros Viagem',\n EDIT_TRIP_VECTOR_PAY = 'Editar Parâmetros Viagem',\n N2_APPROVAL_HISTORICAL_LINKAGE_LOT = 'N2 Approval Historical Linkage Lot',\n N1_APPROVAL_HISTORICAL_LINKAGE_LOT = 'N1 Approval Historical Linkage Lot',\n SHOW_SHIPPER_LOTCADENCECONFIGURATION = 'Show ShipperLotCadenceConfiguration',\n EDIT_SHIPPER_LOTCADENCECONFIGURATION = 'Edit ShipperLotCadenceConfiguration',\n SHOW_LOTCADENCECONFIGURATION = 'Show LotCadenceConfiguration',\n EDIT_LOTCADENCECONFIGURATION = 'Edit LotCadenceConfiguration',\n EDIT_LOTDAILYCADENCES = 'Edit LotDailyCadences',\n PERMISSION_N2_CHANGE_FREIGHT = 'Permission N2 Change Freight',\n PERMISSION_N3_CHANGE_FREIGHT = 'Permission N3 Change Freight',\n PERMISSION_N4_CHANGE_FREIGHT = 'Permission N4 Change Freight',\n CLEAN_OLD_LOTDAILYCADENCES = 'Clean Old LotDailyCadences',\n SHOW_CONTROL_CARD_ADMIN = 'Toll Card Admin',\n SHOW_CONTROL_CARD_PARTNER = 'Toll Card Partner',\n SHOW_HEAT_MAP = 'Show Heat Map',\n SHOW_STATUS_MAP = 'Show Status Map',\n BUNGE_REFUND_TOTAL = 'Bunge Estorno Total',\n TOLL_MANAGEMENT = 'Gestão de Pedágio',\n DASHBOARD_VECTORPAY = 'Dashboard VectorPay',\n BUNGE_REFUND_PARTIAL = 'Bunge Estorno Parcial',\n ADD_REFUND_PARTIAL = 'AdicionarEstornoParcial',\n SEARCH_PAYMENT_TAG_HISTORY = 'Search Tag History',\n CAN_ADD_AGGREGATOR = 'Adicionar Agenciados',\n CAN_ACTIVATE_AGGREGATOR = 'Ativar Agenciadores',\n EDIT_PARAM_TOLL = 'Parametros Pedagio',\n CADOC_4111 = 'Documento De Saldos Contábeis Diários 4111',\n CADOC_1201 = 'Documento De Saldos Contábeis Diários 1201',\n EDIT_SCHEDULE_CHECKED_IN = 'Edit Schedule (Checked-in)',\n SHOW_IRREGULARITY = 'Show Irregularity',\n LOG_DISCHARGE_PAYMENT = 'Log Quitacao',\n EDIT_ISS = 'Editar ISS',\n EDIT_ICMS = 'Editar ICMS',\n CREATE_ICMS_PARAMS = 'Create Icms Param',\n EDIT_ICMS_PARAMS = 'Edit Icms Param',\n SHOW_ICMS_PARAMS = 'Show Icms Param',\n APPROVE_PAYMENT_CARRIER_ADMIN = 'Approve Payment - Carrier Admin',\n}\n","export enum Role {\n ADMIN = 'ADMIN',\n}\n","export enum Status {\n PENDING,\n APPROVED,\n REJECTED,\n INFO,\n NOT_EXECUTEDCOUNT\n}\n","export enum View {\n HOME,\n ADMIN,\n DIGITAL_CARRIER,\n RISK_MANAGER,\n VECTOR_CLUB,\n}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Status } from '../../models';\n\n@Component({\n selector: 'vector-badge',\n templateUrl: './badge.component.html',\n styleUrls: ['./badge.component.scss'],\n})\nexport class BadgeComponent implements OnInit {\n @Input()\n public type?: Status;\n @Input()\n public label?: string;\n @Input()\n public customColor?: string;\n @Input()\n public customBackgroundColor?: string;\n @Input()\n public tooltip?: string;\n\n constructor() {}\n\n ngOnInit(): void {}\n\n public getStatusColor() {\n switch (this.type) {\n case Status.PENDING:\n return 'badge-warning';\n case Status.APPROVED:\n return 'badge-success';\n case Status.REJECTED:\n return 'badge-error';\n case Status.INFO:\n return 'badge-info';\n }\n return '';\n }\n}\n","<div\n class=\"badge\"\n [class]=\"getStatusColor()\"\n [ngStyle]=\"{ 'background-color': customBackgroundColor, color: customColor }\"\n [pTooltip]=\"tooltip || ''\"\n tooltipPosition=\"top\"\n>\n {{ label }}\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'currencyBrl',\n})\nexport class CurrencyBrlPipe implements PipeTransform {\n transform(value: number = 0): string {\n if (!value) value = 0;\n return `${value.toLocaleString('pt-BR', { currency: 'BRL', minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;\n }\n}\n","export class CpfCnpjValidator {\n public static validateCpfOrCnpj(taxId: string) {\n taxId = taxId.replace(/[^0-9]+/g, '');\n\n if (taxId.length == 11) {\n return this.validateCpf(taxId);\n } else if (taxId.length == 14) {\n return this.validateCnpj(taxId);\n } else {\n return false;\n }\n }\n\n public static validateCpf(cpf: string) {\n if (!cpf?.trim() || cpf.length !== 11 || !cpf.match('^[0-9]+$')) {\n return false;\n }\n\n if (\n [\n '00000000000',\n '11111111111',\n '22222222222',\n '33333333333',\n '44444444444',\n '55555555555',\n '66666666666',\n '77777777777',\n '88888888888',\n '99999999999',\n ].includes(cpf)\n ) {\n return false;\n }\n let num: number = 0;\n let caracter: string = '';\n let counter: number = 10;\n let sum: number = 0;\n let rest: number = 0;\n let firstDigit: number = 0;\n let secondDigit: number = 0;\n let cpfAux: string = '';\n cpfAux = cpf.substring(0, 9);\n for (let i: number = 0; i < 9; i++) {\n caracter = cpfAux.charAt(i);\n num = Number(caracter);\n sum = sum + num * counter;\n counter--;\n }\n rest = sum % 11;\n firstDigit = 11 - rest;\n if (firstDigit > 9) {\n firstDigit = 0;\n }\n counter = 11;\n sum = 0;\n cpfAux = cpfAux + firstDigit;\n for (let i: number = 0; i < 10; i++) {\n caracter = cpfAux.charAt(i);\n num = Number(caracter);\n sum = sum + num * counter;\n counter--;\n }\n rest = sum % 11;\n secondDigit = 11 - rest;\n if (secondDigit > 9) {\n secondDigit = 0;\n }\n cpfAux = cpfAux + secondDigit;\n return cpf === cpfAux;\n }\n\n public static validateCnpj(cnpj: string) {\n cnpj = cnpj.replace(/[^\\d]+/g, '');\n\n if (cnpj == '') return false;\n\n if (cnpj.length != 14) return false;\n\n if (\n [\n '00000000000000',\n '11111111111111',\n '22222222222222',\n '33333333333333',\n '44444444444444',\n '55555555555555',\n '66666666666666',\n '77777777777777',\n '88888888888888',\n '99999999999999',\n ].includes(cnpj)\n )\n return false;\n\n let size = cnpj.length - 2;\n let numbers = cnpj.substring(0, size);\n let digits = cnpj.substring(size);\n let sum = 0;\n let pos = size - 7;\n for (let i = size; i >= 1; i--) {\n sum += parseInt(numbers.charAt(size - i)) * pos--;\n if (pos < 2) pos = 9;\n }\n let resultado = sum % 11 < 2 ? 0 : 11 - (sum % 11);\n if (resultado != parseInt(digits.charAt(0))) return false;\n\n size = size + 1;\n numbers = cnpj.substring(0, size);\n sum = 0;\n pos = size - 7;\n for (let i = size; i >= 1; i--) {\n sum += parseInt(numbers.charAt(size - i)) * pos--;\n if (pos < 2) pos = 9;\n }\n resultado = sum % 11 < 2 ? 0 : 11 - (sum % 11);\n if (resultado != parseInt(digits.charAt(1))) return false;\n\n return true;\n }\n}\n","import { saveAs } from 'file-saver';\n\nexport class FileUtil {\n public static getBlob(base64StringData: string, mimeType: string) {\n const decodedData = atob(base64StringData);\n const byteNumbers = new Array(decodedData.length);\n for (let i = 0; i < decodedData.length; i++) {\n byteNumbers[i] = decodedData.charCodeAt(i);\n }\n return new Blob([new Uint8Array(byteNumbers)], { type: mimeType });\n }\n public static downloadFile(mimeType: string, base64StringData: string, fileName: string) {\n saveAs(FileUtil.getBlob(base64StringData, mimeType), fileName);\n }\n}\n","const CPF_PATTERN = '###.###.###-##';\nconst CNPJ_PATTERN = '##.###.###/####-##';\nconst BOLETO_PATTERN = '#####.##### #####.###### #####.###### # ############## #';\nconst POSTALCODE_PATTERN = '#####-###';\nconst CELLPHONE_PATTERN = '(##) #####-####';\nconst PHONE_PATTERN = '(##) ####-####';\nconst PLATE_PATTERN = '###-####';\nconst HOURS_MINUTES_PATTERN = '##:##';\nconst DNI_PATTERN = '##.###.###';\nconst CUIT_PATTERN = '##-########-#';\n\nexport class MaskUtil {\n public static CPF_TEXT_FIELD_PATTERN = '999.999.999-99';\n public static CNPJ_TEXT_FIELD_PATTERN = '99.999.999/9999-99';\n public static BOLETO_TEXT_FIELD_PATTERN = '99999.99999 99999.999999 99999.999999 9 99999999999999 9';\n public static CELLPHONE_TEXT_FIELD_PATTERN = '(99) 99999-9999';\n public static PHONE_TEXT_FIELD_PATTERN = '(99) 9999-9999';\n public static POSTALCODE_TEXT_FIELD_PATTERN = '99999-999';\n public static PLATE_FIELD_PATTERN = 'aaa-9*99';\n public static HOURS_MINUTES_FIELD_PATTERN = '99:99';\n public static DNI_FIELD_PATTERN = '99.999.999';\n public static CUIT_FIELD_PATTERN = '99.99999999.9';\n\n public static formatDocument(stringValue: string) {\n if (!stringValue) {\n return '';\n }\n\n var unmaskedString = this.removerSpecialChars(stringValue);\n if (unmaskedString.length === 11) {\n return this.doMaskString(unmaskedString, CPF_PATTERN);\n }\n\n if (unmaskedString.length === 14) {\n return this.doMaskString(unmaskedString, CNPJ_PATTERN);\n }\n\n return stringValue;\n }\n\n public static removerSpecialChars(text: string): string {\n return text.replace(/[.\\-\\/]/g, '');\n }\n\n public static formatPostalCode(stringValue: string) {\n return this.doMaskString(stringValue, POSTALCODE_PATTERN);\n }\n\n public static formatBoleto(stringValue: string) {\n return this.doMaskString(stringValue, BOLETO_PATTERN);\n }\n\n public static formatPhone(stringValue: string) {\n if (!stringValue) {\n return '';\n }\n\n if (stringValue.length === 11) {\n return this.doMaskString(stringValue, CELLPHONE_PATTERN);\n } else if (stringValue.length === 10) {\n return this.doMaskString(stringValue, PHONE_PATTERN);\n }\n\n return stringValue;\n }\n\n public static formatHoursMinutes(stringValue: string) {\n return this.doMaskString(stringValue, HOURS_MINUTES_PATTERN);\n }\n\n public static formatPlate(stringValue: string) {\n return this.doMaskString(stringValue, PLATE_PATTERN);\n }\n\n public static formatDni(stringValue: string) {\n return this.doMaskString(stringValue, DNI_PATTERN);\n }\n\n public static formatCuit(stringValue: string) {\n return this.doMaskString(stringValue, CUIT_PATTERN);\n }\n\n public static doMaskString(str: string, pattern?: string) {\n if (!str?.trim()) {\n return '';\n }\n\n if (!pattern || !pattern.includes('#')) {\n console.warn('Utilize uma máscara válida. Ex.: (##) #####-####');\n return str;\n }\n let i = 0;\n return pattern.replace(/#/g, () => str[i++]);\n }\n}\n","export class ObjectUtil {\n public static getObjectKeys<T>(obj: Object): Array<keyof T> {\n if (!obj) {\n return [];\n }\n\n return Object.keys(obj).map((key: string) => key as keyof T);\n }\n\n public static isValid(obj: any) {\n return obj !== null && obj !== undefined;\n }\n\n public static getCodes(obj: any): any {\n if (!obj) {\n return {};\n }\n\n return Object.keys(obj).reduce((acc, curr) => {\n let value = obj[curr];\n try {\n value = JSON.parse(obj[curr]);\n } catch (_) {\n value = obj[curr];\n }\n return { ...acc, [curr]: value?.code || value };\n }, {});\n }\n}\n","export class StringUtil {\n public static getInitials(nameString?: string) {\n if (!nameString) {\n return '';\n }\n\n const initials = nameString.split(' ').map((namePart) => namePart.substr(0, 1));\n return initials ? `${initials[0]}${initials[initials.length - 1]}` : '';\n }\n\n public static revertString(str: string) {\n if (!str) {\n return '';\n }\n\n return str.split('').reverse().join('');\n }\n\n public static convertTimeToMinutes(timeText: string): number {\n const parts = timeText.split(':');\n const minutes = parseInt(parts[0]);\n const seconds = parseInt(parts[1]);\n const minutesTotals = minutes + seconds / 60;\n return minutesTotals;\n }\n\n public static convertMinutesToTime(minutesTotal: number): string {\n const minutes = Math.floor(minutesTotal);\n const seconds = Math.round((minutesTotal - minutes) * 60);\n\n const minutesText = `${minutes}`.padStart(2, '0');\n const secondsText = `${seconds}`.padStart(2, '0');\n\n return `${minutesText}:${secondsText}`;\n }\n\n public static convertObjectToQueryString(obj: Record<string, any>): string {\n const queryParams: string[] = [];\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key]) {\n queryParams.push(`${key}=${obj[key]}`);\n }\n }\n return queryParams.join('&');\n }\n\n public static convertToUppercaseWithoutSymbols(stringValue: string, withSpace?: boolean): string {\n const convert = stringValue\n .toUpperCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .replace(/[^\\w\\s]/g, '');\n\n if (withSpace) {\n return convert.replace(/\\s+/g, ' ');\n } else {\n return convert.replace(/\\s+/g, '');\n }\n }\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { ObjectUtil } from './object.util';\n\nexport class ValidationUtil {\n public static email(control: AbstractControl): ValidationErrors | null {\n const email = control.value as string;\n\n if (!email || email === '') {\n return null;\n }\n\n if (\n !email.match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/) ||\n email.match(/['`~!#%^&*()|+¨=?;:'´\",<>\\{\\}\\[\\]\\\\\\/]/gi)\n ) {\n return {\n email: true,\n };\n }\n\n return null;\n }\n\n public static fullName(control: AbstractControl): ValidationErrors | null {\n const name: string = control.value;\n if (!name) {\n return null;\n }\n\n const splittedName = name\n .trim()\n .split(' ')\n .map((namePart) => namePart.trim());\n\n if (splittedName.length < 2) {\n return { invalid: 'Deve conter pelo menos um nome e sobrenome.' };\n }\n return null;\n }\n\n public static noMultipleWhitespace(control: AbstractControl): ValidationErrors | null {\n const name: string = control.value;\n\n if (name) {\n if (!name.match(/^([a-zA-ZÀ-ú0-9]+\\s)*[a-zA-ZÀ-ú0-9]+$/)) {\n return { haveWhiteSpace: true };\n }\n }\n return null;\n }\n\n public static isValidTaxId(control: AbstractControl): ValidationErrors | null {\n if (!control.value) {\n return null;\n }\n\n if (control.value.length === 11) {\n return ValidationUtil.isValidCpf(control);\n }\n if (control.value.length === 14) {\n return ValidationUtil.isValidCnpj(control);\n }\n\n return null;\n }\n\n public static isValidCpf(control: AbstractControl): ValidationErrors | null {\n const cpf = control.value;\n if (cpf) {\n let numbers, digits, sum, i, result, equalDigits;\n equalDigits = 1;\n if (cpf.length < 11) {\n return null;\n }\n\n for (i = 0; i < cpf.length - 1; i++) {\n if (cpf.charAt(i) !== cpf.charAt(i + 1)) {\n equalDigits = 0;\n break;\n }\n }\n\n if (!equalDigits) {\n numbers = cpf.substring(0, 9);\n digits = cpf.substring(9);\n sum = 0;\n for (i = 10; i > 1; i--) {\n sum += numbers.charAt(10 - i) * i;\n }\n\n result = sum % 11 < 2 ? 0 : 11 - (sum % 11);\n\n if (result !== Number(digits.charAt(0))) {\n return { cpfNotValid: true };\n }\n numbers = cpf.substring(0, 10);\n sum = 0;\n\n for (i = 11; i > 1; i--) {\n sum += numbers.charAt(11 - i) * i;\n }\n result = sum % 11 < 2 ? 0 : 11 - (sum % 11);\n\n if (result !== Number(digits.charAt(1))) {\n return { cpfNotValid: true };\n }\n return null;\n } else {\n return { cpfNotValid: true };\n }\n }\n return null;\n }\n\n public static isValidCnpj(control: AbstractControl): ValidationErrors | null {\n let cnpj = control.value;\n cnpj = cnpj.replace(/[^\\d]+/g, '');\n if (/^(\\d)\\1+$/.test(cnpj)) {\n return { cnpjNotValid: true };\n }\n\n let t = cnpj.length - 2,\n d = cnpj.substring(t),\n d1 = parseInt(d.charAt(0)),\n d2 = parseInt(d.charAt(1)),\n calc = (x: number) => {\n let n = cnpj.substring(0, x),\n y = x - 7,\n s = 0,\n r = 0;\n for (let i = x; i >= 1; i--) {\n s += n.charAt(x - i) * y--;\n if (y < 2) y = 9;\n }\n r = 11 - (s % 11);\n return r > 9 ? 0 : r;\n };\n if (calc(t) === d1 && calc(t + 1) === d2) {\n return null;\n } else {\n return { cnpjNotValid: true };\n }\n }\n\n public static majorAge(control: AbstractControl): ValidationErrors | null {\n if (!control.value) {\n return null;\n }\n const age = ~~((Date.now() - control.value) / 31557600000);\n\n if (age < 18) {\n return { isNotMajorAge: true };\n }\n return null;\n }\n\n public static matchField(anotherField: AbstractControl | null): ValidatorFn {\n const validator = (control: AbstractControl) => {\n if (!control.value || !anotherField?.value) {\n return null;\n }\n if (control.value !== anotherField?.value) {\n return { fieldDoesNotMatch: true };\n }\n\n return null;\n };\n return validator;\n }\n\n public static cellphone(control: AbstractControl): ValidationErrors | null {\n if (!control.value || control.value.length < 11) {\n return null;\n }\n\n const firstNumber = control.value.substring(2, 3);\n\n if (firstNumber != '9') {\n return { cellphoneInvalid: true };\n }\n\n return null;\n }\n\n public static lowerThanOrEqualTo(greaterControlName: string): ValidatorFn {\n const validator = (control: AbstractControl) => {\n const lowerValue = control.value;\n const greaterValue = control.parent?.get(greaterControlName)?.value;\n if (!control.parent?.get(greaterControlName)) {\n console.log(`Control with name ${greaterControlName} not registered`);\n return {};\n }\n if (\n ObjectUtil.isValid(lowerValue) &&\n ObjectUtil.isValid(greaterValue) &&\n lowerValue !== '' &&\n greaterValue !== '' &&\n +lowerValue > +greaterValue\n ) {\n return {\n invalid: 'Valor mínimo deve ser menor ou igual ao valor máximo',\n };\n }\n return {};\n };\n return validator;\n }\n\n public static greaterThanOrEqualTo(lowerControlName: string): ValidatorFn {\n const validator = (control: AbstractControl) => {\n const greaterValue = control.value;\n const lowerValue = control.parent?.get(lowerControlName)?.value;\n if (!control.parent?.get(lowerControlName)) {\n console.log(`Control with name ${lowerControlName} not registered`);\n return {};\n }\n if (\n ObjectUtil.isValid(lowerValue) &&\n ObjectUtil.isValid(greaterValue) &&\n lowerValue !== '' &&\n greaterValue !== '' &&\n +lowerValue > +greaterValue\n ) {\n return {\n invalid: 'Valor máximo deve ser maior ou igual ao valor mínimo',\n };\n }\n return {};\n };\n return validator;\n }\n\n public static notSequentialNumbers(length: number): ValidatorFn {\n const validator = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = control.value;\n const sequentialNumbers = '01234567890123456789';\n\n if (controlValue) {\n if (controlValue.length === length) {\n if (~sequentialNumbers.indexOf(control.value)) {\n return { isSequential: true };\n } else if (!!controlValue.match(/^(\\d)\\1+$/)) {\n return { isSequential: true };\n } else {\n return null;\n }\n }\n }\n return null;\n };\n return validator;\n }\n\n public static firstLetterIsUppercase(control: AbstractControl): ValidationErrors | null {\n const controlValue = control.value as string;\n const regex = /^([A-ZÀ-Ú][a-zà-ú]*)(?:\\s+([A-ZÀ-Ú][a-zà-ú]*))*$/;\n\n if (!!controlValue) {\n if (!controlValue.match(regex)) {\n return { invalidField: true };\n }\n return null;\n }\n return null;\n }\n\n public static containsLettersAndNumbers(control: AbstractControl): ValidationErrors | null {\n const controlValue = control.value as string;\n const regex = /^(?=.*[0-9])(?=.*[A-z])([A-z0-9_-]+)$/;\n\n if (!!controlValue) {\n if (!!!controlValue.match(regex)) {\n return { isNotAlphaNumeric: true };\n }\n return null;\n }\n return null;\n }\n\n public static greaterThanTo(lowerControlName: string): ValidatorFn {\n const validator = (control: AbstractControl) => {\n const greaterValue = control.value;\n const lowerValue = control.parent?.get(lowerControlName)?.value;\n if (!control.parent?.get(lowerControlName)) {\n console.log(`Control with name ${lowerControlName} not registered`);\n return {};\n }\n if (\n ObjectUtil.isValid(lowerValue) &&\n ObjectUtil.isValid(greaterValue) &&\n lowerValue !== '' &&\n greaterValue !== '' &&\n +lowerValue >= +greaterValue\n ) {\n return {\n invalid: ` Este valor não pode ser igual ou menor que o valor inicial`,\n };\n }\n return {};\n };\n return validator;\n }\n\n public static onlyLetters(control: AbstractControl): ValidationErrors | null {\n const value = control.value as string;\n\n if (!value || value === '') {\n return null;\n }\n\n if (/[\\d\\W]/.test(value)) {\n return { invalid: 'O lembrete de senha só pode conter letras.' };\n }\n\n return null;\n }\n}\n","export class WindowUtil {\n static isSmallDevice() {\n return window.innerWidth < 640;\n }\n static isDesktop() {\n return window.innerWidth >= 1024;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MaskUtil } from '../utils';\n\n@Pipe({\n name: 'formatDocument',\n})\nexport class FormatDocumentPipe implements PipeTransform {\n transform(value: string = ''): string {\n return MaskUtil.formatDocument(value);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { MaskUtil } from '../utils';\n\n@Pipe({\n name: 'mask',\n})\nexport class MaskPipe implements PipeTransform {\n transform(value: string = '', mask: string): string {\n if (!mask || !mask.includes('#')) {\n console.warn('Uma máscara válida deve ser passada para o MaskPipe. Ex.: (##) #####-####');\n return value;\n }\n return MaskUtil.doMaskString(value, mask);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'notHidden',\n})\nexport class NotHiddenPipe implements PipeTransform {\n transform(value: any[]): any[] {\n return value?.filter((item) => !item.hidden) || [];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'onlyActive',\n})\nexport class OnlyActivePipe implements PipeTransform {\n transform(value: any[]): any[] {\n return value?.filter((item) => item.active) || [];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'removeLastChild',\n})\nexport class RemoveLastChildPipe implements PipeTransform {\n transform(value: any[]): any[] {\n const newArray = [...value];\n newArray.pop();\n return newArray;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { VectorNotification } from '../models/vector-notification.model';\n\n@Pipe({ name: 'unreadNotifications' })\nexport class UnreadNotificationsPipe implements PipeTransform {\n constructor() {}\n transform(notifications: VectorNotification[] | null) {\n return notifications?.filter((item) => !item.wasRead) ?? [];\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CurrencyBrlPipe } from './currency-brl.pipe';\nimport { FormatDocumentPipe } from './format-document.pipe';\nimport { MaskPipe } from './mask.pipe';\nimport { NotHiddenPipe } from './not-hidden.pipe';\nimport { OnlyActivePipe } from './only-active.pipe';\nimport { RemoveLastChildPipe } from './remove-last-child.pipe';\nimport { UnreadNotificationsPipe } from './unread-notifications.pipe';\n\n@NgModule({\n declarations: [\n RemoveLastChildPipe,\n CurrencyBrlPipe,\n NotHiddenPipe,\n OnlyActivePipe,\n FormatDocumentPipe,\n MaskPipe,\n UnreadNotificationsPipe,\n ],\n exports: [\n RemoveLastChildPipe,\n CurrencyBrlPipe,\n NotHiddenPipe,\n OnlyActivePipe,\n FormatDocumentPipe,\n MaskPipe,\n UnreadNotificationsPipe,\n ],\n})\nexport class PipesModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { PipesModule } from '../pipes';\n\n@NgModule({\n exports: [CommonModule, TooltipModule, PipesModule],\n imports: [TranslateModule],\n})\nexport class SharedModule {}\n","import { NgModule } from '@angular/core';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { SharedModule } from '../../shared/shared.module';\nimport { BadgeComponent } from './badge.component';\n\n@NgModule({\n declarations: [BadgeComponent],\n imports: [SharedModule, TooltipModule],\n exports: [BadgeComponent],\n})\nexport class BadgeModule {}\n","import { InjectionToken } from '@angular/core';\nimport { AppName, MenuItem } from '../models';\n\nexport interface Environment {\n production: boolean;\n appName: string;\n API_URL: string;\n LOGITECH_URL: string;\n LOGTECH_ASPX_URL: string;\n PORTAL_URL: string;\n FINTECH_URL: string;\n MARKETPLACE_URL: string;\n SURVEY_URL: string;\n API_KEY: string;\n}\n\nexport const APP_NAME = new InjectionToken<AppName>('APP_NAME');\nexport const ENVIRONMENT = new InjectionToken<Environment>('ENVIRONMENT');\nexport const MENU_OPTIONS = new InjectionToken<MenuItem[]>('MENU_OPTIONS');\n","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { ENVIRONMENT, MENU_OPTIONS } from '../../injections';\nimport { MenuItem } from '../../models';\n\n@Component({\n selector: 'vector-breadcrumb',\n templateUrl: './breadcrumb.component.html',\n styleUrls: ['./breadcrumb.component.scss'],\n})\nexport class BreadcrumbComponent implements OnInit, OnDestroy {\n public appName = this.environment.appName;\n public routeFragments: MenuItem[] = [];\n private subscription = new Subscription();\n\n constructor(\n private router: Router,\n @Inject(ENVIRONMENT) private environment: any,\n @Inject(MENU_OPTIONS) private menuOptions: MenuItem[]\n ) {}\n\n ngOnInit(): void {\n this.subscription.add(\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.routeFragments = [];\n let url = event.urlAfterRedirects.replace('/', '');\n if (url.includes('?')) {\n url = url.substring(0, url.indexOf('?'));\n }\n this.extractRouteFragmentsFromMenu(url, this.menuOptions);\n }\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n public navigateToFragment(fragment: MenuItem) {\n this.router.navigate([fragment.route], { queryParamsHandling: 'preserve' });\n }\n\n private extractRouteFragmentsFromMenu(url: string, currentChildren: MenuItem[]): boolean {\n let foundItem = false;\n for (let i = 0; i < currentChildren.length; i++) {\n if (currentChildren[i].route) {\n if (\n currentChildren[i].route &&\n (currentChildren[i].route!.startsWith(url) || url.startsWith(currentChildren[i].route || ''))\n ) {\n this.routeFragments = [currentChildren[i]];\n foundItem = true;\n }\n }\n\n if (currentChildren[i].children && this.extractRouteFragmentsFromMenu(url, currentChildren[i].children || [])) {\n this.routeFragments = [currentChildren[i]].concat(this.routeFragments);\n foundItem = true;\n break;\n }\n }\n\n return foundItem;\n }\n}\n","<div class=\"breadcrumb-container\" *ngIf=\"routeFragments?.length\">\n <div class=\"route-path\">\n <span class=\"app-name\">{{ appName }}</span>\n <div *ngIf=\"routeFragments.length < 2\" class=\"chevron\"></div>\n <span\n class=\"route-fragment\"\n [ngClass]=\"{ clickable: fragment.route }\"\n *ngFor=\"let fragment of routeFragments | removeLastChild\"\n (click)=\"navigateToFragment(fragment)\"\n ><div class=\"chevron\"></div>\n {{ fragment.label }}</span\n >\n </div>\n <span class=\"last-route\">\n {{ routeFragments[routeFragments.length - 1].label }}\n </span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { SharedModule } from '../../shared/shared.module';\nimport { BreadcrumbComponent } from './breadcrumb.component';\n\n@NgModule({\n declarations: [BreadcrumbComponent],\n exports: [BreadcrumbComponent],\n imports: [SharedModule],\n})\nexport class BreadcrumbModule {}\n","import { Component, OnDestroy } from '@angular/core';\nimport { UntypedFormGroup } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { CrudMode } from '../../models/crud-mode.enum';\n\n@Component({\n template: '',\n})\nexport class CrudBaseComponent implements OnDestroy {\n public crudMode = CrudMode.NEW;\n public isReadonly = false;\n public form = new UntypedFormGroup({});\n protected subscription = new Subscription();\n\n constructor(protected activatedRoute: ActivatedRoute) {\n this.crudMode = this.getCrudModeByRoute(this.activatedRoute.snapshot.url[0].path);\n this.isReadonly = this.crudMode === CrudMode.VIEW;\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n public isInsertion() {\n return this.crudMode === CrudMode.NEW;\n }\n\n public isEdition() {\n return this.crudMode === CrudMode.EDIT;\n }\n\n private getCrudModeByRoute(route: string) {\n switch (route) {\n case 'new':\n return CrudMode.NEW;\n case 'edit':\n return CrudMode.EDIT;\n case 'view':\n return CrudMode.VIEW;\n default:\n return CrudMode.NEW;\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\ntype ButtonType =\n | 'success'\n | 'success-outlined'\n | 'default'\n | 'default-filled'\n | 'default-outlined'\n | 'default-outlined-gray'\n | 'default-outlined-gray-icon-red'\n | 'default-outlined-gray-icon-gray'\n | 'cancel'\n | 'cancel-filled'\n | 'light-outline';\n\n@Component({\n selector: 'vector-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n})\nexport class ButtonComponent {\n @Input()\n public disabled = false;\n @Input()\n public label = '';\n @Input()\n public type: ButtonType = 'default';\n @Input()\n public leftIcon = '';\n @Input()\n public rightIcon = '';\n @Input()\n public noShadow = false;\n @Input()\n public round = false;\n @Input()\n public style: any = {};\n @Input()\n public loading: boolean = false;\n @Output()\n public onClick = new EventEmitter<any>();\n\n get styleClass() {\n return `button shadow-3 ${this.type} ${this.noShadow && 'no-shadow'}`;\n }\n}\n","<p-button\n [styleClass]=\"styleClass\"\n [label]=\"label\"\n [disabled]=\"disabled\"\n [icon]=\"leftIcon || rightIcon\"\n [iconPos]=\"rightIcon ? 'right' : 'left'\"\n [style]=\"style\"\n (onClick)=\"onClick.emit($event)\"\n [ngClass]=\"{ round: round }\"\n [loading]=\"loading\"\n></p-button>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\ntype ButtonType = 'success' | 'success-outlined' | 'default' | 'default-filled' | 'cancel' | 'cancel-filled';\n@Component({\n selector: 'vector-crud-footer',\n templateUrl: './crud-footer.component.html',\n styleUrls: ['./crud-footer.component.scss'],\n})\nexport class CrudFooterComponent implements OnInit {\n @Input()\n public submitDisabled = false;\n @Input()\n public submitHidden = false;\n @Input()\n public goBackHidden = false;\n\n @Input()\n public labelGoBack?: string;\n @Input()\n public typeGoBack?: ButtonType;\n @Input()\n public labelGoSubmit?: string;\n @Input()\n public typeGoSubmit?: ButtonType;\n\n @Output()\n public onGoBack = new EventEmitter<void>();\n @Output()\n public onSubmit = new EventEmitter<void>();\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"footer-container shadow-3\">\n <div class=\"button\" *ngIf=\"!goBackHidden\">\n <vector-button\n [label]=\"labelGoBack ? labelGoBack : ('enums.Options.GO_BACK' | translate)\"\n [type]=\"typeGoBack ? typeGoBack : 'default'\"\n (onClick)=\"onGoBack.emit()\"\n >\n </vector-button>\n </div>\n\n <div class=\"button\" *ngIf=\"!submitHidden\">\n <vector-button\n [label]=\"labelGoSubmit ? labelGoSubmit : ('enums.Options.SAVE' | translate)\"\n [type]=\"typeGoSubmit ? typeGoSubmit : 'success'\"\n (onClick)=\"onSubmit.emit()\"\n [disabled]=\"submitDisabled\"\n ></vector-button>\n </div>\n</div>\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'vector-panel',\n templateUrl: './panel.component.html',\n styleUrls: ['./panel.component.scss'],\n})\nexport class PanelComponent implements OnInit {\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<p-panel [showHeader]=\"false\">\n <ng-template pTemplate=\"content\">\n <div class=\"shadow-3\"><ng-content></ng-content></div></ng-template\n></p-panel>\n","import { NgModule } from '@angular/core';\nimport { PanelModule as PrimeNgPanel } from 'primeng/panel';\nimport { SharedModule } from '../../shared/shared.module';\nimport { PanelComponent } from './panel.component';\n\n@NgModule({\n declarations: [PanelComponent],\n exports: [PanelComponent],\n imports: [SharedModule, PrimeNgPanel],\n})\nexport class PanelModule {}\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'vector-score',\n templateUrl: './score.component.html',\n styleUrls: ['./score.component.scss'],\n})\nexport class ScoreComponent implements OnInit {\n @Input()\n public score: number = 0;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"container\">\n <span class=\"score\">{{ score }}</span>\n <em class=\"fas fa-star star\"></em>\n</div>\n","import { NgModule } from '@angular/core';\nimport { ScoreComponent } from './score.component';\n\n@NgModule({\n declarations: [ScoreComponent],\n exports: [ScoreComponent],\n})\nexport class ScoreModule {}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { map, switchMap, tap } from 'rxjs/operators';\nimport { ProfileService, StorageService } from '.';\nimport { ENVIRONMENT, Environment } from '../injections';\nimport { Role } from '../models';\n\n@Injectable({ providedIn: 'root' })\nexport class AuthService {\n public readonly role$ = new BehaviorSubject<Role>(this.storageService.getRole());\n private parentWindowUrl = '';\n private subscription = new Subscription();\n private readonly baseUrl: string;\n\n constructor(\n @Inject(ENVIRONMENT) private environment: Environment,\n private http: HttpClient,\n private storageService: StorageService,\n private profileService: ProfileService,\n private activatedRoute: ActivatedRoute\n ) {\n this.baseUrl = this.environment.API_URL.endsWith('/api') ? 'Auth' : 'api/Auth';\n\n this.subscription.add(\n this.activatedRoute.queryParams.subscribe((params) => {\n if (params['parent']) {\n this.parentWindowUrl = decodeURIComponent(params['parent']);\n }\n })\n );\n }\n\n public getTokenByGuid(tokenGuid: string): Observable<any> {\n let response: any;\n return this.http.get<any>(`${this.baseUrl}/TemporaryAccessToken/${tokenGuid}`).pipe(\n switchMap((tokenResponse: any) => {\n response = tokenResponse;\n this.storageService.setToken(tokenResponse.accessToken);\n this.storageService.setUsername(tokenResponse.userName);\n this.storageService.setRefreshToken(tokenResponse.refreshToken);\n return this.profileService.getUserProfile();\n }),\n map(() => {\n return response;\n })\n );\n }\n\n public getTokenByRefreshToken(refreshToken: string) {\n const headers = new HttpHeaders()\n .set('Content-Type', 'application/x-www-form-urlencoded')\n .set('no-spinner', 'true');\n return this.http\n .post<any>(\n `connect/token`,\n `username=${this.storageService.getUsername()}&grant_type=refresh_token&refresh_token=${refreshToken}`,\n { headers }\n )\n .pipe(\n tap((response) => {\n if (response?.access_token && response?.refresh_token) {\n this.storageService.setToken(`Bearer ${response.access_token}`);\n this.storageService.setRefreshToken(response.refresh_token);\n }\n })\n );\n }\n\n public generateTokenGuid(): Observable<string> {\n return this.http\n .post<any>(`${this.baseUrl}/TemporaryAccessToken/generate`, {\n RefreshToken: this.storageService.getRefreshToken(),\n })\n .pipe(map((response) => response?.accessToken || ''));\n }\n\n public logout(): void {\n this.storageService.clear();\n if (window.parent == window) {\n window.location.href = this.environment.PORTAL_URL;\n } else {\n window.parent.postMessage({ logout: true }, this.parentWindowUrl);\n }\n }\n}\n","import { BehaviorSubject } from 'rxjs';\nimport { HttpResponseGridPaged } from '../models/http-response.model';\n\nexport class CrudBaseService<T> {\n public dataset$ = new BehaviorSubject<HttpResponseGridPaged<T>>({\n data: [],\n draw: 0,\n recordsFiltered: 0,\n recordsTotal: 0,\n });\n public flatUnpagedDataset$ = new BehaviorSubject<T[]>([]);\n public getHistory(entityId: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ListItem } from '../models/list-item.model';\n\n@Injectable({ providedIn: 'root' })\nexport class EnumService {\n constructor(private translateService: TranslateService) {}\n public getTranslatedListItemsFromEnum(enumType: any, enumName: string): Observable<ListItem[]> {\n return this.getEnumTranslations(enumName).pipe(\n map((enumTranslations: any) => {\n return Object.keys(enumType)\n .filter((item) => isNaN(+item))\n .map((item: string) => {\n return {\n name: enumTranslations[item],\n code: enumType[item],\n };\n });\n })\n );\n }\n\n public getEnumTranslations(enumName: string): Observable<any> {\n return this.translateService.get('enums').pipe(\n map((translations) => {\n return translations[enumName];\n })\n );\n }\n\n public getListItemsFromEnum(enumType: any): ListItem[] {\n return Object.keys(enumType)\n .filter((item) => isNaN(+item))\n .map((item: string) => {\n return {\n name: enumType[item],\n code: enumType[item],\n };\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ErrorMessageService {\n public hasToken$ = new Subject<boolean>();\n public genericModalErrorMessage$ = new Subject<string | undefined>();\n}\n","import { HttpBackend, HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { IpInfo } from '../models/ip-info.enum';\n\n@Injectable()\nexport class GeolocationService {\n private customHttpClient: HttpClient;\n\n constructor(private http: HttpClient, private backend: HttpBackend) {\n this.customHttpClient = new HttpClient(backend);\n }\n\n public getGeoLoc() {\n return this.customHttpClient.get<IpInfo>('https://api.ipify.org/?format=json');\n }\n\n public createUserLoginInfo(userInfo: any) {\n return this.http.post(`Telemetry/CreateUserLogInfo`, userInfo);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class LoadingService {\n public loading$ = new Subject<boolean>();\n}\n","import { Injectable } from '@angular/core';\nimport { ProfileModule, Role } from '../models';\n\n@Injectable({ providedIn: 'root' })\nexport class StorageService {\n public clear(): void {\n sessionStorage.clear();\n localStorage.clear();\n }\n\n public clearSession(): void {\n sessionStorage.clear();\n }\n\n public get(key: string): any {\n const storageItem = localStorage.getItem(key);\n try {\n return storageItem ? JSON.parse(storageItem) : '';\n } catch (e) {\n return storageItem;\n }\n }\n\n public set(key: string, value: any): void {\n localStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));\n }\n\n public remove(key: string): void {\n localStorage.removeItem(key);\n }\n\n public getSession(key: string): any {\n const storageItem = sessionStorage.getItem(key);\n try {\n return storageItem ? JSON.parse(storageItem) : '';\n } catch (e) {\n return storageItem;\n }\n }\n\n public setSession(key: string, value: any): void {\n sessionStorage.setItem(key, typeof value === 'string' ? value : JSON.stringify(value));\n }\n\n public removeSession(key: string): void {\n sessionStorage.removeItem(key);\n }\n\n public getToken(): string {\n return localStorage.getItem('token') || '';\n }\n\n public setToken(token: string) {\n localStorage.setItem('token', token);\n }\n\n public removeToken() {\n localStorage.removeItem('token');\n }\n\n public getRefreshToken(): string {\n return sessionStorage.getItem('refreshToken') || '';\n }\n\n public setRefreshToken(refreshToken: string) {\n sessionStorage.setItem('refreshToken', refreshToken);\n }\n\n public removeRefreshToken() {\n sessionStorage.removeItem('refreshToken');\n }\n\n public getUsername(): string {\n return sessionStorage.getItem('username') || '';\n }\n\n public setUsername(username: string) {\n sessionStorage.setItem('username', username);\n }\n\n public removeUsername() {\n sessionStorage.removeItem('username');\n }\n\n public getUserId(): number {\n const userId = sessionStorage.getItem('userId');\n return userId ? +atob(userId) : 0;\n }\n\n public setUserId(userId: number) {\n sessionStorage.setItem('userId', btoa(`${userId}`));\n }\n\n public clearUserId() {\n sessionStorage.removeItem('userId');\n }\n\n public getRole(): Role {\n return atob(sessionStorage.getItem('role') || '') as Role;\n }\n\n public setRole(role?: string) {\n sessionStorage.setItem('role', role || '');\n }\n\n public clearRole() {\n sessionStorage.removeItem('role');\n }\n\n public getProfile(): {\n marketplace: ProfileModule | undefined;\n fintech: ProfileModule | undefined;\n allModules: ProfileModule[] | undefined;\n } {\n const data = sessionStorage.getItem('profile') || '';\n return data ? JSON.parse(data) : data;\n }\n\n public setProfile(profiles: {\n marketplace: ProfileModule | undefined;\n fintech: ProfileModule | undefined;\n allModules: ProfileModule[] | undefined;\n }) {\n sessionStorage.setItem('profile', JSON.stringify(profiles || ''));\n }\n\n public removeProfile() {\n sessionStorage.removeItem('profile');\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport {\n Profile,\n ProfileModule,\n ProfileModuleActionType,\n ProfileModuleType,\n ProfileTypeEnum,\n} from '../models/profile.model';\nimport { StorageService } from './storage.service';\n\n@Injectable({ providedIn: 'root' })\nexport class ProfileService {\n public readonly moduleProfile$ = new BehaviorSubject<ProfileModule[] | undefined>(\n this.storageService.getProfile().allModules\n );\n\n public readonly profileFirstName$ = new BehaviorSubject<string | undefined>(undefined);\n public readonly profileTypeItens$ = new BehaviorSubject<\n { shipper: number; carrierId: number; profileTypeId: number } | undefined\n >(undefined);\n public hasFintechAdminPermission = false;\n public hasMarketplaceAdminPermission = false;\n public hasAnyFintechPermission = false;\n public hasAnyMarketplacePermission = false;\n\n constructor(private http: HttpClient, private storageService: StorageService) {\n const { fintech, marketplace } = this.storageService.getProfile();\n this.hasFintechAdminPermission = !!fintech?.actions.some((act) =>\n [\n ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),\n ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),\n ].includes(act.name)\n );\n this.hasMarketplaceAdminPermission = !!marketplace?.actions.some(\n (act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE\n );\n this.hasAnyFintechPermission = !!fintech?.actions?.length;\n this.hasAnyMarketplacePermission = !!marketplace?.actions?.length;\n }\n\n private getProfileTypeEnum(profileTypeId: number) {\n if (profileTypeId) return profileTypeId as ProfileTypeEnum;\n else return null;\n }\n\n public getUserProfile() {\n return this.http.get<any>('connect/userinfo').pipe(\n tap((response) => {\n if (response.firstName) {\n this.profileFirstName$.next(response.firstName);\n }\n if (response) {\n let dataObject = {\n shipper: response?.shipper,\n carrierId: response?.carrierId,\n profileTypeId: response?.profile.profileTypeId,\n profileName: response?.profile.name,\n userId: response?.id,\n profileTypeEnum: this.getProfileTypeEnum(response?.profile.profileTypeId),\n isEtcd: response?.isEtcd,\n shipperEtcd: response?.shipperEtcd,\n userName: response.firstName,\n regionalId: response?.regionalId,\n regionalUserList: response?.regionalUserList,\n };\n if (response.id) {\n this.storageService.setUserId(response.id);\n }\n this.storageService.setSession('userInfo', dataObject);\n this.profileTypeItens$.next(dataObject);\n }\n\n const completeProfile: Profile = response.profile;\n const marketplaceProfileModule = completeProfile.modules.find((mod) => mod.name === 'Marketplace');\n const fintechProfileModule = completeProfile.modules.find((mod) => mod.name === 'Fintech');\n const allModules = completeProfile.modules;\n this.hasFintechAdminPermission = !!fintechProfileModule?.actions.some((act) =>\n [\n ProfileModuleActionType.FINTECH_BANK_ADMIN.toString(),\n ProfileModuleActionType.FINTECH_CREDIT_ADMIN.toString(),\n ].includes(act.name)\n );\n this.hasMarketplaceAdminPermission = !!marketplaceProfileModule?.actions.some(\n (act) => act.name === ProfileModuleActionType.ADMIN_MARKEPLACE\n );\n this.hasAnyFintechPermission = !!fintechProfileModule?.actions?.length;\n this.storageService.setProfile({\n marketplace: marketplaceProfileModule,\n fintech: fintechProfileModule,\n allModules,\n });\n this.moduleProfile$.next(allModules);\n })\n );\n }\n\n public userHasPermission(\n action: ProfileModuleActionType | ProfileModuleType | ProfileModuleActionType[] | ProfileModuleType[] | undefined\n ) {\n if (!action) {\n return true;\n }\n if (!this.moduleProfile$.value) {\n return false;\n }\n\n if (Array.isArray(action)) {\n return action.some((act) => {\n if (Object.values(ProfileModuleActionType).some((val) => val === act)) {\n return this.moduleProfile$.value?.some((module) =>\n module.actions.some((moduleAction) => moduleAction.name === act)\n );\n }\n\n if (Object.values(ProfileModuleType).some((val) => val === act)) {\n return this.moduleProfile$.value?.some((module) => module.name === act);\n }\n\n return false;\n });\n } else {\n if (Object.values(ProfileModuleActionType).some((val) => val === action)) {\n return this.moduleProfile$.value.some((module) => module.actions.some((act) => act.name === action));\n }\n\n if (Object.values(ProfileModuleType).some((val) => val === action)) {\n return this.moduleProfile$.value.some((module) => module.name === action);\n }\n }\n\n return false;\n }\n\n public getUserInfo(): Observable<any> {\n return this.http.get<any>(`connect/userinfo`);\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subject } from 'rxjs';\nimport { APP_NAME, ENVIRONMENT, Environment, MENU_OPTIONS } from '../injections';\nimport { AppName, MenuItem, View } from '../models';\nimport { VectorApp } from '../models/vector-app.model';\nimport { AuthService } from './auth.service';\nimport { ProfileService } from './profile.service';\nimport { StorageService } from './storage.service';\n\n@Injectable({ providedIn: 'root' })\nexport class MenuService {\n public toggleMenu$ = new Subject<void>();\n public menuOpened$ = new Subject<boolean>();\n public frameUrl$ = new Subject<string | undefined>();\n public menuNotifications: { [menuId: string]: number } = {};\n\n constructor(\n @Inject(ENVIRONMENT) private environment: Environment,\n @Inject(MENU_OPTIONS) private menuOptions: MenuItem[],\n @Inject(APP_NAME) private appName: string,\n private profileService: ProfileService,\n private storageService: StorageService,\n private router: Router,\n private authService: AuthService\n ) {}\n\n public getSideMainMenuOptions(): MenuItem[] {\n return this.menuOptions\n .filter(\n (menu) =>\n (!menu.view || ![View.HOME, View.ADMIN].includes(menu.view)) &&\n !menu.hidden &&\n this.profileService.userHasPermission(menu.permission)\n )\n .map((menu) => this.removeHiddenChildren(menu))\n .filter((menu) => !menu.hidden)\n .map((menu, index) => this.generateId(menu, index));\n }\n\n public getSideAdminMenuOptions(): MenuItem[] {\n return this.menuOptions\n .filter(\n (menu) => menu.view === View.ADMIN && !menu.hidden && this.profileService.userHasPermission(menu.permission)\n )\n .map((menu) => this.removeHiddenChildren(menu))\n .filter((menu) => !menu.hidden)\n .map((menu, index) => this.generateId(menu, index));\n }\n\n public navigateToPortal(params: Partial<VectorApp>): void {\n this.authService.generateTokenGuid().subscribe((tokenGuid) => {\n const userId = this.storageService.getUserId();\n if (params.navigate) {\n params.navigate(tokenGuid, userId);\n } else {\n switch (this.appName) {\n case AppName.FINTECH:\n this.handleFintechRedirects(params, tokenGuid, userId);\n break;\n case AppName.MARKETPLACE:\n this.handleMarketplaceRedirects(params, tokenGuid, userId);\n break;\n case AppName.LOGTECH:\n this.handleLogtechRedirects(params, tokenGuid, userId);\n break;\n }\n this.storageService.clear();\n }\n });\n }\n\n public addMenuNotification(menuId: string) {\n this.updateMenuNotifications(menuId, (this.menuNotifications[menuId] || 0) + 1);\n }\n\n public subtractMenuNotification(menuId: string) {\n this.updateMenuNotifications(menuId, this.menuNotifications[menuId] ? this.menuNotifications[menuId] - 1 : 0);\n }\n\n public updateMenuNotifications(menuId: string, notificationsCount: number): void {\n this.menuNotifications[menuId] = notificationsCount;\n }\n\n private removeHiddenChildren(menu: MenuItem) {\n const newMenu = { ...menu };\n const hadChildren = !!newMenu.children?.length;\n newMenu.children = newMenu.children\n ?.filter((child) => !child.hidden && this.profileService.userHasPermission(child.permission))\n .map((menu) => this.removeHiddenChildren(menu))\n .filter((child) => !child.hidden);\n if (\n hadChildren &&\n !newMenu.children?.length &&\n !newMenu.route &&\n !newMenu.frameUrl &&\n !newMenu.externalUrl &&\n !newMenu.command\n ) {\n newMenu.hidden = true;\n }\n return newMenu;\n }\n\n private generateId(menu: MenuItem, index: number, parentId: string = '') {\n menu.id = `${parentId}${index}`;\n menu.children = menu.children?.map((child, childIndex) => this.generateId(child, childIndex, menu.id));\n return menu;\n }\n\n private handleFintechRedirects(params: Partial<VectorApp>, tokenGuid: string, userId: number) {\n if (params.appName === AppName.FINTECH) {\n this.router.navigate([''], {\n queryParams: { Token: tokenGuid, role: params.isAdmin ? btoa('ADMIN') : '', userId },\n });\n } else {\n let url =\n params.appName === AppName.MARKETPLACE ? this.environment.MARKETPLACE_URL : this.environment.LOGITECH_URL;\n url += `?Token=${tokenGuid}&userId=${userId}`;\n if (params.isAdmin) {\n url += `&role=${btoa('ADMIN')}`;\n }\n window.location.href = url;\n }\n }\n\n private handleMarketplaceRedirects(params: Partial<VectorApp>, tokenGuid: string, userId: number) {\n if (params.appName === AppName.MARKETPLACE) {\n this.router.navigate([''], {\n queryParams: { Token: tokenGuid, role: params.isAdmin ? btoa('ADMIN') : '', userId: btoa(`${userId}`) },\n });\n } else {\n let url = params.appName === AppName.FINTECH ? this.environment.FINTECH_URL : this.environment.LOGITECH_URL;\n url += `?Token=${tokenGuid}&userId=${userId}`;\n if (params.isAdmin) {\n url += `&role=${btoa('ADMIN')}`;\n }\n window.location.href = url;\n }\n }\n\n private handleLogtechRedirects(params: Partial<VectorApp>, tokenGuid: string, userId: number) {\n if (params.appName === AppName.LOGTECH) {\n this.router.navigate([''], {\n queryParams: { Token: tokenGuid, userId: btoa(`${userId}`) },\n });\n } else {\n let url = params.appName === AppName.FINTECH ? this.environment.FINTECH_URL : this.environment.MARKETPLACE_URL;\n url += `?Token=${tokenGuid}&userId=${userId}`;\n if (params.isAdmin) {\n url += `&role=${btoa('ADMIN')}`;\n }\n window.location.href = url;\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ModalService {\n public showModalBackground$ = new Subject<boolean>();\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, of } from 'rxjs';\nimport { VectorNotification } from '../models';\n\n@Injectable({ providedIn: 'root' })\nexport class NotificationsService {\n public notifications$ = new BehaviorSubject<VectorNotification[]>([]);\n\n private readonly baseUrl = 'api/Notifications'; //to do: confirmar api\n constructor(private http: HttpClient) {}\n\n public getUserNotifications(): void {\n of(NOTIFICATIONS_MOCK).subscribe((notifications) => this.notifications$.next(notifications));\n // return this.http.get(`${this.baseUrl}`);\n }\n}\n\nconst NOTIFICATIONS_MOCK: VectorNotification[] = [\n {\n title: 'Lorem ipsum dolor sit amet',\n description: 'Conference Room 3B',\n },\n {\n title: 'Lorem ipsum dolor sit amet',\n description: 'Conference Room 3B',\n needsApproval: true,\n },\n {\n title: 'Lorem ipsum dolor sit amet',\n description: 'Conference Room 3B',\n warning: 'Lorem',\n },\n {\n title: 'Lorem ipsum dolor sit amet',\n description: 'Conference Room 3B',\n },\n {\n title: 'Lorem ipsum dolor sit amet',\n description: 'Conference Room 3B',\n warning: 'Lorem',\n wasRead: true,\n },\n {\n title: 'Lorem ipsum dolor sit amet',\n description: 'Conference Room 3B',\n wasRead: true,\n },\n {\n title: 'Lorem ipsum dolor sit amet',\n description: 'Conference Room 3B',\n warning: 'Lorem',\n wasRead: true,\n },\n {\n title: 'Lorem ipsum dolor sit amet',\n description: 'Conference Room 3B',\n wasRead: true,\n },\n];\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'vector-field-error-message',\n templateUrl: './field-error-message.component.html',\n styleUrls: ['./field-error-message.component.scss'],\n})\nexport class FieldErrorMessageComponent implements OnInit {\n @Input()\n public control: any;\n constructor() {}\n\n ngOnInit(): void {}\n\n public fieldErrorLabel(): string {\n if (this.control && this.control.invalid && this.control.touched) {\n if (this.control.hasError('required')) {\n return 'Campo obrigatório';\n }\n\n if (this.control.hasError('minlength')) {\n return `Tamanho mínimo: ${this.control.errors['minlength'].requiredLength}`;\n }\n\n if (this.control.hasError('maxlength')) {\n return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;\n }\n\n if (this.control.hasError('fieldDoesNotMatch')) {\n return typeof this.control.errors['fieldDoesNotMatch'] === 'string'\n ? this.control.errors['fieldDoesNotMatch']\n : 'Campo inválido';\n }\n\n return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';\n }\n\n return '';\n }\n}\n","<span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { DateTime } from 'luxon';\nimport { ModalService } from '../../../services';\n\n@Component({\n selector: 'vector-calendar-field',\n templateUrl: './calendar-field.component.html',\n styleUrls: ['./calendar-field.component.scss'],\n})\nexport class CalendarComponent {\n @Input()\n public isRequired: boolean = false;\n @Input()\n public control: any;\n @Input()\n public label: string = '';\n @Input()\n public showCalendarOnFocus = true;\n @Input()\n public min?: any = DateTime.fromFormat('01/01/1900', 'dd/MM/yyyy').toJSDate();\n @Input()\n public max?: any = DateTime.now().startOf('day').plus({ years: 1 }).toJSDate();\n @Input()\n public disabledDates: Date[] = [];\n @Input()\n public disabled: boolean = false;\n @Input()\n public defaultDate: Date = DateTime.now().toJSDate();\n @Input()\n public hiddenErrorMessage: boolean = false;\n @Input()\n public showTime = false;\n @Input()\n public showSeconds = false;\n @Input()\n public stepMinute = 1;\n @Input()\n public stepHour = 1;\n @Input()\n public stepSecond = 1;\n @Input()\n public timeOnly: boolean = false;\n @Input()\n public hourFormat: string = '24';\n\n @Output()\n public onFocus = new EventEmitter<Event>();\n @Output()\n public onBlur = new EventEmitter<Event>();\n @Output()\n public onInput = new EventEmitter<Event>();\n @Output()\n public onSelect = new EventEmitter<Date>();\n\n get placeholder() {\n if (!this.label) {\n return '';\n }\n return `${this.label}${this.isRequired ? '*' : ''}`;\n }\n\n public keyFilter = '';\n\n constructor(private modalService: ModalService) {}\n\n public fieldErrorLabel(): string {\n if (this.control && this.control.invalid && this.control.touched) {\n if (this.control.hasError('required')) {\n return 'Campo obrigatório';\n }\n\n if (this.control.hasError('maxlength')) {\n return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;\n }\n\n return 'Campo inválido';\n }\n\n return '';\n }\n\n public onShowCalendar() {\n this.modalService.showModalBackground$.next(true);\n }\n\n public onHideCalendar() {\n this.modalService.showModalBackground$.next(false);\n }\n}\n","<div class=\"relative\">\n <div class=\"input-container\">\n <p-calendar\n appendTo=\"body\"\n icon=\"fas fa-calendar-day\"\n (onClose)=\"onHideCalendar()\"\n (onShow)=\"onShowCalendar()\"\n (onBlur)=\"onBlur.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelect)=\"onSelect.emit($event)\"\n (onInput)=\"onInput.emit()\"\n [defaultDate]=\"defaultDate\"\n [disabled]=\"disabled\"\n [disabledDates]=\"disabledDates\"\n [formControl]=\"control\"\n [maxDate]=\"max\"\n [minDate]=\"min\"\n [readonlyInput]=\"false\"\n [showIcon]=\"true\"\n [showOnFocus]=\"showCalendarOnFocus\"\n [showSeconds]=\"showSeconds\"\n [showTime]=\"showTime\"\n [stepMinute]=\"stepMinute\"\n [timeOnly]=\"timeOnly\"\n [stepHour]=\"stepHour\"\n [stepSecond]=\"stepSecond\"\n [hourFormat]=\"hourFormat\"\n ></p-calendar>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ListItem } from '../../../models';\n\n@Component({\n selector: 'vector-checkbox-field',\n templateUrl: './checkbox-field.component.html',\n styleUrls: ['./checkbox-field.component.scss'],\n})\nexport class CheckboxFieldComponent implements OnInit {\n @Input()\n public isRequired: boolean = false;\n @Input()\n public control: any;\n @Input()\n public label: string = '';\n @Input()\n public rounded: boolean = false;\n @Input()\n public labelSize: 'default' | 'large' = 'default';\n @Input()\n public value: boolean | undefined = false;\n @Input()\n public groupName: string = '';\n @Input()\n public options: ListItem[] | null = null;\n @Input()\n public disabled: boolean = false;\n @Output()\n public valueChange = new EventEmitter<boolean>();\n constructor() {}\n\n ngOnInit() {\n if (this.disabled) {\n this.control?.disable();\n } else {\n this.control?.enable();\n }\n }\n}\n","<div class=\"checkbox-container flex-wrap\">\n <ng-container *ngIf=\"control && groupName; else elseBlock\">\n <div class=\"checkbox-item mb-3 mr-3\" *ngFor=\"let option of options\">\n <p-checkbox\n [name]=\"groupName\"\n [formControl]=\"control\"\n [value]=\"option\"\n checkboxIcon=\"fas fa-check\"\n [class.rounded-checkbox]=\"rounded\"\n [inputId]=\"option.code\"\n ></p-checkbox>\n <label [for]=\"option.code\"> {{ option.name }}</label>\n </div>\n </ng-container>\n\n <ng-template #elseBlock>\n <p-checkbox\n *ngIf=\"control && !groupName\"\n [formControl]=\"control\"\n checkboxIcon=\"fas fa-check\"\n [binary]=\"true\"\n [class.rounded-checkbox]=\"rounded\"\n [disabled]=\"disabled\"\n ></p-checkbox>\n <p-checkbox\n *ngIf=\"!control && !groupName\"\n [ngModel]=\"value\"\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\n checkboxIcon=\"fas fa-check\"\n [binary]=\"true\"\n [class.rounded-checkbox]=\"rounded\"\n [disabled]=\"disabled\"\n ></p-checkbox>\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\n >{{ label }}\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\n </label>\n </ng-template>\n</div>\n","export enum Currency {\n BR = 'R$ ',\n AR = '$ ',\n US = '$ ',\n}\n","export enum Locale {\n BR = 'pt-BR',\n AR = 'es-AR',\n US = 'en-US',\n}\n","import { AfterViewInit, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { InputNumber } from 'primeng/inputnumber';\nimport { Currency } from '../../../models/currency.enum';\nimport { Locale } from '../../../models/locale.enum';\n\n@Component({\n selector: 'vector-currency-field',\n templateUrl: './currency-field.component.html',\n styleUrls: ['./currency-field.component.scss'],\n})\nexport class CurrencyFieldComponent implements AfterViewInit {\n @Input()\n public minValue = 0;\n @Input()\n public maxValue = 999999999;\n @Input()\n public placeholder: string = '';\n @Input()\n public numberOfDecimals: number = 2;\n @Input()\n public control: any;\n @Input()\n public outlined = false;\n @Input()\n public rounded = false;\n @Input()\n public label?: string;\n @Input()\n public isBankingField: boolean = false;\n @Input()\n public inputClassName = '';\n @Input()\n public localePrefix: Locale | string = Locale.BR;\n @Input()\n public currencyPrefix: Currency | string = Currency.BR;\n @Input()\n public disabled = false;\n @Input()\n public centered = false;\n @Input()\n public inputId?: string;\n\n @Output()\n public onBlur = new EventEmitter<Event>();\n\n @ViewChild(InputNumber)\n private inputElement?: InputNumber;\n\n ngAfterViewInit() {\n const inputElement = this.inputElement?.el.nativeElement.querySelector('input');\n inputElement.addEventListener(\n 'select',\n () => {\n inputElement.selectionStart = inputElement.selectionEnd;\n },\n false\n );\n }\n\n public getInputNgClass() {\n return { outlined: this.outlined, rounded: this.rounded, [this.inputClassName]: !!this.inputClassName };\n }\n\n public focusLastIndex($event: Event): void {\n const target = $event.target as HTMLInputElement;\n const selectionIndex = target?.value.length || 0;\n target?.setSelectionRange(selectionIndex, selectionIndex);\n }\n\n public inputNextChar($event: KeyboardEvent): void {\n const target = $event.target as HTMLInputElement;\n const valueTyped = $event.key;\n let newValue = target.value.replace('R$ ', '').replace(/[\\.,]/g, '');\n const isDeleteOrBackspace = ['Delete', 'Backspace'].includes($event.key);\n if (isDeleteOrBackspace) {\n newValue = newValue.substring(0, newValue.length - 1).padStart(3, '0');\n } else if (!isNaN(+valueTyped)) {\n newValue += valueTyped;\n newValue = `${+newValue}`.padStart(3, '0');\n }\n target.value = `${this.outlined ? 'R$ ' : ''}${Number(\n `${newValue.substring(0, newValue.length - 2)}.${newValue.substring(newValue.length - 2, newValue.length)}`\n ).toLocaleString('pt-BR', {\n currency: 'BRL',\n minimumFractionDigits: 2,\n maximumFractionDigits: this.numberOfDecimals,\n })}`;\n this.focusLastIndex($event);\n }\n\n public clearValue() {\n this.control.setValue(0);\n }\n}\n","<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined, rounded: rounded }\">\n <div class=\"inner-container\">\n <label *ngIf=\"label\">{{ label }}</label>\n <div class=\"input\">\n <span *ngIf=\"!outlined\">{{ currencyPrefix }} </span>\n <div class=\"value-input\">\n <p-inputNumber\n class=\"currency-input\"\n [ngClass]=\"getInputNgClass()\"\n [styleClass]=\"centered ? 'text-centered' : ''\"\n [formControl]=\"control\"\n mode=\"decimal\"\n [minFractionDigits]=\"2\"\n [maxFractionDigits]=\"numberOfDecimals\"\n [min]=\"minValue\"\n [max]=\"maxValue\"\n [prefix]=\"outlined ? currencyPrefix : ''\"\n [disabled]=\"disabled\"\n [locale]=\"localePrefix ? localePrefix : 'pt-BR'\"\n (click)=\"isBankingField ? focusLastIndex($event) : null\"\n (onKeyDown)=\"isBankingField ? inputNextChar($event) : null\"\n (onBlur)=\"onBlur.emit($event)\"\n [inputId]=\"inputId\"\n ></p-inputNumber>\n </div>\n </div>\n </div>\n <span *ngIf=\"rounded\" class=\"clear-value\" (click)=\"clearValue()\"><i class=\"pi pi-times\"></i></span>\n</div>\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { DocumentType, ListItem } from '../../../models';\nimport { MaskUtil } from '../../../utils';\n\n@Component({\n selector: 'vector-text-field',\n templateUrl: './text-field.component.html',\n styleUrls: ['./text-field.component.scss'],\n})\nexport class TextFieldComponent implements OnInit, OnDestroy {\n @Input()\n public isRequired: boolean = false;\n @Input()\n public label: string = '';\n @Input()\n public maxlength: string = '';\n @Input()\n public isPassword = false;\n @Input()\n public numeric = false;\n @Input()\n public numericPositive = false;\n @Input()\n public numericDotComma = false;\n @Input()\n public decimal = false;\n @Input()\n public onlyText = false;\n @Input()\n public noSpecialCharacters = false;\n @Input()\n public alphaNumeric = false;\n @Input()\n public alphaNumericAndWhitespace = false;\n @Input()\n public mask?: string;\n @Input()\n public autoClear = true;\n @Input()\n public readonly = false;\n @Input()\n public rightIcon = '';\n @Input()\n public centered = false;\n @Input()\n public _enableDocumentTypeChoice = false;\n @Input() set enableDocumentTypeChoice(value: boolean) {\n this._enableDocumentTypeChoice = value;\n this.handleDocumentTypeChange();\n }\n get enableDocumentTypeChoice(): boolean {\n return this._enableDocumentTypeChoice;\n }\n @Input()\n public hiddenErrorMessage: boolean = false;\n @Input()\n public leftLabel?: string;\n @Input()\n set control(_control: any) {\n this._control = _control;\n if (this._enableDocumentTypeChoice) {\n this.handleInitialDocumentTypeState();\n }\n\n if (this.controlSubscription) {\n this.controlSubscription.unsubscribe();\n this.controlSubscription = new Subscription();\n }\n this.controlSubscription.add(\n this.control.valueChanges.subscribe((value: string) => {\n if (this._enableDocumentTypeChoice && !this.lastTypedValue && value?.length > 11) {\n this.handleInitialDocumentTypeState();\n }\n this.lastTypedValue = value;\n })\n );\n }\n @Input()\n public inputId?: string;\n @Input()\n public slotChar = '_';\n @Input()\n public disabled: boolean = false;\n @Input()\n public pattern: string = '';\n @Output()\n public blurEvent = new EventEmitter();\n @Output()\n public inputEvent = new EventEmitter();\n @Output()\n public enterKeyPress = new EventEmitter();\n @Output()\n public backSpaceKeyPress = new EventEmitter();\n @Output()\n public focusEvent = new EventEmitter();\n @Output()\n public onDocumentTypeChange = new EventEmitter<ListItem>();\n\n public isPasswordVisible = false;\n public validateOnly = false;\n\n get placeholder() {\n if (!this.label) {\n return '';\n }\n return `${this.label}${this.isRequired ? '*' : ''}`;\n }\n\n get keyfilter() {\n this.validateOnly = false;\n if (this.numeric) {\n return 'int';\n }\n if (this.numericPositive) {\n return 'pint';\n }\n if (this.decimal) {\n this.validateOnly = true;\n return /^(\\d+(?:[\\,]\\d{2})?)$/;\n }\n if (this.onlyText) {\n this.validateOnly = true;\n return /^[a-zA-ZÀ-ú\\s]*$/gm;\n }\n if (this.alphaNumeric) {\n return 'alphanum';\n }\n if (this.alphaNumericAndWhitespace) {\n return /^[A-Za-zÀ-ú0-9 ]*$/gm;\n }\n if (this.numericDotComma) {\n return 'money';\n }\n if (this.noSpecialCharacters) {\n return /^[a-zA-ZÀ-ÖØ-öø-ÿ0-9\\s]+$/;\n }\n return /[\\s\\S]*/;\n }\n\n get control() {\n return this._control;\n }\n\n get showPasswordIcon() {\n return this.isPasswordVisible ? 'fas fa-eye' : 'fas fa-eye-slash';\n }\n\n public documentTypes: ListItem[] = [\n {\n name: 'CPF',\n code: DocumentType.CPF,\n },\n {\n name: 'CNPJ',\n code: DocumentType.CNPJ,\n },\n ];\n\n public selectedDocumentType = this.documentTypes[1];\n\n private lastBlurValue = '';\n private lastTypedValue = '';\n private subscription = new Subscription();\n private controlSubscription = new Subscription();\n private _control: any;\n\n ngOnInit() {\n if (this._enableDocumentTypeChoice) {\n this.setDocumentType(this.selectedDocumentType.code);\n }\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n this.controlSubscription.unsubscribe();\n }\n\n public onBlur() {\n this.control.markAsTouched();\n if (this.lastBlurValue !== this.control.value) {\n this.lastBlurValue = this.control.value;\n setTimeout(() => {\n this.blurEvent.emit(this.control.value);\n });\n }\n }\n\n public onInput($event: Event) {\n const target = $event.target as HTMLInputElement;\n this.inputEvent.emit(target.value);\n }\n\n public onEnterPress() {\n this.onBlur();\n this.enterKeyPress.emit();\n }\n public onBackSpacePress() {\n this.onBlur();\n this.backSpaceKeyPress.emit();\n }\n\n public onFocus($event: Event) {\n const target = $event.target as HTMLInputElement;\n if (this.mask) {\n const firstUnderscore = target?.value.indexOf('_');\n const selectionIndex = (firstUnderscore >= 0 ? firstUnderscore : target?.value.length) || 0;\n target?.setSelectionRange(selectionIndex, selectionIndex);\n }\n this.focusEvent.emit(target?.value);\n }\n\n public toggleShowPassword() {\n this.isPasswordVisible = !this.isPasswordVisible;\n }\n\n public handleDocumentTypeChange() {\n if (this.selectedDocumentType.code === DocumentType.CNPJ) {\n this.setDocumentType(DocumentType.CPF);\n } else {\n this.setDocumentType(DocumentType.CNPJ);\n }\n }\n\n private handleInitialDocumentTypeState() {\n if (this.control?.value) {\n if (this.control.value.length === 11) {\n this.setDocumentType(DocumentType.CPF);\n } else {\n this.setDocumentType(DocumentType.CNPJ);\n }\n } else {\n this.setDocumentType(DocumentType.CPF);\n }\n }\n\n private setDocumentType(documentType: DocumentType) {\n if (this._enableDocumentTypeChoice) {\n switch (documentType) {\n case DocumentType.CNPJ:\n this.selectedDocumentType = this.documentTypes[1];\n this.mask = MaskUtil.CNPJ_TEXT_FIELD_PATTERN;\n break;\n case DocumentType.CPF:\n this.selectedDocumentType = this.documentTypes[0];\n this.mask = MaskUtil.CPF_TEXT_FIELD_PATTERN;\n break;\n }\n } else {\n this.mask = '';\n }\n this.onDocumentTypeChange.emit(this.selectedDocumentType);\n }\n}\n","<form class=\"input-container p-input-icon-right\">\n <i *ngIf=\"rightIcon\" [class]=\"rightIcon\"></i>\n <i *ngIf=\"isPassword\" class=\"show-password-icon {{ showPasswordIcon }}\" (click)=\"toggleShowPassword()\"></i>\n <div class=\"p-inputgroup\" *ngIf=\"!inputId\">\n <vector-button\n *ngIf=\"enableDocumentTypeChoice\"\n leftIcon=\"fas fa-exchange-alt\"\n type=\"success\"\n [label]=\"selectedDocumentType.name\"\n [disabled]=\"control.disabled\"\n [noShadow]=\"true\"\n (onClick)=\"handleDocumentTypeChange()\"\n ></vector-button>\n\n <span *ngIf=\"leftLabel\" class=\"left-label\">\n {{ leftLabel }}\n </span>\n\n <input\n *ngIf=\"!mask\"\n pInputText\n type=\"text\"\n [formControl]=\"control\"\n [attr.maxlength]=\"maxlength\"\n [placeholder]=\"placeholder\"\n [pValidateOnly]=\"validateOnly\"\n [pKeyFilter]=\"keyfilter\"\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\n (blur)=\"onBlur()\"\n (input)=\"onInput($event)\"\n (keydown.enter)=\"onEnterPress()\"\n (keydown.backspace)=\"onBackSpacePress()\"\n (click)=\"onFocus($event)\"\n [readonly]=\"readonly ? true : null\"\n [pattern]=\"pattern\"\n />\n <p-inputMask\n *ngIf=\"mask\"\n type=\"text\"\n [inputId]=\"inputId || 'mask-field'\"\n [formControl]=\"control\"\n [mask]=\"mask\"\n [placeholder]=\"placeholder\"\n (onBlur)=\"onBlur()\"\n (keydown.enter)=\"onEnterPress()\"\n (keydown.backspace)=\"onBackSpacePress()\"\n [autoClear]=\"autoClear\"\n [unmask]=\"true\"\n [styleClass]=\"centered ? 'text-centered' : ''\"\n [slotChar]=\"slotChar\"\n (click)=\"onFocus($event)\"\n [pattern]=\"pattern\"\n ></p-inputMask>\n </div>\n <div class=\"p-inputgroup\" *ngIf=\"inputId\">\n <vector-button\n *ngIf=\"enableDocumentTypeChoice\"\n leftIcon=\"fas fa-exchange-alt\"\n type=\"success\"\n [label]=\"selectedDocumentType.name\"\n [disabled]=\"control.disabled\"\n [noShadow]=\"true\"\n (onClick)=\"handleDocumentTypeChange()\"\n ></vector-button>\n\n <span *ngIf=\"leftLabel\" class=\"left-label\">\n {{ leftLabel }}\n </span>\n\n <input\n *ngIf=\"!mask\"\n [id]=\"inputId\"\n pInputText\n type=\"text\"\n [formControl]=\"control\"\n [attr.maxlength]=\"maxlength\"\n [placeholder]=\"placeholder\"\n [pValidateOnly]=\"validateOnly\"\n [pKeyFilter]=\"keyfilter\"\n [ngClass]=\"{ 'password-field': isPassword && !isPasswordVisible, 'text-centered': centered }\"\n (blur)=\"onBlur()\"\n (input)=\"onInput($event)\"\n (keydown.enter)=\"onEnterPress()\"\n (keydown.backspace)=\"onBackSpacePress()\"\n (click)=\"onFocus($event)\"\n [readonly]=\"readonly ? true : null\"\n [pattern]=\"pattern\"\n />\n <p-inputMask\n *ngIf=\"mask\"\n type=\"text\"\n [inputId]=\"inputId || 'mask-field'\"\n [formControl]=\"control\"\n [mask]=\"mask\"\n [placeholder]=\"placeholder\"\n (onBlur)=\"onBlur()\"\n (keydown.enter)=\"onEnterPress()\"\n (keydown.backspace)=\"onBackSpacePress()\"\n [autoClear]=\"autoClear\"\n [unmask]=\"true\"\n [styleClass]=\"centered ? 'text-centered' : ''\"\n [slotChar]=\"slotChar\"\n (click)=\"onFocus($event)\"\n [pattern]=\"pattern\"\n ></p-inputMask>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</form>\n","import { Component, EventEmitter, Input, Output, Renderer2, signal } from '@angular/core';\nimport { MultiSelectFilterEvent } from 'primeng/multiselect';\nimport { ListItem } from '../../../models';\nimport { BaseDropdown } from '../../../services';\nimport { ObjectUtil } from '../../../utils';\n\nexport type ListItemExtend = ListItem & {\n key?: number | string;\n id?: number | string;\n};\n\nexport type ListItemOptionsFlagType = ListItem & {\n align: 'center' | 'left';\n showDescriptionOnRight: boolean;\n type: 'img' | 'icon';\n iconSource?: string;\n iconSize?: '1em' | '1.25em' | '1.5em' | '1.75em' | '2em';\n iconClass?: string;\n imgSource?: string;\n imgSize?: '15' | '20' | '25';\n imgClass?: string;\n};\n\n@Component({\n selector: 'vector-multiselect-field',\n templateUrl: './multiselect-field.component.html',\n styleUrls: ['./multiselect-field.component.scss'],\n})\nexport class MultiselectFieldComponent {\n @Input()\n set pagedSugestion(_pagedSugestion: ListItem[]) {\n this._pagedSugestion = _pagedSugestion;\n this.options = this.pagedSugestion || [];\n }\n @Input()\n public isRequired: boolean = false;\n @Input()\n public control: any;\n @Input()\n public label: string = '';\n @Input()\n public options: ListItem[] | ListItemExtend[] | ListItemOptionsFlagType[] = [];\n @Input()\n public filter = false;\n @Input()\n public showSelectAllOption: boolean = true;\n @Input()\n public display: string = 'comma';\n @Input()\n public paged = true;\n @Input()\n public disabled: boolean = false;\n @Input()\n public minLengthToService: number = 0;\n @Input()\n public initialLoad = true;\n @Input()\n public service: BaseDropdown | undefined;\n @Input()\n public filterVirtualScrool = false;\n @Input()\n public showHeader: boolean = true;\n @Input()\n public showFlags: boolean = false;\n private _showFlagsOptions?: ListItemOptionsFlagType[] | undefined;\n\n @Input()\n public dependencies: any;\n @Input()\n public limitScrollPage: number = 20;\n @Input()\n public forceSelection = true;\n\n @Input()\n set showFlagsOptions(value: ListItemOptionsFlagType[]) {\n if (!this.showFlags) {\n throw new Error('showFlags is set to false. Setting showFlagsOptions is not allowed.');\n }\n value.forEach((option) => {\n if (option.type === 'img') {\n if (!option.imgSource) {\n throw new Error(\"imgSource is required when type is 'img'\");\n }\n if (!option.imgSize) {\n throw new Error(\"imgSize is required when type is 'img'\");\n }\n } else if (option.type === 'icon') {\n if (!option.iconSource) {\n throw new Error(\"iconSource is required when type is 'icon'\");\n }\n if (!option.iconSize) {\n throw new Error(\"iconSize is required when type is 'icon'\");\n }\n }\n });\n this._showFlagsOptions = value;\n }\n\n get showFlagsOptions(): ListItemOptionsFlagType[] {\n if (!this._showFlagsOptions) {\n throw new Error('showFlagsOptions was not set');\n }\n return this._showFlagsOptions;\n }\n\n @Output()\n public onChange = new EventEmitter();\n @Output()\n public onClosePanel = new EventEmitter();\n\n private currentSearchQuery = '';\n private currentScrollPage = -1;\n private currentScrollIndex = 0;\n\n public unlistenAutocompleteVirtualScroll = () => {};\n\n get placeholder() {\n if (!this.label) {\n return '';\n }\n return `${this.label}${this.isRequired ? '*' : ''}`;\n }\n\n get pagedSugestion() {\n return this._pagedSugestion;\n }\n\n private _pagedSugestion: ListItem[] = [];\n private signalOptions = signal<ListItem[]>([]);\n\n constructor(private renderer: Renderer2) {}\n\n ngOnInit(): void {\n if (this.initialLoad && this.filterVirtualScrool) {\n this.search(null, true);\n }\n\n if (this.control && this.disabled) {\n this.control.disable();\n } else {\n this.control.enable();\n }\n\n if (this.service && this.control && this.control.value && Array.isArray(this.control.value)) {\n const controlValueArray = this.control.value.map((value: any) => value);\n if (controlValueArray.length) {\n this.loadInitialSelectedValues(controlValueArray);\n }\n }\n }\n\n public fieldErrorLabel(): string {\n if (this.control && this.control.invalid && this.control.touched) {\n if (this.control.hasError('required')) {\n return 'Campo obrigatório';\n }\n\n return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';\n }\n\n return '';\n }\n\n public customFormattingMultiSelectFieldWithFlags(): void {\n this.onloadAutocompletePanelService();\n\n setTimeout(() => {\n const vectorMultiselectField = document.querySelector('vector-multiselect-field.multiselect-flags');\n\n if (vectorMultiselectField) {\n const pOverlayElement = vectorMultiselectField.querySelector('p-overlay');\n\n if (pOverlayElement) {\n const classList = Array.from(pOverlayElement.classList);\n const targetClass = classList.find((className) => className.startsWith('ng-tns-'));\n\n if (targetClass) {\n const classReferenceCode = targetClass.replace('ng-tns-', '');\n const targetDivWithRefCode = document.querySelector(`div.ng-tns-${classReferenceCode}`);\n\n if (targetDivWithRefCode) {\n targetDivWithRefCode.classList.add('multiselect-flags');\n }\n }\n }\n }\n }, 200);\n }\n\n private onloadAutocompletePanelService(): void {\n if (this.service) {\n this.search();\n this.currentScrollPage++;\n\n this.service\n .getPaged(\n encodeURIComponent(this.currentSearchQuery),\n this.currentScrollPage,\n this.limitScrollPage,\n this.dependencies\n )\n .subscribe({\n next: (response) => {\n if (response && response.length) {\n const currentSignalOptions = this.signalOptions() || [];\n const combined = [\n ...currentSignalOptions,\n ...response,\n ...(this.currentScrollPage === 0 ? [] : (this.options as (ListItem | ListItemOptionsFlagType)[])),\n ];\n const uniqueOptions = combined.filter(\n (item, index, self) => self.findIndex((i) => i.code === item.code) === index\n );\n\n this.options = uniqueOptions;\n this.signalOptions.set(uniqueOptions);\n } else {\n this.options = this.currentScrollPage === 0 ? [] : this.options;\n this.signalOptions.set(this.options);\n }\n\n const controlValue = typeof this.control.value == 'object' ? this.control.value?.code : this.control.value;\n\n if (this.control.value && this.options?.find((item) => item.code == controlValue)) {\n this.setControlValueFromSuggestions();\n }\n\n if (this.forceSelection) {\n this.handleSearchErrors();\n }\n },\n error: (err) => {},\n });\n }\n }\n\n private loadInitialSelectedValues(controlValueArray: any[]): void {\n if (!this.service) return;\n this.service.getPaged('', 0, this.limitScrollPage, this.dependencies).subscribe({\n next: (response) => {\n this.options = response;\n this.setInitialControlValues(controlValueArray);\n },\n error: (err) => {},\n });\n }\n\n private setInitialControlValues(values: any[]): void {\n const selectedItems = (this.options as ListItemExtend[])\n .filter((item) => values.includes(item.code || item.key || item.id))\n .map((el) => (el.code = el.key ? el.key : el.id ? el.id : el.code));\n this.control.setValue(selectedItems, { emitEvent: false });\n }\n\n public onOpenAutocompletePanel(): void {\n this.search();\n const multiSelectPanel = document.querySelector('.p-multiselect-items-wrapper');\n\n if (multiSelectPanel && this.paged && this.currentSearchQuery.length >= this.minLengthToService) {\n this.unlistenAutocompleteVirtualScroll = this.renderer.listen(multiSelectPanel, 'scroll', (event) => {\n const eventHeight = event.target.scrollHeight - event.target.clientHeight - 150;\n\n if (Math.round(event.target.scrollTop) >= eventHeight) {\n this.pageResults();\n }\n });\n }\n }\n\n public onHideAutocompletePanel(): void {\n if (this.paged) {\n this.unlistenAutocompleteVirtualScroll();\n }\n }\n\n public search($event?: any, forceSearch = false): void {\n this.currentSearchQuery = $event?.filter.toUpperCase() || '';\n this.currentScrollPage = -1;\n this.currentScrollIndex = 0;\n if (forceSearch || this.currentSearchQuery.length >= this.minLengthToService) {\n this.pageResults();\n } else {\n this.options = [];\n }\n }\n\n public onFilterChange($event?: MultiSelectFilterEvent): void {\n if (!$event || !$event.filter) return;\n\n if (this.service && $event?.filter.length >= this.minLengthToService) {\n this.service.getPaged($event.filter, this.currentScrollPage, this.limitScrollPage, this.dependencies).subscribe({\n next: (response: ListItem[]) => {\n if (response && response.length) {\n const currentSignalOptions = this.signalOptions() || [];\n const combined = [...response, ...currentSignalOptions, ...(this.options as ListItem[])];\n const uniqueOptions = combined.filter(\n (item, index, self) => self.findIndex((i) => i.code === item.code) === index\n );\n\n this.options = uniqueOptions;\n this.signalOptions.set(uniqueOptions);\n }\n },\n error: (err) => {},\n });\n }\n }\n\n private pageResults(): void {\n const filteredOptions = this.filterListByQuery(this.pagedSugestion, this.currentSearchQuery.toUpperCase());\n this.options = filteredOptions.slice(0, this.currentScrollIndex + 20);\n\n if (this.pagedSugestion?.length && this.pagedSugestion.length > 20) {\n this.currentScrollIndex = this.currentScrollIndex + 20;\n }\n\n this.setControlValueFromSuggestions();\n }\n\n private filterListByQuery(list: ListItem[] = [], query: string): ListItem[] {\n return list.filter(\n (opt) => String(opt.code).toUpperCase().includes(query) || opt.name.toUpperCase().includes(query)\n );\n }\n\n private setControlValueFromSuggestions() {\n const code =\n (ObjectUtil.isValid(this.control.value?.code) && `${this.control.value?.code}`) || `${this.control.value}`;\n if (this.control.value && this.options?.length) {\n let itemsArray = this.options;\n if (this.options?.length) {\n itemsArray = this.options;\n }\n const itemFromSuggestions = itemsArray.find((opt) => `${opt.code}`.toUpperCase() === code.toUpperCase());\n if (itemFromSuggestions) {\n this.control.setValue(itemFromSuggestions, { emitEvent: false });\n } else {\n this.service?.getById(+code).subscribe((response) => {\n this.control.setValue(response, { emitEvent: false });\n });\n }\n } else if (this.control.value && !this.options?.length) {\n this.service?.getById(+code).subscribe((response) => {\n this.control.setValue(response, { emitEvent: false });\n });\n }\n }\n\n private handleSearchErrors() {\n if (this.options?.length) {\n delete this.control.errors?.itemNotFound;\n } else if (this.currentSearchQuery) {\n this.control.setErrors({ itemNotFound: true });\n }\n }\n}\n","<div class=\"multiselect-field-input-container\">\n <p-multiSelect\n *ngIf=\"!filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onPanelHide)=\"onClosePanel.emit($event)\"\n (onPanelShow)=\"customFormattingMultiSelectFieldWithFlags()\"\n (onFilter)=\"onFilterChange($event)\"\n [disabled]=\"disabled\"\n [showHeader]=\"showHeader\"\n >\n <ng-container *ngIf=\"showFlags\">\n <ng-template let-option pTemplate=\"item\">\n <div class=\"grid-nogutter w-full flex\">\n <div\n class=\"md:col-6 sm:col-12 align-content-center\"\n [ngClass]=\"option.align === 'center' ? 'md:text-center' : 'md:text-left'\"\n >\n <img\n *ngIf=\"option.type == 'img'\"\n [src]=\"option.imgSource\"\n [ngClass]=\"option.imgClass\"\n [style]=\"{ height: option.imgSize + 'px' }\"\n />\n <i\n *ngIf=\"option.type == 'icon'\"\n [className]=\"option.iconSource\"\n [ngClass]=\"option.iconClass\"\n [style]=\"{ 'font-size': option.iconSize }\"\n ></i>\n </div>\n\n <div *ngIf=\"option.showDescriptionOnRight\" class=\"col-6 hidden md:block align-content-center\">\n <span class=\"block\">{{ option.name }}</span>\n </div>\n </div>\n </ng-template>\n </ng-container>\n </p-multiSelect>\n\n <p-multiSelect\n *ngIf=\"filterVirtualScrool\"\n #multiselect\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n dropdownIcon=\"fas fa-sort-down\"\n selectedItemsLabel=\"Selecionar todos\"\n [panelStyleClass]=\"filter ? 'has-filter' : ''\"\n [options]=\"options\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [filter]=\"filter\"\n [maxSelectedLabels]=\"options.length - 1\"\n [showHeader]=\"true\"\n [showToggleAll]=\"showSelectAllOption\"\n [dropdownIcon]=\"'pi pi-chevron-down'\"\n [display]=\"display\"\n (onChange)=\"onChange.emit($event)\"\n (onFilter)=\"search($event)\"\n (onPanelShow)=\"onOpenAutocompletePanel()\"\n (onPanelHide)=\"onHideAutocompletePanel()\"\n [disabled]=\"disabled\"\n >\n </p-multiSelect>\n <span class=\"input-error\">{{ fieldErrorLabel() }}</span>\n</div>\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ListItem } from '../../../models';\nimport { BaseDropdown } from '../../../services';\nimport { ObjectUtil } from '../../../utils';\n\nexport type DropdownButtonAction = {\n label: string;\n onClick: (value: any) => void;\n};\n\n@Component({\n selector: 'vector-dropdown-field',\n templateUrl: './dropdown-field.component.html',\n styleUrls: ['./dropdown-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class DropdownFieldComponent implements OnInit, OnDestroy {\n @Input()\n set options(_options: ListItem[]) {\n this._options = _options;\n this.pagedSuggestions = this.options || [];\n }\n @Input()\n public isNgContent = false;\n @Input()\n public forceSelection = true;\n @Input()\n public isRequired: boolean | undefined = false;\n @Input()\n set control(_control: any) {\n this._control = _control;\n if (this.control) {\n this.subscription.add(\n this.control.valueChanges.subscribe(() => {\n this.setControlValueFromSuggestions();\n })\n );\n }\n }\n @Input()\n public label: string = '';\n @Input()\n public service: BaseDropdown | undefined;\n @Input()\n public paged = true;\n @Input()\n public buttonAction: DropdownButtonAction | undefined;\n @Input()\n public dependencies: any;\n @Input()\n public hiddenErrorMessage: boolean = false;\n @Input()\n public dynamicFilters?: ListItem[];\n @Input()\n public minLengthToService: number = 0;\n @Input()\n public initialLoad = true;\n @Input()\n public disabled = false;\n @Input()\n public limitScrollPage: number = 20;\n @Input()\n public inputId?: string;\n @Output()\n public onFocus = new EventEmitter();\n @Output()\n public onChange = new EventEmitter();\n\n get control() {\n return this._control;\n }\n\n get options() {\n return this._options;\n }\n\n get placeholder() {\n if (!this.label) {\n return '';\n }\n return `${this.label}${this.isRequired ? '*' : ''}`;\n }\n\n public pagedSuggestions: ListItem[] = [];\n public unlistenAutocompleteVirtualScroll = () => {};\n public selectedDynamicFilter: any = this.dynamicFilters ? this.dynamicFilters[0].code : undefined;\n\n private _control: any;\n private _options: any[] = [];\n private currentScrollPage = -1;\n private currentScrollIndex = 0;\n private subscription = new Subscription();\n private currentSearchQuery = '';\n\n constructor(private renderer: Renderer2) {}\n\n ngOnInit(): void {\n if (this.control && this.disabled) {\n this.control.disable();\n } else {\n this.control.enable();\n }\n\n if (this.initialLoad) {\n this.search(null, true);\n }\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n if (this.unlistenAutocompleteVirtualScroll) {\n this.unlistenAutocompleteVirtualScroll();\n }\n }\n\n public fieldErrorLabel(): string {\n if (this.control?.invalid && this.control.touched) {\n if (this.control.hasError('required')) {\n return 'Campo obrigatório';\n }\n\n return this.control?.errors && typeof this.control.errors['invalid'] === 'string'\n ? this.control?.errors['invalid']\n : 'Campo inválido';\n }\n\n return '';\n }\n\n public search($event?: any, forceSearch = false): void {\n this.currentSearchQuery = $event?.query.toUpperCase() || '';\n this.currentScrollPage = -1;\n this.currentScrollIndex = 0;\n if (forceSearch || this.currentSearchQuery.length >= this.minLengthToService) {\n this.pageResults();\n } else {\n this.pagedSuggestions = [];\n }\n }\n\n public onOpenAutocompletePanel(): void {\n const autocompletePanel = document.querySelector('.p-autocomplete-panel');\n if (autocompletePanel && this.paged && this.currentSearchQuery.length >= this.minLengthToService) {\n this.unlistenAutocompleteVirtualScroll = this.renderer.listen(autocompletePanel, 'scroll', (event) => {\n const eventHeight = event.target.scrollHeight - event.target.clientHeight - 150;\n\n if (Math.round(event.target.scrollTop) >= eventHeight) {\n this.pageResults();\n }\n });\n }\n }\n\n public onHideAutocompletePanel(): void {\n if (this.paged) {\n this.unlistenAutocompleteVirtualScroll();\n }\n }\n\n private pageResults(): void {\n if (this.service) {\n this.currentScrollPage++;\n this.service\n .getPaged(\n encodeURIComponent(this.currentSearchQuery),\n this.currentScrollPage,\n this.limitScrollPage,\n this.dependencies\n )\n .subscribe({\n next: (response) => {\n const formattedResponse = response.map((item) => ({\n ...item,\n name: this.formatDropdownValue(item.name),\n }));\n this.pagedSuggestions =\n this.currentScrollPage === 0 ? formattedResponse : this.pagedSuggestions?.concat(formattedResponse);\n const controlValue = typeof this.control.value == 'object' ? this.control.value?.code : this.control.value;\n if (this.control.value && this.pagedSuggestions?.find((item) => item.code == controlValue)) {\n this.setControlValueFromSuggestions();\n }\n if (this.forceSelection) {\n this.handleSearchErrors();\n }\n },\n error: (err) => {},\n });\n } else {\n const filteredOptions = this.filterListByQuery(this.options, this.currentSearchQuery.toUpperCase());\n this.pagedSuggestions = filteredOptions.slice(0, this.currentScrollIndex + this.limitScrollPage);\n\n if (this.options?.length && this.options.length > this.limitScrollPage) {\n this.currentScrollIndex = this.currentScrollIndex + this.limitScrollPage;\n }\n\n this.setControlValueFromSuggestions();\n if (this.forceSelection) {\n this.handleSearchErrors();\n }\n }\n }\n\n private setControlValueFromSuggestions() {\n const code =\n (ObjectUtil.isValid(this.control.value?.code) && `${this.control.value?.code}`) || `${this.control.value}`;\n if (this.control.value && this.pagedSuggestions?.length) {\n let itemsArray = this.pagedSuggestions;\n if (this.options?.length) {\n itemsArray = this.options;\n }\n const itemFromSuggestions = itemsArray.find((opt) => `${opt.code}`.toUpperCase() === code.toUpperCase());\n if (itemFromSuggestions) {\n this.control.setValue(itemFromSuggestions, { emitEvent: false });\n } else {\n this.service?.getById(+code).subscribe((response) => {\n this.control.setValue(response, { emitEvent: false });\n });\n }\n } else if (this.control.value && !this.pagedSuggestions?.length) {\n this.service?.getById(+code).subscribe((response) => {\n this.control.setValue(response, { emitEvent: false });\n });\n }\n }\n\n private handleSearchErrors() {\n if (this.pagedSuggestions?.length) {\n delete this.control.errors?.itemNotFound;\n } else if (this.currentSearchQuery) {\n this.control.setErrors({ itemNotFound: true });\n }\n }\n\n private filterListByQuery(list: ListItem[] = [], query: string): ListItem[] {\n return list.filter(\n (opt) => String(opt.code).toUpperCase().includes(query) || opt.name.toUpperCase().includes(query)\n );\n }\n\n formatDropdownValue(value: string): string {\n const firstDigitIndex = value.search(/\\d/);\n if (firstDigitIndex === -1) return value;\n\n const prefix = value.slice(0, firstDigitIndex);\n\n const suffixWithNumbers = value.slice(firstDigitIndex);\n\n const match = suffixWithNumbers.match(/^(\\d+)(.*)$/);\n if (!match) return value;\n\n const rawNumber = match[1];\n const suffix = match[2];\n\n const formatted = this.applyDynamicCpfCnpjMask(rawNumber);\n\n return `${prefix}${formatted}${suffix}`;\n }\n\n private applyDynamicCpfCnpjMask(value: string): string {\n if (!value) return '';\n\n const alphanumerics = value.replace(/[^a-zA-Z0-9]/g, '');\n const isOnlyDigits = /^\\d+$/.test(alphanumerics);\n if (isOnlyDigits && !this.isCpfOrCnpj(alphanumerics)) return value;\n\n let masked = '';\n const isCpf = alphanumerics.length <= 11;\n\n if (isCpf) {\n for (let i = 0; i < alphanumerics.length; i++) {\n masked += alphanumerics[i];\n if (i === 2 || i === 5) masked += '.';\n else if (i === 8) masked += '-';\n }\n } else {\n for (let i = 0; i < alphanumerics.length; i++) {\n masked += alphanumerics[i];\n if (i === 1 || i === 4) masked += '.';\n else if (i === 7) masked += '/';\n else if (i === 11) masked += '-';\n }\n }\n\n return masked;\n }\n\n private isCpfOrCnpj(value: string): boolean {\n const cleaned = value.replace(/\\D/g, '');\n return this.isValidCpf(cleaned) || this.isValidCnpj(cleaned);\n }\n\n private isValidCpf(cpf: string): boolean {\n if (cpf.length !== 11 || /^(\\d)\\1+$/.test(cpf)) return false;\n\n const digits = cpf.split('').map(Number);\n\n const calcVerifier = (factor: number) => {\n let total = 0;\n for (let i = 0; i < factor - 1; i++) {\n total += digits[i] * (factor - i);\n }\n const rest = total % 11;\n return rest < 2 ? 0 : 11 - rest;\n };\n\n const dv1 = calcVerifier(10);\n const dv2 = calcVerifier(11);\n\n return dv1 === digits[9] && dv2 === digits[10];\n }\n\n private isValidCnpj(cnpj: string): boolean {\n if (cnpj.length !== 14 || /^(\\d)\\1+$/.test(cnpj)) return false;\n\n const digits = cnpj.split('').map(Number);\n const calcVerifier = (length: number) => {\n const weights = length === 12 ? [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2] : [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\n\n const total = digits.slice(0, length).reduce((sum, num, idx) => sum + num * weights[idx], 0);\n\n const rest = total % 11;\n return rest < 2 ? 0 : 11 - rest;\n };\n\n const dv1 = calcVerifier(12);\n const dv2 = calcVerifier(13);\n\n return dv1 === digits[12] && dv2 === digits[13];\n }\n}\n","<div class=\"relative\">\n <div class=\"input-container\">\n <div class=\"input-inner-container\" *ngIf=\"!isNgContent\">\n <p-dropdown\n *ngIf=\"dynamicFilters\"\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n [(ngModel)]=\"selectedDynamicFilter\"\n [options]=\"dynamicFilters\"\n [disabled]=\"disabled\"\n [inputId]=\"inputId\"\n >\n </p-dropdown>\n <p-autoComplete\n appendTo=\"body\"\n field=\"name\"\n [forceSelection]=\"forceSelection\"\n [dropdown]=\"true\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [suggestions]=\"pagedSuggestions\"\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\n [delay]=\"800\"\n (completeMethod)=\"search($event)\"\n (onShow)=\"onOpenAutocompletePanel()\"\n (onHide)=\"onHideAutocompletePanel()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onChange)=\"onChange.emit($event)\"\n [disabled]=\"disabled\"\n [inputId]=\"inputId\"\n >\n </p-autoComplete>\n </div>\n\n <div class=\"input-inner-container\" *ngIf=\"isNgContent\">\n <p-autoComplete\n appendTo=\"body\"\n field=\"name\"\n [forceSelection]=\"forceSelection\"\n [dropdown]=\"true\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [suggestions]=\"pagedSuggestions\"\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\n [delay]=\"800\"\n (completeMethod)=\"search($event)\"\n (onShow)=\"onOpenAutocompletePanel()\"\n (onHide)=\"onHideAutocompletePanel()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onChange)=\"onChange.emit($event)\"\n [disabled]=\"disabled\"\n [inputId]=\"inputId\"\n >\n <ng-template let-option pTemplate=\"item\">\n <div class=\"option-content\">\n <span class=\"option-label\">{{ option.name }}</span>\n <br />\n <span class=\"option-sublabel\">{{ option.code }}</span>\n </div>\n </ng-template>\n </p-autoComplete>\n </div>\n\n <vector-button\n *ngIf=\"buttonAction\"\n [label]=\"buttonAction.label\"\n [disabled]=\"disabled\"\n (onClick)=\"buttonAction.onClick(control.value)\"\n ></vector-button>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</div>\n","import { Component, Input } from '@angular/core';\nimport { ListItem } from '../../../models';\n\n@Component({\n selector: 'vector-select-button-field',\n templateUrl: './select-button-field.component.html',\n styleUrls: ['./select-button-field.component.scss'],\n})\nexport class SelectButtonFieldComponent {\n @Input()\n public options: ListItem[] = [];\n @Input()\n public control: any;\n @Input()\n public disabled: boolean = false;\n\n constructor() {}\n}\n","<div class=\"input-container p-input-icon-right\">\n <p-selectButton\n [options]=\"options\"\n [formControl]=\"control\"\n optionLabel=\"name\"\n optionValue=\"code\"\n [disabled]=\"disabled\"\n ></p-selectButton>\n</div>\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl, UntypedFormGroup, ValidatorFn, Validators } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { ListItem } from '../../../models';\nimport { BaseDropdown } from '../../../services';\nimport { ObjectUtil, ValidationUtil } from '../../../utils';\n\nexport enum FieldType {\n DROPDOWN,\n TEXT,\n DATE,\n NUMBER,\n CURRENCY,\n DYNAMIC_DROPDOWN,\n SELECT_BUTTON,\n DATE_RANGE,\n MULTISELECT,\n}\n\nexport type FilterField = {\n name: string;\n type: FieldType;\n minLength?: number;\n maxLength?: number;\n min?: number;\n max?: number;\n required?: boolean;\n readonly?: boolean;\n disabled?: boolean;\n label?: string;\n mask?: string;\n options?: ListItem[];\n filterTypes?: ListItem[];\n service?: BaseDropdown;\n defaultValue?: any;\n placeholder?: string;\n hidden?: boolean;\n dependencies?: string[];\n size?: 'small' | 'medium' | 'large' | 'largest' | 'full';\n minLengthToService?: number;\n initiateValue?: boolean;\n tooltip?: string;\n controler?: UntypedFormControl;\n dateMin?: Date;\n dateMax?: Date;\n class?: string;\n limitScrollPage?: number;\n};\n\n@Component({\n selector: 'vector-filters',\n templateUrl: './filters.component.html',\n styleUrls: ['./filters.component.scss'],\n})\nexport class FiltersComponent implements OnInit, OnDestroy {\n @Input()\n public set fields(_fields: FilterField[]) {\n const isFirstSet = !this._fields.length && _fields?.length;\n this._fields = _fields;\n this.formGroup = new UntypedFormGroup({});\n\n this.fieldsSubscription.unsubscribe();\n this.fieldsSubscription = new Subscription();\n\n this.fields?.forEach((field) => {\n if (field?.defaultValue && typeof field?.defaultValue === 'object') {\n field.initiateValue = !!field.defaultValue?.code;\n } else {\n field.initiateValue = !!field.defaultValue;\n }\n if (field.type === FieldType.DATE_RANGE) {\n this.formGroup.addControl(\n field.name,\n new UntypedFormGroup({\n startDate: new UntypedFormControl({ value: field.defaultValue?.startDate, disabled: field.readonly }, [\n ...this.buildValidators(field),\n ValidationUtil.lowerThanOrEqualTo('endDate'),\n ]),\n endDate: new UntypedFormControl({ value: field.defaultValue?.endDate, disabled: field.readonly }, [\n ...this.buildValidators(field),\n ValidationUtil.greaterThanOrEqualTo('startDate'),\n ]),\n })\n );\n } else {\n if (field.controler) {\n this.formGroup.addControl(field.name, field.controler);\n } else {\n this.formGroup.addControl(\n field.name,\n new UntypedFormControl({ value: field.defaultValue, disabled: field.readonly }, this.buildValidators(field))\n );\n }\n }\n\n if (!field.limitScrollPage) {\n field.limitScrollPage = 20;\n }\n });\n\n this.fields\n ?.filter((field) => field.dependencies)\n .forEach((field) => {\n field.dependencies?.forEach((dependency) => {\n this.fieldsSubscription.add(\n this.formGroup.get(dependency)?.valueChanges.subscribe((value) => {\n this.formGroup.get(field.name)?.reset();\n })\n );\n });\n });\n\n this.patchFormFromQueryParams({ ...this.activatedRoute.snapshot.queryParams });\n\n if (this._fields?.length && this.formGroup.valid && isFirstSet) {\n this.search();\n }\n this.formBuilded.emit();\n\n this.fieldsSubscription.add(\n this.activatedRoute.queryParams.subscribe((queryParams) => {\n this.patchFormFromQueryParams({ ...queryParams });\n })\n );\n }\n\n @Output()\n public onSearch = new EventEmitter<any>();\n @Output()\n public formBuilded = new EventEmitter<void>();\n\n public get fields() {\n return this._fields;\n }\n\n public fieldTypes = FieldType;\n public formGroup = new UntypedFormGroup({});\n\n private _fields: FilterField[] = [];\n private fieldsSubscription = new Subscription();\n\n get hideFilters() {\n return !this.fields?.filter((item) => !item.hidden).length;\n }\n\n constructor(private activatedRoute: ActivatedRoute) {}\n\n ngOnInit(): void {}\n\n ngOnDestroy() {\n this.fieldsSubscription.unsubscribe();\n }\n\n public search() {\n this.formGroup.markAllAsTouched();\n if (this.formGroup.valid) {\n const filterValue = this.formGroup.getRawValue();\n Object.keys(filterValue).forEach((key) => {\n if (filterValue[key]?.hasOwnProperty('code')) {\n filterValue[key] = filterValue[key].code;\n }\n if (!ObjectUtil.isValid(filterValue[key])) {\n const fieldType = this.fields.find((field) => field.name === key)?.type ?? FieldType.TEXT;\n filterValue[key] = [FieldType.DROPDOWN, FieldType.NUMBER].includes(fieldType) ? -1 : '';\n }\n });\n this.onSearch.emit(filterValue);\n }\n }\n\n public isTextFieldType(field: FilterField) {\n return [FieldType.TEXT, FieldType.NUMBER].includes(field.type);\n }\n\n public getFieldDependencies(field: FilterField) {\n if (!field.dependencies) {\n return undefined;\n }\n return field.dependencies.reduce((prev, curr) => {\n let depValue: any = this.formGroup.get(curr)?.value?.code;\n if (!ObjectUtil.isValid(depValue)) {\n depValue = -1;\n }\n return {\n ...prev,\n [curr]: depValue,\n };\n }, {});\n }\n\n public getGridClass(field: FilterField) {\n switch (field.size) {\n case 'small':\n return 'md:col-1';\n case 'medium':\n return 'md:col-3';\n case 'large':\n return 'md:col-4';\n case 'largest':\n return 'md:col-8';\n case 'full':\n return 'md:col-12';\n default:\n return 'md:col-4';\n }\n }\n\n private patchFormFromQueryParams(queryParams: any) {\n if (Object.keys(queryParams).length) {\n this.fields.forEach((field) => {\n if (queryParams.hasOwnProperty(field.name)) {\n try {\n queryParams[field.name] = queryParams[field.name]\n ? JSON.parse(queryParams[field.name])\n : queryParams[field.name];\n } catch (_) {}\n if (field.type === FieldType.DATE_RANGE) {\n queryParams[field.name] = {\n startDate: queryParams[field.name].startDate ? new Date(queryParams[field.name].startDate) : undefined,\n endDate: queryParams[field.name].endDate ? new Date(queryParams[field.name].endDate) : undefined,\n };\n }\n if (field.type === FieldType.DATE) {\n queryParams[field.name] = queryParams[field.name] ? new Date(queryParams[field.name]) : undefined;\n }\n }\n });\n this.formGroup.patchValue(queryParams);\n }\n }\n\n private buildValidators(field: FilterField): ValidatorFn[] {\n const validators = [];\n if (field.required) {\n validators.push(Validators.required);\n }\n if (field.minLength) {\n validators.push(Validators.minLength(field.minLength));\n }\n if (field.maxLength) {\n validators.push(Validators.maxLength(field.maxLength));\n }\n if (field.min) {\n validators.push(Validators.min(field.min));\n }\n if (field.max) {\n validators.push(Validators.max(field.max));\n }\n return validators;\n }\n}\n","<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\n <label\n >{{ field.label }}\n <i\n *ngIf=\"field.tooltip\"\n class=\"fas fa-info-circle mt-1 pl-2 ch\"\n pTooltip=\"{{ field.tooltip }}\"\n tooltipPosition=\"bottom\"\n ></i\n ></label>\n <vector-text-field\n *ngIf=\"isTextFieldType(field)\"\n [control]=\"formGroup.get(field.name)\"\n [mask]=\"field.mask\"\n [label]=\"field.placeholder\"\n [isRequired]=\"field.required\"\n [numeric]=\"field.type === fieldTypes.NUMBER\"\n [class]=\"field.class\"\n ></vector-text-field>\n <vector-dropdown-field\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\n [dynamicFilters]=\"field.filterTypes\"\n [disabled]=\"field.disabled\"\n [options]=\"field.options || []\"\n [service]=\"field.service\"\n [isRequired]=\"field.required\"\n [minLengthToService]=\"field.minLengthToService || 0\"\n [control]=\"formGroup.get(field.name)\"\n [paged]=\"false\"\n [dependencies]=\"getFieldDependencies(field)\"\n [initialLoad]=\"field.initiateValue\"\n [limitScrollPage]=\"field.limitScrollPage\"\n ></vector-dropdown-field>\n <vector-currency-field\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\n [control]=\"formGroup.get(field.name)\"\n [outlined]=\"true\"\n [disabled]=\"field.disabled\"\n ></vector-currency-field>\n <vector-calendar-field\n *ngIf=\"field.type === fieldTypes.DATE\"\n [control]=\"formGroup.get(field.name)\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n [disabled]=\"field.disabled\"\n [min]=\"field.dateMin\"\n [max]=\"field.dateMax\"\n ></vector-calendar-field>\n <vector-select-button-field\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\n [control]=\"formGroup.get(field.name)\"\n [options]=\"field.options\"\n (click)=\"search()\"\n [disabled]=\"field.disabled\"\n >\n </vector-select-button-field>\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\n <vector-calendar-field\n [control]=\"formGroup.get(field.name + '.startDate')\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n [disabled]=\"field.disabled\"\n [min]=\"field.dateMin\"\n ></vector-calendar-field>\n Até\n <vector-calendar-field\n [control]=\"formGroup.get(field.name + '.endDate')\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n [disabled]=\"field.disabled\"\n [max]=\"field.dateMax\"\n ></vector-calendar-field>\n </div>\n <vector-multiselect-field\n *ngIf=\"field.type === fieldTypes.MULTISELECT\"\n [control]=\"formGroup.get(field.name)\"\n [options]=\"field.options || []\"\n [disabled]=\"field.disabled\"\n >\n </vector-multiselect-field>\n </div>\n <div class=\"search-button sm:col-4\">\n <vector-button\n [label]=\"'app.label.search' | translate\"\n (click)=\"search()\"\n [disabled]=\"!formGroup.valid\"\n [round]=\"true\"\n type=\"default-filled\"\n ></vector-button>\n </div>\n</div>\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { DateTime } from 'luxon';\nimport { Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { FilterChangedEvent, ListItem, Status } from '../../../models';\nimport { DataTableLazyLoadEvent, TableColumn, TableColumnType } from '../../../models/data-table.model';\nimport { MaskUtil } from '../../../utils';\nimport { FilterField, FiltersComponent } from '../filters/filters.component';\n\n@Component({\n selector: 'vector-data-table',\n templateUrl: './data-table.component.html',\n styleUrls: ['./data-table.component.scss'],\n})\nexport class DataTableComponent implements OnInit, OnDestroy {\n @Input()\n public columns: TableColumn[] = [];\n @Input()\n public set data(_data: any[]) {\n this._data = _data;\n this.selectedItems = this._data?.filter((item) => item.selected) || [];\n }\n public get data() {\n return this._data;\n }\n private _data: any[] = [];\n @Input()\n public exportExcel = false;\n @Input()\n public exportPDF = false;\n @Input()\n public customFunction: { label: string; icon?: string; clickFunction: Function }[] | undefined;\n @Input()\n public totalRecords = 0;\n @Input()\n public disabledHeadercheckbox = false;\n @Input()\n public filters: FilterField[] = [];\n @Input()\n public addItemLabel = '';\n @Input()\n public pagination = true;\n @Input()\n public virtualPagination = false;\n @Input()\n public set tabs(_tabs: ListItem[]) {\n this._tabs = _tabs;\n this._tabSelected = _tabs[0];\n }\n @Input()\n public customButtons: { label: string; clickFunction: Function }[] | undefined;\n @Input()\n public addItemButtonPlusSign = false;\n @Input()\n public hasActions: boolean = true;\n @Input()\n public hasExpandableIcon = false;\n @Input()\n public addNameColumnExpand = '';\n @Input() expandable = false;\n @Input() expansionTemplate!: TemplateRef<any> | null;\n @Input()\n public set selectionMode(_selectionMode) {\n switch (_selectionMode) {\n case 'single':\n this._selectionMode = 'single';\n break;\n case 'multiple':\n this._selectionMode = 'multiple';\n break;\n default:\n this._selectionMode = null;\n break;\n }\n }\n @Input()\n public selectionType: 'checkbox' | 'radiobutton' | null = null;\n @Input()\n public set height(_height: string) {\n switch (_height) {\n case 'small':\n this._height = '300px';\n break;\n case 'medium':\n this._height = '500px';\n break;\n case 'large':\n this._height = '700px';\n break;\n case 'full':\n this._height = 'flex';\n break;\n default:\n this._height = '300px';\n }\n }\n @Input()\n public showLimitBalance = false;\n @Input()\n public showDataBalance = false;\n @Input()\n public dataAccountBalance: { visible: boolean; name: string; valueBalance: number; showBalance: boolean }[] = [];\n\n @Output()\n public onLazyLoad = new EventEmitter<DataTableLazyLoadEvent>();\n @Output()\n public onFilter = new EventEmitter<any>();\n @Output()\n public onAdd = new EventEmitter<void>();\n @Output()\n public onExportExcel = new EventEmitter<void>();\n @Output()\n public onExportPDF = new EventEmitter<void>();\n @Output()\n public onSelectedRows = new EventEmitter<any>();\n @Output()\n public onFilterChanged = new EventEmitter<FilterChangedEvent>();\n @Output()\n public onTabSelected = new EventEmitter<ListItem>();\n @Output()\n public onExpandRow: EventEmitter<any> = new EventEmitter();\n\n @Input()\n public firstLazyLoad = false;\n @Input()\n public shouldLazyLoadWithoutFilter = false;\n @Input()\n public reorderableColumns = false;\n\n @ViewChild(FiltersComponent, { static: true })\n public filtersComponent: FiltersComponent | undefined;\n\n public selectedItems: any = [];\n\n get balance(): (itemAccount?: any) => number | string {\n return (itemAccount?: any): number | string => {\n return itemAccount.showBalance\n ? itemAccount.valueBalance.toLocaleString('pt-BR', {\n currency: 'BRL',\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n })\n : '-,--';\n };\n }\n\n get tabs() {\n return this._tabs;\n }\n get height() {\n return this._height;\n }\n get selectionMode() {\n return this._selectionMode;\n }\n\n private _selectionMode: 'single' | 'multiple' | null = null;\n private _height: string = 'small';\n private _tabs: ListItem[] = [];\n private _draw = 1;\n private _firstLazyLoadedDone = this.firstLazyLoad;\n private _lastLazyLoadEvent: DataTableLazyLoadEvent | undefined;\n private _tabSelected: ListItem | undefined;\n private _filterSubscription = new Subscription();\n\n constructor(public cd: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n if (!this.height) {\n this.height = 'small';\n }\n\n if (!this.pagination || this.virtualPagination) {\n this.filtersComponent?.search();\n }\n }\n\n ngOnDestroy(): void {\n this._filterSubscription.unsubscribe();\n }\n\n getColStyle(col: TableColumn) {\n return { 'min-width': col.width };\n }\n\n lazyLoaded(params: { filter: boolean; data: any } = { filter: false, data: { start: 0, rows: 10 } }) {\n if (!params.filter && !this.shouldLazyLoadWithoutFilter) {\n const columns = this.columns.map((col) => {\n return {\n data: col.field,\n name: `${col.field.substring(0, 1).toUpperCase()}${col.field.substring(1, col.field.length)}`,\n orderable: true,\n search: { value: '', regex: false },\n searchable: true,\n };\n });\n if (this.hasActions) {\n columns.unshift({\n data: 'active',\n name: 'Active',\n orderable: true,\n search: { value: '', regex: false },\n searchable: true,\n });\n }\n this._lastLazyLoadEvent = {\n ...(this._lastLazyLoadEvent || ({} as any)),\n page: params.data.first / params.data.rows + 1,\n start: params.data.first,\n length: params.data.rows,\n draw: this._draw++,\n order: params.data.sortField\n ? [\n {\n column:\n this.columns.findIndex((col) => col.field === params.data.sortField) + (this.hasActions ? 1 : 0),\n dir: params.data.sortOrder > 0 ? 'asc' : 'desc',\n },\n ]\n : [{ column: 0, dir: 'desc' }],\n columns: columns,\n tab: this._tabSelected,\n };\n } else {\n this._lastLazyLoadEvent = {\n ...this._lastLazyLoadEvent,\n ...params.data,\n start: 0,\n };\n if (this._tabSelected) {\n this._lastLazyLoadEvent = {\n ...(this._lastLazyLoadEvent || ({} as any)),\n ...{ Status: this._tabSelected.code },\n tab: this._tabSelected,\n };\n }\n }\n\n if (this._firstLazyLoadedDone || this.firstLazyLoad) {\n this.onLazyLoad.emit(this._lastLazyLoadEvent);\n }\n this._firstLazyLoadedDone = true;\n }\n\n getCellContent(item: any, col: TableColumn) {\n const cellText = this.getCellText(item, col);\n let content = `<span class=\"p-column-title\">${col.header}</span><span class=\"w-100\">`;\n if (\n !col.type ||\n [TableColumnType.ENUM, TableColumnType.TEXT, TableColumnType.DATETIME, TableColumnType.DATE].includes(col.type)\n ) {\n content += cellText;\n }\n switch (col.type) {\n case TableColumnType.CUSTOM_STYLE:\n content += `<span class=\"${col.textFieldClass ? item[col.textFieldClass] : ''}\">${cellText}</span>`;\n break;\n case TableColumnType.BOOLEAN:\n content += `<div class=\"text-centered\"><i class=\" status-table-field fas fa-${\n cellText ? 'check boolean-value-positive' : 'times boolean-value-negative'\n }\"></i></div>`;\n break;\n case TableColumnType.STATUS_BADGE:\n content += `<div class=\"text-centered\"><i class=\"fas fa-circle status-table-field ${this.getStatusColor(\n cellText\n )}\"></i></div>`;\n break;\n case TableColumnType.ACTIVE_BOOLEAN_BADGE:\n content += `<div class=\"text-centered\"><i class=\"fas fa-circle status-table-field ${this.getActiveStatusColor(\n cellText\n )}\"></i></div>`;\n break;\n case TableColumnType.BUTTON:\n let iconClass = '';\n if (typeof col.icon === 'function') {\n iconClass = col.icon(item);\n } else {\n iconClass = col.icon || 'fas fa-circle';\n }\n content += `<div class=\"text-centered\"><i class=\"${iconClass} status-table-field table-button\"></i></div>`;\n break;\n case TableColumnType.MASK:\n if (col.mask === 'dynamicCpfCnpj') {\n content += MaskUtil.formatDocument(cellText);\n } else {\n content += MaskUtil.doMaskString(cellText, col.mask);\n }\n break;\n case TableColumnType.CURRENCY:\n content += Number(cellText).toLocaleString('pt-BR', {\n currency: col.currencyType || 'BRL',\n currencyDisplay: 'narrowSymbol',\n style: 'currency',\n });\n }\n\n content += `</span>`;\n return content;\n }\n\n public getCellText(item: any, col: TableColumn) {\n if (col.getEnumTranslated) {\n return col.getEnumTranslated(item[col.field]);\n }\n if (col.type === TableColumnType.DATETIME && item[col.field]) {\n const dateTime =\n item[col.field] instanceof Date ? DateTime.fromJSDate(item[col.field]) : DateTime.fromISO(item[col.field]);\n return dateTime.toUTC().toFormat('dd/MM/yyyy HH:mm');\n }\n if (col.type === TableColumnType.DATE && item[col.field]) {\n const dateTime =\n item[col.field] instanceof Date ? DateTime.fromJSDate(item[col.field]) : DateTime.fromISO(item[col.field]);\n return dateTime.toUTC().toFormat('dd/MM/yyyy');\n }\n if (col.type === TableColumnType.STACK_BADGE) {\n if (!item[col.field].length || item[col.field].length === 1) {\n return item[col.field];\n } else {\n return `+${item[col.field].length}`;\n }\n }\n if (col.type === TableColumnType.STATUS_BADGE) {\n return item[col.field] == 0 ? 0 : item[col.field];\n }\n\n return item[col.field || ''] || '';\n }\n\n public getTooltipText(item: any, col: TableColumn) {\n if (\n !col.type ||\n ![TableColumnType.STACK_BADGE].includes(col.type) ||\n !Array.isArray(item[col.field]) ||\n item[col.field].length === 1\n ) {\n return null;\n }\n\n if (!Array.isArray(item[col.field])) {\n return item[col.field];\n }\n return item[col.field].join(' - ');\n }\n\n onTabChange($event: any) {\n this._tabSelected = this.tabs[$event.index];\n this.lazyLoaded({ filter: true, data: {} });\n this.onTabSelected.emit(this._tabSelected);\n }\n\n subscribeToFilterChanges() {\n this._filterSubscription.unsubscribe();\n this._filterSubscription = new Subscription();\n Object.keys(this.filtersComponent?.formGroup.controls || {}).forEach((key) => {\n this._filterSubscription.add(\n this.filtersComponent?.formGroup\n .get(key)\n ?.valueChanges.pipe(debounceTime(300))\n .subscribe((value) => {\n this.onFilterChanged.emit({ field: key, value });\n })\n );\n this.onFilterChanged.emit({ field: key, value: this.filtersComponent?.formGroup.get(key)?.value });\n });\n }\n\n onRowClick(item: any) {\n setTimeout(() => {\n this.cd.markForCheck();\n });\n\n this.onExpandRow.emit(item);\n }\n\n get listHasActions() {\n return this.data.some((item) => item.actions?.length);\n }\n\n public changeSelectedItems(value: any) {\n this.onSelectedRows.emit(this.selectedItems);\n }\n\n public isHtmlCell(col: TableColumn) {\n return !col.type || !this.isBadgeCell(col);\n }\n\n public isBadgeCell(col: TableColumn) {\n return col.type && [TableColumnType.TEXT_BADGE, TableColumnType.STACK_BADGE].includes(col.type);\n }\n\n public isScoreCell(col: TableColumn) {\n return col.type === TableColumnType.SCORE;\n }\n\n public onSelectionChange(selection: any) {\n for (let i = selection.length - 1; i >= 0; i--) {\n let data = selection[i];\n if (data.disabledCheckBox) {\n selection.splice(i, 1);\n }\n }\n this.selectedItems = selection;\n }\n\n public changeShowBalance(itemAccount?: any): void {\n if (itemAccount) {\n itemAccount.showBalance = !itemAccount.showBalance;\n }\n }\n\n private getStatusColor(status: Status) {\n switch (status) {\n case Status.PENDING:\n return 'warning';\n case Status.APPROVED:\n return 'success';\n case Status.REJECTED:\n return 'error';\n case Status.INFO:\n return 'info';\n }\n return '';\n }\n\n private getActiveStatusColor(active: boolean) {\n return active ? 'success' : 'error';\n }\n}\n","<div class=\"grid\">\n <div class=\"col-12\">\n <vector-filters\n [fields]=\"filters\"\n (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"\n (formBuilded)=\"subscribeToFilterChanges()\"\n ></vector-filters>\n </div>\n <div\n class=\"table-header-actions field\"\n *ngIf=\"addItemLabel || exportExcel || exportPDF || customFunction || customButtons\"\n >\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\n <i class=\"fas fa-file-excel\"></i><span>Excel</span>\n </button>\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\n <i class=\"fas fa-file-pdf\"></i><span>PDF</span>\n </button>\n <button\n *ngFor=\"let button of customFunction\"\n (click)=\"button.clickFunction()\"\n class=\"export-button custom-function\"\n >\n <i *ngIf=\"button?.icon\" class=\"{{ button?.icon }}\"></i><span>{{ button?.label }}</span>\n </button>\n\n <vector-button\n *ngFor=\"let button of customButtons\"\n class=\"add-item-button\"\n [round]=\"true\"\n [label]=\"button.label\"\n (click)=\"button.clickFunction()\"\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\n ></vector-button>\n <vector-button\n *ngIf=\"addItemLabel\"\n class=\"add-item-button\"\n [label]=\"addItemLabel\"\n (click)=\"onAdd.emit()\"\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\n [round]=\"true\"\n ></vector-button>\n </div>\n @if(showLimitBalance){\n <div class=\"col-12 grid ml-0\">\n @for (itemAccount of dataAccountBalance; track $index) { @if(itemAccount.visible){\n <div class=\"card balance-container\">\n <span class=\"card-header\">{{ itemAccount.name }}</span>\n <div class=\"card-content value-container\">\n <span>R$ </span>\n <span *ngIf=\"itemAccount.showBalance\" class=\"balance\">{{ balance(itemAccount) }}</span>\n <div class=\"hidden-balance\" *ngIf=\"!itemAccount.showBalance\"></div>\n <div class=\"icon-container\">\n <i\n class=\"fas\"\n [ngClass]=\"{ 'fa-eye': !itemAccount.showBalance, 'fa-eye-slash': itemAccount.showBalance }\"\n (click)=\"changeShowBalance(itemAccount)\"\n ></i>\n </div>\n </div>\n </div>\n } }\n </div>\n\n } @if(showDataBalance){\n <div class=\"col-12 grid ml-0\">\n @for (itemAccount of dataAccountBalance; track $index) {\n <div class=\"card balance-container\">\n <span class=\"card-header\">{{ itemAccount.name }}</span>\n <div class=\"card-content value-container\">\n <span class=\"balance\">{{ itemAccount.valueBalance }}</span>\n </div>\n </div>\n }\n </div>\n\n }\n\n <div class=\"col-12\">\n <vector-panel class=\"data-table-panel\">\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\n <p-tabPanel *ngFor=\"let tab of tabs\">\n <ng-template pTemplate=\"header\">\n <em *ngIf=\"tab.icon\" [class]=\"tab.icon\">&nbsp;</em>\n <span>{{ tab.name }}</span>\n </ng-template>\n </p-tabPanel>\n </p-tabView>\n <p-table\n currentPageReportTemplate=\"Mostrando {first} até {last} de {totalRecords} registros\"\n sortMode=\"single\"\n [rows]=\"10\"\n [lazy]=\"pagination && !virtualPagination\"\n [value]=\"data\"\n [paginator]=\"pagination\"\n [totalRecords]=\"totalRecords\"\n [showCurrentPageReport]=\"true\"\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\n [responsive]=\"true\"\n [resizableColumns]=\"true\"\n [scrollable]=\"true\"\n scrollDirection=\"vertical\"\n responsiveLayout=\"scroll\"\n dataKey=\"id\"\n [scrollHeight]=\"height\"\n [attr.selectionMode]=\"selectionMode\"\n [(selection)]=\"selectedItems\"\n (onRowSelect)=\"changeSelectedItems($event)\"\n (onHeaderCheckboxToggle)=\"changeSelectedItems($event)\"\n (onRowUnselect)=\"changeSelectedItems($event)\"\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\n (selectionChange)=\"onSelectionChange($event)\"\n [reorderableColumns]=\"reorderableColumns\"\n >\n <ng-template pTemplate=\"header\">\n <tr class=\"header\">\n <th *ngIf=\"reorderableColumns\" style=\"width: 5rem\"></th>\n\n <th *ngIf=\"selectionType === 'checkbox'\">\n <p-tableHeaderCheckbox [disabled]=\"disabledHeadercheckbox\"></p-tableHeaderCheckbox>\n </th>\n <th class=\"text-center\" *ngIf=\"hasExpandableIcon\">\n {{ addNameColumnExpand }}\n </th>\n <th *ngIf=\"hasActions\">{{ 'app.label.actions' | translate }}</th>\n <th *ngIf=\"selectionType === 'radiobutton'\">\n <div class=\"flex align-items-center\">\n <span></span>\n </div>\n </th>\n @for(col of columns; track $index) { @if(!col.hidden){\n <th [ngStyle]=\"getColStyle(col)\" [pSortableColumn]=\"col.notSortable ? '' : col.field\" pReorderableColumn>\n <div class=\"flex align-items-center\">\n <span>{{ col.header }}</span> <p-sortIcon *ngIf=\"!col.notSortable\" [field]=\"col.field\"></p-sortIcon>\n </div>\n </th>\n } }\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-rowData let-item let-expanded=\"expanded\" let-index=\"rowIndex\">\n <tr\n class=\"row\"\n [pSelectableRow]=\"rowData\"\n [ngClass]=\"{ expandable: expandable }\"\n [pRowToggler]=\"expandable ? item : undefined\"\n (click)=\"onRowClick(item)\"\n [pReorderableRow]=\"index\"\n >\n <ng-container *ngIf=\"reorderableColumns\">\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"justify-content-center align-items-center\">\n <span class=\"pi pi-bars\" pReorderableRowHandle></span>\n </td>\n </ng-container>\n <ng-container *ngIf=\"selectionType === 'checkbox'\">\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"justify-content-center align-items-center\">\n <p-tableCheckbox [value]=\"item\" [disabled]=\"item.disabledCheckBox\"></p-tableCheckbox>\n </td>\n </ng-container>\n <ng-container *ngIf=\"selectionType === 'radiobutton'\">\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"justify-content-center align-items-center\">\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\n </td>\n </ng-container>\n <td *ngIf=\"hasExpandableIcon\" style=\"max-width: 150px\" class=\"centered\">\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\n <i\n [ngClass]=\"\n expanded ? 'actions-menu-button pi pi-chevron-down' : 'actions-menu-button pi pi-chevron-right'\n \"\n ></i>\n </td>\n <td *ngIf=\"hasActions\">\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\n </td>\n @for(col of columns; track $index) { @if(!col.hidden){\n <ng-container>\n <td\n *ngIf=\"isHtmlCell(col)\"\n class=\"cell\"\n [innerHTML]=\"getCellContent(item, col)\"\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\n [ngStyle]=\"getColStyle(col)\"\n ></td>\n <td\n *ngIf=\"(!isHtmlCell(col) && !!col.getStatus) || isScoreCell(col)\"\n class=\"cell\"\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\n [ngStyle]=\"getColStyle(col)\"\n >\n <vector-badge\n *ngIf=\"isBadgeCell(col)\"\n [label]=\"getCellText(item, col)\"\n [type]=\"col.getStatus && col.getStatus(item[col.field])\"\n [tooltip]=\"getTooltipText(item, col)\"\n ></vector-badge>\n <vector-score *ngIf=\"isScoreCell(col)\" [score]=\"item[col.field]\"></vector-score>\n </td>\n </ng-container>\n }}\n </tr>\n </ng-template>\n <ng-template pTemplate=\"emptymessage\">\n <tr class=\"row\">\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\n </tr>\n </ng-template>\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\n <ng-template pTemplate=\"rowexpansion\" let-item>\n <tr>\n <td [attr.colspan]=\"columns.length + (hasActions ? 1 : 0)\">\n <ng-container *ngTemplateOutlet=\"expansionTemplate; context: { item }\"> </ng-container>\n </td>\n </tr>\n </ng-template>\n </p-table>\n </vector-panel>\n </div>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n@Component({\n selector: 'vector-input-number',\n templateUrl: './input-number-field.component.html',\n styleUrls: ['./input-number-field.component.scss'],\n})\nexport class InputNumberFieldComponent {\n @Input()\n public inputId?: string;\n @Input()\n public control: any;\n @Input()\n public showButtons: boolean = false;\n @Input()\n public type: 'decimal' | 'percent' = 'decimal';\n @Input()\n public minFractionDigits: number = 0;\n @Input()\n public maxFractionDigits: number = 4;\n @Input()\n public buttonLayout: 'stacked' | 'horizontal' | 'vertical' = 'horizontal';\n @Input()\n public incrementButtonIcon: string = 'pi pi-plus-circle';\n @Input()\n public decrementButtonIcon: string = 'pi pi-minus-circle';\n @Input()\n public min: number = 0;\n @Input()\n public step: number = 1;\n @Input()\n public disabled = false;\n\n @Input()\n public set max(_max) {\n this._max = _max;\n }\n @Input()\n public set suffix(_suffix) {\n this._suffix = _suffix;\n }\n\n @Output()\n public onFocus = new EventEmitter<Event>();\n @Output()\n public onBlur = new EventEmitter<Event>();\n @Output()\n public onInput = new EventEmitter();\n @Output()\n public onClear = new EventEmitter();\n\n get max(): number {\n if (this.type === 'percent') {\n return this._max || 100;\n }\n return this._max || 999999999;\n }\n\n get suffix() {\n switch (this.type) {\n case 'percent':\n return this._suffix || '%';\n }\n return '';\n }\n\n public _maxFractionDigits: number | null = null;\n public _max: number | null = null;\n public _suffix: string | null = null;\n}\n","<div class=\"input-container\">\n <p-inputNumber\n [inputId]=\"inputId\"\n [formControl]=\"control\"\n [min]=\"min\"\n [max]=\"max\"\n [suffix]=\"suffix\"\n [step]=\"step\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [showButtons]=\"showButtons\"\n [disabled]=\"disabled\"\n [buttonLayout]=\"buttonLayout\"\n [incrementButtonIcon]=\"incrementButtonIcon\"\n [decrementButtonIcon]=\"decrementButtonIcon\"\n (onBlur)=\"onBlur.emit($event)\"\n (onFocus)=\"onFocus.emit($event)\"\n ></p-inputNumber>\n <vector-field-error-message [control]=\"control\"></vector-field-error-message>\n</div>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'vector-input-otp',\n templateUrl: './input-otp.component.html',\n styleUrl: './input-otp.component.scss',\n})\nexport class InputOtpComponent {\n @Input()\n public integerOnly = false;\n @Input()\n public length = 6;\n @Input()\n public inputValue!: string | number;\n @Input()\n public isReadonly = false;\n @Input()\n public isDisabled = false;\n @Input()\n public isInvalid = false;\n\n @Output()\n public onChangeOtp = new EventEmitter();\n @Output()\n public onBlurOtp = new EventEmitter();\n @Output()\n public onFocusOtp = new EventEmitter();\n\n public onChange($event: any) {\n this.onChangeOtp.emit($event);\n }\n\n public onBlur($event: Event) {\n this.onBlurOtp.emit($event);\n }\n\n public onFocus($event: Event) {\n this.onFocusOtp.emit($event);\n }\n}\n","<p-inputOtp\n class=\"custom-field-text input-otp\"\n [integerOnly]=\"integerOnly\"\n [length]=\"length\"\n [ngModel]=\"inputValue\"\n [invalid]=\"isInvalid\"\n [disabled]=\"isDisabled\"\n [readonly]=\"isReadonly\"\n (onChange)=\"onChange($event)\"\n (onBlur)=\"onBlur($event)\"\n (onFocus)=\"onFocus($event)\"\n></p-inputOtp>\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'vector-input-switch-field',\n templateUrl: './input-switch-field.component.html',\n styleUrls: ['./input-switch-field.component.scss'],\n})\nexport class InputSwitchFieldComponent implements OnInit {\n @Input()\n public control: any;\n\n @Input()\n public disabled = false;\n\n ngOnInit(): void {}\n}\n","<p-inputSwitch [formControl]=\"control\" [disabled]=\"disabled\"></p-inputSwitch>\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'vector-percentage-field',\n templateUrl: './percentage-field.component.html',\n styleUrls: ['./percentage-field.component.scss'],\n})\nexport class PercentageFieldComponent implements OnInit, OnDestroy {\n @Input()\n public control: any;\n @Input()\n public min: number = 0;\n @Input()\n public max: number = 100;\n @Input()\n public minFractionDigits: number = 0;\n @Input()\n public maxFractionDigits: number = 0;\n @Input()\n public step = 0;\n @Output()\n public blurEvent = new EventEmitter();\n @Output()\n public enterKeyPress = new EventEmitter();\n @Output()\n public focusEvent = new EventEmitter();\n\n public readonly percentageRegex = `^(100(\\\\.0{1,2})?|[1-9]?\\\\d(\\\\.\\\\d{1,2})?)$`;\n\n private lastBlurValue = '';\n\n ngOnInit() {}\n\n ngOnDestroy() {}\n\n public onBlur() {\n this.control.markAsTouched();\n if (this.lastBlurValue !== this.control.value) {\n this.lastBlurValue = this.control.value;\n setTimeout(() => {\n this.blurEvent.emit(this.control.value);\n });\n }\n }\n}\n","<form class=\"input-container\">\n <p-inputNumber\n [formControl]=\"control\"\n suffix=\"%\"\n [min]=\"min\"\n [max]=\"max\"\n [minFractionDigits]=\"minFractionDigits\"\n [maxFractionDigits]=\"maxFractionDigits\"\n [step]=\"step\"\n [showButtons]=\"step > 1\"\n buttonLayout=\"horizontal\"\n decrementButtonIcon=\"pi pi-minus-circle\"\n incrementButtonIcon=\"pi pi-plus-circle\"\n (onBlur)=\"onBlur()\"\n ></p-inputNumber>\n</form>\n","import { Component, Input, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { BooleanType } from '../../../models';\n\nexport type RadioButtonOption = {\n label: string;\n value: string;\n textTooltip?: string;\n};\n\n@Component({\n selector: 'vector-radio-button-field',\n templateUrl: './radio-button-field.component.html',\n styleUrls: ['./radio-button-field.component.scss'],\n})\nexport class RadioButtonFieldComponent implements OnInit {\n @Input()\n public groupName: string = '';\n @Input()\n public options: RadioButtonOption[] = [\n { label: this.getYesLabel(), value: BooleanType.YES },\n { label: this.getNoLabel(), value: BooleanType.NO },\n ];\n @Input()\n public control: any;\n @Input()\n public layout: 'vertical' | 'horizontal' = 'vertical';\n @Input()\n public justifySpaceBetween = false;\n @Input()\n public addIcon = false;\n @Input()\n public disabled: boolean = false;\n\n constructor(private translateService: TranslateService) {}\n\n ngOnInit(): void {\n if (this.control && this.disabled) {\n this.control.disable();\n } else {\n this.control.enable();\n }\n }\n\n get layoutClass() {\n return { horizontal: this.layout === 'horizontal', vertical: this.layout === 'vertical' };\n }\n\n private getYesLabel() {\n const label = this.translateService.instant('app.label.yes');\n return label !== 'app.label.yes' ? label : 'Sim';\n }\n\n private getNoLabel() {\n const label = this.translateService.instant('app.label.no');\n return label !== 'app.label.no' ? label : 'Não';\n }\n}\n","<div\n class=\"radio-buttons-container\"\n [ngClass]=\"layoutClass\"\n [ngStyle]=\"{ 'justify-content': justifySpaceBetween ? 'space-between' : 'flex-start' }\"\n>\n <div *ngFor=\"let option of options\" class=\"radio-button-item\">\n <p-radioButton\n [name]=\"groupName\"\n [value]=\"option.value\"\n [label]=\"option.label\"\n [formControl]=\"control\"\n ></p-radioButton>\n <i\n *ngIf=\"addIcon && option.textTooltip != null\"\n class=\"fas fa-info-circle mt-1 pr-3 pl-2\"\n pTooltip=\"{{ option.textTooltip }}\"\n tooltipPosition=\"bottom\"\n ></i>\n </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'vector-range-value',\n templateUrl: './range-value.component.html',\n styleUrls: ['./range-value.component.scss'],\n})\nexport class RangeValueComponent implements OnInit {\n @Input() value: number = 0;\n @Input() movimentedValue: number | null = null;\n @Input() min: number = 0;\n @Input() max: number = 100;\n @Input() disabled: boolean = false;\n @Output() valueChange = new EventEmitter<number>();\n constructor() {}\n\n ngOnInit(): void {}\n\n changeValue() {\n if (this.value < this.min) {\n this.value = this.min;\n }\n this.valueChange.emit(this.value);\n }\n\n getMovimentedValue() {\n if (this.movimentedValue) {\n return this.movimentedValue;\n } else {\n return (this.max - this.min) / 100;\n }\n }\n\n increment() {\n if (!this.disabled) {\n if (this.value + this.getMovimentedValue() < this.max) {\n this.value = this.value + this.getMovimentedValue();\n this.valueChange.emit(this.value);\n } else {\n this.value = this.max;\n this.valueChange.emit(this.value);\n }\n }\n }\n decrement() {\n if (!this.disabled) {\n if (this.value - this.getMovimentedValue() > this.min) {\n this.value = this.value - this.getMovimentedValue();\n this.valueChange.emit(this.value);\n } else {\n this.value = this.min;\n this.valueChange.emit(this.value);\n }\n }\n }\n}\n","<div class=\"range-input\">\n <a href=\"javascript:void(0)\" class=\"btn-range minus\" (click)=\"decrement()\"></a>\n <p-slider [(ngModel)]=\"value\" (onChange)=\"changeValue()\" [min]=\"min\" [max]=\"max\" [disabled]=\"disabled\"></p-slider>\n <a href=\"javascript:void(0)\" class=\"btn-range plus\" (click)=\"increment()\"></a>\n</div>\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { UntypedFormControl } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'vector-search-field',\n templateUrl: './search-field.component.html',\n styleUrls: ['./search-field.component.scss'],\n})\nexport class SearchFieldComponent implements OnInit, OnDestroy {\n @Input()\n public placeholder = '';\n @Output()\n public onSearch = new EventEmitter<string>();\n\n public formControl = new UntypedFormControl();\n private subscription = new Subscription();\n constructor() {}\n\n ngOnInit(): void {\n this.subscription.add(\n this.formControl.valueChanges.pipe(debounceTime(300)).subscribe((value) => {\n this.onSearch.emit(value);\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n}\n","<vector-text-field [control]=\"formControl\" rightIcon=\"fas fa-search\" [label]=\"placeholder\"></vector-text-field>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\n@Component({\n selector: 'vector-textarea-field',\n templateUrl: './textarea-field.component.html',\n styleUrls: ['./textarea-field.component.scss'],\n})\nexport class TextareaFieldComponent implements OnInit {\n @Input()\n public isRequired: boolean | undefined = false;\n @Input()\n public label: string | undefined = '';\n @Input()\n public maxlength: string = '';\n @Input()\n public rows: number = 5;\n @Input()\n public cols: number = 10;\n @Input()\n public control: any;\n @Output()\n public blurEvent = new EventEmitter();\n @Output()\n public enterKeyPress = new EventEmitter();\n @Output()\n public focusEvent = new EventEmitter();\n\n get placeholder() {\n if (!this.label) {\n return '';\n }\n return `${this.label}${this.isRequired ? '*' : ''}`;\n }\n\n private lastBlurValue = '';\n\n ngOnInit() {}\n\n public fieldErrorLabel(): string {\n if (this.control && this.control.invalid && this.control.touched) {\n if (this.control.hasError('required')) {\n return 'Campo obrigatório';\n }\n\n if (this.control.hasError('minlength')) {\n return `Tamanho mínimo: ${this.control.errors['minlength'].requiredLength}`;\n }\n\n if (this.control.hasError('maxlength')) {\n return `Tamanho máximo permitido: ${this.control.errors['maxlength'].requiredLength}`;\n }\n\n return typeof this.control.errors['invalid'] === 'string' ? this.control.errors['invalid'] : 'Campo inválido';\n }\n\n return '';\n }\n\n public onBlur() {\n this.control.markAsTouched();\n if (this.lastBlurValue !== this.control.value) {\n this.lastBlurValue = this.control.value;\n setTimeout(() => {\n this.blurEvent.emit(this.control.value);\n });\n }\n }\n\n public onEnterPress() {\n this.onBlur();\n this.enterKeyPress.emit();\n }\n\n public onFocus($event: Event) {\n const target = $event.target as HTMLTextAreaElement;\n this.focusEvent.emit(target?.value);\n }\n}\n","<form class=\"input-container\">\n <textarea\n pInputTextarea\n [rows]=\"rows\"\n [cols]=\"cols\"\n [formControl]=\"control\"\n [attr.maxlength]=\"maxlength\"\n [placeholder]=\"placeholder\"\n [autoResize]=\"false\"\n (onBlur)=\"onBlur()\"\n (keydown.enter)=\"onEnterPress()\"\n (click)=\"onFocus($event)\"\n >\n </textarea>\n <span class=\"length-control\">{{ control?.value?.length || 0 }} / {{ maxlength }}</span>\n</form>\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { AutoCompleteModule } from 'primeng/autocomplete';\nimport { ButtonModule } from 'primeng/button';\nimport { CalendarModule } from 'primeng/calendar';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { DialogModule } from 'primeng/dialog';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { FileUploadModule } from 'primeng/fileupload';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { InputNumberModule } from 'primeng/inputnumber';\nimport { InputOtpModule } from 'primeng/inputotp';\nimport { InputSwitchModule } from 'primeng/inputswitch';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { InputTextareaModule } from 'primeng/inputtextarea';\nimport { KeyFilterModule } from 'primeng/keyfilter';\nimport { MenuModule } from 'primeng/menu';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { RadioButtonModule } from 'primeng/radiobutton';\nimport { SelectButtonModule } from 'primeng/selectbutton';\nimport { SliderModule } from 'primeng/slider';\nimport { TableModule } from 'primeng/table';\nimport { TabViewModule } from 'primeng/tabview';\nimport { SharedModule } from '../../shared/shared.module';\nimport { BadgeModule } from '../badge';\nimport { PanelModule } from '../panel';\nimport { ScoreModule } from '../score';\nimport { ButtonComponent } from './button';\nimport { CalendarComponent } from './calendar-field';\nimport { CheckboxFieldComponent } from './checkbox-field';\nimport { CurrencyFieldComponent } from './currency-field';\nimport { DataTableComponent } from './data-table';\nimport { DropdownFieldComponent } from './dropdown-field';\nimport { FieldErrorMessageComponent } from './field-error-message';\nimport { FiltersComponent } from './filters';\nimport { InputNumberFieldComponent } from './input-number-field';\nimport { InputOtpComponent } from './input-otp';\nimport { InputSwitchFieldComponent } from './input-switch-field';\nimport { MultiselectFieldComponent } from './multiselect-field';\nimport { PercentageFieldComponent } from './percentage-field';\nimport { RadioButtonFieldComponent } from './radio-button-field';\nimport { RangeValueComponent } from './range-value';\nimport { SearchFieldComponent } from './search-field';\nimport { SelectButtonFieldComponent } from './select-button-field';\nimport { TextFieldComponent } from './text-field';\nimport { TextareaFieldComponent } from './textarea-field';\n\n@NgModule({\n imports: [\n SharedModule,\n FormsModule,\n ReactiveFormsModule,\n KeyFilterModule,\n InputTextModule,\n CheckboxModule,\n InputMaskModule,\n CalendarModule,\n MultiSelectModule,\n DropdownModule,\n AutoCompleteModule,\n SliderModule,\n RadioButtonModule,\n FileUploadModule,\n DialogModule,\n InputNumberModule,\n PanelModule,\n TabViewModule,\n ButtonModule,\n InputTextareaModule,\n SelectButtonModule,\n InputNumberModule,\n BadgeModule,\n ScoreModule,\n TranslateModule,\n InputSwitchModule,\n MenuModule,\n TableModule,\n InputOtpModule,\n ],\n declarations: [\n DataTableComponent,\n TextFieldComponent,\n CheckboxFieldComponent,\n ButtonComponent,\n CalendarComponent,\n MultiselectFieldComponent,\n DropdownFieldComponent,\n RangeValueComponent,\n SearchFieldComponent,\n RadioButtonFieldComponent,\n CurrencyFieldComponent,\n PercentageFieldComponent,\n FiltersComponent,\n TextareaFieldComponent,\n FieldErrorMessageComponent,\n SelectButtonFieldComponent,\n InputNumberFieldComponent,\n InputSwitchFieldComponent,\n InputOtpComponent,\n ],\n exports: [\n DataTableComponent,\n TextFieldComponent,\n CheckboxFieldComponent,\n ButtonComponent,\n CalendarComponent,\n MultiselectFieldComponent,\n DropdownFieldComponent,\n RangeValueComponent,\n SearchFieldComponent,\n RadioButtonFieldComponent,\n FileUploadModule,\n DialogModule,\n CurrencyFieldComponent,\n PercentageFieldComponent,\n FiltersComponent,\n TextareaFieldComponent,\n FieldErrorMessageComponent,\n SelectButtonFieldComponent,\n InputNumberFieldComponent,\n InputSwitchFieldComponent,\n InputOtpComponent,\n ],\n})\nexport class FieldsModule {}\n","import { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { SharedModule } from '../../shared/shared.module';\nimport { FieldsModule } from '../fields/fields.module';\nimport { CrudFooterComponent } from './crud-footer.component';\n\n@NgModule({\n declarations: [CrudFooterComponent],\n exports: [CrudFooterComponent, TranslateModule],\n imports: [SharedModule, FieldsModule, TranslateModule],\n})\nexport class FooterModule {}\n","import { Component, Input, OnInit } from '@angular/core';\nimport { Status } from '../../models';\n\n@Component({\n selector: 'vector-crud-header',\n templateUrl: './crud-header.component.html',\n styleUrls: ['./crud-header.component.scss'],\n})\nexport class CrudHeaderComponent implements OnInit {\n @Input()\n public statusCode?: number;\n @Input()\n public code?: number;\n\n get statusLabel() {\n switch (this.statusCode) {\n case Status.PENDING:\n return 'Pendente';\n case Status.APPROVED:\n return 'Ativo';\n case Status.REJECTED:\n return 'Inativo';\n }\n return '';\n }\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","<div class=\"container\">\n <div class=\"status-container\">\n <span>Status</span>\n <vector-badge [label]=\"statusLabel\" [type]=\"statusCode\"></vector-badge>\n </div>\n <div class=\"separator\"></div>\n <span class=\"code-label\"\n >Código de identificação<span class=\"code\">{{ code }}</span></span\n >\n</div>\n","import { NgModule } from '@angular/core';\nimport { SharedModule } from '../../shared/shared.module';\nimport { BadgeModule } from '../badge';\nimport { CrudHeaderComponent } from './crud-header.component';\n\n@NgModule({\n declarations: [CrudHeaderComponent],\n imports: [SharedModule, BadgeModule],\n exports: [CrudHeaderComponent],\n})\nexport class CrudHeaderModule {}\n","import { Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';\nimport { CrudHistory } from '../../models';\n\n@Component({\n selector: 'vector-crud-history',\n templateUrl: './crud-history.component.html',\n styleUrls: ['./crud-history.component.scss'],\n})\nexport class CrudHistoryComponent {\n @Input()\n public crudHistory?: CrudHistory<any>;\n @Output()\n public onClick = new EventEmitter<any>();\n\n public modifierNameLabel = '';\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['crudHistory']) {\n this.modifierNameLabel = this.getModifierNameLabel(this.crudHistory) ?? '';\n }\n }\n public getHistoryBadgeBackgroundColor(crudHistoryEventType?: string): string {\n switch (crudHistoryEventType) {\n case 'ActionCreate':\n return '#CBFFAE';\n case 'ActionUpdate':\n return '#FFE6B0';\n case 'ActionDelete':\n return 'Removido';\n case 'ActionUpdate-OnComposition':\n return '#FFE6B0';\n case 'ActionUpdate-OnUnit':\n return '#FFE6B0';\n case 'ActionCreate-OnComposition':\n return '#CBFFAE';\n case 'ActionCancel':\n return '#FFE6B0';\n default:\n return '';\n }\n }\n\n public getHistoryBadgeColor(crudHistoryEventType?: string): string {\n switch (crudHistoryEventType) {\n case 'ActionCreate':\n return '#067306';\n case 'ActionUpdate':\n return '#946300';\n case 'ActionDelete':\n return '#6B2D2D';\n case 'ActionUpdate-OnComposition':\n return '#946300';\n case 'ActionUpdate-OnUnit':\n return '#946300';\n case 'ActionCreate-OnComposition':\n return '#067306';\n case 'ActionCancel':\n return '#946300';\n default:\n return '';\n }\n }\n\n public getHistoryBadgeLabel(crudHistoryEventType?: string): string {\n switch (crudHistoryEventType) {\n case 'ActionCreate':\n return 'Criado';\n case 'ActionUpdate':\n return 'Modificado';\n case 'ActionDelete':\n return 'Removido';\n case 'ActionUpdate-OnComposition':\n return 'Composição Modificada';\n case 'ActionUpdate-OnUnit':\n return 'Unidade Modificada';\n case 'ActionCreate-OnComposition':\n return 'Composição Criada';\n case 'ActionCancel':\n return 'Modificado';\n default:\n return '';\n }\n }\n\n getModifierNameLabel(crudHistory?: CrudHistory<any>): string {\n if (!crudHistory) {\n return '';\n }\n if (crudHistory.modifiedFromWeb == null) {\n return crudHistory.modifierName ?? '';\n } else {\n return (crudHistory.modifierName ?? '') + ' em ' + (crudHistory.modifiedFromWeb ? 'Web' : 'Integração');\n }\n }\n}\n","<p-accordionTab *ngIf=\"crudHistory\" class=\"history-item\">\n <ng-template pTemplate=\"header\">\n <div class=\"history-item-header-container\" (click)=\"onClick.emit()\">\n <div class=\"history-item-header-left\">\n <span id=\"color-first-span\" *ngIf=\"crudHistory.typeOfModification\">{{ crudHistory.typeOfModification }}</span>\n <vector-badge\n [customBackgroundColor]=\"getHistoryBadgeBackgroundColor(crudHistory.eventType)\"\n [customColor]=\"getHistoryBadgeColor(crudHistory.eventType)\"\n [label]=\"getHistoryBadgeLabel(crudHistory.eventType)\"\n ></vector-badge>\n <span>por {{ modifierNameLabel }}</span>\n </div>\n <span class=\"history-item-header-right\">\n {{ crudHistory.dateTime | date : 'dd/MM/yyyy HH:mm' }}\n </span>\n </div>\n </ng-template>\n <ng-template pTemplate=\"content\">\n <div *ngFor=\"let auditDelta of crudHistory.dataAuditDelta\">\n <div class=\"grid\">\n <div class=\"col-12 md:col-6 field\">\n <span>{{ auditDelta.fieldName }}</span>\n </div>\n <div class=\"col-12 md:col-6 field\">\n <span class=\"new-value\">{{ auditDelta.newValue }}</span>\n <span class=\"old-value pl-1\">{{ auditDelta.oldValue }}</span>\n <span *ngIf=\"auditDelta.type || auditDelta.type == 0\" class=\"text-600 pl-1\">\n Entity: <span class=\"text-green-300\">{{ auditDelta.type }}</span>\n <i\n class=\"fas fa-info-circle text-400 text-base ch pl-1\"\n [pTooltip]=\"auditDelta.typeDescription\"\n tooltipPosition=\"top\"\n ></i>\n </span>\n </div>\n </div>\n </div>\n </ng-template>\n</p-accordionTab>\n","import { NgModule } from '@angular/core';\nimport { AccordionModule } from 'primeng/accordion';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { SharedModule } from '../../shared/shared.module';\nimport { BadgeModule } from '../badge';\nimport { CrudHistoryComponent } from './crud-history.component';\n\n@NgModule({\n declarations: [CrudHistoryComponent],\n imports: [SharedModule, BadgeModule, AccordionModule, TooltipModule],\n exports: [CrudHistoryComponent],\n})\nexport class CrudHistoryModule {}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ErrorMessageService } from '../../services';\n\n@Component({\n selector: 'vector-generic-error-modal',\n templateUrl: './generic-error-modal.component.html',\n styleUrls: ['./generic-error-modal.component.scss'],\n})\nexport class GenericErrorModalComponent implements OnInit, OnDestroy {\n @Input()\n public skipMessages: string[] = [];\n public message?: string = '';\n\n private subscription = new Subscription();\n\n constructor(private errorService: ErrorMessageService) {\n this.subscription.add(\n this.errorService.genericModalErrorMessage$.pipe().subscribe((message) => {\n this.message = message;\n })\n );\n }\n\n ngOnInit(): void {}\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n public close() {\n this.message = '';\n }\n}\n","<p-dialog\n [visible]=\"!!message\"\n [modal]=\"true\"\n [breakpoints]=\"{ '440px': '95vw' }\"\n [style]=\"{ width: '400px' }\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n [blockScroll]=\"true\"\n [closeOnEscape]=\"false\"\n [closable]=\"true\"\n>\n <div class=\"content-container\">\n <img class=\"emote\" src=\".././../../assets/images/emote_bad.svg\" />\n <p class=\"title\">Algo deu errado!</p>\n <p class=\"message\">{{ message }}</p>\n\n <div class=\"actions\">\n <vector-button (click)=\"close()\" label=\"Voltar\"></vector-button>\n </div>\n </div>\n</p-dialog>\n","import { NgModule } from '@angular/core';\nimport { DialogModule } from 'primeng/dialog';\nimport { SharedModule } from '../../shared/shared.module';\nimport { FieldsModule } from '../fields/fields.module';\nimport { GenericErrorModalComponent } from './generic-error-modal.component';\n@NgModule({\n declarations: [GenericErrorModalComponent],\n imports: [SharedModule, DialogModule, FieldsModule],\n exports: [GenericErrorModalComponent],\n})\nexport class GenericErrorModalModule {}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { GenericModalMessage } from '../../models/generic-modal.model';\n\n@Component({\n selector: 'vector-generic-modal',\n templateUrl: './generic-modal.component.html',\n styleUrls: ['./generic-modal.component.scss'],\n})\nexport class GenericModalComponent implements OnInit {\n @Input()\n public modalMessage: GenericModalMessage = {\n fileIcon: 'alert_icon',\n title: '',\n message: [],\n confirmButton: { label: 'Confirmar', clickFunction: () => {} },\n cancelButton: { label: 'Voltar', clickFunction: () => {} },\n };\n @Input()\n public isClosable: boolean = true;\n @Input()\n public hiddenActions: boolean = false;\n @Input()\n public linkLabel: string = '';\n @Input()\n public linkUrl: string = '';\n @Input()\n public display!: boolean;\n @Input()\n public maxWidth?: string = '';\n @Input()\n public lineBreak?: string = '';\n @Output()\n public displayChange = new EventEmitter<boolean>();\n @Output()\n public onCloseModal = new EventEmitter();\n\n constructor(public router: Router) {}\n\n ngOnInit(): void {}\n\n public routerLink(url: string) {\n this.router.navigate([url]);\n }\n\n public confirm() {\n this.display = false;\n this.displayChange.emit(this.display);\n }\n\n public hideModal() {\n this.display = false;\n this.displayChange.emit(this.display);\n this.onCloseModal.emit();\n }\n}\n","<p-dialog\n [(visible)]=\"display\"\n [modal]=\"true\"\n [breakpoints]=\"{ '440px': '95vw' }\"\n [style]=\"{ width: '400px' }\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n [blockScroll]=\"true\"\n [closeOnEscape]=\"false\"\n [closable]=\"isClosable\"\n (onHide)=\"hideModal()\"\n [ngStyle]=\"{ 'max-width': maxWidth, 'line-break': lineBreak }\"\n>\n <div class=\"grid modal-generic\">\n <div class=\"col-12\">\n <img\n *ngIf=\"modalMessage.fileIcon\"\n class=\"flex mx-auto mb-3\"\n [ngClass]=\"!isClosable ? 'mt-4' : ''\"\n src=\"assets/images/{{ modalMessage.fileIcon }}.svg\"\n />\n <h1 *ngIf=\"modalMessage.title\">{{ modalMessage.title }}</h1>\n <p *ngFor=\"let text of modalMessage.message\" [innerHTML]=\"text\"></p>\n </div>\n </div>\n\n <div *ngIf=\"linkLabel\" class=\"grid mt-2 justify-content-center\">\n <div class=\"col-12 md:col-6\">\n <vector-button [label]=\"linkLabel\" (click)=\"routerLink(linkUrl)\"></vector-button>\n </div>\n </div>\n\n <div *ngIf=\"!hiddenActions\" class=\"grid mt-2 justify-content-center\">\n <div class=\"col-12 md:col-6\" *ngIf=\"modalMessage.cancelButton\">\n <vector-button\n (onClick)=\"modalMessage.cancelButton && modalMessage.cancelButton.clickFunction()\"\n [label]=\"modalMessage.cancelButton.label\"\n [type]=\"modalMessage.cancelButton.type ? modalMessage.cancelButton.type : 'default'\"\n ></vector-button>\n </div>\n\n <div class=\"col-12 md:col-6\" *ngIf=\"modalMessage.confirmButton\">\n <vector-button\n (onClick)=\"modalMessage.confirmButton && modalMessage.confirmButton.clickFunction()\"\n [label]=\"modalMessage.confirmButton.label\"\n [type]=\"modalMessage.confirmButton.type ? modalMessage.confirmButton.type : 'default-filled'\"\n ></vector-button>\n </div>\n </div>\n</p-dialog>\n","import { NgModule } from '@angular/core';\nimport { DialogModule } from 'primeng/dialog';\nimport { SharedModule } from '../../shared/shared.module';\nimport { FieldsModule } from '../fields/fields.module';\nimport { GenericModalComponent } from './generic-modal.component';\n\n@NgModule({\n declarations: [GenericModalComponent],\n exports: [GenericModalComponent],\n imports: [DialogModule, FieldsModule, SharedModule],\n})\nexport class GenericModalModule {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MenuItem } from '../../../models';\n\n@Component({\n selector: 'vector-sub-menus-list',\n templateUrl: './sub-menus-list.component.html',\n styleUrls: ['./sub-menus-list.component.scss'],\n})\nexport class SubMenusListComponent {\n @Input()\n public showList = false;\n @Input()\n public options: MenuItem[] | undefined;\n @Input()\n public childLevel = 1;\n @Input()\n public submenuSelected: MenuItem | undefined;\n @Output()\n public submenuSelectedChange = new EventEmitter<MenuItem>();\n\n public submenuClick(option: MenuItem) {\n if (!option.alwaysOpen) {\n if (this.submenuSelected?.id === option.id) {\n this.submenuSelected = undefined;\n } else {\n this.submenuSelected = option.children?.length ? option : undefined;\n }\n this.submenuSelectedChange.emit(option);\n }\n }\n\n public get paddingLeft() {\n return this.childLevel * 10 + 'px';\n }\n}\n","<div class=\"sub-menu-container\">\n <ul *ngIf=\"showList\" class=\"sub-menu\">\n <div *ngFor=\"let submenuItem of options\">\n <li class=\"sub-menu-item\" [ngStyle]=\"{ 'padding-left': paddingLeft }\" (click)=\"submenuClick(submenuItem)\">\n <div\n class=\"current-item\"\n [ngClass]=\"{\n 'active-menu': submenuSelected?.id === submenuItem.id,\n 'always-open': !!submenuItem.alwaysOpen,\n 'last-child': !submenuItem.children?.length\n }\"\n [pTooltip]=\"submenuItem.label\"\n tooltipPosition=\"right\"\n >\n <div *ngIf=\"submenuItem.icon\" class=\"icon-container\">\n <i [class]=\"submenuItem.icon\"></i>\n </div>\n <span class=\"menu-label\">{{ submenuItem.label }}</span>\n <i\n *ngIf=\"submenuItem.children?.length && !submenuItem.alwaysOpen\"\n class=\"fas angle-icon\"\n [ngClass]=\"{\n 'fa-angle-down': submenuSelected?.id !== submenuItem.id,\n 'fa-angle-up': submenuSelected?.id === submenuItem.id\n }\"\n ></i>\n </div>\n </li>\n <vector-sub-menus-list\n *ngIf=\"submenuItem?.children\"\n [options]=\"submenuItem?.children\"\n [showList]=\"submenuItem?.id === submenuSelected?.id || !!submenuItem?.alwaysOpen\"\n [childLevel]=\"childLevel + 1\"\n (submenuSelectedChange)=\"submenuClick($event)\"\n ></vector-sub-menus-list>\n </div>\n </ul>\n</div>\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Component, EventEmitter, HostListener, Inject, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { APP_NAME, ENVIRONMENT } from '../../injections';\nimport { AppName, MenuItem, Role } from '../../models';\nimport { VectorApp } from '../../models/vector-app.model';\nimport { MenuService, ProfileService, StorageService } from '../../services';\n\n@Component({\n selector: 'vector-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n animations: [\n trigger('sideInOut', [state('in', style({ width: '60px' })), state('out', style({ width: '250px' }))]),\n trigger('fadeInOut', [\n state(\n '0',\n style({\n opacity: 0,\n width: '0%',\n 'font-size': '0em',\n })\n ),\n state(\n '1',\n style({\n opacity: 1,\n 'font-size': '1em',\n width: '100%',\n })\n ),\n transition('0 <=> 1', animate('350ms ease-in-out')),\n ]),\n trigger('fadeSearchInOut', [\n state(\n '0',\n style({\n opacity: 0,\n width: '0%',\n 'font-size': '0em',\n })\n ),\n state(\n '1',\n style({\n opacity: 1,\n 'font-size': '1em',\n width: '100%',\n })\n ),\n transition('0 <=> 1', animate('350ms ease-in-out')),\n ]),\n trigger('submenuFadeInOut', [\n state(\n '0',\n style({\n opacity: 0,\n height: '0%',\n })\n ),\n state(\n '1',\n style({\n opacity: 1,\n height: 'fit-content',\n })\n ),\n transition('0 <=> 1', animate('350ms ease-in-out')),\n ]),\n ],\n})\nexport class MenuComponent implements OnInit, OnDestroy {\n public options: MenuItem[] = [];\n public activeOption: MenuItem | undefined;\n public activeSubmenuOption: MenuItem | undefined;\n public widthStyle = { width: '250px' };\n public lastAnimation = 'out';\n public appNameLabel = this.environment.appName;\n public adminOption: MenuItem | undefined;\n public appsEnum = AppName;\n public production = this.environment.production;\n @Output() onFinishMenuOptionsConfig = new EventEmitter<any>();\n\n set opened(opened: boolean) {\n this._opened = opened;\n this.menuService.menuOpened$.next(this.opened);\n }\n\n public get opened() {\n return this._opened;\n }\n\n public get hasFintechAdminPermission() {\n return this.profileService.hasFintechAdminPermission;\n }\n\n public get hasMarketplaceAdminPermission() {\n return this.profileService.hasMarketplaceAdminPermission;\n }\n\n public get hasAnyMarketplacePermission() {\n return this.profileService.hasAnyMarketplacePermission;\n }\n\n public get hasAnyFintechPermission() {\n return this.profileService.hasAnyFintechPermission;\n }\n\n @Input()\n public accountService: any;\n @Input()\n public apps: VectorApp[] = [];\n\n private _opened = true;\n private subscription = new Subscription();\n private currentWindowWidth: number = 0;\n\n constructor(\n private menuService: MenuService,\n private router: Router,\n private profileService: ProfileService,\n private storageService: StorageService,\n @Inject(ENVIRONMENT) private environment: any,\n @Inject(APP_NAME) private currentApp: string\n ) {}\n\n ngOnInit(): void {\n this.subscription.add(\n this.menuService.toggleMenu$.subscribe(() => {\n this.toggleMenu();\n })\n );\n\n this.subscription.add(\n this.profileService.moduleProfile$.subscribe((profile) => {\n if (profile) {\n const role = this.storageService.getRole();\n this.options =\n role === Role.ADMIN\n ? this.menuService.getSideAdminMenuOptions()\n : this.menuService.getSideMainMenuOptions();\n\n if (this.hasFintechAdminPermission || this.hasMarketplaceAdminPermission) {\n this.adminOption = {\n id: `${99999}`,\n label: 'Admin Fintech',\n iconFileName: 'vector_admin_icon',\n command: () => {\n this.navigateToPortal({ appName: AppName.FINTECH, isAdmin: true });\n },\n };\n\n if (this.hasFintechAdminPermission) {\n this.adminOption.children?.push({\n id: `${999991}`,\n label: 'Admin Fintech',\n command: () => {\n this.navigateToPortal({ appName: AppName.FINTECH, isAdmin: true });\n },\n hidden: !this.hasFintechAdminPermission,\n });\n }\n\n if (this.hasMarketplaceAdminPermission) {\n this.adminOption.children?.push({\n id: `${999992}`,\n label: 'Admin Marketplace',\n command: () => {\n this.navigateToPortal({ appName: AppName.MARKETPLACE, isAdmin: true });\n },\n hidden: !this.hasMarketplaceAdminPermission,\n });\n }\n }\n this.onFinishMenuOptionsConfig.emit(null);\n }\n })\n );\n\n this.subscription.add(\n this.menuService.frameUrl$.subscribe((frameUrl) => {\n if (frameUrl) {\n this.storageService.setSession('frameUrl', frameUrl);\n } else {\n this.storageService.removeSession('frameUrl');\n }\n })\n );\n\n const frameUrlFromStorage = this.storageService.getSession('frameUrl');\n if (frameUrlFromStorage) {\n this.menuService.frameUrl$.next(frameUrlFromStorage);\n }\n\n this.currentWindowWidth = window.innerWidth;\n }\n\n @HostListener('window:resize', ['$event'])\n onResize() {\n if (this.opened && this.currentWindowWidth !== window.innerWidth) {\n this.clearAndCloseMenu();\n }\n this.currentWindowWidth = window.innerWidth;\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n handleKeyboardEvent() {\n this.toggleMenu();\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n public toggleMenu() {\n this.opened = !this.opened;\n if (!this.opened) {\n this.activeOption = undefined;\n this.activeSubmenuOption = undefined;\n }\n this.resizeMenu();\n }\n\n public onMenuClick(option: MenuItem) {\n if (!option.alwaysOpen) {\n if (this.activeOption?.id === option.id) {\n this.activeOption = undefined;\n } else {\n this.activeOption = option.children?.length ? option : undefined;\n }\n if (option.frameUrl) {\n this.menuService.frameUrl$.next(option.frameUrl);\n } else if (option.route) {\n this.router.navigate([option.route]);\n this.menuService.frameUrl$.next(undefined);\n } else if (option.externalUrl) {\n window.open(option.externalUrl, '_blank');\n this.menuService.frameUrl$.next(undefined);\n }\n if (option.children?.length && !this.opened) {\n this.toggleMenu();\n }\n this.activeSubmenuOption = undefined;\n }\n }\n\n public onSubmenuClick(submenuItem: MenuItem) {\n if (!submenuItem.alwaysOpen) {\n if (this.activeSubmenuOption?.id === submenuItem?.id) {\n this.activeSubmenuOption = undefined;\n } else {\n this.activeSubmenuOption = submenuItem.children?.length ? submenuItem : undefined;\n }\n if (submenuItem.frameUrl) {\n this.menuService.frameUrl$.next(submenuItem.frameUrl);\n } else if (submenuItem.route) {\n this.router.navigate([submenuItem.route]);\n this.menuService.frameUrl$.next(undefined);\n } else if (submenuItem.externalUrl) {\n window.open(submenuItem.externalUrl, '_blank');\n this.menuService.frameUrl$.next(undefined);\n } else if (submenuItem.command) {\n submenuItem.command();\n this.menuService.frameUrl$.next(undefined);\n }\n }\n }\n\n public openTermsOfUse() {\n this.accountService.termsOfUse$.next();\n }\n\n public isPortalSelected(portal: AppName) {\n return this.currentApp === portal;\n }\n\n public navigateToPortal(params: Partial<VectorApp>) {\n this.activeOption = undefined;\n this.activeSubmenuOption = undefined;\n this.menuService.navigateToPortal(params);\n }\n\n public getMenuNotificationsCount(menu: MenuItem) {\n return this.menuService.menuNotifications[menu.id || ''];\n }\n\n private clearAndCloseMenu(): void {\n this.opened = false;\n this.activeOption = undefined;\n this.resizeMenu();\n }\n\n private resizeMenu() {\n this.lastAnimation = this.opened ? 'out' : 'in';\n this.widthStyle = { width: this.opened ? '250px' : '60px' };\n this.activeSubmenuOption = undefined;\n }\n}\n","<nav id=\"menu\" [ngStyle]=\"widthStyle\" [@sideInOut]=\"lastAnimation\">\n <div class=\"header-menu\">\n <div class=\"logo-container\">\n <div class=\"logo\" [ngClass]=\"{ 'logo-small': !opened }\"></div>\n </div>\n </div>\n <div class=\"menu-sections\">\n <div class=\"menu-section\">\n <span [ngStyle]=\"{ opacity: opened ? 1 : 0 }\" class=\"menu-section-title\">SELEÇÃO DE PORTAL</span>\n <ul class=\"side-menu\">\n <ng-container *ngIf=\"apps.length\">\n <li *ngFor=\"let app of apps\">\n <div\n class=\"side-menu-item\"\n [ngClass]=\"{ 'selected-portal': isPortalSelected(app.appName) }\"\n (click)=\"navigateToPortal(app)\"\n >\n <div class=\"icon-container selected-portal-item {{ app.className }}\"></div>\n <span class=\"menu-label\">{{ app.description }}</span>\n </div>\n </li>\n </ng-container>\n <ng-container *ngIf=\"!apps.length\">\n <li>\n <div\n class=\"side-menu-item\"\n [ngClass]=\"{ 'selected-portal': isPortalSelected(appsEnum.LOGTECH) }\"\n (click)=\"navigateToPortal({ appName: appsEnum.LOGTECH, isAdmin: false })\"\n >\n <div class=\"icon-container selected-portal-item logtech\"></div>\n <span class=\"menu-label\">Cargas</span>\n </div>\n </li>\n <li *ngIf=\"hasAnyFintechPermission\">\n <div\n class=\"side-menu-item\"\n [ngClass]=\"{ 'selected-portal': isPortalSelected(appsEnum.FINTECH) }\"\n (click)=\"navigateToPortal({ appName: appsEnum.FINTECH, isAdmin: false })\"\n >\n <div class=\"icon-container selected-portal-item fintech\"></div>\n <span class=\"menu-label\">Conta digital</span>\n </div>\n </li>\n <li *ngIf=\"!production\">\n <div\n class=\"side-menu-item\"\n [ngClass]=\"{ 'selected-portal': isPortalSelected(appsEnum.MARKETPLACE) }\"\n (click)=\"navigateToPortal({ appName: appsEnum.MARKETPLACE, isAdmin: false })\"\n >\n <div class=\"icon-container selected-portal-item marketplace\"></div>\n <span class=\"menu-label\">Combustível</span>\n </div>\n </li>\n <li *ngIf=\"adminOption && (hasFintechAdminPermission || hasMarketplaceAdminPermission)\">\n <div\n class=\"side-menu-item\"\n [ngClass]=\"{ 'active-menu': activeOption?.id === adminOption.id }\"\n (click)=\"navigateToPortal({ appName: appsEnum.FINTECH, isAdmin: true })\"\n >\n <div class=\"icon-container selected-portal-item admin\"></div>\n <span class=\"menu-label\">Admin Fintech</span>\n </div>\n </li>\n </ng-container>\n </ul>\n </div>\n <div class=\"menu-section\">\n <span [ngStyle]=\"{ opacity: opened && options.length ? 1 : 0 }\" class=\"menu-section-title\">MENU</span>\n <ul class=\"side-menu\">\n <li *ngFor=\"let option of options\">\n <div\n class=\"side-menu-item\"\n [ngClass]=\"{ 'active-menu': activeOption?.id === option.id, 'always-open': !!option.alwaysOpen }\"\n [pTooltip]=\"option.label\"\n tooltipPosition=\"right\"\n (click)=\"onMenuClick(option)\"\n >\n <div class=\"icon-container\">\n <img\n *ngIf=\"option.iconFileName\"\n [src]=\"'../../../../assets/icons/' + option.iconFileName + '.svg'\"\n class=\"menu-icon\"\n />\n <i *ngIf=\"option.icon\" class=\"menu-icon {{ option.icon }}\"></i>\n <span *ngIf=\"getMenuNotificationsCount(option)\" class=\"menu-notifications-count\">{{\n getMenuNotificationsCount(option)\n }}</span>\n </div>\n <span class=\"menu-label\">{{ option.label }}</span>\n <i\n *ngIf=\"opened && option.children?.length && !option.alwaysOpen\"\n class=\"fas angle-icon\"\n [ngClass]=\"{\n 'fa-angle-down': activeOption?.id !== option.id,\n 'fa-angle-up': activeOption?.id === option.id\n }\"\n ></i>\n </div>\n <vector-sub-menus-list\n [options]=\"option.children\"\n [showList]=\"activeOption?.id === option.id || (!!option.alwaysOpen && opened)\"\n [submenuSelected]=\"activeSubmenuOption\"\n (submenuSelectedChange)=\"onSubmenuClick($event)\"\n ></vector-sub-menus-list>\n </li>\n </ul>\n </div>\n </div>\n <div class=\"footer side-menu-item\">\n <div class=\"icon-container\">\n <a>\n <img src=\"../../../../assets/icons/menu_footer_icon.svg\" (click)=\"openTermsOfUse()\" class=\"menu-icon\" />\n </a>\n </div>\n <span class=\"menu-label footer-content\">\n <span> Veja nosso <a (click)=\"openTermsOfUse()\">Termo de uso</a> </span>\n <span>e <a (click)=\"openTermsOfUse()\">Política de privacidade</a></span>\n </span>\n </div>\n</nav>\n","import { NgModule } from '@angular/core';\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\nimport { SharedModule } from '../../shared/shared.module';\nimport { MenuComponent } from './menu.component';\nimport { SubMenusListComponent } from './sub-menus-list/sub-menus-list.component';\n\n@NgModule({\n declarations: [MenuComponent, SubMenusListComponent],\n exports: [MenuComponent],\n imports: [SharedModule, OverlayPanelModule],\n})\nexport class MenuModule {}\n","import { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output } from '@angular/core';\nimport { MenuItem } from 'primeng/api';\n\n@Component({\n selector: 'vector-stepper',\n templateUrl: './stepper.component.html',\n styleUrls: ['./stepper.component.scss'],\n})\nexport class StepperComponent implements AfterViewInit {\n @Input()\n public steps: MenuItem[] = [];\n @Input()\n public navigable = false;\n @Input()\n public activeIndex = 0;\n @Output()\n public activeIndexChange = new EventEmitter<number>();\n\n constructor(private elementRef: ElementRef) {}\n\n ngAfterViewInit(): void {\n const stepsNumbers: HTMLSpanElement[] = this.elementRef.nativeElement.getElementsByClassName('p-steps-number');\n let index = 0;\n for (let element of stepsNumbers) {\n const step = this.steps[index];\n if (step.styleClass === 'checked') {\n element.innerHTML = `<span class=\"fas fa-check\"></span>`;\n }\n if (step.icon) {\n element.innerHTML = `<span class=\"${step.icon}\"></span>`;\n }\n if (step.disabled) {\n element.classList.add('disabled');\n }\n index++;\n }\n }\n\n onActiveIndexChange(index: number) {\n this.activeIndexChange.emit(index);\n }\n}\n","<div class=\"wrapper\">\n <p-steps\n [model]=\"steps\"\n [readonly]=\"!navigable\"\n [activeIndex]=\"activeIndex\"\n (activeIndexChange)=\"onActiveIndexChange($event)\"\n >\n ></p-steps\n >\n</div>\n","import { NgModule } from '@angular/core';\nimport { StepsModule } from 'primeng/steps';\nimport { SharedModule } from '../../shared/shared.module';\nimport { StepperComponent } from './stepper.component';\n\n@NgModule({\n declarations: [StepperComponent],\n exports: [StepperComponent],\n imports: [SharedModule, StepsModule],\n})\nexport class StepperModule {}\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { Role, VectorNotification } from '../../models';\nimport { HelpCentralIconOptionsType } from '../../models/topbar.model';\nimport { AuthService, ErrorMessageService, MenuService, ProfileService, StorageService } from '../../services';\nimport { NotificationsService } from '../../services/notifications.service';\nimport { MaskUtil, WindowUtil } from '../../utils';\n\n@Component({\n selector: 'vector-top-bar',\n templateUrl: './top-bar.component.html',\n styleUrls: ['./top-bar.component.scss'],\n})\nexport class TopBarComponent implements OnInit, OnDestroy {\n public hideElements = false;\n public openedMenu = false;\n public openedChangeAccountMenu = false;\n public showNotifications = false;\n public doingOnboarding = false;\n\n public vectorFirstName: any;\n public currentAccount: any = {};\n public isAdmin = false;\n public otherAccounts: any[] = [];\n public maskUtil = MaskUtil;\n\n @Input()\n public fintech: boolean = false;\n @Input()\n public accountService: any;\n @Input()\n public showHelpCentral = false;\n public helpCentralIcons: HelpCentralIconOptionsType[] = [\n {\n icon: 'fab fa-whatsapp',\n url: 'https://api.whatsapp.com/send?phone=5521971551188&text=ol%C3%A1',\n active: true,\n },\n {\n icon: 'pi pi-phone',\n url: 'tel:552120423017',\n active: true,\n },\n {\n icon: 'far fa-envelope',\n url: 'mailto:suporte@vectorapp.com.br',\n active: true,\n },\n {\n icon: 'far fa-question-circle',\n url: '',\n active: false,\n },\n ];\n\n @Output() onClick = new EventEmitter<string>();\n\n public notificationsList: VectorNotification[] = [];\n\n private subscription = new Subscription();\n\n constructor(\n private menuService: MenuService,\n private authService: AuthService,\n private router: Router,\n private profileService: ProfileService,\n private storageService: StorageService,\n private notificationsService: NotificationsService,\n private errorMessageService: ErrorMessageService\n ) {}\n\n ngOnInit(): void {\n this.subscription.add(\n this.profileService.profileFirstName$.subscribe((value) => {\n this.vectorFirstName = value;\n })\n );\n\n this.subscription.add(\n this.menuService.menuOpened$.subscribe((hasOpened) => {\n this.hideElements = hasOpened;\n })\n );\n\n if (this.accountService) {\n this.subscription.add(\n this.accountService.currentAccount$.subscribe((account: any) => {\n this.currentAccount = account;\n if (this.currentAccount) {\n const str = `${this.currentAccount.accountNumber}`;\n const len = str.length;\n const accountWithHyfen = str.substring(0, len - 1) + '-' + str.substring(len - 1);\n this.currentAccount.accountNumber = accountWithHyfen;\n }\n })\n );\n\n this.subscription.add(\n this.accountService?.userAccounts$.subscribe((accounts: any) => {\n this.otherAccounts = accounts?.filter((acc: any) => acc.uuid !== this.currentAccount?.uuid) || [];\n })\n );\n\n this.subscription.add(\n this.accountService.onOnboarding$.subscribe((onOnboarding: any) => {\n setTimeout(() => {\n this.doingOnboarding = onOnboarding;\n });\n })\n );\n }\n\n this.subscription.add(\n this.authService.role$.subscribe((role) => {\n this.isAdmin = role === Role.ADMIN;\n })\n );\n\n this.subscription.add(\n this.notificationsService.notifications$.subscribe((notifications) => {\n this.notificationsList = notifications;\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n public toggleMenu() {\n this.menuService.toggleMenu$.next();\n }\n\n public logout() {\n this.authService.logout();\n }\n\n public isDesktop() {\n return WindowUtil.isDesktop();\n }\n\n public changeAccount(newAccount: any) {\n if (newAccount.isBlocked) {\n this.errorMessageService.genericModalErrorMessage$.next('Entre em contato com a central de atendimento');\n return;\n }\n\n this.storageService.set('linkedCnpj', newAccount.customerDocument);\n this.accountService.currentAccount$.next(newAccount);\n window.location.reload();\n }\n\n public goToTermsOfUse() {\n this.accountService.termsOfUse$.next();\n }\n\n public goToPasswordChange() {\n this.router.navigate(['password', 'recover'], { queryParams: { change: true } });\n }\n\n public goToTariff() {\n this.router.navigate(['fintech/under-construction']);\n }\n public goToOnboarding() {\n this.router.navigate(['onboarding', 'attorney-information']);\n }\n\n public handleClick(link: string | undefined) {\n this.onClick.emit(link || '');\n }\n}\n","<div class=\"top-bar-container\">\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\n <div class=\"menu-icon\"></div>\n </div>\n\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\n <span>Banco {{ currentAccount?.bankCode }}</span>\n <span class=\"separator\"></span>\n <span>AG {{ currentAccount?.agency }}</span>\n <span class=\"separator\"></span>\n <span>CC {{ currentAccount?.accountNumber }}</span>\n <span class=\"separator\"></span>\n <span\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\n >\n <ng-container>\n <span class=\"separator\"></span>\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\n <span class=\"mr-2\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </ng-container>\n </div>\n\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\n <div class=\"help-central\" *ngIf=\"showHelpCentral\">\n <span>{{ 'app.label.help_central' | translate }}:</span>\n <ng-container *ngFor=\"let item of helpCentralIcons\">\n <a target=\"_blank\" [ngClass]=\"{ hidden: !item.active }\" [attr.href]=\"item.url\">\n <i [class]=\"item.icon\"></i>\n </a>\n </ng-container>\n </div>\n\n <span *ngIf=\"!fintech\" (click)=\"notifications.toggle($event)\" class=\"fas fa-bell notifications-icon\">\n <span *ngIf=\"(notificationsList | unreadNotifications).length\" class=\"notifications-indicator\"> </span>\n </span>\n\n <span class=\"separator\"></span>\n <div\n #menuContainer\n class=\"menu-container\"\n (click)=\"menu.toggle($event)\"\n pTooltip=\"Enter your username\"\n tooltipPosition=\"bottom\"\n tooltipEvent=\"click\"\n >\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\n </div>\n </div>\n</div>\n\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\n </div>\n </div>\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\n <span class=\"change-account-mobile-label\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </div>\n <ul class=\"user-menu\">\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\n <span class=\"terms-of-use user-menu-icon\"></span>\n <span>Termos de Uso</span>\n </li>\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\n <span class=\"fintech-password user-menu-icon\"></span>\n <span>Alterar Senha</span>\n </li>\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel>\n\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\n <ng-template pTemplate>\n <div\n *ngFor=\"let account of otherAccounts\"\n class=\"account-info change-account-info\"\n (click)=\"changeAccount(account)\"\n >\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ account?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ account?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ account?.document | formatDocument }}</span>\n </div>\n </div>\n </div>\n <div>\n <hr />\n <p class=\"text-center add-account\" (click)=\"goToOnboarding(); changeAccountMenu.hide()\">\n Adicionar uma nova conta\n </p>\n </div>\n </ng-template>\n</p-overlayPanel>\n\n<p-overlayPanel\n #notifications\n (onHide)=\"showNotifications = false\"\n (onShow)=\"showNotifications = true\"\n styleClass=\"background-white\"\n>\n <ng-template pTemplate>\n <div class=\"notifications-header\">\n <div class=\"notifications-vector-logo\"></div>\n <span class=\"notifications-title\">\n {{ 'app.label.notifications' | translate }}\n </span>\n </div>\n <ul class=\"notifications-list\">\n <li\n (click)=\"handleClick(notification?.link)\"\n class=\"notification-item\"\n *ngFor=\"let notification of notificationsList | unreadNotifications\"\n >\n <span class=\"notification-title\">{{ notification.title }}</span>\n <span>{{ notification.description }}</span>\n <em class=\"fas fa-chevron-right\"></em>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel>\n","import { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\nimport { SharedModule } from '../../shared/shared.module';\nimport { MenuModule } from '../menu';\nimport { TopBarComponent } from './top-bar.component';\n\n@NgModule({\n declarations: [TopBarComponent],\n exports: [TopBarComponent],\n imports: [SharedModule, OverlayPanelModule, TranslateModule, MenuModule],\n})\nexport class TopBarModule {}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\n\nexport const crudListHasItemsGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\n const serviceType = routeSnapshot.data['service'];\n if (!serviceType) {\n console.error('You forgot to add the service declaration to route \"data\" property.');\n return false;\n }\n const service: typeof serviceType = inject(serviceType);\n return !!(service.dataset$.value?.data?.length || service.flatUnpagedDataset$.value?.length);\n};\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { map, switchMap } from 'rxjs/operators';\nimport { APP_NAME } from '../injections';\nimport { AppName, Role } from '../models';\nimport { AuthService, ProfileService, StorageService } from '../services';\n\nexport const getTokenByGuidGuard = (route: ActivatedRouteSnapshot) => {\n const authService: AuthService = inject(AuthService);\n const storageService: StorageService = inject(StorageService);\n const router: Router = inject(Router);\n const profileService: ProfileService = inject(ProfileService);\n const appName: AppName = inject(APP_NAME);\n\n const paramTokenGuid = route.queryParams['Token'];\n const role = atob(route.queryParams['role'] || '') as Role;\n authService.role$.next(role);\n if (paramTokenGuid) {\n storageService.clear();\n storageService.setRole(route.queryParams['role']);\n storageService.setUserId(route.queryParams['userId']);\n return authService.getTokenByGuid(paramTokenGuid).pipe(\n switchMap((token) => {\n if (token && role !== Role.ADMIN) {\n router.createUrlTree([appName.toLowerCase()]);\n }\n return profileService.getUserInfo().pipe(\n map((response) => {\n if (response.id) {\n storageService.setUserId(response.id);\n }\n return true;\n })\n );\n })\n );\n } else if (storageService.getToken()) {\n if (role !== Role.ADMIN) {\n return router.createUrlTree([appName.toLowerCase()]);\n }\n return true;\n }\n authService.logout();\n return false;\n};\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { APP_NAME } from '../injections';\nimport { AppName } from '../models';\nimport { ProfileService } from '../services';\n\nexport const hasPermissionGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\n const profileService: ProfileService = inject(ProfileService);\n const router: Router = inject(Router);\n const appName: AppName = inject(APP_NAME);\n const hasPermission = profileService.userHasPermission(routeSnapshot.data['permission']);\n\n if (!hasPermission) {\n return router.createUrlTree([appName.toLowerCase()]);\n }\n return true;\n};\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router } from '@angular/router';\nimport { Role } from '../models';\nimport { StorageService } from '../services';\n\nexport const roleGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\n const storageService: StorageService = inject(StorageService);\n const router: Router = inject(Router);\n const isRoleAdmin = storageService.getRole() === Role.ADMIN;\n\n if ((routeSnapshot.data['adminView'] && isRoleAdmin) || (!routeSnapshot.data['adminView'] && !isRoleAdmin)) {\n return true;\n }\n return router.createUrlTree(['']);\n};\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\nimport { firstValueFrom } from 'rxjs';\nimport { AuthService, StorageService } from '../services';\n\nexport const tokenIsPresentGuard = (routeSnapshot: ActivatedRouteSnapshot) => {\n const storageService: StorageService = inject(StorageService);\n const authService: AuthService = inject(AuthService);\n\n if (routeSnapshot.queryParams['tokenGuid']) {\n return firstValueFrom(authService.getTokenByGuid(routeSnapshot.queryParams['tokenGuid'])).then(\n (response) => !!response.accessToken\n );\n } else {\n return !!storageService.getToken();\n }\n};\n","import {\n HttpErrorResponse,\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse,\n} from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { MessageService } from 'primeng/api';\nimport { BehaviorSubject, Observable, throwError } from 'rxjs';\nimport { catchError, filter, switchMap, take, tap } from 'rxjs/operators';\nimport { ENVIRONMENT } from '../injections';\nimport { MessageStatus } from '../models';\nimport { AuthService, ErrorMessageService, LoadingService, StorageService } from '../services';\n\n@Injectable()\nexport class HttpInterceptorProvider implements HttpInterceptor {\n private activeRequests: string[] = [];\n private isRefreshing = false;\n private refreshTokenSubject: BehaviorSubject<any> = new BehaviorSubject<any>(null);\n constructor(\n private storageService: StorageService,\n private errorMessageService: ErrorMessageService,\n private loadingService: LoadingService,\n private authService: AuthService,\n private messageService: MessageService,\n @Inject(ENVIRONMENT) private environment: any\n ) {}\n\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n const isExternalUrl = request.headers.get('external-url');\n\n if (!this.isRefreshTokenRequest(request.url)) {\n if (!isExternalUrl) {\n request = this.addTokenIfPresent(request);\n request = this.addEncryptPasswordIfPresent(request);\n request = this.addAccountUuidIfPresent(request);\n request = this.addModifierIdIfPresent(request);\n request = this.addContentType(request);\n }\n }\n\n if (!isExternalUrl) {\n request = this.fixUrl(request);\n }\n\n const noSpinnerHeader = request.headers.get('no-spinner');\n if (!noSpinnerHeader && !request.url.startsWith('/assets/')) {\n this.loadingService.loading$.next(true);\n this.activeRequests.push(this.getUrlWithoutParams(request.url));\n }\n\n return next.handle(request).pipe(\n catchError((response: HttpErrorResponse) => {\n if (response.error?.messages?.length) {\n this.errorMessageService.genericModalErrorMessage$.next(\n response.error.messages[response.error.messages.length - 1]\n );\n }\n if (!this.isRefreshTokenRequest(request.url)) {\n if (response.status === 401) {\n return this.handle401Error(request, next);\n }\n if (response.status === 403) {\n this.errorMessageService.genericModalErrorMessage$.next('Usuário sem privilégios para realizar essa ação');\n } else {\n if (!isExternalUrl) {\n if (typeof response.error == 'string') {\n this.messageService.add({ severity: MessageStatus.ERROR, summary: 'Erro', detail: response.error });\n }\n }\n }\n }\n if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {\n this.activeRequests.splice(\n this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)),\n 1\n );\n if (!this.activeRequests.length) {\n this.loadingService.loading$.next(false);\n }\n }\n\n return throwError(() => response);\n }),\n tap((response) => {\n if (response instanceof HttpResponse) {\n if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {\n this.activeRequests.splice(\n this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)),\n 1\n );\n if (!this.activeRequests.length) {\n this.loadingService.loading$.next(false);\n }\n }\n\n if (\n Object(response.body).hasOwnProperty('statusCode') &&\n response.body.statusCode === 400 &&\n response.body.messages?.length\n ) {\n this.errorMessageService.genericModalErrorMessage$.next(\n response.body.messages[response.body.messages.length - 1]\n );\n }\n }\n })\n );\n }\n\n private isRefreshTokenRequest(url: string) {\n return url.includes('connect/token');\n }\n\n private getUrlWithoutParams(fullUrl: string | null): string {\n if (!fullUrl) {\n return '';\n }\n\n const decodedUrl = decodeURIComponent(fullUrl.trim());\n\n if (!decodedUrl.includes('?')) {\n return decodedUrl;\n }\n\n return decodedUrl.substring(0, decodedUrl.indexOf('?'));\n }\n\n private addTokenIfPresent(request: HttpRequest<any>): HttpRequest<any> {\n const token = this.storageService.getToken();\n if (token) {\n request = request.clone({ setHeaders: { Authorization: token } });\n }\n return request;\n }\n\n private addModifierIdIfPresent(request: HttpRequest<any>): HttpRequest<any> {\n const modifierId = this.storageService.getUserId();\n if (modifierId && request.method !== 'GET' && !(request.body instanceof FormData)) {\n request = request.clone({ body: { ...request.body, modifierId } });\n }\n return request;\n }\n\n private addEncryptPasswordIfPresent(request: HttpRequest<any>): HttpRequest<any> {\n const encriptPassword = this.storageService.get('encryptPassword');\n if (request.method !== 'GET' && encriptPassword) {\n if (request.body instanceof FormData) {\n request.body.append('encriptPassword', encriptPassword);\n } else {\n request = request.clone({ body: { ...request.body, encriptPassword } });\n }\n }\n return request;\n }\n\n private addAccountUuidIfPresent(request: HttpRequest<any>): HttpRequest<any> {\n const accountUuid = this.storageService.get('accountUuid');\n if (request.method !== 'GET' && accountUuid) {\n if (request.body instanceof FormData) {\n request.body.append('accountUuid', accountUuid);\n } else {\n request = request.clone({ body: { ...request.body, accountUuid } });\n }\n }\n return request;\n }\n\n private addContentType(request: HttpRequest<any>): HttpRequest<any> {\n return request.clone({ setHeaders: { contentType: 'application/json' } });\n }\n\n private fixUrl(request: HttpRequest<any>): HttpRequest<any> {\n if (this.isAuthRequest(request.url) || this.isProfilesRequest(request.url)) {\n return request.clone({\n url: `${this.environment.API_URL.replace('/api', '')}/${request.url}`,\n });\n }\n return request.clone({\n url: request.url.startsWith('/assets/') ? request.url : `${this.environment.API_URL}/${request.url}`,\n });\n }\n\n private isAuthRequest(url: string) {\n return url.includes('connect/token');\n }\n\n private isProfilesRequest(url: string) {\n return url.includes('connect/userinfo');\n }\n\n private handle401Error(request: HttpRequest<any>, next: HttpHandler) {\n if (!this.isRefreshing) {\n this.isRefreshing = true;\n this.refreshTokenSubject.next(null);\n\n const refreshToken = this.storageService.getRefreshToken();\n if (refreshToken) {\n return this.authService.getTokenByRefreshToken(refreshToken).pipe(\n switchMap((token: any) => {\n this.isRefreshing = false;\n this.refreshTokenSubject.next(this.storageService.getToken());\n return next.handle(this.addTokenIfPresent(request));\n }),\n catchError((err) => {\n this.isRefreshing = false;\n this.authService.logout();\n return throwError(() => err);\n })\n );\n } else {\n this.isRefreshing = false;\n this.authService.logout();\n return throwError(() => new Error());\n }\n }\n\n return this.refreshTokenSubject.pipe(\n filter((token) => token !== null),\n take(1),\n switchMap((token) => next.handle(this.addTokenIfPresent(request)))\n );\n }\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\n\nexport const getSelectedCrudItemResolver = (routeSnapshot: ActivatedRouteSnapshot) => {\n const serviceType = routeSnapshot.data['service'];\n if (!serviceType) {\n console.error('You forgot to add the service declaration to route \"data\" property.');\n return undefined;\n }\n const service: typeof serviceType = inject(serviceType);\n if (service.dataset$.value?.data?.length) {\n return service.dataset$.value.data.find((item: any) => item.id == routeSnapshot.params['id']);\n }\n if (service.flatUnpagedDataset$.value?.length) {\n return service.flatUnpagedDataset$.value.find((item: any) => item.id == routeSnapshot.params['id']);\n }\n return undefined;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3.RemoveLastChildPipe","i2.ButtonComponent","i3","PrimeNgPanel","i2.StorageService","i2.ProfileService","i1.ProfileService","i4.AuthService","i1.ModalService","i5.FieldErrorMessageComponent","i4","i6.ButtonComponent","i7.FieldErrorMessageComponent","i5","i5.TextFieldComponent","i7.CalendarComponent","i8.MultiselectFieldComponent","i9.DropdownFieldComponent","i10.CurrencyFieldComponent","i11.SelectButtonFieldComponent","i12.NotHiddenPipe","i13","i3.PanelComponent","i5.BadgeComponent","i6.ScoreComponent","i9.ButtonComponent","i10.FiltersComponent","i11","i3.FieldErrorMessageComponent","i1.TextFieldComponent","MenuModule","i1.BadgeComponent","i3.BadgeComponent","i1.ErrorMessageService","i3.ButtonComponent","i1.MenuService","i1.StorageService","i5.SubMenusListComponent","i1.AuthService","i3.NotificationsService","i7","i8.FormatDocumentPipe","i9.UnreadNotificationsPipe","i10"],"mappings":"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"}