keevo-components 1.8.42 → 1.8.45

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 (401) hide show
  1. package/ng-package.json +7 -0
  2. package/package.json +3 -16
  3. package/src/assets/.gitkeep +0 -0
  4. package/src/assets/images/LogoEvo.png +0 -0
  5. package/src/assets/images/LogoPequenaEvo.png +0 -0
  6. package/src/assets/images/background.png +0 -0
  7. package/src/assets/images/keepass-logo.png +0 -0
  8. package/src/assets/images/keepass-logo.svg +74 -0
  9. package/src/assets/images/keevo-logo.png +0 -0
  10. package/src/assets/images/logokeevo_2.png +0 -0
  11. package/src/index.ts +1 -0
  12. package/src/lib/api/base-components/base-component-button.ts +27 -0
  13. package/src/lib/api/base-components/base-component-chart.ts +105 -0
  14. package/src/lib/api/base-components/base-component-crud-form.ts +361 -0
  15. package/src/lib/api/base-components/base-component-crud-list.ts +121 -0
  16. package/src/lib/api/base-components/base-component-crud.ts +70 -0
  17. package/src/lib/api/base-components/base-component-dropdown-external.ts +29 -0
  18. package/src/lib/api/base-components/base-component-dropdown-new.ts +112 -0
  19. package/src/lib/api/base-components/base-component-dropdown.ts +170 -0
  20. package/src/lib/api/base-components/base-component-input.ts +107 -0
  21. package/src/lib/api/base-components/base-component-multi-select.ts +136 -0
  22. package/src/lib/api/base-components/base-component.ts +47 -0
  23. package/src/lib/api/components/chart/chart.config.ts +12 -0
  24. package/src/lib/api/components/chart/chart.model.ts +9 -0
  25. package/src/lib/api/components/chart/orchart.config.ts +41 -0
  26. package/src/lib/api/components/chart/orchart.item.ts +33 -0
  27. package/src/lib/api/components/dropdown/filtro.combo.ts +4 -0
  28. package/src/lib/api/components/table/action-item.ts +11 -0
  29. package/src/lib/api/components/table/kv-menuitem.ts +11 -0
  30. package/src/lib/api/components/table/table-dropdown-control.ts +6 -0
  31. package/src/lib/api/components/table/table.config.column.ts +27 -0
  32. package/src/lib/api/components/table/table.config.ts +22 -0
  33. package/src/lib/api/components/table/table.paginate.ts +6 -0
  34. package/src/lib/api/components/table/tabledit.config.ts +10 -0
  35. package/src/lib/api/components/table/tableedit.config.column.ts +12 -0
  36. package/src/lib/api/directives/directives.module.ts +16 -0
  37. package/src/lib/api/directives/drag/drag.directive.ts +40 -0
  38. package/src/lib/api/directives/template/template.directive.ts +15 -0
  39. package/src/lib/api/helpers/component-providers.ts +16 -0
  40. package/src/lib/api/helpers/keevo-validators.ts +86 -0
  41. package/src/lib/api/helpers/translate-primeng.ts +25 -0
  42. package/src/lib/api/modules/primeng.module.ts +130 -0
  43. package/src/lib/api/pipes/cpfcnpj.pipe.ts +21 -0
  44. package/src/lib/api/pipes/mask.pipe.ts +24 -0
  45. package/src/lib/api/pipes/pipes.module.ts +23 -0
  46. package/src/lib/api/pipes/telefone.pipe.ts +38 -0
  47. package/src/lib/api/services/base.api.service.ts +115 -0
  48. package/src/lib/api/services/breadcrumbs.service.ts +58 -0
  49. package/src/lib/api/services/component.service.ts +32 -0
  50. package/src/lib/api/services/docs.service.ts +129 -0
  51. package/src/lib/api/services/form.service.ts +115 -0
  52. package/src/lib/api/services/imagens.service.ts +28 -0
  53. package/src/lib/api/services/notification.service.ts +85 -0
  54. package/src/lib/api/services/object.service.ts +33 -0
  55. package/src/lib/components/keevo-components-styles.scss +11 -0
  56. package/src/lib/components/keevo-components.module.ts +65 -0
  57. package/src/lib/components/kv-avatar/kv-avatar.component.html +12 -0
  58. package/src/lib/components/kv-avatar/kv-avatar.component.scss +45 -0
  59. package/src/lib/components/kv-avatar/kv-avatar.component.spec.ts +23 -0
  60. package/src/lib/components/kv-avatar/kv-avatar.component.ts +72 -0
  61. package/src/lib/components/kv-avatar/kv-avatar.module.ts +21 -0
  62. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.html +15 -0
  63. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.scss +3 -0
  64. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.ts +34 -0
  65. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.html +12 -0
  66. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.scss +13 -0
  67. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.ts +35 -0
  68. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.html +12 -0
  69. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.scss +14 -0
  70. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.ts +14 -0
  71. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.html +11 -0
  72. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.scss +13 -0
  73. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.ts +14 -0
  74. package/src/lib/components/kv-buttons/kv-button.module.ts +26 -0
  75. package/src/lib/components/kv-carousel/kv-carousel.component.html +31 -0
  76. package/src/lib/components/kv-carousel/kv-carousel.component.scss +24 -0
  77. package/src/lib/components/kv-carousel/kv-carousel.component.spec.ts +23 -0
  78. package/src/lib/components/kv-carousel/kv-carousel.component.ts +104 -0
  79. package/src/lib/components/kv-carousel/kv-carousel.module.ts +19 -0
  80. package/src/lib/components/kv-chart/kv-chart.component.html +38 -0
  81. package/src/lib/components/kv-chart/kv-chart.component.scss +0 -0
  82. package/src/lib/components/kv-chart/kv-chart.component.spec.ts +28 -0
  83. package/src/lib/components/kv-chart/kv-chart.component.ts +153 -0
  84. package/src/lib/components/kv-chart/kv-chart.module.ts +21 -0
  85. package/src/lib/components/kv-error/kv-error.component.html +3 -0
  86. package/src/lib/components/kv-error/kv-error.component.scss +5 -0
  87. package/src/lib/components/kv-error/kv-error.component.ts +27 -0
  88. package/src/lib/components/kv-error/kv-error.module.ts +26 -0
  89. package/src/lib/components/kv-inputs/kv-check/kv-check.component.html +11 -0
  90. package/src/lib/components/kv-inputs/kv-check/kv-check.component.scss +13 -0
  91. package/src/lib/components/kv-inputs/kv-check/kv-check.component.ts +32 -0
  92. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.html +91 -0
  93. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.scss +4 -0
  94. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.ts +38 -0
  95. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.html +97 -0
  96. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.scss +4 -0
  97. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.ts +99 -0
  98. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.html +30 -0
  99. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.scss +0 -0
  100. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.ts +84 -0
  101. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.html +22 -0
  102. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.scss +0 -0
  103. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.ts +35 -0
  104. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.html +23 -0
  105. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.scss +0 -0
  106. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.ts +61 -0
  107. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.html +23 -0
  108. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.scss +0 -0
  109. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.ts +26 -0
  110. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.html +22 -0
  111. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.scss +18 -0
  112. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.ts +27 -0
  113. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.html +35 -0
  114. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.scss +0 -0
  115. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.spec.ts +23 -0
  116. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.ts +43 -0
  117. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.html +22 -0
  118. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.scss +0 -0
  119. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.ts +40 -0
  120. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.html +23 -0
  121. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.scss +0 -0
  122. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.ts +27 -0
  123. package/src/lib/components/kv-inputs/kv-inputs.module.ts +70 -0
  124. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.html +45 -0
  125. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.scss +8 -0
  126. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.ts +44 -0
  127. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.html +19 -0
  128. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.scss +15 -0
  129. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.ts +59 -0
  130. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.html +13 -0
  131. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.scss +3 -0
  132. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.ts +41 -0
  133. package/src/lib/components/kv-label/kv-label.component.html +6 -0
  134. package/src/lib/components/kv-label/kv-label.component.scss +9 -0
  135. package/src/lib/components/kv-label/kv-label.component.spec.ts +23 -0
  136. package/src/lib/components/kv-label/kv-label.component.ts +14 -0
  137. package/src/lib/components/kv-label/kv-label.module.ts +17 -0
  138. package/src/lib/components/kv-loader/kv-loader.component.html +1 -0
  139. package/src/lib/components/kv-loader/kv-loader.component.ts +15 -0
  140. package/src/lib/components/kv-loader/kv-loader.module.ts +17 -0
  141. package/src/lib/components/kv-loader/kv-loader.service.ts +31 -0
  142. package/src/lib/components/kv-login/kv-login.component.html +108 -0
  143. package/src/lib/components/kv-login/kv-login.component.scss +48 -0
  144. package/src/lib/components/kv-login/kv-login.component.spec.ts +23 -0
  145. package/src/lib/components/kv-login/kv-login.component.ts +81 -0
  146. package/src/lib/components/kv-login/kv-login.module.ts +33 -0
  147. package/src/lib/components/kv-menu/kv-menu.component.html +259 -0
  148. package/src/lib/components/kv-menu/kv-menu.component.scss +210 -0
  149. package/src/lib/components/kv-menu/kv-menu.component.spec.ts +23 -0
  150. package/src/lib/components/kv-menu/kv-menu.component.ts +192 -0
  151. package/src/lib/components/kv-menu/kv-menu.module.ts +33 -0
  152. package/src/lib/components/kv-modal/kv-modal.component.html +19 -0
  153. package/src/lib/components/kv-modal/kv-modal.component.scss +13 -0
  154. package/src/lib/components/kv-modal/kv-modal.component.spec.ts +21 -0
  155. package/src/lib/components/kv-modal/kv-modal.component.ts +73 -0
  156. package/src/lib/components/kv-modal/kv-modal.module.ts +21 -0
  157. package/src/lib/components/kv-orgchart/kv-orgchart.component.html +58 -0
  158. package/src/lib/components/kv-orgchart/kv-orgchart.component.scss +21 -0
  159. package/src/lib/components/kv-orgchart/kv-orgchart.component.ts +110 -0
  160. package/src/lib/components/kv-orgchart/kv-orgchart.module.ts +14 -0
  161. package/src/lib/components/kv-page-form/kv-page-form.component.html +59 -0
  162. package/src/lib/components/kv-page-form/kv-page-form.component.scss +76 -0
  163. package/src/lib/components/kv-page-form/kv-page-form.component.spec.ts +28 -0
  164. package/src/lib/components/kv-page-form/kv-page-form.component.ts +134 -0
  165. package/src/lib/components/kv-page-form/kv-page-form.module.ts +31 -0
  166. package/src/lib/components/kv-pick-list/kv-pick-list.component.html +17 -0
  167. package/src/lib/components/kv-pick-list/kv-pick-list.component.scss +0 -0
  168. package/src/lib/components/kv-pick-list/kv-pick-list.component.spec.ts +26 -0
  169. package/src/lib/components/kv-pick-list/kv-pick-list.component.ts +34 -0
  170. package/src/lib/components/kv-pick-list/kv-pick-list.module.ts +21 -0
  171. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.html +38 -0
  172. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.scss +110 -0
  173. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.spec.ts +21 -0
  174. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.ts +79 -0
  175. package/src/lib/components/kv-progress-bar/kv-progress-bar.module.ts +19 -0
  176. package/src/lib/components/kv-table/kv-table.component.html +530 -0
  177. package/src/lib/components/kv-table/kv-table.component.scss +265 -0
  178. package/src/lib/components/kv-table/kv-table.component.spec.ts +28 -0
  179. package/src/lib/components/kv-table/kv-table.component.ts +599 -0
  180. package/src/lib/components/kv-table/kv-table.module.ts +23 -0
  181. package/src/lib/components/kv-table-edit/kv-table-edit.component.html +630 -0
  182. package/src/lib/components/kv-table-edit/kv-table-edit.component.scss +365 -0
  183. package/src/lib/components/kv-table-edit/kv-table-edit.component.ts +602 -0
  184. package/src/lib/components/kv-table-edit/kv-table-edit.module.ts +24 -0
  185. package/src/lib/components/kv-tree-table/kv-tree-table.component.html +316 -0
  186. package/src/lib/components/kv-tree-table/kv-tree-table.component.scss +130 -0
  187. package/src/lib/components/kv-tree-table/kv-tree-table.component.spec.ts +21 -0
  188. package/src/lib/components/kv-tree-table/kv-tree-table.component.ts +231 -0
  189. package/src/lib/components/kv-tree-table/kv-tree-table.module.ts +18 -0
  190. package/src/lib/components/kv-tree-view/kv-tree-view.component.html +9 -0
  191. package/src/lib/components/kv-tree-view/kv-tree-view.component.scss +0 -0
  192. package/src/lib/components/kv-tree-view/kv-tree-view.component.spec.ts +23 -0
  193. package/src/lib/components/kv-tree-view/kv-tree-view.component.ts +31 -0
  194. package/src/lib/components/kv-tree-view/kv-tree-view.module.ts +19 -0
  195. package/src/lib/components/kv-workspace/kv-workspace.component.html +57 -0
  196. package/src/lib/components/kv-workspace/kv-workspace.component.scss +117 -0
  197. package/src/lib/components/kv-workspace/kv-workspace.component.ts +196 -0
  198. package/src/lib/components/kv-workspace/kv-workspace.module.ts +35 -0
  199. package/{public-api.d.ts → src/public-api.ts} +41 -14
  200. package/tsconfig.lib.json +14 -0
  201. package/tsconfig.lib.prod.json +10 -0
  202. package/tsconfig.spec.json +14 -0
  203. package/esm2022/keevo-components.mjs +0 -5
  204. package/esm2022/lib/api/base-components/base-component-button.mjs +0 -36
  205. package/esm2022/lib/api/base-components/base-component-chart.mjs +0 -92
  206. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +0 -298
  207. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +0 -78
  208. package/esm2022/lib/api/base-components/base-component-crud.mjs +0 -65
  209. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +0 -31
  210. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +0 -169
  211. package/esm2022/lib/api/base-components/base-component-input.mjs +0 -94
  212. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +0 -130
  213. package/esm2022/lib/api/base-components/base-component.mjs +0 -51
  214. package/esm2022/lib/api/components/chart/chart.config.mjs +0 -2
  215. package/esm2022/lib/api/components/chart/chart.model.mjs +0 -2
  216. package/esm2022/lib/api/components/chart/orchart.config.mjs +0 -2
  217. package/esm2022/lib/api/components/chart/orchart.item.mjs +0 -2
  218. package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +0 -2
  219. package/esm2022/lib/api/components/table/action-item.mjs +0 -2
  220. package/esm2022/lib/api/components/table/kv-menuitem.mjs +0 -3
  221. package/esm2022/lib/api/components/table/table-dropdown-control.mjs +0 -2
  222. package/esm2022/lib/api/components/table/table.config.column.mjs +0 -2
  223. package/esm2022/lib/api/components/table/table.config.mjs +0 -2
  224. package/esm2022/lib/api/components/table/table.paginate.mjs +0 -9
  225. package/esm2022/lib/api/components/table/tabledit.config.mjs +0 -2
  226. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +0 -2
  227. package/esm2022/lib/api/directives/template/template.directive.mjs +0 -24
  228. package/esm2022/lib/api/helpers/component-providers.mjs +0 -16
  229. package/esm2022/lib/api/helpers/keevo-validators.mjs +0 -72
  230. package/esm2022/lib/api/helpers/translate-primeng.mjs +0 -23
  231. package/esm2022/lib/api/modules/primeng.module.mjs +0 -255
  232. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +0 -25
  233. package/esm2022/lib/api/pipes/mask.pipe.mjs +0 -29
  234. package/esm2022/lib/api/pipes/pipes.module.mjs +0 -34
  235. package/esm2022/lib/api/pipes/telefone.pipe.mjs +0 -45
  236. package/esm2022/lib/api/services/base.api.service.mjs +0 -74
  237. package/esm2022/lib/api/services/breadcrumbs.service.mjs +0 -57
  238. package/esm2022/lib/api/services/component.service.mjs +0 -27
  239. package/esm2022/lib/api/services/form.service.mjs +0 -85
  240. package/esm2022/lib/api/services/imagens.service.mjs +0 -28
  241. package/esm2022/lib/api/services/notification.service.mjs +0 -67
  242. package/esm2022/lib/api/services/object.service.mjs +0 -39
  243. package/esm2022/lib/components/keevo-components.module.mjs +0 -137
  244. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +0 -78
  245. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +0 -32
  246. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +0 -31
  247. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +0 -31
  248. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +0 -17
  249. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +0 -17
  250. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +0 -39
  251. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +0 -92
  252. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +0 -28
  253. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +0 -145
  254. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +0 -32
  255. package/esm2022/lib/components/kv-error/kv-error.component.mjs +0 -26
  256. package/esm2022/lib/components/kv-error/kv-error.module.mjs +0 -35
  257. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +0 -26
  258. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +0 -37
  259. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +0 -88
  260. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +0 -89
  261. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +0 -29
  262. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +0 -59
  263. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +0 -33
  264. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +0 -21
  265. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +0 -42
  266. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +0 -43
  267. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +0 -24
  268. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +0 -108
  269. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +0 -44
  270. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +0 -53
  271. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +0 -34
  272. package/esm2022/lib/components/kv-label/kv-label.component.mjs +0 -15
  273. package/esm2022/lib/components/kv-label/kv-label.module.mjs +0 -24
  274. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +0 -17
  275. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +0 -28
  276. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +0 -29
  277. package/esm2022/lib/components/kv-login/kv-login.component.mjs +0 -52
  278. package/esm2022/lib/components/kv-login/kv-login.module.mjs +0 -47
  279. package/esm2022/lib/components/kv-menu/kv-menu.component.mjs +0 -188
  280. package/esm2022/lib/components/kv-menu/kv-menu.module.mjs +0 -47
  281. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +0 -67
  282. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +0 -31
  283. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +0 -100
  284. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +0 -24
  285. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +0 -147
  286. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +0 -38
  287. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +0 -48
  288. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +0 -32
  289. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +0 -58
  290. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +0 -28
  291. package/esm2022/lib/components/kv-table/kv-table.component.mjs +0 -550
  292. package/esm2022/lib/components/kv-table/kv-table.module.mjs +0 -36
  293. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +0 -564
  294. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +0 -34
  295. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +0 -215
  296. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +0 -28
  297. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +0 -30
  298. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +0 -28
  299. package/esm2022/lib/components/kv-workspace/kv-workspace.component.mjs +0 -178
  300. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +0 -51
  301. package/esm2022/public-api.mjs +0 -166
  302. package/fesm2022/keevo-components.mjs +0 -5667
  303. package/fesm2022/keevo-components.mjs.map +0 -1
  304. package/index.d.ts +0 -5
  305. package/lib/api/base-components/base-component-button.d.ts +0 -14
  306. package/lib/api/base-components/base-component-chart.d.ts +0 -40
  307. package/lib/api/base-components/base-component-crud-form.d.ts +0 -145
  308. package/lib/api/base-components/base-component-crud-list.d.ts +0 -63
  309. package/lib/api/base-components/base-component-crud.d.ts +0 -36
  310. package/lib/api/base-components/base-component-dropdown-external.d.ts +0 -15
  311. package/lib/api/base-components/base-component-dropdown.d.ts +0 -44
  312. package/lib/api/base-components/base-component-input.d.ts +0 -31
  313. package/lib/api/base-components/base-component-multi-select.d.ts +0 -35
  314. package/lib/api/base-components/base-component.d.ts +0 -22
  315. package/lib/api/components/chart/chart.config.d.ts +0 -11
  316. package/lib/api/components/chart/chart.model.d.ts +0 -9
  317. package/lib/api/components/chart/orchart.config.d.ts +0 -35
  318. package/lib/api/components/chart/orchart.item.d.ts +0 -26
  319. package/lib/api/components/dropdown/filtro.combo.d.ts +0 -4
  320. package/lib/api/components/table/action-item.d.ts +0 -11
  321. package/lib/api/components/table/kv-menuitem.d.ts +0 -10
  322. package/lib/api/components/table/table-dropdown-control.d.ts +0 -6
  323. package/lib/api/components/table/table.config.column.d.ts +0 -25
  324. package/lib/api/components/table/table.config.d.ts +0 -19
  325. package/lib/api/components/table/table.paginate.d.ts +0 -6
  326. package/lib/api/components/table/tabledit.config.d.ts +0 -8
  327. package/lib/api/components/table/tableedit.config.column.d.ts +0 -10
  328. package/lib/api/directives/template/template.directive.d.ts +0 -11
  329. package/lib/api/helpers/component-providers.d.ts +0 -2
  330. package/lib/api/helpers/keevo-validators.d.ts +0 -11
  331. package/lib/api/helpers/translate-primeng.d.ts +0 -4
  332. package/lib/api/modules/primeng.module.d.ts +0 -62
  333. package/lib/api/pipes/cpfcnpj.pipe.d.ts +0 -7
  334. package/lib/api/pipes/mask.pipe.d.ts +0 -7
  335. package/lib/api/pipes/pipes.module.d.ts +0 -10
  336. package/lib/api/pipes/telefone.pipe.d.ts +0 -7
  337. package/lib/api/services/base.api.service.d.ts +0 -25
  338. package/lib/api/services/breadcrumbs.service.d.ts +0 -15
  339. package/lib/api/services/component.service.d.ts +0 -11
  340. package/lib/api/services/form.service.d.ts +0 -28
  341. package/lib/api/services/imagens.service.d.ts +0 -10
  342. package/lib/api/services/notification.service.d.ts +0 -25
  343. package/lib/api/services/object.service.d.ts +0 -9
  344. package/lib/components/keevo-components.module.d.ts +0 -24
  345. package/lib/components/kv-avatar/kv-avatar.component.d.ts +0 -22
  346. package/lib/components/kv-avatar/kv-avatar.module.d.ts +0 -10
  347. package/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.d.ts +0 -13
  348. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +0 -13
  349. package/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.d.ts +0 -7
  350. package/lib/components/kv-buttons/kv-button-success/kv-button-success.component.d.ts +0 -7
  351. package/lib/components/kv-buttons/kv-button.module.d.ts +0 -11
  352. package/lib/components/kv-carousel/kv-carousel.component.d.ts +0 -16
  353. package/lib/components/kv-carousel/kv-carousel.module.d.ts +0 -9
  354. package/lib/components/kv-chart/kv-chart.component.d.ts +0 -56
  355. package/lib/components/kv-chart/kv-chart.module.d.ts +0 -10
  356. package/lib/components/kv-error/kv-error.component.d.ts +0 -12
  357. package/lib/components/kv-error/kv-error.module.d.ts +0 -10
  358. package/lib/components/kv-inputs/kv-check/kv-check.component.d.ts +0 -11
  359. package/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.d.ts +0 -14
  360. package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +0 -36
  361. package/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.d.ts +0 -27
  362. package/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.d.ts +0 -12
  363. package/lib/components/kv-inputs/kv-input-number/kv-input-number.component.d.ts +0 -19
  364. package/lib/components/kv-inputs/kv-input-password/kv-input-password.component.d.ts +0 -13
  365. package/lib/components/kv-inputs/kv-input-text/kv-input-text.component.d.ts +0 -9
  366. package/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.d.ts +0 -16
  367. package/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.d.ts +0 -16
  368. package/lib/components/kv-inputs/kv-input-time/kv-input-time.component.d.ts +0 -10
  369. package/lib/components/kv-inputs/kv-inputs.module.d.ts +0 -25
  370. package/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.d.ts +0 -15
  371. package/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.d.ts +0 -18
  372. package/lib/components/kv-inputs/kv-switch/kv-switch.component.d.ts +0 -14
  373. package/lib/components/kv-label/kv-label.component.d.ts +0 -7
  374. package/lib/components/kv-label/kv-label.module.d.ts +0 -8
  375. package/lib/components/kv-loader/kv-loader.component.d.ts +0 -8
  376. package/lib/components/kv-loader/kv-loader.module.d.ts +0 -9
  377. package/lib/components/kv-loader/kv-loader.service.d.ts +0 -10
  378. package/lib/components/kv-login/kv-login.component.d.ts +0 -30
  379. package/lib/components/kv-login/kv-login.module.d.ts +0 -13
  380. package/lib/components/kv-menu/kv-menu.component.d.ts +0 -58
  381. package/lib/components/kv-menu/kv-menu.module.d.ts +0 -13
  382. package/lib/components/kv-modal/kv-modal.component.d.ts +0 -20
  383. package/lib/components/kv-modal/kv-modal.module.d.ts +0 -10
  384. package/lib/components/kv-orgchart/kv-orgchart.component.d.ts +0 -27
  385. package/lib/components/kv-orgchart/kv-orgchart.module.d.ts +0 -9
  386. package/lib/components/kv-page-form/kv-page-form.component.d.ts +0 -70
  387. package/lib/components/kv-page-form/kv-page-form.module.d.ts +0 -11
  388. package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +0 -20
  389. package/lib/components/kv-pick-list/kv-pick-list.module.d.ts +0 -10
  390. package/lib/components/kv-progress-bar/kv-progress-bar.component.d.ts +0 -67
  391. package/lib/components/kv-progress-bar/kv-progress-bar.module.d.ts +0 -9
  392. package/lib/components/kv-table/kv-table.component.d.ts +0 -111
  393. package/lib/components/kv-table/kv-table.module.d.ts +0 -11
  394. package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +0 -115
  395. package/lib/components/kv-table-edit/kv-table-edit.module.d.ts +0 -12
  396. package/lib/components/kv-tree-table/kv-tree-table.component.d.ts +0 -42
  397. package/lib/components/kv-tree-table/kv-tree-table.module.d.ts +0 -9
  398. package/lib/components/kv-tree-view/kv-tree-view.component.d.ts +0 -14
  399. package/lib/components/kv-tree-view/kv-tree-view.module.d.ts +0 -9
  400. package/lib/components/kv-workspace/kv-workspace.component.d.ts +0 -46
  401. package/lib/components/kv-workspace/kv-workspace.module.d.ts +0 -14
@@ -0,0 +1,14 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/lib",
6
+ "declaration": true,
7
+ "declarationMap": true,
8
+ "inlineSources": true,
9
+ "types": []
10
+ },
11
+ "exclude": [
12
+ "**/*.spec.ts"
13
+ ]
14
+ }
@@ -0,0 +1,10 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.lib.json",
4
+ "compilerOptions": {
5
+ "declarationMap": false
6
+ },
7
+ "angularCompilerOptions": {
8
+ "compilationMode": "partial"
9
+ }
10
+ }
@@ -0,0 +1,14 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/spec",
6
+ "types": [
7
+ "jasmine"
8
+ ]
9
+ },
10
+ "include": [
11
+ "**/*.spec.ts",
12
+ "**/*.d.ts"
13
+ ]
14
+ }
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Vldm8tY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2tlZXZvLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,36 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BaseComponentButton {
4
- constructor() {
5
- this.icon = '';
6
- this.label = '';
7
- this.loading = false;
8
- this.disabled = false;
9
- this.color = 'bg-blue-100';
10
- this.onClick = new EventEmitter();
11
- }
12
- click(event) {
13
- this.onClick.emit();
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseComponentButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BaseComponentButton, selector: "ng-component", inputs: { icon: "icon", label: "label", loading: "loading", disabled: "disabled", color: "color" }, outputs: { onClick: "onClick" }, ngImport: i0, template: '', isInline: true }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseComponentButton, decorators: [{
19
- type: Component,
20
- args: [{
21
- template: '',
22
- }]
23
- }], ctorParameters: function () { return []; }, propDecorators: { icon: [{
24
- type: Input
25
- }], label: [{
26
- type: Input
27
- }], loading: [{
28
- type: Input
29
- }], disabled: [{
30
- type: Input
31
- }], color: [{
32
- type: Input
33
- }], onClick: [{
34
- type: Output
35
- }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFXOUI7UUFUUyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFVBQUssR0FBVyxhQUFhLENBQUM7UUFHN0IsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFDLENBQUM7SUFFakIsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7K0dBZlUsbUJBQW1CO21HQUFuQixtQkFBbUIseUxBRnBCLEVBQUU7OzRGQUVELG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFHVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VDb21wb25lbnRCdXR0b24ge1xuXG4gIEBJbnB1dCgpIGljb246IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZyA9ICdiZy1ibHVlLTEwMCc7XG5cblxuICBAT3V0cHV0KCkgb25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBjbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoKTtcbiAgfVxufVxuIl19
@@ -1,92 +0,0 @@
1
- import { Component, EventEmitter, Output, ViewChild } from "@angular/core";
2
- import { KvChartComponent, PeriodosChart } from "../../components/kv-chart/kv-chart.component";
3
- import * as i0 from "@angular/core";
4
- export class BaseChartComponent {
5
- constructor() {
6
- this.selectedData = 0;
7
- this.enablePeriodos = [];
8
- this.periodos = PeriodosChart;
9
- this.onPrintReport = new EventEmitter();
10
- }
11
- changeData(event) {
12
- if (event) {
13
- this.selectedData = event?.value;
14
- this.loadData();
15
- }
16
- }
17
- ngOnInit() {
18
- this.loadData();
19
- }
20
- loadGraphic(obs) {
21
- obs
22
- .subscribe({
23
- next: (data) => {
24
- this.chartConfig = this.assembleGraphic(data);
25
- this.chartComponent?.reInit(this.chartConfig);
26
- },
27
- error: (error) => { },
28
- });
29
- }
30
- assembleGraphic(data) {
31
- let labels = [];
32
- let datasets = [];
33
- // Tratando legendas
34
- data.map((element) => {
35
- if (element.labels && !labels.includes(element.labels)) {
36
- labels.push(element.labels);
37
- }
38
- });
39
- //Descobrindo quantas dimensões tem o gráfico
40
- let numDatasets = Math.max(...data.map(o => o.numDatasets));
41
- //Populando datasets
42
- for (let i = 0; i <= numDatasets; i++) {
43
- let backgroundColor = [];
44
- let hoverBackgroundColor = [];
45
- let borderColor = [];
46
- let values = [];
47
- let labelDataset = '';
48
- data.filter((obj) => {
49
- return obj.numDatasets === i;
50
- }).map((obj) => {
51
- if (obj.backgroundColor && !backgroundColor.includes(obj.backgroundColor)) {
52
- backgroundColor.push(obj.backgroundColor);
53
- }
54
- if (obj.borderColor && !borderColor.includes(obj.borderColor)) {
55
- borderColor.push(obj.borderColor);
56
- }
57
- if (obj.hoverBackgroundColor && !hoverBackgroundColor.includes(obj.hoverBackgroundColor)) {
58
- hoverBackgroundColor.push(obj.hoverBackgroundColor);
59
- }
60
- if (obj.labelDataset)
61
- labelDataset = obj.labelDataset;
62
- values.push(obj.datasets);
63
- });
64
- datasets.push({
65
- label: labelDataset,
66
- backgroundColor: backgroundColor,
67
- hoverBackgroundColor: hoverBackgroundColor,
68
- borderColor: borderColor?.length === 0 ? undefined : borderColor,
69
- data: values
70
- });
71
- }
72
- let dados = {
73
- labels: labels,
74
- datasets: datasets
75
- };
76
- return dados;
77
- }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BaseChartComponent, selector: "ng-component", outputs: { onPrintReport: "onPrintReport" }, viewQueries: [{ propertyName: "chartComponent", first: true, predicate: KvChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true }); }
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseChartComponent, decorators: [{
82
- type: Component,
83
- args: [{
84
- template: ''
85
- }]
86
- }], ctorParameters: function () { return []; }, propDecorators: { chartComponent: [{
87
- type: ViewChild,
88
- args: [KvChartComponent]
89
- }], onPrintReport: [{
90
- type: Output
91
- }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFLL0YsTUFBTSxPQUFnQixrQkFBa0I7SUFXdEM7UUFSQSxpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixhQUFRLEdBQUcsYUFBYSxDQUFDO1FBSWYsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVoRCxDQUFDO0lBRVAsVUFBVSxDQUFDLEtBQVU7UUFDN0IsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDakIsQ0FBQztJQUlTLFdBQVcsQ0FBQyxHQUFvQjtRQUN4QyxHQUFHO2FBQ0EsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFvQixDQUFDLENBQUM7Z0JBQzlELElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMs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RTs7NEZBRVEsa0JBQWtCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiOzBFQVE4QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFakIsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuXG5pbXBvcnQgeyBjaGFydE1vZGVsIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQubW9kZWxcIjtcbmltcG9ydCB7IENoYXJ0Q29uZmlnLCBDaGFydERhdGFzZXRDb25maWcgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9jaGFydC9jaGFydC5jb25maWdcIjtcbmltcG9ydCB7IEt2Q2hhcnRDb21wb25lbnQsIFBlcmlvZG9zQ2hhcnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9rdi1jaGFydC9rdi1jaGFydC5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNoYXJ0Q29uZmlnITogQ2hhcnRDb25maWc7XG4gIHNlbGVjdGVkRGF0YTogbnVtYmVyID0gMDtcbiAgZW5hYmxlUGVyaW9kb3M6IG51bWJlcltdID0gW107XG4gIHBlcmlvZG9zID0gUGVyaW9kb3NDaGFydDtcblxuICBAVmlld0NoaWxkKEt2Q2hhcnRDb21wb25lbnQpIGNoYXJ0Q29tcG9uZW50PzogS3ZDaGFydENvbXBvbmVudDtcblxuICBAT3V0cHV0KCkgb25QcmludFJlcG9ydDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwcm90ZWN0ZWQgY2hhbmdlRGF0YShldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0YSA9IGV2ZW50Py52YWx1ZTtcbiAgICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWREYXRhKClcbiAgfVxuXG4gIGFic3RyYWN0IGxvYWREYXRhKCk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGxvYWRHcmFwaGljKG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgb2JzXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2hhcnRDb25maWcgPSB0aGlzLmFzc2VtYmxlR3JhcGhpYyhkYXRhIGFzIGNoYXJ0TW9kZWxbXSk7XG4gICAgICAgICAgdGhpcy5jaGFydENvbXBvbmVudD8ucmVJbml0KHRoaXMuY2hhcnRDb25maWcpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHsgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzc2VtYmxlR3JhcGhpYyhkYXRhOiBjaGFydE1vZGVsW10pIHtcbiAgICBsZXQgbGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCBkYXRhc2V0czogQ2hhcnREYXRhc2V0Q29uZmlnW10gPSBbXTtcblxuICAgIC8vIFRyYXRhbmRvIGxlZ2VuZGFzXG4gICAgZGF0YS5tYXAoKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgaWYgKGVsZW1lbnQubGFiZWxzICYmICFsYWJlbHMuaW5jbHVkZXMoZWxlbWVudC5sYWJlbHMpKSB7XG4gICAgICAgIGxhYmVscy5wdXNoKGVsZW1lbnQubGFiZWxzKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vRGVzY29icmluZG8gcXVhbnRhcyBkaW1lbnPDtWVzIHRlbSBvIGdyw6FmaWNvXG4gICAgbGV0IG51bURhdGFzZXRzID0gTWF0aC5tYXgoLi4uZGF0YS5tYXAobyA9PiBvLm51bURhdGFzZXRzKSk7XG5cbiAgICAvL1BvcHVsYW5kbyBkYXRhc2V0c1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IG51bURhdGFzZXRzOyBpKyspIHtcbiAgICAgIGxldCBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZ1tdID0gW107XG4gICAgICBsZXQgaG92ZXJCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZ1tdID0gW107XG4gICAgICBsZXQgYm9yZGVyQ29sb3I6IHN0cmluZ1tdID0gW107XG4gICAgICBsZXQgdmFsdWVzOiBudW1iZXJbXSA9IFtdO1xuICAgICAgbGV0IGxhYmVsRGF0YXNldDogc3RyaW5nID0gJyc7XG5cbiAgICAgIGRhdGEuZmlsdGVyKChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIG9iai5udW1EYXRhc2V0cyA9PT0gaTtcbiAgICAgIH0pLm1hcCgob2JqKSA9PiB7XG4gICAgICAgIGlmIChvYmouYmFja2dyb3VuZENvbG9yICYmICFiYWNrZ3JvdW5kQ29sb3IuaW5jbHVkZXMob2JqLmJhY2tncm91bmRDb2xvcikpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3IucHVzaChvYmouYmFja2dyb3VuZENvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob2JqLmJvcmRlckNvbG9yICYmICFib3JkZXJDb2xvci5pbmNsdWRlcyhvYmouYm9yZGVyQ29sb3IpKSB7XG4gICAgICAgICAgYm9yZGVyQ29sb3IucHVzaChvYmouYm9yZGVyQ29sb3IpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvYmouaG92ZXJCYWNrZ3JvdW5kQ29sb3IgJiYgIWhvdmVyQmFja2dyb3VuZENvbG9yLmluY2x1ZGVzKG9iai5ob3ZlckJhY2tncm91bmRDb2xvcikpIHtcbiAgICAgICAgICBob3ZlckJhY2tncm91bmRDb2xvci5wdXNoKG9iai5ob3ZlckJhY2tncm91bmRDb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9iai5sYWJlbERhdGFzZXQpIGxhYmVsRGF0YXNldCA9IG9iai5sYWJlbERhdGFzZXQ7XG5cbiAgICAgICAgdmFsdWVzLnB1c2gob2JqLmRhdGFzZXRzKTtcbiAgICAgIH0pO1xuXG4gICAgICBkYXRhc2V0cy5wdXNoKFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6IGxhYmVsRGF0YXNldCxcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRDb2xvcixcbiAgICAgICAgICBob3ZlckJhY2tncm91bmRDb2xvcjogaG92ZXJCYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlckNvbG9yPy5sZW5ndGggPT09IDAgPyB1bmRlZmluZWQgOiBib3JkZXJDb2xvcixcbiAgICAgICAgICBkYXRhOiB2YWx1ZXNcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgZGFkb3M6IENoYXJ0Q29uZmlnID0ge1xuICAgICAgbGFiZWxzOiBsYWJlbHMsXG4gICAgICBkYXRhc2V0czogZGF0YXNldHNcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRhZG9zO1xuICB9XG59XG4iXX0=
@@ -1,298 +0,0 @@
1
- import { Component } from "@angular/core";
2
- import { FormGroup } from "@angular/forms";
3
- import { combineLatest, filter, finalize } from "rxjs";
4
- import { BaseComponentCrud } from "./base-component-crud";
5
- import { FormService } from "../services/form.service";
6
- import { loading } from "../../components/kv-loader/kv-loader.service";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "primeng/dynamicdialog";
9
- import * as i2 from "../services/notification.service";
10
- import * as i3 from "@angular/router";
11
- export class BaseComponentCrudForm extends BaseComponentCrud {
12
- constructor(dialogService, notificationService, activatedRoute, dynamicDialogRef, dynamicDialogConfig, router) {
13
- super(dialogService, notificationService);
14
- this.activatedRoute = activatedRoute;
15
- this.dynamicDialogRef = dynamicDialogRef;
16
- this.dynamicDialogConfig = dynamicDialogConfig;
17
- this.router = router;
18
- this.isAccordionExpanded = false;
19
- this.isNewRegistry = false;
20
- this.isSaveLoading = false;
21
- this.isView = false;
22
- this.formGroup = new FormGroup({});
23
- this.actions = [];
24
- this.popup = false;
25
- this.registry = null;
26
- this.onSetFormValues = false;
27
- }
28
- /**
29
- * Método disparado para tratamento das notificações do backend
30
- * @param err - Notificação
31
- */
32
- backendError(err) {
33
- if (err) {
34
- if (err.status == 404) {
35
- this.notificationService.toastError(err.error.item2[0].message);
36
- return;
37
- }
38
- else if (err.status == 400) {
39
- // Erros de validação de domínio do backend
40
- if (Array.isArray(err.error)) {
41
- if (err.error?.length) {
42
- if (err.error.length == 1 && err.error[0].key == '') {
43
- this.notificationService.toastError(err.error[0].message);
44
- return;
45
- }
46
- this.invalidForm(err.error);
47
- return;
48
- }
49
- }
50
- else if (Array.isArray(err.error.item2)) {
51
- if (err.error.item2?.length) {
52
- if (err.error.item2.length == 1) {
53
- this.notificationService.toastError(err.error.item2[0].message);
54
- return;
55
- }
56
- this.invalidForm(err.error.item2);
57
- return;
58
- }
59
- }
60
- else if (err.error?.title) {
61
- // Erro de json no backend
62
- this.notificationService.toastError(err.error.title);
63
- return;
64
- }
65
- }
66
- else if (err.status == 415) {
67
- if (err.error?.title) {
68
- // Erro de json no backend
69
- this.notificationService.toastError(err.error.title);
70
- return;
71
- }
72
- }
73
- // Qualquer outro tipo de erro que tenha mensagem
74
- if (err.message) {
75
- this.notificationService.toastError(err.message);
76
- }
77
- }
78
- }
79
- /**
80
- * Método disparado ao clicar no botão de cancelamento
81
- */
82
- cancel() {
83
- this.notificationService.question({
84
- type: 'question',
85
- message: 'Deseja cancelar a operação?',
86
- accept: () => {
87
- this.navigateList();
88
- },
89
- });
90
- }
91
- /**
92
- * Verifica se houveram alterações nos componentes do formControl
93
- * @param controls - Nomes do controles no formGroup
94
- * @returns Observable
95
- */
96
- detectFormControlChanges(controls) {
97
- const controlList = [];
98
- controls.forEach(controlName => controlList.push(this.formGroup.controls[controlName].valueChanges));
99
- return combineLatest(controlList).pipe(filter(() => !this.onSetFormValues));
100
- }
101
- /**
102
- * Método responsável por desabilitar um componente
103
- * @param controlName - Nome do controle no formGroup
104
- */
105
- disableComponent(controlName) {
106
- FormService.disableControl(this.formGroup, controlName);
107
- }
108
- /**
109
- * Método responsável por limpar e desabilitar um componente
110
- * @param controlName - Nome do controle no formGroup
111
- * @param value - Valor default
112
- */
113
- disableAndClearComponent(controlName, value) {
114
- FormService.disableAndClearControl(this.formGroup, controlName, value);
115
- }
116
- /**
117
- * Método responsável por habilitar um componente
118
- * @param controlName - Nome do controle no formGroup
119
- */
120
- enableComponent(controName) {
121
- FormService.enableControl(this.formGroup, controName);
122
- }
123
- /**
124
- * Método que retorna o valor de um componente
125
- * @param controlName - Nome do controle no formGroup
126
- * @returns - Valor
127
- */
128
- getFormValue(controlName) {
129
- return FormService.getFormValue(this.formGroup, controlName);
130
- }
131
- /**
132
- * Verifica se o componente possui erro
133
- * @param controlName - Nome do controle no formGroup
134
- */
135
- hasControlError(controlName, errorCode) {
136
- return FormService.hasControlError(this.formGroup, controlName, errorCode);
137
- }
138
- /**
139
- * Seta inconsistências para o fomulário
140
- * @param notification - Lista de notificações
141
- */
142
- invalidForm(notification) {
143
- FormService.invalidForm(this.formGroup, notification);
144
- }
145
- /**
146
- * Tratamento de inconsistências do formulário
147
- */
148
- invalidateForm() {
149
- this.isAccordionExpanded = true;
150
- this.invalidForm();
151
- if (this.dadosTela?.mensagemValidacao) {
152
- this.notificationService.dialog({
153
- type: 'alert',
154
- message: 'Verifique os campos obrigatórios.',
155
- });
156
- }
157
- }
158
- /**
159
- * Método responsável pelo carregamento da tela
160
- * @param obs - Observable responsável pelo salvamento dos dados
161
- */
162
- loadData(obs) {
163
- obs
164
- .pipe(loading())
165
- .subscribe((data) => {
166
- this.isNewRegistry = false;
167
- this.registry = data;
168
- this.setFormValues(this.registry);
169
- this.loadGrids();
170
- this.setTitlePopup();
171
- });
172
- }
173
- async loadDataAsync(obs) {
174
- await obs.pipe(loading()).toPromise();
175
- const data = await obs.toPromise();
176
- this.isNewRegistry = false;
177
- this.registry = data;
178
- this.setFormValues(this.registry);
179
- this.loadGrids();
180
- this.setTitlePopup();
181
- }
182
- /**
183
- * Método disparado para carregamento de grids (Disparado após o loadData)
184
- */
185
- loadGrids() { }
186
- /**
187
- * Método disparado para retornar a lista
188
- */
189
- navigateList(id = null) {
190
- if (this.popup) {
191
- this.dynamicDialogRef.close(id);
192
- }
193
- else if (this.dadosTela?.rotaListar) {
194
- this.router.navigate([this.dadosTela.rotaListar]);
195
- }
196
- }
197
- ngOnDestroy() {
198
- if (this.dynamicDialogRef) {
199
- this.dynamicDialogRef.close();
200
- }
201
- }
202
- ngOnInit() {
203
- this.configureForm();
204
- this.popup = this.dynamicDialogConfig?.data?.popup || false;
205
- this.activatedRoute.params.subscribe((params) => {
206
- if (params['id']) {
207
- this.loadForm(params['id']);
208
- }
209
- else if (this.dynamicDialogConfig?.data?.id) {
210
- this.loadForm(this.dynamicDialogConfig.data.id);
211
- }
212
- else {
213
- this.isNewRegistry = true;
214
- this.loadGrids();
215
- this.setTitlePopup();
216
- }
217
- });
218
- }
219
- /**
220
- * Método disparado para salvar dados
221
- * @param obs - Observable responsável pelo salvamento dos dados
222
- */
223
- saveData(obs) {
224
- obs
225
- .pipe((src) => {
226
- this.isSaveLoading = true;
227
- return src.pipe(finalize(() => {
228
- this.isSaveLoading = false;
229
- }));
230
- })
231
- .subscribe({
232
- next: (res) => {
233
- this.notificationService.toastSuccess(res.item2[0].message);
234
- this.navigateList(res.item1);
235
- },
236
- error: (e) => {
237
- this.backendError(e);
238
- },
239
- });
240
- }
241
- /**
242
- * Método se atualiza o valor de um componente do formGroup
243
- * @param controName - Nome do controle
244
- * @param value - Valor para atualização
245
- */
246
- setControlValue(controName, value) {
247
- FormService.setControlValue(this.formGroup, controName, value);
248
- }
249
- /**
250
- * Atualiza valores dos componentes do formGroup
251
- * @param values - Valores para atualização
252
- */
253
- setFormValues(values) {
254
- this.onSetFormValues = true;
255
- this.formGroup.patchValue(values, { emitEvent: false });
256
- this.onSetFormValues = false;
257
- }
258
- /**
259
- * Seta o título do popup
260
- */
261
- setTitlePopup() {
262
- if (this.popup) {
263
- if (this.dynamicDialogConfig)
264
- this.dynamicDialogConfig.header = this.dadosTela?.tituloForm;
265
- }
266
- }
267
- /**
268
- * Atualiza o validador de um componente do formGroup
269
- * @param controName - Nome do controle
270
- * @param validators - Regra de validação
271
- */
272
- setValidators(controName, validators) {
273
- FormService.setValidators(this.formGroup, controName, validators);
274
- }
275
- /**
276
- * Dispara os métodos de validações do formulário
277
- * @returns - True/False
278
- */
279
- validateForm() {
280
- let valid = false;
281
- if (this.formGroup && this.formGroup.valid) {
282
- valid = true;
283
- }
284
- else {
285
- this.invalidateForm();
286
- }
287
- return valid;
288
- }
289
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseComponentCrudForm, deps: [{ token: i1.DialogService }, { token: i2.NotificationService }, { token: i3.ActivatedRoute }, { token: i1.DynamicDialogRef }, { token: i1.DynamicDialogConfig }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
290
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BaseComponentCrudForm, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
291
- }
292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseComponentCrudForm, decorators: [{
293
- type: Component,
294
- args: [{
295
- template: ''
296
- }]
297
- }], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.NotificationService }, { type: i3.ActivatedRoute }, { type: i1.DynamicDialogRef }, { type: i1.DynamicDialogConfig }, { type: i3.Router }]; } });
298
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY3J1ZC1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY3J1ZC1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7QUFZdkUsTUFBTSxPQUFnQixxQkFBc0IsU0FBUSxpQkFBaUI7SUFnQm5FLFlBQ0UsYUFBNEIsRUFDNUIsbUJBQXdDLEVBQzlCLGNBQThCLEVBQzlCLGdCQUFrQyxFQUNsQyxtQkFBd0MsRUFDeEMsTUFBYztRQUN4QixLQUFLLENBRUQsYUFBYSxFQUNiLG1CQUFtQixDQUNwQixDQUFDO1FBUk0sbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBcEJoQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLGNBQVMsR0FBYyxJQUFJLFNBQVMsQ0FBQyxF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O09BR0c7SUFDTyxhQUFhLENBQUMsTUFBVztRQUNqQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSyxhQUFhO1FBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLG1CQUFtQjtnQkFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQztTQUNoRTtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ08sYUFBYSxDQUFDLFVBQWtCLEVBQUUsVUFBOEM7UUFDeEYsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ08sWUFBWTtRQUNwQixJQUFJLEtBQUssR0FBWSxLQUFLLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQzFDLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDZDthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3ZCO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOytHQWpWbUIscUJBQXFCO21HQUFyQixxQkFBcUIsMkVBRi9CLEVBQUU7OzRGQUVRLHFCQUFxQjtrQkFIMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tIFwicHJpbWVuZy9keW5hbWljZGlhbG9nXCI7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIGZpbmFsaXplIH0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHsgQWN0aW9uSXRlbSB9IGZyb20gXCIuLi9jb21wb25lbnRzL3RhYmxlL2FjdGlvbi1pdGVtXCI7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50Q3J1ZCB9IGZyb20gXCIuL2Jhc2UtY29tcG9uZW50LWNydWRcIjtcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2Zvcm0uc2VydmljZVwiO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZVwiO1xuaW1wb3J0IHsgbG9hZGluZyB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2t2LWxvYWRlci9rdi1sb2FkZXIuc2VydmljZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhZG9zVGVsYSB7XG4gIHN1YlRpdHVsb0Zvcm06IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgdGl0dWxvRm9ybTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICByb3RhTGlzdGFyOiBzdHJpbmc7XG4gIG1lbnNhZ2VtVmFsaWRhY2FvOiBib29sZWFuXG59XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudENydWRGb3JtIGV4dGVuZHMgQmFzZUNvbXBvbmVudENydWQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJvdGVjdGVkIGlzQWNjb3JkaW9uRXhwYW5kZWQgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGlzTmV3UmVnaXN0cnkgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGlzU2F2ZUxvYWRpbmcgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGlzVmlldyA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBmb3JtR3JvdXA6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICBwcm90ZWN0ZWQgYWN0aW9uczogQWN0aW9uSXRlbVtdID0gW107XG5cbiAgcHJvdGVjdGVkIGRhZG9zVGVsYTogRGFkb3NUZWxhIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgcG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJvdGVjdGVkIHJlZ2lzdHJ5OiBhbnkgPSBudWxsO1xuXG4gIHByaXZhdGUgb25TZXRGb3JtVmFsdWVzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcbiAgICBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJvdGVjdGVkIGR5bmFtaWNEaWFsb2dSZWY6IER5bmFtaWNEaWFsb2dSZWYsXG4gICAgcHJvdGVjdGVkIGR5bmFtaWNEaWFsb2dDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyKSB7XG4gICAgc3VwZXJcbiAgICAgIChcbiAgICAgICAgZGlhbG9nU2VydmljZSxcbiAgICAgICAgbm90aWZpY2F0aW9uU2VydmljZVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGNvbmZpZ3VyYcOnw6NvIGRvIGZvcm1cbiAgICovXG4gIGFic3RyYWN0IGNvbmZpZ3VyZUZvcm0oKTogdm9pZDtcblxuICAvKipcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSBvIGNhcnJlZ2FtZW50byBkbyBmb3JtXG4gICAqIEBwYXJhbSBpZFxuICAgKi9cbiAgYWJzdHJhY3QgbG9hZEZvcm0oaWQ6IGFueSk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIHBhcmEgc2FsdmFtZW50byBkb3MgZGFkb3NcbiAgICovXG4gIGFic3RyYWN0IHNhdmUoKTogdm9pZDtcblxuICAvKipcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSB0cmF0YW1lbnRvIGRhcyBub3RpZmljYcOnw7VlcyBkbyBiYWNrZW5kXG4gICAqIEBwYXJhbSBlcnIgLSBOb3RpZmljYcOnw6NvXG4gICAqL1xuICBwcm90ZWN0ZWQgYmFja2VuZEVycm9yKGVycjogYW55KTogdm9pZCB7XG4gICAgaWYgKGVycikge1xuICAgICAgaWYgKGVyci5zdGF0dXMgPT0gNDA0KSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS50b2FzdEVycm9yKGVyci5lcnJvci5pdGVtMlswXS5tZXNzYWdlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoZXJyLnN0YXR1cyA9PSA0MDApIHtcbiAgICAgICAgLy8gRXJyb3MgZGUgdmFsaWRhw6fDo28gZGUgZG9tw61uaW8gZG8gYmFja2VuZFxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlcnIuZXJyb3IpKSB7XG4gICAgICAgICAgaWYgKGVyci5lcnJvcj8ubGVuZ3RoKSB7XG5cbiAgICAgICAgICAgIGlmIChlcnIuZXJyb3IubGVuZ3RoID09IDEgJiYgZXJyLmVycm9yWzBdLmtleSA9PSAnJykge1xuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIuZXJyb3JbMF0ubWVzc2FnZSk7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5pbnZhbGlkRm9ybShlcnIuZXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KGVyci5lcnJvci5pdGVtMikpIHtcbiAgICAgICAgICBpZiAoZXJyLmVycm9yLml0ZW0yPy5sZW5ndGgpIHtcblxuICAgICAgICAgICAgaWYgKGVyci5lcnJvci5pdGVtMi5sZW5ndGggPT0gMSkge1xuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIuZXJyb3IuaXRlbTJbMF0ubWVzc2FnZSk7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5pbnZhbGlkRm9ybShlcnIuZXJyb3IuaXRlbTIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChlcnIuZXJyb3I/LnRpdGxlKSB7XG4gICAgICAgICAgLy8gRXJybyBkZSBqc29uIG5vIGJhY2tlbmRcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIuZXJyb3IudGl0bGUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZWxzZSBpZiAoZXJyLnN0YXR1cyA9PSA0MTUpIHtcbiAgICAgICAgaWYgKGVyci5lcnJvcj8udGl0bGUpIHtcbiAgICAgICAgICAvLyBFcnJvIGRlIGpzb24gbm8gYmFja2VuZFxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS50b2FzdEVycm9yKGVyci5lcnJvci50aXRsZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFF1YWxxdWVyIG91dHJvIHRpcG8gZGUgZXJybyBxdWUgdGVuaGEgbWVuc2FnZW1cbiAgICAgIGlmIChlcnIubWVzc2FnZSkge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIubWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIGFvIGNsaWNhciBubyBib3TDo28gZGUgY2FuY2VsYW1lbnRvXG4gICAqL1xuICBwcm90ZWN0ZWQgY2FuY2VsKCkge1xuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5xdWVzdGlvbih7XG4gICAgICB0eXBlOiAncXVlc3Rpb24nLFxuICAgICAgbWVzc2FnZTogJ0Rlc2VqYSBjYW5jZWxhciBhIG9wZXJhw6fDo28/JyxcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xuICAgICAgICB0aGlzLm5hdmlnYXRlTGlzdCgpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpZmljYSBzZSBob3V2ZXJhbSBhbHRlcmHDp8O1ZXMgbm9zIGNvbXBvbmVudGVzIGRvIGZvcm1Db250cm9sXG4gICAqIEBwYXJhbSBjb250cm9scyAtIE5vbWVzIGRvIGNvbnRyb2xlcyBubyBmb3JtR3JvdXBcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZVxuICAgKi9cbiAgcHJvdGVjdGVkIGRldGVjdEZvcm1Db250cm9sQ2hhbmdlcyhjb250cm9sczogQXJyYXk8c3RyaW5nPik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgY29udHJvbExpc3Q6IE9ic2VydmFibGU8YW55PltdID0gW107XG4gICAgY29udHJvbHMuZm9yRWFjaChjb250cm9sTmFtZSA9PiBjb250cm9sTGlzdC5wdXNoKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzW2NvbnRyb2xOYW1lXS52YWx1ZUNoYW5nZXMpKTtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChjb250cm9sTGlzdCkucGlwZShmaWx0ZXIoKCkgPT4gIXRoaXMub25TZXRGb3JtVmFsdWVzKSk7XG4gIH1cblxuICAvKipcbiAgICogTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yIGRlc2FiaWxpdGFyIHVtIGNvbXBvbmVudGVcbiAgICogQHBhcmFtIGNvbnRyb2xOYW1lIC0gTm9tZSBkbyBjb250cm9sZSBubyBmb3JtR3JvdXBcbiAgICovXG4gIHByb3RlY3RlZCBkaXNhYmxlQ29tcG9uZW50KGNvbnRyb2xOYW1lOiBzdHJpbmcpIHtcbiAgICBGb3JtU2VydmljZS5kaXNhYmxlQ29udHJvbCh0aGlzLmZvcm1Hcm91cCwgY29udHJvbE5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcmVzcG9uc8OhdmVsIHBvciBsaW1wYXIgZSBkZXNhYmlsaXRhciB1bSBjb21wb25lbnRlXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSAtIE5vbWUgZG8gY29udHJvbGUgbm8gZm9ybUdyb3VwXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFZhbG9yIGRlZmF1bHRcbiAgICovXG4gIHByb3RlY3RlZCBkaXNhYmxlQW5kQ2xlYXJDb21wb25lbnQoY29udHJvbE5hbWU6IHN0cmluZywgdmFsdWU/OiBhbnkpIHtcbiAgICBGb3JtU2VydmljZS5kaXNhYmxlQW5kQ2xlYXJDb250cm9sKHRoaXMuZm9ybUdyb3VwLCBjb250cm9sTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcmVzcG9uc8OhdmVsIHBvciBoYWJpbGl0YXIgdW0gY29tcG9uZW50ZVxuICAgKiBAcGFyYW0gY29udHJvbE5hbWUgLSBOb21lIGRvIGNvbnRyb2xlIG5vIGZvcm1Hcm91cFxuICAgKi9cbiAgcHJvdGVjdGVkIGVuYWJsZUNvbXBvbmVudChjb250cm9OYW1lOiBzdHJpbmcpIHtcbiAgICBGb3JtU2VydmljZS5lbmFibGVDb250cm9sKHRoaXMuZm9ybUdyb3VwLCBjb250cm9OYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIHF1ZSByZXRvcm5hIG8gdmFsb3IgZGUgdW0gY29tcG9uZW50ZVxuICAgKiBAcGFyYW0gY29udHJvbE5hbWUgLSBOb21lIGRvIGNvbnRyb2xlIG5vIGZvcm1Hcm91cFxuICAgKiBAcmV0dXJucyAtIFZhbG9yXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0Rm9ybVZhbHVlPFQ+KGNvbnRyb2xOYW1lOiBzdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gRm9ybVNlcnZpY2UuZ2V0Rm9ybVZhbHVlPFQ+KHRoaXMuZm9ybUdyb3VwLCBjb250cm9sTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogVmVyaWZpY2Egc2UgbyBjb21wb25lbnRlIHBvc3N1aSBlcnJvXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSAtIE5vbWUgZG8gY29udHJvbGUgbm8gZm9ybUdyb3VwXG4gICAqL1xuICBwcm90ZWN0ZWQgaGFzQ29udHJvbEVycm9yKGNvbnRyb2xOYW1lOiBzdHJpbmcsIGVycm9yQ29kZT86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBGb3JtU2VydmljZS5oYXNDb250cm9sRXJyb3IodGhpcy5mb3JtR3JvdXAsIGNvbnRyb2xOYW1lLCBlcnJvckNvZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldGEgaW5jb25zaXN0w6puY2lhcyBwYXJhIG8gZm9tdWzDoXJpb1xuICAgKiBAcGFyYW0gbm90aWZpY2F0aW9uIC0gTGlzdGEgZGUgbm90aWZpY2HDp8O1ZXNcbiAgICovXG4gIHByb3RlY3RlZCBpbnZhbGlkRm9ybShub3RpZmljYXRpb24/OiBhbnkpIHtcbiAgICBGb3JtU2VydmljZS5pbnZhbGlkRm9ybSh0aGlzLmZvcm1Hcm91cCwgbm90aWZpY2F0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmF0YW1lbnRvIGRlIGluY29uc2lzdMOqbmNpYXMgZG8gZm9ybXVsw6FyaW9cbiAgICovXG4gIHByb3RlY3RlZCBpbnZhbGlkYXRlRm9ybSgpIHtcbiAgICB0aGlzLmlzQWNjb3JkaW9uRXhwYW5kZWQgPSB0cnVlO1xuICAgIHRoaXMuaW52YWxpZEZvcm0oKTtcblxuICAgIGlmICh0aGlzLmRhZG9zVGVsYT8ubWVuc2FnZW1WYWxpZGFjYW8pIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5kaWFsb2coe1xuICAgICAgICB0eXBlOiAnYWxlcnQnLFxuICAgICAgICBtZXNzYWdlOiAnVmVyaWZpcXVlIG9zIGNhbXBvcyBvYnJpZ2F0w7NyaW9zLicsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTcOpdG9kbyByZXNwb25zw6F2ZWwgcGVsbyBjYXJyZWdhbWVudG8gZGEgdGVsYVxuICAgKiBAcGFyYW0gb2JzIC0gT2JzZXJ2YWJsZSByZXNwb25zw6F2ZWwgcGVsbyBzYWx2YW1lbnRvIGRvcyBkYWRvc1xuICAgKi9cbiAgcHVibGljIGxvYWREYXRhPFQ+KG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgb2JzXG4gICAgICAucGlwZShsb2FkaW5nKCkpXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5pc05ld1JlZ2lzdHJ5ID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVnaXN0cnkgPSBkYXRhIGFzIFQ7XG4gICAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlcyh0aGlzLnJlZ2lzdHJ5KTtcbiAgICAgICAgdGhpcy5sb2FkR3JpZHMoKTtcbiAgICAgICAgdGhpcy5zZXRUaXRsZVBvcHVwKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGxvYWREYXRhQXN5bmM8VD4ob2JzOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBhd2FpdCBvYnMucGlwZShsb2FkaW5nKCkpLnRvUHJvbWlzZSgpO1xuICAgIGNvbnN0IGRhdGE6IGFueSA9IGF3YWl0IG9icy50b1Byb21pc2UoKTtcblxuICAgIHRoaXMuaXNOZXdSZWdpc3RyeSA9IGZhbHNlO1xuICAgIHRoaXMucmVnaXN0cnkgPSBkYXRhIGFzIFQ7XG4gICAgdGhpcy5zZXRGb3JtVmFsdWVzKHRoaXMucmVnaXN0cnkpO1xuICAgIHRoaXMubG9hZEdyaWRzKCk7XG4gICAgdGhpcy5zZXRUaXRsZVBvcHVwKCk7XG4gIH1cblxuICAvKipcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSBjYXJyZWdhbWVudG8gZGUgZ3JpZHMgKERpc3BhcmFkbyBhcMOzcyBvIGxvYWREYXRhKVxuICAgKi9cbiAgcHVibGljIGxvYWRHcmlkcygpIHsgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIHJldG9ybmFyIGEgbGlzdGFcbiAgICovXG4gIHByb3RlY3RlZCBuYXZpZ2F0ZUxpc3QoaWQ6IGFueSA9IG51bGwpIHtcbiAgICBpZiAodGhpcy5wb3B1cCkge1xuICAgICAgdGhpcy5keW5hbWljRGlhbG9nUmVmLmNsb3NlKGlkKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGhpcy5kYWRvc1RlbGE/LnJvdGFMaXN0YXIpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmRhZG9zVGVsYS5yb3RhTGlzdGFyXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmR5bmFtaWNEaWFsb2dSZWYpIHtcbiAgICAgIHRoaXMuZHluYW1pY0RpYWxvZ1JlZi5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbmZpZ3VyZUZvcm0oKTtcblxuICAgIHRoaXMucG9wdXAgPSB0aGlzLmR5bmFtaWNEaWFsb2dDb25maWc/LmRhdGE/LnBvcHVwIHx8IGZhbHNlO1xuXG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKChwYXJhbXM6IGFueSkgPT4ge1xuICAgICAgaWYgKHBhcmFtc1snaWQnXSkge1xuICAgICAgICB0aGlzLmxvYWRGb3JtKHBhcmFtc1snaWQnXSk7XG4gICAgICB9XG4gICAgICBlbHNlIGlmICh0aGlzLmR5bmFtaWNEaWFsb2dDb25maWc/LmRhdGE/LmlkKSB7XG4gICAgICAgIHRoaXMubG9hZEZvcm0odGhpcy5keW5hbWljRGlhbG9nQ29uZmlnLmRhdGEuaWQpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuaXNOZXdSZWdpc3RyeSA9IHRydWU7XG4gICAgICAgIHRoaXMubG9hZEdyaWRzKCk7XG4gICAgICAgIHRoaXMuc2V0VGl0bGVQb3B1cCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIHBhcmEgc2FsdmFyIGRhZG9zXG4gICAqIEBwYXJhbSBvYnMgLSBPYnNlcnZhYmxlIHJlc3BvbnPDoXZlbCBwZWxvIHNhbHZhbWVudG8gZG9zIGRhZG9zXG4gICAqL1xuICBwcm90ZWN0ZWQgc2F2ZURhdGEob2JzOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBvYnNcbiAgICAgIC5waXBlKChzcmM6IE9ic2VydmFibGU8YW55PikgPT4ge1xuICAgICAgICB0aGlzLmlzU2F2ZUxvYWRpbmcgPSB0cnVlO1xuICAgICAgICByZXR1cm4gc3JjLnBpcGUoZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNTYXZlTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9KSk7XG4gICAgICB9KVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS50b2FzdFN1Y2Nlc3MocmVzLml0ZW0yWzBdLm1lc3NhZ2UpO1xuICAgICAgICAgIHRoaXMubmF2aWdhdGVMaXN0KHJlcy5pdGVtMSk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICAgIHRoaXMuYmFja2VuZEVycm9yKGUpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTcOpdG9kbyBzZSBhdHVhbGl6YSBvIHZhbG9yIGRlIHVtIGNvbXBvbmVudGUgZG8gZm9ybUdyb3VwXG4gICAqIEBwYXJhbSBjb250cm9OYW1lIC0gTm9tZSBkbyBjb250cm9sZVxuICAgKiBAcGFyYW0gdmFsdWUgLSBWYWxvciBwYXJhIGF0dWFsaXphw6fDo29cbiAgICovXG4gIHByb3RlY3RlZCBzZXRDb250cm9sVmFsdWUoY29udHJvTmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgRm9ybVNlcnZpY2Uuc2V0Q29udHJvbFZhbHVlKHRoaXMuZm9ybUdyb3VwLCBjb250cm9OYW1lLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQXR1YWxpemEgdmFsb3JlcyBkb3MgY29tcG9uZW50ZXMgZG8gZm9ybUdyb3VwXG4gICAqIEBwYXJhbSB2YWx1ZXMgLSBWYWxvcmVzIHBhcmEgYXR1YWxpemHDp8Ojb1xuICAgKi9cbiAgcHJvdGVjdGVkIHNldEZvcm1WYWx1ZXModmFsdWVzOiBhbnkpIHtcbiAgICB0aGlzLm9uU2V0Rm9ybVZhbHVlcyA9IHRydWU7XG4gICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh2YWx1ZXMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLm9uU2V0Rm9ybVZhbHVlcyA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldGEgbyB0w610dWxvIGRvIHBvcHVwXG4gICAqL1xuICBwcml2YXRlIHNldFRpdGxlUG9wdXAoKSB7XG4gICAgaWYgKHRoaXMucG9wdXApIHtcbiAgICAgIGlmICh0aGlzLmR5bmFtaWNEaWFsb2dDb25maWcpXG4gICAgICAgIHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZy5oZWFkZXIgPSB0aGlzLmRhZG9zVGVsYT8udGl0dWxvRm9ybTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQXR1YWxpemEgbyB2YWxpZGFkb3IgZGUgdW0gY29tcG9uZW50ZSBkbyBmb3JtR3JvdXBcbiAgICogQHBhcmFtIGNvbnRyb05hbWUgLSBOb21lIGRvIGNvbnRyb2xlXG4gICAqIEBwYXJhbSB2YWxpZGF0b3JzIC0gUmVncmEgZGUgdmFsaWRhw6fDo29cbiAgICovXG4gIHByb3RlY3RlZCBzZXRWYWxpZGF0b3JzKGNvbnRyb05hbWU6IHN0cmluZywgdmFsaWRhdG9yczogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgbnVsbCkge1xuICAgIEZvcm1TZXJ2aWNlLnNldFZhbGlkYXRvcnModGhpcy5mb3JtR3JvdXAsIGNvbnRyb05hbWUsIHZhbGlkYXRvcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BhcmEgb3MgbcOpdG9kb3MgZGUgdmFsaWRhw6fDtWVzIGRvIGZvcm11bMOhcmlvXG4gICAqIEByZXR1cm5zIC0gVHJ1ZS9GYWxzZVxuICAgKi9cbiAgcHJvdGVjdGVkIHZhbGlkYXRlRm9ybSgpOiBib29sZWFuIHtcbiAgICBsZXQgdmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGlmICh0aGlzLmZvcm1Hcm91cCAmJiB0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xuICAgICAgdmFsaWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmludmFsaWRhdGVGb3JtKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbGlkO1xuICB9XG59XG4iXX0=
@@ -1,78 +0,0 @@
1
- import { Component } from "@angular/core";
2
- import { BaseComponentCrud } from "./base-component-crud";
3
- import { TablePaginate } from "../components/table/table.paginate";
4
- import { loading } from "../../components/kv-loader/kv-loader.service";
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "primeng/dynamicdialog";
7
- import * as i2 from "../services/notification.service";
8
- import * as i3 from "@angular/router";
9
- export class BaseComponentCrudList extends BaseComponentCrud {
10
- constructor(dialogService, notificationService, router) {
11
- super(dialogService, notificationService);
12
- this.router = router;
13
- this.totalRecords = 0;
14
- this.actionsPageList = [];
15
- }
16
- ngOnInit() {
17
- this.loadFilters();
18
- this.configureTable();
19
- // Tabela não configurada para paginação
20
- if (!this.tableConfig?.lazy)
21
- this.loadTable(new TablePaginate());
22
- }
23
- /**
24
- * Método que seta o registro selecionado na tabela
25
- * @param event - Registro
26
- */
27
- activeItem(event) {
28
- this.selectedItem = event;
29
- }
30
- /**
31
- * Método que dispara o carregamento da tabela
32
- * @param obs - Observable de carregamento dos dados
33
- */
34
- loadData(obs) {
35
- obs
36
- .pipe(loading())
37
- .subscribe({
38
- next: (res) => {
39
- if (res) {
40
- if (Array.isArray(res)) {
41
- //Tratamento para retorno do tipo listar ([])
42
- this.totalRecords = res.length;
43
- this.dataSource = res;
44
- }
45
- else {
46
- //Tratamento para retorno do tipo listarPaginado (<int,[]>)
47
- this.totalRecords = res.item1;
48
- this.dataSource = res.item2;
49
- }
50
- }
51
- },
52
- error: (e) => {
53
- this.toastError(e);
54
- },
55
- });
56
- }
57
- /**
58
- * Método que dispara a paginação
59
- */
60
- paginate(event) {
61
- this.loadTable(event);
62
- }
63
- /**
64
- * Método que dispara a atualização da página inteira
65
- */
66
- refresh() {
67
- this.loadTable(new TablePaginate());
68
- }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseComponentCrudList, deps: [{ token: i1.DialogService }, { token: i2.NotificationService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BaseComponentCrudList, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseComponentCrudList, decorators: [{
73
- type: Component,
74
- args: [{
75
- template: ''
76
- }]
77
- }], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.NotificationService }, { type: i3.Router }]; } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY3J1ZC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY3J1ZC1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBS25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7QUFLdkUsTUFBTSxPQUFnQixxQkFBc0IsU0FBUSxpQkFBaUI7SUFRbkUsWUFDRSxhQUE0QixFQUM1QixtQkFBd0MsRUFDakMsTUFBYztRQUNyQixLQUFLLENBRUQsYUFBYSxFQUNiLG1CQUFtQixDQUNwQixDQUFDO1FBTEcsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQU52QixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixvQkFBZSxHQUFpQixFQUFFLENBQUM7SUFXbkMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRCLHdDQUF3QztRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUE4QkQ7OztPQUdHO0lBQ08sVUFBVSxDQUFDLEtBQVU7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFFBQVEsQ0FBQyxHQUFvQjtRQUNyQyxHQUFHO2FBQ0EsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ2YsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxFQUFFO29CQUNQLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTt3QkFDdEIsNkNBQTZDO3dCQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7d0JBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFBO3FCQUN0Qjt5QkFDSTt3QkFDSCwyREFBMkQ7d0JBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQzt3QkFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFBO3FCQUM1QjtpQkFDRjtZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxRQUFRLENBQUMsS0FBVTtRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNPLE9BQU87UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDOytHQXhHbUIscUJBQXFCO21HQUFyQixxQkFBcUIsMkVBRi9CLEVBQUU7OzRGQUVRLHFCQUFxQjtrQkFIMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9keW5hbWljZGlhbG9nXCI7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnRDcnVkIH0gZnJvbSBcIi4vYmFzZS1jb21wb25lbnQtY3J1ZFwiO1xuaW1wb3J0IHsgVGFibGVQYWdpbmF0ZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLnBhZ2luYXRlXCI7XG5pbXBvcnQgeyBUYWJsZUNvbmZpZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbmZpZ1wiO1xuaW1wb3J0IHsgQWN0aW9uSXRlbSB9IGZyb20gXCIuLi9jb21wb25lbnRzL3RhYmxlL2FjdGlvbi1pdGVtXCI7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGxvYWRpbmcgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9rdi1sb2FkZXIva3YtbG9hZGVyLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ29tcG9uZW50Q3J1ZExpc3QgZXh0ZW5kcyBCYXNlQ29tcG9uZW50Q3J1ZCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZGF0YVNvdXJjZTogYW55O1xuICBzZWxlY3RlZEl0ZW06IGFueTtcbiAgdGFibGVDb25maWchOiBUYWJsZUNvbmZpZztcbiAgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xuICBhY3Rpb25zUGFnZUxpc3Q6IEFjdGlvbkl0ZW1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICBzdXBlclxuICAgICAgKFxuICAgICAgICBkaWFsb2dTZXJ2aWNlLFxuICAgICAgICBub3RpZmljYXRpb25TZXJ2aWNlXG4gICAgICApO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkRmlsdGVycygpO1xuICAgIHRoaXMuY29uZmlndXJlVGFibGUoKTtcblxuICAgIC8vIFRhYmVsYSBuw6NvIGNvbmZpZ3VyYWRhIHBhcmEgcGFnaW5hw6fDo29cbiAgICBpZiAoIXRoaXMudGFibGVDb25maWc/LmxhenkpXG4gICAgICB0aGlzLmxvYWRUYWJsZShuZXcgVGFibGVQYWdpbmF0ZSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGNvbmZpZ3VyYcOnw6NvIGRhcyB0YWJlbGFzIGRvIGNvbXBvbmVudGUgZGUgbGlzdGFcbiAgICovXG4gIGFic3RyYWN0IGNvbmZpZ3VyZVRhYmxlKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIHBhcmEgZWRpw6fDo28gZGUgcmVnaXN0cm9zXG4gICAqIEBwYXJhbSByZWdpc3RyeSAtIFJlZ2lzdHJvIHF1ZSBlc3TDoSBzZW5kbyBlZGl0YWRvXG4gICAqXG4gICAqL1xuICBhYnN0cmFjdCBlZGl0KHJlZ2lzdHJ5OiBhbnkpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGNhcnJlZ2FtZW50byBkb3MgZmlsdHJvcyBkYSB0ZWxhXG4gICAqL1xuICBhYnN0cmFjdCBsb2FkRmlsdGVycygpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGNhcnJlZ2FyIGEgdGFiZWxhIGRvIGNvbXBvbmVudGUgZGUgbGlzdGFcbiAgICogQHBhcmFtIHRhYmxlUGFnaW5hdGUgLSBDbGFzc2UgZG9zIGRhZG9zIGRhIHBhZ2luYcOnw6NvIGRhIHRhYmVsYVxuICAgKi9cbiAgYWJzdHJhY3QgbG9hZFRhYmxlKHRhYmxlUGFnaW5hdGU6IFRhYmxlUGFnaW5hdGUpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBhbyBjbGljYXIgbm8gYm90w6NvIGRlIG5vdm8gcmVnaXN0cm9cbiAgICovXG4gIGFic3RyYWN0IG5ld1JlZ2lzdHJ5KCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcXVlIHNldGEgbyByZWdpc3RybyBzZWxlY2lvbmFkbyBuYSB0YWJlbGFcbiAgICogQHBhcmFtIGV2ZW50IC0gUmVnaXN0cm9cbiAgICovXG4gIHByb3RlY3RlZCBhY3RpdmVJdGVtKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGV2ZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIE3DqXRvZG8gcXVlIGRpc3BhcmEgbyBjYXJyZWdhbWVudG8gZGEgdGFiZWxhXG4gICAqIEBwYXJhbSBvYnMgLSBPYnNlcnZhYmxlIGRlIGNhcnJlZ2FtZW50byBkb3MgZGFkb3NcbiAgICovXG4gIHByb3RlY3RlZCBsb2FkRGF0YShvYnM6IE9ic2VydmFibGU8YW55Pikge1xuICAgIG9ic1xuICAgICAgLnBpcGUobG9hZGluZygpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcykpIHtcbiAgICAgICAgICAgICAgLy9UcmF0YW1lbnRvIHBhcmEgcmV0b3JubyBkbyB0aXBvIGxpc3RhciAoW10pXG4gICAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gcmVzLmxlbmd0aDtcbiAgICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlID0gcmVzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgLy9UcmF0YW1lbnRvIHBhcmEgcmV0b3JubyBkbyB0aXBvIGxpc3RhclBhZ2luYWRvICg8aW50LFtdPilcbiAgICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSByZXMuaXRlbTE7XG4gICAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IHJlcy5pdGVtMlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdEVycm9yKGUpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTcOpdG9kbyBxdWUgZGlzcGFyYSBhIHBhZ2luYcOnw6NvXG4gICAqL1xuICBwcm90ZWN0ZWQgcGFnaW5hdGUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMubG9hZFRhYmxlKGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNw6l0b2RvIHF1ZSBkaXNwYXJhIGEgYXR1YWxpemHDp8OjbyBkYSBww6FnaW5hIGludGVpcmFcbiAgICovXG4gIHByb3RlY3RlZCByZWZyZXNoKCkge1xuICAgIHRoaXMubG9hZFRhYmxlKG5ldyBUYWJsZVBhZ2luYXRlKCkpO1xuICB9XG59XG4iXX0=