keevo-components 2.0.107 → 2.0.108

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 (755) hide show
  1. package/esm2022/keevo-components.mjs +5 -0
  2. package/esm2022/lib/api/base-components/base-component-button.mjs +39 -0
  3. package/esm2022/lib/api/base-components/base-component-chart.mjs +104 -0
  4. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +308 -0
  5. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +91 -0
  6. package/esm2022/lib/api/base-components/base-component-crud.mjs +80 -0
  7. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +31 -0
  8. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +238 -0
  9. package/esm2022/lib/api/base-components/base-component-input.mjs +101 -0
  10. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +174 -0
  11. package/esm2022/lib/api/base-components/base-component-table.mjs +354 -0
  12. package/esm2022/lib/api/base-components/base-component.mjs +51 -0
  13. package/esm2022/lib/api/components/chart/chart.config.mjs +2 -0
  14. package/esm2022/lib/api/components/chart/chart.model.mjs +2 -0
  15. package/esm2022/lib/api/components/chart/orchart.config.mjs +2 -0
  16. package/esm2022/lib/api/components/chart/orchartnode.mjs +2 -0
  17. package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +2 -0
  18. package/esm2022/lib/api/components/step/step.model.mjs +2 -0
  19. package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +2 -0
  20. package/esm2022/lib/api/components/table/action-item.mjs +2 -0
  21. package/esm2022/lib/api/components/table/kv-menuitem.mjs +46 -0
  22. package/esm2022/lib/api/components/table/table-dropdown-control.mjs +2 -0
  23. package/esm2022/lib/api/components/table/table.config.column.mjs +2 -0
  24. package/esm2022/lib/api/components/table/table.config.mjs +2 -0
  25. package/esm2022/lib/api/components/table/table.paginate.mjs +10 -0
  26. package/esm2022/lib/api/components/table/tabledit.config.mjs +2 -0
  27. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +2 -0
  28. package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +2 -0
  29. package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +3 -0
  30. package/esm2022/lib/api/directives/directives.module.mjs +30 -0
  31. package/esm2022/lib/api/directives/drag/drag.directive.mjs +52 -0
  32. package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +31 -0
  33. package/esm2022/lib/api/directives/template/template.directive.mjs +24 -0
  34. package/esm2022/lib/api/helpers/component-providers.mjs +16 -0
  35. package/esm2022/lib/api/helpers/keevo-validators.mjs +144 -0
  36. package/esm2022/lib/api/helpers/severity-color.mjs +73 -0
  37. package/esm2022/lib/api/helpers/translate-primeng.mjs +23 -0
  38. package/esm2022/lib/api/modules/primeng.module.mjs +283 -0
  39. package/esm2022/lib/api/pipes/capitalize.pipe.mjs +47 -0
  40. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +25 -0
  41. package/esm2022/lib/api/pipes/mask.pipe.mjs +29 -0
  42. package/esm2022/lib/api/pipes/pipes.module.mjs +39 -0
  43. package/esm2022/lib/api/pipes/telefone.pipe.mjs +45 -0
  44. package/esm2022/lib/api/services/base.api.service.mjs +74 -0
  45. package/esm2022/lib/api/services/breadcrumbs.service.mjs +62 -0
  46. package/esm2022/lib/api/services/chat.service.mjs +37 -0
  47. package/esm2022/lib/api/services/component.service.mjs +37 -0
  48. package/esm2022/lib/api/services/docs.service.mjs +129 -0
  49. package/esm2022/lib/api/services/form.service.mjs +95 -0
  50. package/esm2022/lib/api/services/image.cutter.service.mjs +193 -0
  51. package/esm2022/lib/api/services/imagens.service.mjs +28 -0
  52. package/esm2022/lib/api/services/notification.service.mjs +69 -0
  53. package/esm2022/lib/api/services/object.service.mjs +39 -0
  54. package/esm2022/lib/api/services/orgchart.service.mjs +64 -0
  55. package/esm2022/lib/api/services/pdf.service.mjs +48 -0
  56. package/esm2022/lib/api/types/breadcrumb.model.mjs +2 -0
  57. package/esm2022/lib/api/types/severity.mjs +2 -0
  58. package/esm2022/lib/components/keevo-components.module.mjs +232 -0
  59. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +142 -0
  60. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +55 -0
  61. package/esm2022/lib/components/kv-button/kv-button.component.mjs +51 -0
  62. package/esm2022/lib/components/kv-button/kv-button.module.mjs +28 -0
  63. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +25 -0
  64. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +39 -0
  65. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +17 -0
  66. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +17 -0
  67. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +39 -0
  68. package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +60 -0
  69. package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +31 -0
  70. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +34 -0
  71. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +28 -0
  72. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +166 -0
  73. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +32 -0
  74. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.mjs +32 -0
  75. package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.mjs +22 -0
  76. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +185 -0
  77. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +44 -0
  78. package/esm2022/lib/components/kv-error/kv-error.component.mjs +26 -0
  79. package/esm2022/lib/components/kv-error/kv-error.module.mjs +35 -0
  80. package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +191 -0
  81. package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +23 -0
  82. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +46 -0
  83. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +20 -0
  84. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +68 -0
  85. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +24 -0
  86. package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +29 -0
  87. package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +34 -0
  88. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.component.mjs +103 -0
  89. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.module.mjs +31 -0
  90. package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.pipe.mjs +30 -0
  91. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +26 -0
  92. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +28 -0
  93. package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +11 -0
  94. package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +19 -0
  95. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +27 -0
  96. package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +32 -0
  97. package/esm2022/lib/components/kv-icon/kv-icon.component.mjs +30 -0
  98. package/esm2022/lib/components/kv-icon/kv-icon.model.mjs +2 -0
  99. package/esm2022/lib/components/kv-icon/kv-icon.module.mjs +24 -0
  100. package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +136 -0
  101. package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +18 -0
  102. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +29 -0
  103. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +102 -0
  104. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.mjs +18 -0
  105. package/esm2022/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.mjs +40 -0
  106. package/esm2022/lib/components/kv-inputs/kv-editor/config/kv-editor.config.mjs +110 -0
  107. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +271 -0
  108. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.mjs +7 -0
  109. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.mjs +135 -0
  110. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.mjs +168 -0
  111. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.mjs +78 -0
  112. package/esm2022/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.mjs +95 -0
  113. package/esm2022/lib/components/kv-inputs/kv-editor/types/kv-editor.types.mjs +2 -0
  114. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +168 -0
  115. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +30 -0
  116. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +59 -0
  117. package/esm2022/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.mjs +66 -0
  118. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +33 -0
  119. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +38 -0
  120. package/esm2022/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.mjs +42 -0
  121. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +50 -0
  122. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +43 -0
  123. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +24 -0
  124. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +165 -0
  125. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +60 -0
  126. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +60 -0
  127. package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +46 -0
  128. package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +37 -0
  129. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +42 -0
  130. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +58 -0
  131. package/esm2022/lib/components/kv-label/kv-label.component.mjs +15 -0
  132. package/esm2022/lib/components/kv-label/kv-label.module.mjs +24 -0
  133. package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +28 -0
  134. package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +72 -0
  135. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +433 -0
  136. package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +15 -0
  137. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +16 -0
  138. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +28 -0
  139. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +29 -0
  140. package/esm2022/lib/components/kv-login/kv-login.component.mjs +62 -0
  141. package/esm2022/lib/components/kv-login/kv-login.module.mjs +47 -0
  142. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +98 -0
  143. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +20 -0
  144. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +225 -0
  145. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +59 -0
  146. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +190 -0
  147. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +41 -0
  148. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +205 -0
  149. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +51 -0
  150. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +386 -0
  151. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +39 -0
  152. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +58 -0
  153. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +28 -0
  154. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.mjs +62 -0
  155. package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.mjs +28 -0
  156. package/esm2022/lib/components/kv-report/kv-report.component.mjs +44 -0
  157. package/esm2022/lib/components/kv-report/kv-report.module.mjs +24 -0
  158. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +74 -0
  159. package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +47 -0
  160. package/esm2022/lib/components/kv-steps/kv-steps.component.mjs +105 -0
  161. package/esm2022/lib/components/kv-table/kv-table.component.mjs +673 -0
  162. package/esm2022/lib/components/kv-table/kv-table.module.mjs +40 -0
  163. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +341 -0
  164. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +45 -0
  165. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +516 -0
  166. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +40 -0
  167. package/esm2022/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.mjs +17 -0
  168. package/esm2022/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.mjs +18 -0
  169. package/esm2022/lib/components/kv-table-viewer/kv-table-viewer.component.mjs +184 -0
  170. package/esm2022/lib/components/kv-tag/kv-tag.component.mjs +18 -0
  171. package/esm2022/lib/components/kv-tag/kv-tag.module.mjs +24 -0
  172. package/esm2022/lib/components/kv-tags/kv-tags.component.mjs +35 -0
  173. package/esm2022/lib/components/kv-tags/kv-tags.module.mjs +27 -0
  174. package/esm2022/lib/components/kv-timeline/kv-timeline.component.mjs +71 -0
  175. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +331 -0
  176. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +39 -0
  177. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +70 -0
  178. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +28 -0
  179. package/esm2022/lib/components/kv-widget-card/kv-widget-card.component.mjs +103 -0
  180. package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +40 -0
  181. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +68 -0
  182. package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +22 -0
  183. package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +78 -0
  184. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +87 -0
  185. package/esm2022/public-api.mjs +303 -0
  186. package/fesm2022/keevo-components.mjs +12124 -0
  187. package/fesm2022/keevo-components.mjs.map +1 -0
  188. package/index.d.ts +5 -0
  189. package/lib/api/base-components/base-component-button.d.ts +15 -0
  190. package/lib/api/base-components/base-component-chart.d.ts +40 -0
  191. package/lib/api/base-components/base-component-crud-form.d.ts +149 -0
  192. package/lib/api/base-components/base-component-crud-list.d.ts +70 -0
  193. package/lib/api/base-components/base-component-crud.d.ts +36 -0
  194. package/lib/api/base-components/base-component-dropdown-external.d.ts +15 -0
  195. package/lib/api/base-components/base-component-dropdown.d.ts +57 -0
  196. package/lib/api/base-components/base-component-input.d.ts +33 -0
  197. package/lib/api/base-components/base-component-multi-select.d.ts +40 -0
  198. package/lib/api/base-components/base-component-table.d.ts +88 -0
  199. package/lib/api/base-components/base-component.d.ts +22 -0
  200. package/lib/api/components/chart/chart.config.d.ts +14 -0
  201. package/lib/api/components/chart/chart.model.d.ts +12 -0
  202. package/lib/api/components/chart/orchart.config.d.ts +41 -0
  203. package/lib/api/components/chart/orchartnode.d.ts +34 -0
  204. package/lib/api/components/dropdown/filtro.combo.d.ts +4 -0
  205. package/{src/lib/api/components/step/step.model.ts → lib/api/components/step/step.model.d.ts} +13 -15
  206. package/lib/api/components/stepper/kv-stepperpanel.d.ts +9 -0
  207. package/lib/api/components/table/action-item.d.ts +13 -0
  208. package/lib/api/components/table/kv-menuitem.d.ts +152 -0
  209. package/lib/api/components/table/table-dropdown-control.d.ts +6 -0
  210. package/lib/api/components/table/table.config.column.d.ts +38 -0
  211. package/lib/api/components/table/table.config.d.ts +36 -0
  212. package/lib/api/components/table/table.paginate.d.ts +10 -0
  213. package/{src/lib/api/components/table/tabledit.config.ts → lib/api/components/table/tabledit.config.d.ts} +8 -9
  214. package/lib/api/components/table/tableedit.config.column.d.ts +11 -0
  215. package/lib/api/components/tree-table/tree-table-keys.d.ts +12 -0
  216. package/lib/api/components/tree-table/tree-table.config.d.ts +31 -0
  217. package/lib/api/directives/directives.module.d.ts +9 -0
  218. package/lib/api/directives/drag/drag.directive.d.ts +11 -0
  219. package/lib/api/directives/stepper/dynamicinput.directive.d.ts +15 -0
  220. package/lib/api/directives/template/template.directive.d.ts +11 -0
  221. package/lib/api/helpers/component-providers.d.ts +2 -0
  222. package/lib/api/helpers/keevo-validators.d.ts +18 -0
  223. package/lib/api/helpers/severity-color.d.ts +5 -0
  224. package/lib/api/helpers/translate-primeng.d.ts +4 -0
  225. package/lib/api/modules/primeng.module.d.ts +69 -0
  226. package/lib/api/pipes/capitalize.pipe.d.ts +10 -0
  227. package/lib/api/pipes/cpfcnpj.pipe.d.ts +7 -0
  228. package/lib/api/pipes/mask.pipe.d.ts +7 -0
  229. package/lib/api/pipes/pipes.module.d.ts +11 -0
  230. package/lib/api/pipes/telefone.pipe.d.ts +7 -0
  231. package/lib/api/services/base.api.service.d.ts +25 -0
  232. package/lib/api/services/breadcrumbs.service.d.ts +16 -0
  233. package/lib/api/services/chat.service.d.ts +17 -0
  234. package/lib/api/services/component.service.d.ts +11 -0
  235. package/lib/api/services/docs.service.d.ts +12 -0
  236. package/lib/api/services/form.service.d.ts +31 -0
  237. package/lib/api/services/image.cutter.service.d.ts +16 -0
  238. package/lib/api/services/imagens.service.d.ts +10 -0
  239. package/lib/api/services/notification.service.d.ts +26 -0
  240. package/lib/api/services/object.service.d.ts +9 -0
  241. package/lib/api/services/orgchart.service.d.ts +20 -0
  242. package/lib/api/services/pdf.service.d.ts +7 -0
  243. package/lib/api/types/breadcrumb.model.d.ts +5 -0
  244. package/{src/lib/api/types/severity.ts → lib/api/types/severity.d.ts} +2 -3
  245. package/lib/components/keevo-components.module.d.ts +38 -0
  246. package/lib/components/kv-avatar/kv-avatar.component.d.ts +36 -0
  247. package/lib/components/kv-avatar/kv-avatar.module.d.ts +15 -0
  248. package/lib/components/kv-button/kv-button.component.d.ts +24 -0
  249. package/lib/components/kv-button/kv-button.module.d.ts +9 -0
  250. package/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.d.ts +11 -0
  251. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +19 -0
  252. package/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.d.ts +7 -0
  253. package/lib/components/kv-buttons/kv-button-success/kv-button-success.component.d.ts +7 -0
  254. package/lib/components/kv-buttons/kv-button.module.d.ts +11 -0
  255. package/lib/components/kv-card-selection/kv-card-selection.component.d.ts +25 -0
  256. package/lib/components/kv-card-selection/kv-card-selection.module.d.ts +10 -0
  257. package/lib/components/kv-carousel/kv-carousel.component.d.ts +17 -0
  258. package/lib/components/kv-carousel/kv-carousel.module.d.ts +9 -0
  259. package/lib/components/kv-chart/kv-chart.component.d.ts +57 -0
  260. package/lib/components/kv-chart/kv-chart.module.d.ts +10 -0
  261. package/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.d.ts +12 -0
  262. package/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.d.ts +10 -0
  263. package/lib/components/kv-content-viewer/kv-content-viewer.component.d.ts +56 -0
  264. package/lib/components/kv-content-viewer/kv-content-viewer.module.d.ts +14 -0
  265. package/lib/components/kv-error/kv-error.component.d.ts +12 -0
  266. package/lib/components/kv-error/kv-error.module.d.ts +10 -0
  267. package/lib/components/kv-file-upload/kv-file-upload.component.d.ts +35 -0
  268. package/lib/components/kv-file-upload/kv-file-upload.module.d.ts +10 -0
  269. package/lib/components/kv-file-viewer/kv-file-viewer.component.d.ts +21 -0
  270. package/lib/components/kv-file-viewer/kv-file-viewer.module.d.ts +8 -0
  271. package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.d.ts +24 -0
  272. package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.d.ts +9 -0
  273. package/lib/components/kv-filter-card/kv-filter-card.component.d.ts +13 -0
  274. package/lib/components/kv-filter-card/kv-filter-card.module.d.ts +10 -0
  275. package/lib/components/kv-filter-cards/kv-filter-cards.component.d.ts +32 -0
  276. package/lib/components/kv-filter-cards/kv-filter-cards.module.d.ts +9 -0
  277. package/lib/components/kv-filter-cards/kv-filter-cards.pipe.d.ts +7 -0
  278. package/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.d.ts +10 -0
  279. package/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.d.ts +9 -0
  280. package/lib/components/kv-g-icon/kv-g-icon.component.d.ts +5 -0
  281. package/lib/components/kv-g-icon/kv-g-icon.module.d.ts +9 -0
  282. package/lib/components/kv-home-card/kv-home-card.component.d.ts +24 -0
  283. package/lib/components/kv-home-card/kv-home-card.module.d.ts +11 -0
  284. package/lib/components/kv-icon/kv-icon.component.d.ts +22 -0
  285. package/{src/lib/components/kv-icon/kv-icon.model.ts → lib/components/kv-icon/kv-icon.model.d.ts} +3 -3
  286. package/lib/components/kv-icon/kv-icon.module.d.ts +8 -0
  287. package/lib/components/kv-image-upload/kv-image-upload.component.d.ts +34 -0
  288. package/lib/components/kv-image-upload/kv-image-upload.module.d.ts +8 -0
  289. package/lib/components/kv-inputs/kv-check/kv-check.component.d.ts +12 -0
  290. package/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.d.ts +33 -0
  291. package/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.d.ts +8 -0
  292. package/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.d.ts +14 -0
  293. package/lib/components/kv-inputs/kv-editor/config/kv-editor.config.d.ts +55 -0
  294. package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +70 -0
  295. package/{src/lib/components/kv-inputs/kv-editor/kv-editor.ts → lib/components/kv-inputs/kv-editor/kv-editor.d.ts} +6 -6
  296. package/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.d.ts +41 -0
  297. package/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.d.ts +41 -0
  298. package/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.d.ts +28 -0
  299. package/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.d.ts +45 -0
  300. package/lib/components/kv-inputs/kv-editor/types/kv-editor.types.d.ts +32 -0
  301. package/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.d.ts +34 -0
  302. package/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.d.ts +12 -0
  303. package/lib/components/kv-inputs/kv-input-number/kv-input-number.component.d.ts +19 -0
  304. package/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.d.ts +21 -0
  305. package/lib/components/kv-inputs/kv-input-password/kv-input-password.component.d.ts +13 -0
  306. package/lib/components/kv-inputs/kv-input-text/kv-input-text.component.d.ts +11 -0
  307. package/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.d.ts +13 -0
  308. package/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.d.ts +18 -0
  309. package/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.d.ts +16 -0
  310. package/lib/components/kv-inputs/kv-input-time/kv-input-time.component.d.ts +10 -0
  311. package/lib/components/kv-inputs/kv-inputs.module.d.ts +38 -0
  312. package/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.d.ts +20 -0
  313. package/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.d.ts +20 -0
  314. package/lib/components/kv-inputs/kv-select-button/kv-select-button.component.d.ts +19 -0
  315. package/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.d.ts +26 -0
  316. package/lib/components/kv-inputs/kv-switch/kv-switch.component.d.ts +16 -0
  317. package/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.d.ts +25 -0
  318. package/lib/components/kv-label/kv-label.component.d.ts +7 -0
  319. package/lib/components/kv-label/kv-label.module.d.ts +8 -0
  320. package/lib/components/kv-layout/dropdown-master/dropdown-master.component.d.ts +12 -0
  321. package/lib/components/kv-layout/kv-layout.module.d.ts +18 -0
  322. package/lib/components/kv-layout/layout/kv-layout.component.d.ts +156 -0
  323. package/lib/components/kv-layout/top-icons/top-icons.component.d.ts +16 -0
  324. package/lib/components/kv-loader/kv-loader.component.d.ts +7 -0
  325. package/lib/components/kv-loader/kv-loader.module.d.ts +9 -0
  326. package/lib/components/kv-loader/kv-loader.service.d.ts +10 -0
  327. package/lib/components/kv-login/kv-login.component.d.ts +32 -0
  328. package/lib/components/kv-login/kv-login.module.d.ts +13 -0
  329. package/lib/components/kv-modal/kv-modal.component.d.ts +27 -0
  330. package/lib/components/kv-modal/kv-modal.module.d.ts +10 -0
  331. package/lib/components/kv-orgchart/kv-orgchart.component.d.ts +45 -0
  332. package/lib/components/kv-orgchart/kv-orgchart.module.d.ts +17 -0
  333. package/lib/components/kv-page-form/kv-page-form.component.d.ts +98 -0
  334. package/lib/components/kv-page-form/kv-page-form.module.d.ts +12 -0
  335. package/lib/components/kv-page-stepper/kv-page-stepper.component.d.ts +84 -0
  336. package/lib/components/kv-page-stepper/kv-page-stepper.module.d.ts +14 -0
  337. package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +70 -0
  338. package/lib/components/kv-pick-list/kv-pick-list.module.d.ts +11 -0
  339. package/lib/components/kv-progress-bar/kv-progress-bar.component.d.ts +67 -0
  340. package/lib/components/kv-progress-bar/kv-progress-bar.module.d.ts +9 -0
  341. package/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.d.ts +71 -0
  342. package/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.d.ts +9 -0
  343. package/lib/components/kv-report/kv-report.component.d.ts +18 -0
  344. package/lib/components/kv-report/kv-report.module.d.ts +8 -0
  345. package/lib/components/kv-stepper/kv-stepper.component.d.ts +32 -0
  346. package/lib/components/kv-stepper/kv-stepper.module.d.ts +13 -0
  347. package/lib/components/kv-steps/kv-steps.component.d.ts +21 -0
  348. package/lib/components/kv-table/kv-table.component.d.ts +154 -0
  349. package/lib/components/kv-table/kv-table.module.d.ts +12 -0
  350. package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +66 -0
  351. package/lib/components/kv-table-edit/kv-table-edit.module.d.ts +15 -0
  352. package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +119 -0
  353. package/lib/components/kv-table-expandable/kv-table-expandable.module.d.ts +13 -0
  354. package/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.d.ts +8 -0
  355. package/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.d.ts +7 -0
  356. package/lib/components/kv-table-viewer/kv-table-viewer.component.d.ts +72 -0
  357. package/lib/components/kv-tag/kv-tag.component.d.ts +7 -0
  358. package/lib/components/kv-tag/kv-tag.module.d.ts +8 -0
  359. package/lib/components/kv-tags/kv-tags.component.d.ts +31 -0
  360. package/lib/components/kv-tags/kv-tags.module.d.ts +8 -0
  361. package/lib/components/kv-timeline/kv-timeline.component.d.ts +18 -0
  362. package/lib/components/kv-tree-table/kv-tree-table.component.d.ts +86 -0
  363. package/lib/components/kv-tree-table/kv-tree-table.module.d.ts +11 -0
  364. package/lib/components/kv-tree-view/kv-tree-view.component.d.ts +21 -0
  365. package/lib/components/kv-tree-view/kv-tree-view.module.d.ts +9 -0
  366. package/lib/components/kv-widget-card/kv-widget-card.component.d.ts +60 -0
  367. package/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.d.ts +14 -0
  368. package/lib/components/kv-workspace/kv-workspace.module.d.ts +19 -0
  369. package/lib/components/kv-workspace/logo/kv-workspace-logo.component.d.ts +11 -0
  370. package/lib/components/kv-workspace/master/kv-workspace-master.component.d.ts +25 -0
  371. package/lib/components/kv-workspace/workspace/kv-workspace.component.d.ts +37 -0
  372. package/package.json +42 -32
  373. package/{src/public-api.ts → public-api.d.ts} +298 -361
  374. package/ng-package.json +0 -14
  375. package/src/assets/.gitkeep +0 -0
  376. package/src/index.ts +0 -1
  377. package/src/lib/api/base-components/base-component-button.ts +0 -29
  378. package/src/lib/api/base-components/base-component-chart.ts +0 -118
  379. package/src/lib/api/base-components/base-component-crud-form.ts +0 -377
  380. package/src/lib/api/base-components/base-component-crud-list.ts +0 -129
  381. package/src/lib/api/base-components/base-component-crud.ts +0 -92
  382. package/src/lib/api/base-components/base-component-dropdown-external.ts +0 -29
  383. package/src/lib/api/base-components/base-component-dropdown-new.ts +0 -112
  384. package/src/lib/api/base-components/base-component-dropdown.ts +0 -257
  385. package/src/lib/api/base-components/base-component-input.ts +0 -121
  386. package/src/lib/api/base-components/base-component-multi-select.ts +0 -187
  387. package/src/lib/api/base-components/base-component-table.ts +0 -366
  388. package/src/lib/api/base-components/base-component.ts +0 -47
  389. package/src/lib/api/components/chart/chart.config.ts +0 -15
  390. package/src/lib/api/components/chart/chart.model.ts +0 -12
  391. package/src/lib/api/components/chart/orchart.config.ts +0 -51
  392. package/src/lib/api/components/chart/orchartnode.ts +0 -44
  393. package/src/lib/api/components/dropdown/filtro.combo.ts +0 -4
  394. package/src/lib/api/components/stepper/kv-stepperpanel.ts +0 -10
  395. package/src/lib/api/components/table/action-item.ts +0 -13
  396. package/src/lib/api/components/table/kv-menuitem.ts +0 -198
  397. package/src/lib/api/components/table/table-dropdown-control.ts +0 -6
  398. package/src/lib/api/components/table/table.config.column.ts +0 -38
  399. package/src/lib/api/components/table/table.config.ts +0 -39
  400. package/src/lib/api/components/table/table.paginate.ts +0 -7
  401. package/src/lib/api/components/table/tableedit.config.column.ts +0 -12
  402. package/src/lib/api/components/tree-table/tree-table-keys.ts +0 -12
  403. package/src/lib/api/components/tree-table/tree-table.config.ts +0 -34
  404. package/src/lib/api/directives/directives.module.ts +0 -19
  405. package/src/lib/api/directives/drag/drag.directive.ts +0 -40
  406. package/src/lib/api/directives/stepper/dynamicinput.directive.ts +0 -23
  407. package/src/lib/api/directives/template/template.directive.ts +0 -15
  408. package/src/lib/api/helpers/component-providers.ts +0 -16
  409. package/src/lib/api/helpers/keevo-validators.ts +0 -174
  410. package/src/lib/api/helpers/severity-color.ts +0 -77
  411. package/src/lib/api/helpers/translate-primeng.ts +0 -25
  412. package/src/lib/api/modules/primeng.module.ts +0 -144
  413. package/src/lib/api/pipes/capitalize.pipe.ts +0 -47
  414. package/src/lib/api/pipes/cpfcnpj.pipe.ts +0 -21
  415. package/src/lib/api/pipes/mask.pipe.ts +0 -24
  416. package/src/lib/api/pipes/pipes.module.ts +0 -26
  417. package/src/lib/api/pipes/telefone.pipe.ts +0 -38
  418. package/src/lib/api/services/base.api.service.ts +0 -115
  419. package/src/lib/api/services/breadcrumbs.service.ts +0 -71
  420. package/src/lib/api/services/chat.service.ts +0 -39
  421. package/src/lib/api/services/component.service.ts +0 -44
  422. package/src/lib/api/services/docs.service.ts +0 -129
  423. package/src/lib/api/services/form.service.ts +0 -139
  424. package/src/lib/api/services/image.cutter.service.ts +0 -290
  425. package/src/lib/api/services/imagens.service.ts +0 -28
  426. package/src/lib/api/services/notification.service.ts +0 -88
  427. package/src/lib/api/services/object.service.ts +0 -33
  428. package/src/lib/api/services/orgchart.service.ts +0 -77
  429. package/src/lib/api/services/pdf.service.ts +0 -54
  430. package/src/lib/api/types/breadcrumb.model.ts +0 -5
  431. package/src/lib/api/types/stimulsoft.reports.d.ts +0 -67463
  432. package/src/lib/components/keevo-components.module.ts +0 -105
  433. package/src/lib/components/kv-avatar/kv-avatar.component.html +0 -75
  434. package/src/lib/components/kv-avatar/kv-avatar.component.scss +0 -162
  435. package/src/lib/components/kv-avatar/kv-avatar.component.spec.ts +0 -23
  436. package/src/lib/components/kv-avatar/kv-avatar.component.ts +0 -165
  437. package/src/lib/components/kv-avatar/kv-avatar.module.ts +0 -32
  438. package/src/lib/components/kv-button/kv-button.component.html +0 -26
  439. package/src/lib/components/kv-button/kv-button.component.spec.ts +0 -23
  440. package/src/lib/components/kv-button/kv-button.component.ts +0 -55
  441. package/src/lib/components/kv-button/kv-button.module.ts +0 -20
  442. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.html +0 -14
  443. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.scss +0 -6
  444. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.ts +0 -25
  445. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.html +0 -13
  446. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.scss +0 -33
  447. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.ts +0 -41
  448. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.html +0 -12
  449. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.scss +0 -18
  450. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.ts +0 -14
  451. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.html +0 -11
  452. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.scss +0 -17
  453. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.ts +0 -14
  454. package/src/lib/components/kv-buttons/kv-button.module.ts +0 -26
  455. package/src/lib/components/kv-card-selection/kv-card-selection.component.html +0 -63
  456. package/src/lib/components/kv-card-selection/kv-card-selection.component.scss +0 -54
  457. package/src/lib/components/kv-card-selection/kv-card-selection.component.spec.ts +0 -23
  458. package/src/lib/components/kv-card-selection/kv-card-selection.component.ts +0 -73
  459. package/src/lib/components/kv-card-selection/kv-card-selection.module.ts +0 -19
  460. package/src/lib/components/kv-carousel/kv-carousel.component.html +0 -26
  461. package/src/lib/components/kv-carousel/kv-carousel.component.scss +0 -47
  462. package/src/lib/components/kv-carousel/kv-carousel.component.spec.ts +0 -23
  463. package/src/lib/components/kv-carousel/kv-carousel.component.ts +0 -40
  464. package/src/lib/components/kv-carousel/kv-carousel.module.ts +0 -19
  465. package/src/lib/components/kv-chart/kv-chart.component.html +0 -38
  466. package/src/lib/components/kv-chart/kv-chart.component.scss +0 -0
  467. package/src/lib/components/kv-chart/kv-chart.component.spec.ts +0 -28
  468. package/src/lib/components/kv-chart/kv-chart.component.ts +0 -174
  469. package/src/lib/components/kv-chart/kv-chart.module.ts +0 -21
  470. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.html +0 -9
  471. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.scss +0 -7
  472. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.spec.ts +0 -23
  473. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.ts +0 -32
  474. package/src/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.ts +0 -14
  475. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.html +0 -229
  476. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.scss +0 -185
  477. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.spec.ts +0 -23
  478. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.ts +0 -171
  479. package/src/lib/components/kv-content-viewer/kv-content-viewer.module.ts +0 -25
  480. package/src/lib/components/kv-error/kv-error.component.html +0 -3
  481. package/src/lib/components/kv-error/kv-error.component.scss +0 -5
  482. package/src/lib/components/kv-error/kv-error.component.ts +0 -27
  483. package/src/lib/components/kv-error/kv-error.module.ts +0 -26
  484. package/src/lib/components/kv-file-upload/kv-file-upload.component.html +0 -134
  485. package/src/lib/components/kv-file-upload/kv-file-upload.component.scss +0 -13
  486. package/src/lib/components/kv-file-upload/kv-file-upload.component.spec.ts +0 -23
  487. package/src/lib/components/kv-file-upload/kv-file-upload.component.ts +0 -200
  488. package/src/lib/components/kv-file-upload/kv-file-upload.module.ts +0 -13
  489. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.html +0 -16
  490. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.scss +0 -18
  491. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.ts +0 -42
  492. package/src/lib/components/kv-file-viewer/kv-file-viewer.module.ts +0 -14
  493. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.html +0 -34
  494. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.scss +0 -17
  495. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.ts +0 -80
  496. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.ts +0 -15
  497. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.html +0 -103
  498. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.scss +0 -153
  499. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.spec.ts +0 -23
  500. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.ts +0 -73
  501. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.module.ts +0 -18
  502. package/src/lib/components/kv-filter-card/kv-filter-card.component.html +0 -12
  503. package/src/lib/components/kv-filter-card/kv-filter-card.component.scss +0 -76
  504. package/src/lib/components/kv-filter-card/kv-filter-card.component.spec.ts +0 -23
  505. package/src/lib/components/kv-filter-card/kv-filter-card.component.ts +0 -18
  506. package/src/lib/components/kv-filter-card/kv-filter-card.module.ts +0 -23
  507. package/src/lib/components/kv-filter-cards/kv-filter-cards.component.html +0 -81
  508. package/src/lib/components/kv-filter-cards/kv-filter-cards.component.scss +0 -197
  509. package/src/lib/components/kv-filter-cards/kv-filter-cards.component.ts +0 -150
  510. package/src/lib/components/kv-filter-cards/kv-filter-cards.module.ts +0 -20
  511. package/src/lib/components/kv-filter-cards/kv-filter-cards.pipe.ts +0 -24
  512. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.html +0 -25
  513. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.scss +0 -22
  514. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.spec.ts +0 -23
  515. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.ts +0 -20
  516. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.ts +0 -20
  517. package/src/lib/components/kv-g-icon/kv-g-icon.component.html +0 -1
  518. package/src/lib/components/kv-g-icon/kv-g-icon.component.scss +0 -0
  519. package/src/lib/components/kv-g-icon/kv-g-icon.component.spec.ts +0 -23
  520. package/src/lib/components/kv-g-icon/kv-g-icon.component.ts +0 -10
  521. package/src/lib/components/kv-g-icon/kv-g-icon.module.ts +0 -11
  522. package/src/lib/components/kv-home-card/kv-home-card.component.html +0 -35
  523. package/src/lib/components/kv-home-card/kv-home-card.component.scss +0 -5
  524. package/src/lib/components/kv-home-card/kv-home-card.component.spec.ts +0 -23
  525. package/src/lib/components/kv-home-card/kv-home-card.component.ts +0 -33
  526. package/src/lib/components/kv-home-card/kv-home-card.module.ts +0 -18
  527. package/src/lib/components/kv-icon/kv-icon.component.html +0 -13
  528. package/src/lib/components/kv-icon/kv-icon.component.scss +0 -69
  529. package/src/lib/components/kv-icon/kv-icon.component.spec.ts +0 -28
  530. package/src/lib/components/kv-icon/kv-icon.component.ts +0 -30
  531. package/src/lib/components/kv-icon/kv-icon.module.ts +0 -16
  532. package/src/lib/components/kv-image-upload/kv-image-upload.component.html +0 -64
  533. package/src/lib/components/kv-image-upload/kv-image-upload.component.scss +0 -0
  534. package/src/lib/components/kv-image-upload/kv-image-upload.component.ts +0 -153
  535. package/src/lib/components/kv-image-upload/kv-image-upload.module.ts +0 -10
  536. package/src/lib/components/kv-inputs/kv-check/kv-check.component.html +0 -12
  537. package/src/lib/components/kv-inputs/kv-check/kv-check.component.scss +0 -38
  538. package/src/lib/components/kv-inputs/kv-check/kv-check.component.ts +0 -32
  539. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.html +0 -87
  540. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.ts +0 -119
  541. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.html +0 -13
  542. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.scss +0 -0
  543. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.spec.ts +0 -23
  544. package/src/lib/components/kv-inputs/kv-editor/components/kv-instrucoes-report/kv-instrucoes-report.component.ts +0 -16
  545. package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.html +0 -18
  546. package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.scss +0 -0
  547. package/src/lib/components/kv-inputs/kv-editor/components/kv-report-modal/kv-report-modal.component.ts +0 -41
  548. package/src/lib/components/kv-inputs/kv-editor/config/kv-editor.config.ts +0 -120
  549. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.html +0 -285
  550. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.scss +0 -182
  551. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.ts +0 -311
  552. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-mention.service.ts +0 -156
  553. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-pdf.service.ts +0 -190
  554. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.spec.ts +0 -126
  555. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-quill.service.ts +0 -84
  556. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.spec.ts +0 -176
  557. package/src/lib/components/kv-inputs/kv-editor/services/kv-editor-relatorio.service.ts +0 -101
  558. package/src/lib/components/kv-inputs/kv-editor/types/kv-editor.types.ts +0 -36
  559. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.html +0 -37
  560. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.scss +0 -23
  561. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.ts +0 -197
  562. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.html +0 -24
  563. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.scss +0 -0
  564. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.ts +0 -35
  565. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.html +0 -23
  566. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.scss +0 -0
  567. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.ts +0 -61
  568. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.html +0 -33
  569. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.scss +0 -5
  570. package/src/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.ts +0 -63
  571. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.html +0 -24
  572. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.scss +0 -0
  573. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.ts +0 -26
  574. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.html +0 -23
  575. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.scss +0 -18
  576. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.ts +0 -40
  577. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.html +0 -30
  578. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.scss +0 -26
  579. package/src/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.ts +0 -38
  580. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.html +0 -53
  581. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.scss +0 -41
  582. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.spec.ts +0 -23
  583. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.ts +0 -48
  584. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.html +0 -23
  585. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.scss +0 -0
  586. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.ts +0 -40
  587. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.html +0 -24
  588. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.scss +0 -0
  589. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.ts +0 -27
  590. package/src/lib/components/kv-inputs/kv-inputs.module.ts +0 -100
  591. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.html +0 -87
  592. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.scss +0 -62
  593. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.ts +0 -54
  594. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.html +0 -19
  595. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.scss +0 -22
  596. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.ts +0 -63
  597. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.html +0 -26
  598. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.scss +0 -5
  599. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.spec.ts +0 -21
  600. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.ts +0 -30
  601. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.html +0 -28
  602. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.scss +0 -61
  603. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.spec.ts +0 -23
  604. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.ts +0 -43
  605. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.html +0 -23
  606. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.scss +0 -35
  607. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.ts +0 -54
  608. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.html +0 -68
  609. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.scss +0 -86
  610. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.ts +0 -59
  611. package/src/lib/components/kv-label/kv-label.component.html +0 -3
  612. package/src/lib/components/kv-label/kv-label.component.scss +0 -15
  613. package/src/lib/components/kv-label/kv-label.component.spec.ts +0 -23
  614. package/src/lib/components/kv-label/kv-label.component.ts +0 -14
  615. package/src/lib/components/kv-label/kv-label.module.ts +0 -17
  616. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.html +0 -25
  617. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.scss +0 -19
  618. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.spec.ts +0 -28
  619. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.ts +0 -34
  620. package/src/lib/components/kv-layout/kv-layout.module.ts +0 -44
  621. package/src/lib/components/kv-layout/layout/kv-layout.component.html +0 -535
  622. package/src/lib/components/kv-layout/layout/kv-layout.component.scss +0 -267
  623. package/src/lib/components/kv-layout/layout/kv-layout.component.spec.ts +0 -23
  624. package/src/lib/components/kv-layout/layout/kv-layout.component.ts +0 -502
  625. package/src/lib/components/kv-layout/top-icons/top-icons.component.html +0 -26
  626. package/src/lib/components/kv-layout/top-icons/top-icons.component.scss +0 -71
  627. package/src/lib/components/kv-layout/top-icons/top-icons.component.spec.ts +0 -23
  628. package/src/lib/components/kv-layout/top-icons/top-icons.component.ts +0 -26
  629. package/src/lib/components/kv-loader/kv-loader.component.html +0 -1
  630. package/src/lib/components/kv-loader/kv-loader.component.ts +0 -11
  631. package/src/lib/components/kv-loader/kv-loader.module.ts +0 -17
  632. package/src/lib/components/kv-loader/kv-loader.service.ts +0 -29
  633. package/src/lib/components/kv-login/kv-login.component.html +0 -101
  634. package/src/lib/components/kv-login/kv-login.component.scss +0 -99
  635. package/src/lib/components/kv-login/kv-login.component.spec.ts +0 -23
  636. package/src/lib/components/kv-login/kv-login.component.ts +0 -97
  637. package/src/lib/components/kv-login/kv-login.module.ts +0 -33
  638. package/src/lib/components/kv-modal/kv-modal.component.html +0 -20
  639. package/src/lib/components/kv-modal/kv-modal.component.scss +0 -37
  640. package/src/lib/components/kv-modal/kv-modal.component.spec.ts +0 -21
  641. package/src/lib/components/kv-modal/kv-modal.component.ts +0 -111
  642. package/src/lib/components/kv-modal/kv-modal.module.ts +0 -12
  643. package/src/lib/components/kv-orgchart/kv-orgchart.component.html +0 -125
  644. package/src/lib/components/kv-orgchart/kv-orgchart.component.scss +0 -73
  645. package/src/lib/components/kv-orgchart/kv-orgchart.component.ts +0 -283
  646. package/src/lib/components/kv-orgchart/kv-orgchart.module.ts +0 -31
  647. package/src/lib/components/kv-page-form/kv-page-form.component.html +0 -91
  648. package/src/lib/components/kv-page-form/kv-page-form.component.scss +0 -100
  649. package/src/lib/components/kv-page-form/kv-page-form.component.spec.ts +0 -28
  650. package/src/lib/components/kv-page-form/kv-page-form.component.ts +0 -206
  651. package/src/lib/components/kv-page-form/kv-page-form.module.ts +0 -33
  652. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.html +0 -276
  653. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.scss +0 -85
  654. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.spec.ts +0 -23
  655. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.ts +0 -223
  656. package/src/lib/components/kv-page-stepper/kv-page-stepper.module.ts +0 -36
  657. package/src/lib/components/kv-pick-list/kv-pick-list.component.html +0 -32
  658. package/src/lib/components/kv-pick-list/kv-pick-list.component.scss +0 -57
  659. package/src/lib/components/kv-pick-list/kv-pick-list.component.spec.ts +0 -26
  660. package/src/lib/components/kv-pick-list/kv-pick-list.component.ts +0 -461
  661. package/src/lib/components/kv-pick-list/kv-pick-list.module.ts +0 -24
  662. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.html +0 -38
  663. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.scss +0 -128
  664. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.spec.ts +0 -21
  665. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.ts +0 -75
  666. package/src/lib/components/kv-progress-bar/kv-progress-bar.module.ts +0 -19
  667. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.html +0 -43
  668. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.scss +0 -130
  669. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.spec.ts +0 -23
  670. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.ts +0 -82
  671. package/src/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.ts +0 -18
  672. package/src/lib/components/kv-report/kv-report.component.html +0 -3
  673. package/src/lib/components/kv-report/kv-report.component.scss +0 -14
  674. package/src/lib/components/kv-report/kv-report.component.spec.ts +0 -28
  675. package/src/lib/components/kv-report/kv-report.component.ts +0 -44
  676. package/src/lib/components/kv-report/kv-report.module.ts +0 -18
  677. package/src/lib/components/kv-stepper/kv-stepper.component.html +0 -94
  678. package/src/lib/components/kv-stepper/kv-stepper.component.scss +0 -43
  679. package/src/lib/components/kv-stepper/kv-stepper.component.spec.ts +0 -23
  680. package/src/lib/components/kv-stepper/kv-stepper.component.ts +0 -73
  681. package/src/lib/components/kv-stepper/kv-stepper.module.ts +0 -27
  682. package/src/lib/components/kv-steps/kv-steps.component.html +0 -53
  683. package/src/lib/components/kv-steps/kv-steps.component.scss +0 -120
  684. package/src/lib/components/kv-steps/kv-steps.component.ts +0 -122
  685. package/src/lib/components/kv-table/kv-table.component.html +0 -655
  686. package/src/lib/components/kv-table/kv-table.component.spec.ts +0 -28
  687. package/src/lib/components/kv-table/kv-table.component.ts +0 -792
  688. package/src/lib/components/kv-table/kv-table.module.ts +0 -25
  689. package/src/lib/components/kv-table-edit/kv-table-edit.component.html +0 -913
  690. package/src/lib/components/kv-table-edit/kv-table-edit.component.scss +0 -829
  691. package/src/lib/components/kv-table-edit/kv-table-edit.component.ts +0 -425
  692. package/src/lib/components/kv-table-edit/kv-table-edit.module.ts +0 -31
  693. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.html +0 -634
  694. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.scss +0 -387
  695. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.ts +0 -546
  696. package/src/lib/components/kv-table-expandable/kv-table-expandable.module.ts +0 -22
  697. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.html +0 -25
  698. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.scss +0 -0
  699. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.spec.ts +0 -23
  700. package/src/lib/components/kv-table-viewer/components/actions-lote-field/actions-lote-field.component.ts +0 -17
  701. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.html +0 -20
  702. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.scss +0 -0
  703. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.spec.ts +0 -23
  704. package/src/lib/components/kv-table-viewer/components/actions-row-menu/actions-row-menu.component.ts +0 -14
  705. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.html +0 -164
  706. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.scss +0 -80
  707. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.spec.ts +0 -23
  708. package/src/lib/components/kv-table-viewer/kv-table-viewer.component.ts +0 -183
  709. package/src/lib/components/kv-tag/kv-tag.component.html +0 -3
  710. package/src/lib/components/kv-tag/kv-tag.component.scss +0 -65
  711. package/src/lib/components/kv-tag/kv-tag.component.spec.ts +0 -23
  712. package/src/lib/components/kv-tag/kv-tag.component.ts +0 -16
  713. package/src/lib/components/kv-tag/kv-tag.module.ts +0 -18
  714. package/src/lib/components/kv-tags/kv-tags.component.html +0 -19
  715. package/src/lib/components/kv-tags/kv-tags.component.scss +0 -28
  716. package/src/lib/components/kv-tags/kv-tags.component.ts +0 -64
  717. package/src/lib/components/kv-tags/kv-tags.module.ts +0 -18
  718. package/src/lib/components/kv-timeline/kv-timeline.component.html +0 -28
  719. package/src/lib/components/kv-timeline/kv-timeline.component.scss +0 -6
  720. package/src/lib/components/kv-timeline/kv-timeline.component.spec.ts +0 -23
  721. package/src/lib/components/kv-timeline/kv-timeline.component.ts +0 -77
  722. package/src/lib/components/kv-tree-table/kv-tree-table.component.html +0 -492
  723. package/src/lib/components/kv-tree-table/kv-tree-table.component.scss +0 -187
  724. package/src/lib/components/kv-tree-table/kv-tree-table.component.spec.ts +0 -21
  725. package/src/lib/components/kv-tree-table/kv-tree-table.component.ts +0 -355
  726. package/src/lib/components/kv-tree-table/kv-tree-table.module.ts +0 -23
  727. package/src/lib/components/kv-tree-view/kv-tree-view.component.html +0 -16
  728. package/src/lib/components/kv-tree-view/kv-tree-view.component.scss +0 -19
  729. package/src/lib/components/kv-tree-view/kv-tree-view.component.spec.ts +0 -23
  730. package/src/lib/components/kv-tree-view/kv-tree-view.component.ts +0 -73
  731. package/src/lib/components/kv-tree-view/kv-tree-view.module.ts +0 -19
  732. package/src/lib/components/kv-widget-card/kv-widget-card.component.html +0 -71
  733. package/src/lib/components/kv-widget-card/kv-widget-card.component.scss +0 -27
  734. package/src/lib/components/kv-widget-card/kv-widget-card.component.spec.ts +0 -28
  735. package/src/lib/components/kv-widget-card/kv-widget-card.component.ts +0 -107
  736. package/src/lib/components/kv-widget-card/kv-widget-card.module.ts +0 -20
  737. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.html +0 -22
  738. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.scss +0 -36
  739. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.spec.ts +0 -28
  740. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.ts +0 -41
  741. package/src/lib/components/kv-workspace/kv-workspace.module.ts +0 -45
  742. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.html +0 -20
  743. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.scss +0 -0
  744. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.spec.ts +0 -28
  745. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.ts +0 -18
  746. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.html +0 -35
  747. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.scss +0 -29
  748. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.spec.ts +0 -28
  749. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.ts +0 -98
  750. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.html +0 -63
  751. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.scss +0 -62
  752. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.ts +0 -91
  753. package/tsconfig.lib.json +0 -14
  754. package/tsconfig.lib.prod.json +0 -10
  755. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Vldm8tY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2tlZXZvLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,39 @@
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.text = false;
10
+ this.color = 'bg-blue-100';
11
+ this.onClick = new EventEmitter();
12
+ }
13
+ click(event) {
14
+ this.onClick.emit();
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: BaseComponentButton, selector: "ng-component", inputs: { icon: "icon", label: "label", loading: "loading", disabled: "disabled", text: "text", color: "color" }, outputs: { onClick: "onClick" }, ngImport: i0, template: '', isInline: true }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentButton, decorators: [{
20
+ type: Component,
21
+ args: [{
22
+ template: '',
23
+ }]
24
+ }], ctorParameters: () => [], propDecorators: { icon: [{
25
+ type: Input
26
+ }], label: [{
27
+ type: Input
28
+ }], loading: [{
29
+ type: Input
30
+ }], disabled: [{
31
+ type: Input
32
+ }], text: [{
33
+ type: Input
34
+ }], color: [{
35
+ type: Input
36
+ }], onClick: [{
37
+ type: Output
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFhOUI7UUFYUyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsVUFBSyxHQUFXLGFBQWEsQ0FBQztRQUk3QixZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFMUMsQ0FBQztJQUVqQixLQUFLLENBQUMsS0FBVTtRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzs4R0FqQlUsbUJBQW1CO2tHQUFuQixtQkFBbUIsdU1BRnBCLEVBQUU7OzJGQUVELG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjt3REFHVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBSUksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJhc2VDb21wb25lbnRCdXR0b24ge1xyXG5cclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGV4dDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmcgPSAnYmctYmx1ZS0xMDAnO1xyXG5cclxuXHJcblxyXG4gIEBPdXRwdXQoKSBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgY2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,104 @@
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
+ let borderRadius = 10;
49
+ let hoverOffset = 0;
50
+ let borderWidth = 0;
51
+ data.filter((obj) => {
52
+ return obj.numDatasets === i;
53
+ }).map((obj) => {
54
+ if (obj.backgroundColor && !backgroundColor.includes(obj.backgroundColor)) {
55
+ backgroundColor.push(obj.backgroundColor);
56
+ }
57
+ if (obj.borderColor && !borderColor.includes(obj.borderColor)) {
58
+ borderColor.push(obj.borderColor);
59
+ }
60
+ if (obj.hoverBackgroundColor && !hoverBackgroundColor.includes(obj.hoverBackgroundColor)) {
61
+ hoverBackgroundColor.push(obj.hoverBackgroundColor);
62
+ }
63
+ if (obj.labelDataset)
64
+ labelDataset = obj.labelDataset;
65
+ if (obj.borderRadius)
66
+ borderRadius = obj.borderRadius;
67
+ if (obj.hoverOffset)
68
+ hoverOffset = obj.hoverOffset;
69
+ if (obj.borderWidth)
70
+ borderWidth = obj.borderWidth;
71
+ values.push(obj.datasets);
72
+ });
73
+ datasets.push({
74
+ label: labelDataset,
75
+ backgroundColor: backgroundColor,
76
+ hoverBackgroundColor: hoverBackgroundColor,
77
+ borderColor: borderColor?.length === 0 ? undefined : borderColor,
78
+ data: values,
79
+ borderRadius: borderRadius,
80
+ hoverOffset: hoverOffset,
81
+ borderWidth: borderWidth
82
+ });
83
+ }
84
+ let dados = {
85
+ labels: labels,
86
+ datasets: datasets
87
+ };
88
+ return dados;
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: BaseChartComponent, selector: "ng-component", outputs: { onPrintReport: "onPrintReport" }, viewQueries: [{ propertyName: "chartComponent", first: true, predicate: KvChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true }); }
92
+ }
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseChartComponent, decorators: [{
94
+ type: Component,
95
+ args: [{
96
+ template: ''
97
+ }]
98
+ }], ctorParameters: () => [], propDecorators: { chartComponent: [{
99
+ type: ViewChild,
100
+ args: [KvChartComponent]
101
+ }], onPrintReport: [{
102
+ type: Output
103
+ }] } });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFLL0YsTUFBTSxPQUFnQixrQkFBa0I7SUFXdEM7UUFSQSxpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixhQUFRLEdBQUcsYUFBYSxDQUFDO1FBSWYsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVoRCxDQUFDO0lBRVAsVUFBVSxDQUFDLEtBQVU7UUFDN0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2pCLENBQUM7SUFJUyxXQUFXLENBQUMsR0FBb0I7UUFDeEMsR0FBRzthQUNBLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBb0IsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUNELEtBQUss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QUFFLFlBQVk7Z0JBQ25CLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxvQkFBb0IsRUFBRSxvQkFBb0I7Z0JBQzFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXO2dCQUNoRSxJQUFJLEVBQUUsTUFBTTtnQkFDWixZQUFZLEVBQUUsWUFBWTtnQkFDMUIsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLFdBQVcsRUFBRSxXQUFXO2FBQ3pCLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLEtBQUssR0FBZ0I7WUFDdkIsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDO1FBRUYsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQTFHbUIsa0JBQWtCO2tHQUFsQixrQkFBa0IsaUpBTzNCLGdCQUFnQixnREFUakIsRUFBRTs7MkZBRVEsa0JBQWtCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiO3dEQVE4QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFakIsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQgeyBjaGFydE1vZGVsIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQubW9kZWxcIjtcclxuaW1wb3J0IHsgQ2hhcnRDb25maWcsIENoYXJ0RGF0YXNldENvbmZpZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NoYXJ0L2NoYXJ0LmNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBLdkNoYXJ0Q29tcG9uZW50LCBQZXJpb2Rvc0NoYXJ0IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMva3YtY2hhcnQva3YtY2hhcnQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNoYXJ0Q29uZmlnITogQ2hhcnRDb25maWc7XHJcbiAgc2VsZWN0ZWREYXRhOiBudW1iZXIgPSAwO1xyXG4gIGVuYWJsZVBlcmlvZG9zOiBudW1iZXJbXSA9IFtdO1xyXG4gIHBlcmlvZG9zID0gUGVyaW9kb3NDaGFydDtcclxuXHJcbiAgQFZpZXdDaGlsZChLdkNoYXJ0Q29tcG9uZW50KSBjaGFydENvbXBvbmVudD86IEt2Q2hhcnRDb21wb25lbnQ7XHJcblxyXG4gIEBPdXRwdXQoKSBvblByaW50UmVwb3J0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHJvdGVjdGVkIGNoYW5nZURhdGEoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gZXZlbnQ/LnZhbHVlO1xyXG4gICAgICB0aGlzLmxvYWREYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZERhdGEoKVxyXG4gIH1cclxuXHJcbiAgYWJzdHJhY3QgbG9hZERhdGEoKTogdm9pZDtcclxuXHJcbiAgcHJvdGVjdGVkIGxvYWRHcmFwaGljKG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XHJcbiAgICBvYnNcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jaGFydENvbmZpZyA9IHRoaXMuYXNzZW1ibGVHcmFwaGljKGRhdGEgYXMgY2hhcnRNb2RlbFtdKTtcclxuICAgICAgICAgIHRoaXMuY2hhcnRDb21wb25lbnQ/LnJlSW5pdCh0aGlzLmNoYXJ0Q29uZmlnKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4geyB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3NlbWJsZUdyYXBoaWMoZGF0YTogY2hhcnRNb2RlbFtdKSB7XHJcbiAgICBsZXQgbGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgbGV0IGRhdGFzZXRzOiBDaGFydERhdGFzZXRDb25maWdbXSA9IFtdO1xyXG5cclxuICAgIC8vIFRyYXRhbmRvIGxlZ2VuZGFzXHJcbiAgICBkYXRhLm1hcCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChlbGVtZW50LmxhYmVscyAmJiAhbGFiZWxzLmluY2x1ZGVzKGVsZW1lbnQubGFiZWxzKSkge1xyXG4gICAgICAgIGxhYmVscy5wdXNoKGVsZW1lbnQubGFiZWxzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy9EZXNjb2JyaW5kbyBxdWFudGFzIGRpbWVuc8O1ZXMgdGVtIG8gZ3LDoWZpY29cclxuICAgIGxldCBudW1EYXRhc2V0cyA9IE1hdGgubWF4KC4uLmRhdGEubWFwKG8gPT4gby5udW1EYXRhc2V0cykpO1xyXG5cclxuICAgIC8vUG9wdWxhbmRvIGRhdGFzZXRzXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBudW1EYXRhc2V0czsgaSsrKSB7XHJcbiAgICAgIGxldCBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZ1tdID0gW107XHJcbiAgICAgIGxldCBob3ZlckJhY2tncm91bmRDb2xvcjogc3RyaW5nW10gPSBbXTtcclxuICAgICAgbGV0IGJvcmRlckNvbG9yOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICBsZXQgdmFsdWVzOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgICBsZXQgbGFiZWxEYXRhc2V0OiBzdHJpbmcgPSAnJztcclxuICAgICAgbGV0IGJvcmRlclJhZGl1czogbnVtYmVyID0gMTA7XHJcbiAgICAgIGxldCBob3Zlck9mZnNldDogbnVtYmVyID0gMDtcclxuICAgICAgbGV0IGJvcmRlcldpZHRoOiBudW1iZXIgPSAwO1xyXG4gICAgICBcclxuXHJcbiAgICAgIGRhdGEuZmlsdGVyKChvYmopID0+IHtcclxuICAgICAgICByZXR1cm4gb2JqLm51bURhdGFzZXRzID09PSBpO1xyXG4gICAgICB9KS5tYXAoKG9iaikgPT4ge1xyXG4gICAgICAgIGlmIChvYmouYmFja2dyb3VuZENvbG9yICYmICFiYWNrZ3JvdW5kQ29sb3IuaW5jbHVkZXMob2JqLmJhY2tncm91bmRDb2xvcikpIHtcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvci5wdXNoKG9iai5iYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob2JqLmJvcmRlckNvbG9yICYmICFib3JkZXJDb2xvci5pbmNsdWRlcyhvYmouYm9yZGVyQ29sb3IpKSB7XHJcbiAgICAgICAgICBib3JkZXJDb2xvci5wdXNoKG9iai5ib3JkZXJDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChvYmouaG92ZXJCYWNrZ3JvdW5kQ29sb3IgJiYgIWhvdmVyQmFja2dyb3VuZENvbG9yLmluY2x1ZGVzKG9iai5ob3ZlckJhY2tncm91bmRDb2xvcikpIHtcclxuICAgICAgICAgIGhvdmVyQmFja2dyb3VuZENvbG9yLnB1c2gob2JqLmhvdmVyQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG9iai5sYWJlbERhdGFzZXQpIGxhYmVsRGF0YXNldCA9IG9iai5sYWJlbERhdGFzZXQ7XHJcblxyXG4gICAgICAgIGlmKG9iai5ib3JkZXJSYWRpdXMpIGJvcmRlclJhZGl1cyA9IG9iai5ib3JkZXJSYWRpdXM7XHJcblxyXG4gICAgICAgIGlmKG9iai5ob3Zlck9mZnNldCkgaG92ZXJPZmZzZXQgPSBvYmouaG92ZXJPZmZzZXQ7XHJcblxyXG4gICAgICAgIGlmKG9iai5ib3JkZXJXaWR0aCkgYm9yZGVyV2lkdGggPSBvYmouYm9yZGVyV2lkdGg7XHJcblxyXG4gICAgICAgIHZhbHVlcy5wdXNoKG9iai5kYXRhc2V0cyk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgZGF0YXNldHMucHVzaChcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogbGFiZWxEYXRhc2V0LFxyXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICBob3ZlckJhY2tncm91bmRDb2xvcjogaG92ZXJCYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyQ29sb3I/Lmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IGJvcmRlckNvbG9yLFxyXG4gICAgICAgICAgZGF0YTogdmFsdWVzLFxyXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiBib3JkZXJSYWRpdXMsXHJcbiAgICAgICAgICBob3Zlck9mZnNldDogaG92ZXJPZmZzZXQsXHJcbiAgICAgICAgICBib3JkZXJXaWR0aDogYm9yZGVyV2lkdGhcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGRhZG9zOiBDaGFydENvbmZpZyA9IHtcclxuICAgICAgbGFiZWxzOiBsYWJlbHMsXHJcbiAgICAgIGRhdGFzZXRzOiBkYXRhc2V0c1xyXG4gICAgfTtcclxuXHJcbiAgICByZXR1cm4gZGFkb3M7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,308 @@
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, setFormValuesCallback) {
163
+ obs.pipe(loading()).subscribe((data) => {
164
+ this.isNewRegistry = false;
165
+ this.registry = data;
166
+ if (!setFormValuesCallback)
167
+ this.setFormValues(this.registry);
168
+ else
169
+ setFormValuesCallback(this.registry);
170
+ this.loadGrids();
171
+ this.setTitlePopup();
172
+ });
173
+ }
174
+ async loadDataAsync(obs, setFormValuesCallback) {
175
+ await obs.pipe(loading()).toPromise();
176
+ const data = await obs.toPromise();
177
+ this.isNewRegistry = false;
178
+ this.registry = data;
179
+ if (!setFormValuesCallback)
180
+ this.setFormValues(this.registry);
181
+ else
182
+ setFormValuesCallback(this.registry);
183
+ this.loadGrids();
184
+ this.setTitlePopup();
185
+ }
186
+ /**
187
+ * Método disparado para carregamento de grids (Disparado após o loadData)
188
+ */
189
+ loadGrids() { }
190
+ /**
191
+ * Método disparado para retornar a lista
192
+ */
193
+ navigateList(id = null) {
194
+ if (this.popup) {
195
+ this.dynamicDialogRef.close(id);
196
+ }
197
+ else if (this.dadosTela?.rotaListar) {
198
+ this.router.navigate([this.dadosTela.rotaListar]);
199
+ }
200
+ }
201
+ ngOnDestroy() {
202
+ if (this.dynamicDialogRef) {
203
+ this.dynamicDialogRef.close();
204
+ }
205
+ }
206
+ ngOnInit() {
207
+ this.configureForm();
208
+ this.popup = this.dynamicDialogConfig?.data?.popup || false;
209
+ this.activatedRoute.params.subscribe((params) => {
210
+ if (params['id']) {
211
+ this.loadForm(params['id']);
212
+ }
213
+ else if (this.dynamicDialogConfig?.data?.id) {
214
+ this.loadForm(this.dynamicDialogConfig.data.id);
215
+ }
216
+ else {
217
+ this.isNewRegistry = true;
218
+ this.loadGrids();
219
+ this.setTitlePopup();
220
+ }
221
+ });
222
+ }
223
+ /**
224
+ * Método disparado para salvar dados
225
+ * @param obs - Observable responsável pelo salvamento dos dados
226
+ */
227
+ saveData(obs) {
228
+ obs
229
+ .pipe((src) => {
230
+ this.isSaveLoading = true;
231
+ return src.pipe(finalize(() => {
232
+ this.isSaveLoading = false;
233
+ }));
234
+ })
235
+ .subscribe({
236
+ next: (res) => {
237
+ this.notificationService.toastSuccess(res.item2[0].message);
238
+ this.navigateList(res.item1);
239
+ },
240
+ error: (e) => {
241
+ this.backendError(e);
242
+ },
243
+ });
244
+ }
245
+ /**
246
+ * Método se atualiza o valor de um componente do formGroup
247
+ * @param controName - Nome do controle
248
+ * @param value - Valor para atualização
249
+ */
250
+ setControlValue(controName, value) {
251
+ FormService.setControlValue(this.formGroup, controName, value);
252
+ }
253
+ /**
254
+ * Atualiza valores dos componentes do formGroup
255
+ * @param values - Valores para atualização
256
+ */
257
+ setFormValues(values) {
258
+ this.onSetFormValues = true;
259
+ this.formGroup.patchValue(values, { emitEvent: false });
260
+ this.onSetFormValues = false;
261
+ }
262
+ /**
263
+ * Seta o título do popup
264
+ */
265
+ setTitlePopup() {
266
+ if (this.popup) {
267
+ if (this.dynamicDialogConfig)
268
+ this.dynamicDialogConfig.header = this.dadosTela?.tituloForm;
269
+ }
270
+ }
271
+ /**
272
+ * Atualiza o validador de um componente do formGroup
273
+ * @param controName - Nome do controle
274
+ * @param validators - Regra de validação
275
+ */
276
+ setValidators(controName, validators) {
277
+ FormService.setValidators(this.formGroup, controName, validators);
278
+ }
279
+ /**
280
+ * Dispara os métodos de validações do formulário
281
+ * @returns - True/False
282
+ */
283
+ validateForm() {
284
+ let valid = false;
285
+ if (this.formGroup && this.formGroup.valid) {
286
+ valid = true;
287
+ }
288
+ else {
289
+ this.invalidateForm();
290
+ }
291
+ return valid;
292
+ }
293
+ /**
294
+ * Método que dispara a atualização da página inteira
295
+ */
296
+ refresh() {
297
+ window.location.reload();
298
+ }
299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", 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 }); }
300
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: BaseComponentCrudForm, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
301
+ }
302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentCrudForm, decorators: [{
303
+ type: Component,
304
+ args: [{
305
+ template: '',
306
+ }]
307
+ }], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.NotificationService }, { type: i3.ActivatedRoute }, { type: i1.DynamicDialogRef }, { type: i1.DynamicDialogConfig }, { type: i3.Router }] });
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY3J1ZC1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY3J1ZC1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBTXJFLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7QUFZdkUsTUFBTSxPQUFnQixxQkFDcEIsU0FBUSxpQkFBaUI7SUFpQnpCLFlBQ0UsYUFBNEIsRUFDNUIsbUJBQXdDLEVBQzlCLGNBQThCLEVBQzlCLGdCQUFrQyxFQUNsQyxtQkFBd0MsRUFDeEMsTUFBYztRQUV4QixLQUFLLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFMaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBcEJoQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLGNBQVMsR0FBYyxJQUFJLFNBQVMsQ0FBQyxF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WSxLQUFLLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDM0MsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNmLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7T0FFRztJQUNPLE9BQU87UUFDZixNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBN1ZtQixxQkFBcUI7a0dBQXJCLHFCQUFxQiwyRUFGL0IsRUFBRTs7MkZBRVEscUJBQXFCO2tCQUgxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIERpYWxvZ1NlcnZpY2UsXHJcbiAgRHluYW1pY0RpYWxvZ0NvbmZpZyxcclxuICBEeW5hbWljRGlhbG9nUmVmLFxyXG59IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgZmluYWxpemUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEFjdGlvbkl0ZW0gfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlL2FjdGlvbi1pdGVtJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudENydWQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50LWNydWQnO1xyXG5pbXBvcnQgeyBGb3JtU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Zvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGxvYWRpbmcgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2t2LWxvYWRlci9rdi1sb2FkZXIuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERhZG9zVGVsYSB7XHJcbiAgc3ViVGl0dWxvRm9ybTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIHRpdHVsb0Zvcm06IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICByb3RhTGlzdGFyOiBzdHJpbmc7XHJcbiAgbWVuc2FnZW1WYWxpZGFjYW86IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJyxcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnRDcnVkRm9ybVxyXG4gIGV4dGVuZHMgQmFzZUNvbXBvbmVudENydWRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICBwcm90ZWN0ZWQgaXNBY2NvcmRpb25FeHBhbmRlZCA9IGZhbHNlO1xyXG4gIHByb3RlY3RlZCBpc05ld1JlZ2lzdHJ5ID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIGlzU2F2ZUxvYWRpbmcgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgaXNWaWV3ID0gZmFsc2U7XHJcblxyXG4gIHByb3RlY3RlZCBmb3JtR3JvdXA6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xyXG4gIHByb3RlY3RlZCBhY3Rpb25zOiBBY3Rpb25JdGVtW10gPSBbXTtcclxuXHJcbiAgcHJvdGVjdGVkIGRhZG9zVGVsYTogRGFkb3NUZWxhIHwgdW5kZWZpbmVkO1xyXG4gIHByb3RlY3RlZCBwb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByb3RlY3RlZCByZWdpc3RyeTogYW55ID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBvblNldEZvcm1WYWx1ZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcm90ZWN0ZWQgZHluYW1pY0RpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZixcclxuICAgIHByb3RlY3RlZCBkeW5hbWljRGlhbG9nQ29uZmlnOiBEeW5hbWljRGlhbG9nQ29uZmlnLFxyXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcihkaWFsb2dTZXJ2aWNlLCBub3RpZmljYXRpb25TZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIHBhcmEgY29uZmlndXJhw6fDo28gZG8gZm9ybVxyXG4gICAqL1xyXG4gIGFic3RyYWN0IGNvbmZpZ3VyZUZvcm0oKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSBvIGNhcnJlZ2FtZW50byBkbyBmb3JtXHJcbiAgICogQHBhcmFtIGlkXHJcbiAgICovXHJcbiAgYWJzdHJhY3QgbG9hZEZvcm0oaWQ6IGFueSk6IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIHBhcmEgc2FsdmFtZW50byBkb3MgZGFkb3NcclxuICAgKi9cclxuICBhYnN0cmFjdCBzYXZlKCk6IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIHBhcmEgdHJhdGFtZW50byBkYXMgbm90aWZpY2HDp8O1ZXMgZG8gYmFja2VuZFxyXG4gICAqIEBwYXJhbSBlcnIgLSBOb3RpZmljYcOnw6NvXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGJhY2tlbmRFcnJvcihlcnI6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGVycikge1xyXG4gICAgICBpZiAoZXJyLnN0YXR1cyA9PSA0MDQpIHtcclxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIuZXJyb3IuaXRlbTJbMF0ubWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9IGVsc2UgaWYgKGVyci5zdGF0dXMgPT0gNDAwKSB7XHJcbiAgICAgICAgLy8gRXJyb3MgZGUgdmFsaWRhw6fDo28gZGUgZG9tw61uaW8gZG8gYmFja2VuZFxyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGVyci5lcnJvcikpIHtcclxuICAgICAgICAgIGlmIChlcnIuZXJyb3I/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICBpZiAoZXJyLmVycm9yLmxlbmd0aCA9PSAxICYmIGVyci5lcnJvclswXS5rZXkgPT0gJycpIHtcclxuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIuZXJyb3JbMF0ubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmludmFsaWRGb3JtKGVyci5lcnJvcik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZXJyLmVycm9yLml0ZW0yKSkge1xyXG4gICAgICAgICAgaWYgKGVyci5lcnJvci5pdGVtMj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGlmIChlcnIuZXJyb3IuaXRlbTIubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIuZXJyb3IuaXRlbTJbMF0ubWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmludmFsaWRGb3JtKGVyci5lcnJvci5pdGVtMik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKGVyci5lcnJvcj8udGl0bGUpIHtcclxuICAgICAgICAgIC8vIEVycm8gZGUganNvbiBubyBiYWNrZW5kXHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIuZXJyb3IudGl0bGUpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChlcnIuc3RhdHVzID09IDQxNSkge1xyXG4gICAgICAgIGlmIChlcnIuZXJyb3I/LnRpdGxlKSB7XHJcbiAgICAgICAgICAvLyBFcnJvIGRlIGpzb24gbm8gYmFja2VuZFxyXG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnRvYXN0RXJyb3IoZXJyLmVycm9yLnRpdGxlKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFF1YWxxdWVyIG91dHJvIHRpcG8gZGUgZXJybyBxdWUgdGVuaGEgbWVuc2FnZW1cclxuICAgICAgaWYgKGVyci5tZXNzYWdlKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnRvYXN0RXJyb3IoZXJyLm1lc3NhZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBhbyBjbGljYXIgbm8gYm90w6NvIGRlIGNhbmNlbGFtZW50b1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UucXVlc3Rpb24oe1xyXG4gICAgICB0eXBlOiAncXVlc3Rpb24nLFxyXG4gICAgICBtZXNzYWdlOiAnRGVzZWphIGNhbmNlbGFyIGEgb3BlcmHDp8Ojbz8nLFxyXG4gICAgICBhY2NlcHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLm5hdmlnYXRlTGlzdCgpO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWZXJpZmljYSBzZSBob3V2ZXJhbSBhbHRlcmHDp8O1ZXMgbm9zIGNvbXBvbmVudGVzIGRvIGZvcm1Db250cm9sXHJcbiAgICogQHBhcmFtIGNvbnRyb2xzIC0gTm9tZXMgZG8gY29udHJvbGVzIG5vIGZvcm1Hcm91cFxyXG4gICAqIEByZXR1cm5zIE9ic2VydmFibGVcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZGV0ZWN0Rm9ybUNvbnRyb2xDaGFuZ2VzKGNvbnRyb2xzOiBBcnJheTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IGNvbnRyb2xMaXN0OiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xyXG4gICAgY29udHJvbHMuZm9yRWFjaCgoY29udHJvbE5hbWUpID0+XHJcbiAgICAgIGNvbnRyb2xMaXN0LnB1c2godGhpcy5mb3JtR3JvdXAuY29udHJvbHNbY29udHJvbE5hbWVdLnZhbHVlQ2hhbmdlcylcclxuICAgICk7XHJcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChjb250cm9sTGlzdCkucGlwZShmaWx0ZXIoKCkgPT4gIXRoaXMub25TZXRGb3JtVmFsdWVzKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIHJlc3BvbnPDoXZlbCBwb3IgZGVzYWJpbGl0YXIgdW0gY29tcG9uZW50ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSAtIE5vbWUgZG8gY29udHJvbGUgbm8gZm9ybUdyb3VwXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGRpc2FibGVDb21wb25lbnQoY29udHJvbE5hbWU6IHN0cmluZykge1xyXG4gICAgRm9ybVNlcnZpY2UuZGlzYWJsZUNvbnRyb2wodGhpcy5mb3JtR3JvdXAsIGNvbnRyb2xOYW1lKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gcmVzcG9uc8OhdmVsIHBvciBsaW1wYXIgZSBkZXNhYmlsaXRhciB1bSBjb21wb25lbnRlXHJcbiAgICogQHBhcmFtIGNvbnRyb2xOYW1lIC0gTm9tZSBkbyBjb250cm9sZSBubyBmb3JtR3JvdXBcclxuICAgKiBAcGFyYW0gdmFsdWUgLSBWYWxvciBkZWZhdWx0XHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGRpc2FibGVBbmRDbGVhckNvbXBvbmVudChjb250cm9sTmFtZTogc3RyaW5nLCB2YWx1ZT86IGFueSkge1xyXG4gICAgRm9ybVNlcnZpY2UuZGlzYWJsZUFuZENsZWFyQ29udHJvbCh0aGlzLmZvcm1Hcm91cCwgY29udHJvbE5hbWUsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gcmVzcG9uc8OhdmVsIHBvciBoYWJpbGl0YXIgdW0gY29tcG9uZW50ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSAtIE5vbWUgZG8gY29udHJvbGUgbm8gZm9ybUdyb3VwXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGVuYWJsZUNvbXBvbmVudChjb250cm9OYW1lOiBzdHJpbmcpIHtcclxuICAgIEZvcm1TZXJ2aWNlLmVuYWJsZUNvbnRyb2wodGhpcy5mb3JtR3JvdXAsIGNvbnRyb05hbWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBxdWUgcmV0b3JuYSBvIHZhbG9yIGRlIHVtIGNvbXBvbmVudGVcclxuICAgKiBAcGFyYW0gY29udHJvbE5hbWUgLSBOb21lIGRvIGNvbnRyb2xlIG5vIGZvcm1Hcm91cFxyXG4gICAqIEByZXR1cm5zIC0gVmFsb3JcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZ2V0Rm9ybVZhbHVlPFQ+KGNvbnRyb2xOYW1lOiBzdHJpbmcpOiBUIHtcclxuICAgIHJldHVybiBGb3JtU2VydmljZS5nZXRGb3JtVmFsdWU8VD4odGhpcy5mb3JtR3JvdXAsIGNvbnRyb2xOYW1lKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZlcmlmaWNhIHNlIG8gY29tcG9uZW50ZSBwb3NzdWkgZXJyb1xyXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSAtIE5vbWUgZG8gY29udHJvbGUgbm8gZm9ybUdyb3VwXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGhhc0NvbnRyb2xFcnJvcihjb250cm9sTmFtZTogc3RyaW5nLCBlcnJvckNvZGU/OiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBGb3JtU2VydmljZS5oYXNDb250cm9sRXJyb3IodGhpcy5mb3JtR3JvdXAsIGNvbnRyb2xOYW1lLCBlcnJvckNvZGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0YSBpbmNvbnNpc3TDqm5jaWFzIHBhcmEgbyBmb211bMOhcmlvXHJcbiAgICogQHBhcmFtIG5vdGlmaWNhdGlvbiAtIExpc3RhIGRlIG5vdGlmaWNhw6fDtWVzXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGludmFsaWRGb3JtKG5vdGlmaWNhdGlvbj86IGFueSkge1xyXG4gICAgRm9ybVNlcnZpY2UuaW52YWxpZEZvcm0odGhpcy5mb3JtR3JvdXAsIG5vdGlmaWNhdGlvbik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmF0YW1lbnRvIGRlIGluY29uc2lzdMOqbmNpYXMgZG8gZm9ybXVsw6FyaW9cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgaW52YWxpZGF0ZUZvcm0oKSB7XHJcbiAgICB0aGlzLmlzQWNjb3JkaW9uRXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5pbnZhbGlkRm9ybSgpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhZG9zVGVsYT8ubWVuc2FnZW1WYWxpZGFjYW8pIHtcclxuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmRpYWxvZyh7XHJcbiAgICAgICAgdHlwZTogJ2FsZXJ0JyxcclxuICAgICAgICBtZXNzYWdlOiAnVmVyaWZpcXVlIG9zIGNhbXBvcyBvYnJpZ2F0w7NyaW9zLicsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyByZXNwb25zw6F2ZWwgcGVsbyBjYXJyZWdhbWVudG8gZGEgdGVsYVxyXG4gICAqIEBwYXJhbSBvYnMgLSBPYnNlcnZhYmxlIHJlc3BvbnPDoXZlbCBwZWxvIHNhbHZhbWVudG8gZG9zIGRhZG9zXHJcbiAgICovXHJcbiAgcHVibGljIGxvYWREYXRhPFQ+KG9iczogT2JzZXJ2YWJsZTxhbnk+LCBzZXRGb3JtVmFsdWVzQ2FsbGJhY2s/OiAoZGF0YTogVCkgPT4gdm9pZCkge1xyXG4gICAgb2JzLnBpcGUobG9hZGluZygpKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmlzTmV3UmVnaXN0cnkgPSBmYWxzZTtcclxuICAgICAgdGhpcy5yZWdpc3RyeSA9IGRhdGEgYXMgVDtcclxuXHJcbiAgICAgIGlmKCFzZXRGb3JtVmFsdWVzQ2FsbGJhY2spXHJcbiAgICAgICAgdGhpcy5zZXRGb3JtVmFsdWVzKHRoaXMucmVnaXN0cnkpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgc2V0Rm9ybVZhbHVlc0NhbGxiYWNrKHRoaXMucmVnaXN0cnkpO1xyXG5cclxuICAgICAgdGhpcy5sb2FkR3JpZHMoKTtcclxuICAgICAgdGhpcy5zZXRUaXRsZVBvcHVwKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGxvYWREYXRhQXN5bmM8VD4ob2JzOiBPYnNlcnZhYmxlPGFueT4sIHNldEZvcm1WYWx1ZXNDYWxsYmFjaz86IChkYXRhOiBUKSA9PiB2b2lkKSB7XHJcbiAgICBhd2FpdCBvYnMucGlwZShsb2FkaW5nKCkpLnRvUHJvbWlzZSgpO1xyXG4gICAgY29uc3QgZGF0YTogYW55ID0gYXdhaXQgb2JzLnRvUHJvbWlzZSgpO1xyXG5cclxuICAgIHRoaXMuaXNOZXdSZWdpc3RyeSA9IGZhbHNlO1xyXG4gICAgdGhpcy5yZWdpc3RyeSA9IGRhdGEgYXMgVDtcclxuXHJcbiAgICBpZighc2V0Rm9ybVZhbHVlc0NhbGxiYWNrKVxyXG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZXModGhpcy5yZWdpc3RyeSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHNldEZvcm1WYWx1ZXNDYWxsYmFjayh0aGlzLnJlZ2lzdHJ5KTtcclxuXHJcbiAgICB0aGlzLmxvYWRHcmlkcygpO1xyXG4gICAgdGhpcy5zZXRUaXRsZVBvcHVwKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGNhcnJlZ2FtZW50byBkZSBncmlkcyAoRGlzcGFyYWRvIGFww7NzIG8gbG9hZERhdGEpXHJcbiAgICovXHJcbiAgcHVibGljIGxvYWRHcmlkcygpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIHBhcmEgcmV0b3JuYXIgYSBsaXN0YVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBuYXZpZ2F0ZUxpc3QoaWQ6IGFueSA9IG51bGwpIHtcclxuICAgIGlmICh0aGlzLnBvcHVwKSB7XHJcbiAgICAgIHRoaXMuZHluYW1pY0RpYWxvZ1JlZi5jbG9zZShpZCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGFkb3NUZWxhPy5yb3RhTGlzdGFyKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmRhZG9zVGVsYS5yb3RhTGlzdGFyXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5keW5hbWljRGlhbG9nUmVmKSB7XHJcbiAgICAgIHRoaXMuZHluYW1pY0RpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5jb25maWd1cmVGb3JtKCk7XHJcblxyXG4gICAgdGhpcy5wb3B1cCA9IHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZz8uZGF0YT8ucG9wdXAgfHwgZmFsc2U7XHJcblxyXG4gICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKChwYXJhbXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocGFyYW1zWydpZCddKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkRm9ybShwYXJhbXNbJ2lkJ10pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZz8uZGF0YT8uaWQpIHtcclxuICAgICAgICB0aGlzLmxvYWRGb3JtKHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhLmlkKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzTmV3UmVnaXN0cnkgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMubG9hZEdyaWRzKCk7XHJcbiAgICAgICAgdGhpcy5zZXRUaXRsZVBvcHVwKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSBzYWx2YXIgZGFkb3NcclxuICAgKiBAcGFyYW0gb2JzIC0gT2JzZXJ2YWJsZSByZXNwb25zw6F2ZWwgcGVsbyBzYWx2YW1lbnRvIGRvcyBkYWRvc1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBzYXZlRGF0YShvYnM6IE9ic2VydmFibGU8YW55Pikge1xyXG4gICAgb2JzXHJcbiAgICAgIC5waXBlKChzcmM6IE9ic2VydmFibGU8YW55PikgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNTYXZlTG9hZGluZyA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIHNyYy5waXBlKFxyXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmlzU2F2ZUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RTdWNjZXNzKHJlcy5pdGVtMlswXS5tZXNzYWdlKTtcclxuICAgICAgICAgIHRoaXMubmF2aWdhdGVMaXN0KHJlcy5pdGVtMSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGUpID0+IHtcclxuICAgICAgICAgIHRoaXMuYmFja2VuZEVycm9yKGUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBzZSBhdHVhbGl6YSBvIHZhbG9yIGRlIHVtIGNvbXBvbmVudGUgZG8gZm9ybUdyb3VwXHJcbiAgICogQHBhcmFtIGNvbnRyb05hbWUgLSBOb21lIGRvIGNvbnRyb2xlXHJcbiAgICogQHBhcmFtIHZhbHVlIC0gVmFsb3IgcGFyYSBhdHVhbGl6YcOnw6NvXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHNldENvbnRyb2xWYWx1ZShjb250cm9OYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcclxuICAgIEZvcm1TZXJ2aWNlLnNldENvbnRyb2xWYWx1ZSh0aGlzLmZvcm1Hcm91cCwgY29udHJvTmFtZSwgdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXR1YWxpemEgdmFsb3JlcyBkb3MgY29tcG9uZW50ZXMgZG8gZm9ybUdyb3VwXHJcbiAgICogQHBhcmFtIHZhbHVlcyAtIFZhbG9yZXMgcGFyYSBhdHVhbGl6YcOnw6NvXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIHNldEZvcm1WYWx1ZXModmFsdWVzOiBhbnkpIHtcclxuICAgIHRoaXMub25TZXRGb3JtVmFsdWVzID0gdHJ1ZTtcclxuICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUodmFsdWVzLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLm9uU2V0Rm9ybVZhbHVlcyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0YSBvIHTDrXR1bG8gZG8gcG9wdXBcclxuICAgKi9cclxuICBwcml2YXRlIHNldFRpdGxlUG9wdXAoKSB7XHJcbiAgICBpZiAodGhpcy5wb3B1cCkge1xyXG4gICAgICBpZiAodGhpcy5keW5hbWljRGlhbG9nQ29uZmlnKVxyXG4gICAgICAgIHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZy5oZWFkZXIgPSB0aGlzLmRhZG9zVGVsYT8udGl0dWxvRm9ybTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEF0dWFsaXphIG8gdmFsaWRhZG9yIGRlIHVtIGNvbXBvbmVudGUgZG8gZm9ybUdyb3VwXHJcbiAgICogQHBhcmFtIGNvbnRyb05hbWUgLSBOb21lIGRvIGNvbnRyb2xlXHJcbiAgICogQHBhcmFtIHZhbGlkYXRvcnMgLSBSZWdyYSBkZSB2YWxpZGHDp8Ojb1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBzZXRWYWxpZGF0b3JzKFxyXG4gICAgY29udHJvTmFtZTogc3RyaW5nLFxyXG4gICAgdmFsaWRhdG9yczogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHwgbnVsbFxyXG4gICkge1xyXG4gICAgRm9ybVNlcnZpY2Uuc2V0VmFsaWRhdG9ycyh0aGlzLmZvcm1Hcm91cCwgY29udHJvTmFtZSwgdmFsaWRhdG9ycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwYXJhIG9zIG3DqXRvZG9zIGRlIHZhbGlkYcOnw7VlcyBkbyBmb3JtdWzDoXJpb1xyXG4gICAqIEByZXR1cm5zIC0gVHJ1ZS9GYWxzZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCB2YWxpZGF0ZUZvcm0oKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgdmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAgJiYgdGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcclxuICAgICAgdmFsaWQgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pbnZhbGlkYXRlRm9ybSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWxpZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gcXVlIGRpc3BhcmEgYSBhdHVhbGl6YcOnw6NvIGRhIHDDoWdpbmEgaW50ZWlyYVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCByZWZyZXNoKCkge1xyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,91 @@
1
+ import { Component, ViewChild } 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 { KvTableComponent } from '../../components/kv-table/kv-table.component';
6
+ import { KvTreetableComponent } from '../../components/kv-tree-table/kv-tree-table.component';
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 BaseComponentCrudList extends BaseComponentCrud {
12
+ constructor(dialogService, notificationService, router) {
13
+ super(dialogService, notificationService);
14
+ this.router = router;
15
+ this.dataSource = [];
16
+ this.totalRecords = 0;
17
+ this.actionsPageList = [];
18
+ }
19
+ ngOnInit() {
20
+ this.loadFilters();
21
+ this.configureTable();
22
+ // Tabela não configurada para paginação
23
+ if (!this.tableConfig?.lazy)
24
+ this.loadTable(new TablePaginate());
25
+ }
26
+ /**
27
+ * Método que seta o registro selecionado na tabela
28
+ * @param event - Registro
29
+ */
30
+ activeItem(event) {
31
+ this.selectedItem = event;
32
+ }
33
+ /**
34
+ * Método que dispara o carregamento da tabela
35
+ * @param obs - Observable de carregamento dos dados
36
+ */
37
+ loadData(obs) {
38
+ obs.pipe(loading()).subscribe({
39
+ next: (res) => {
40
+ if (res) {
41
+ if (Array.isArray(res)) {
42
+ //Tratamento para retorno do tipo listar ([])
43
+ this.totalRecords = res.length;
44
+ this.dataSource = res;
45
+ }
46
+ else {
47
+ //Tratamento para retorno do tipo listarPaginado (<int,[]>)
48
+ this.totalRecords = res.item1;
49
+ this.dataSource = res.item2;
50
+ }
51
+ }
52
+ },
53
+ error: (e) => {
54
+ this.toastError(e);
55
+ },
56
+ });
57
+ }
58
+ /**
59
+ * Método que dispara a paginação
60
+ */
61
+ paginate(event) {
62
+ this.loadTable(event);
63
+ }
64
+ /**
65
+ * Método que dispara a atualização da página inteira
66
+ */
67
+ refresh() {
68
+ this.loadTable(new TablePaginate());
69
+ }
70
+ resetTable() {
71
+ this.table?.resetTable();
72
+ }
73
+ resetTreeTable() {
74
+ this.treetable?.resetTreeTable();
75
+ }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentCrudList, deps: [{ token: i1.DialogService }, { token: i2.NotificationService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: BaseComponentCrudList, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: KvTableComponent, descendants: true }, { propertyName: "treetable", first: true, predicate: KvTreetableComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
78
+ }
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentCrudList, decorators: [{
80
+ type: Component,
81
+ args: [{
82
+ template: '',
83
+ }]
84
+ }], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.NotificationService }, { type: i3.Router }], propDecorators: { table: [{
85
+ type: ViewChild,
86
+ args: [KvTableComponent]
87
+ }], treetable: [{
88
+ type: ViewChild,
89
+ args: [KvTreetableComponent]
90
+ }] } });
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY3J1ZC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY3J1ZC1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWtCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUlyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFLbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOzs7OztBQUs5RixNQUFNLE9BQWdCLHFCQUNwQixTQUFRLGlCQUFpQjtJQVd6QixZQUNFLGFBQTRCLEVBQzVCLG1CQUF3QyxFQUNqQyxNQUFjO1FBRXJCLEtBQUssQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUZuQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWnZCLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFHckIsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsb0JBQWUsR0FBaUIsRUFBRSxDQUFDO0lBV25DLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV0Qix3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSTtZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUE4QkQ7OztPQUdHO0lBQ08sVUFBVSxDQUFDLEtBQVU7UUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLFFBQVEsQ0FBQyxHQUFvQjtRQUNyQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzVCLElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNSLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUN2Qiw2Q0FBNkM7d0JBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQzt3QkFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7b0JBQ3hCLENBQUM7eUJBQU0sQ0FBQzt3QkFDTiwyREFBMkQ7d0JBQzNELElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQzt3QkFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO29CQUM5QixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ08sUUFBUSxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDTyxPQUFPO1FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVTLFVBQVU7UUFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRVMsY0FBYztRQUN0QixJQUFJLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDO0lBQ25DLENBQUM7OEdBN0dtQixxQkFBcUI7a0dBQXJCLHFCQUFxQiwyRkFTOUIsZ0JBQWdCLDRFQUNoQixvQkFBb0IsdUVBWnJCLEVBQUU7OzJGQUVRLHFCQUFxQjtrQkFIMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjt5SUFVOEIsS0FBSztzQkFBakMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ00sU0FBUztzQkFBekMsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50Q3J1ZCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnQtY3J1ZCc7XHJcbmltcG9ydCB7IFRhYmxlUGFnaW5hdGUgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLnBhZ2luYXRlJztcclxuaW1wb3J0IHsgVGFibGVDb25maWcgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbmZpZyc7XHJcbmltcG9ydCB7IEFjdGlvbkl0ZW0gfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlL2FjdGlvbi1pdGVtJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBsb2FkaW5nIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9rdi1sb2FkZXIva3YtbG9hZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmVlVGFibGVDb25maWcgfSBmcm9tICcuLi9jb21wb25lbnRzL3RyZWUtdGFibGUvdHJlZS10YWJsZS5jb25maWcnO1xyXG5pbXBvcnQgeyBLdlRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9rdi10YWJsZS9rdi10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBLdlRyZWV0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMva3YtdHJlZS10YWJsZS9rdi10cmVlLXRhYmxlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ29tcG9uZW50Q3J1ZExpc3RcclxuICBleHRlbmRzIEJhc2VDb21wb25lbnRDcnVkXHJcbiAgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRhdGFTb3VyY2U6IGFueSA9IFtdO1xyXG4gIHNlbGVjdGVkSXRlbTogYW55O1xyXG4gIHRhYmxlQ29uZmlnITogVGFibGVDb25maWcgfCBUcmVlVGFibGVDb25maWc7XHJcbiAgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xyXG4gIGFjdGlvbnNQYWdlTGlzdDogQWN0aW9uSXRlbVtdID0gW107XHJcblxyXG4gIEBWaWV3Q2hpbGQoS3ZUYWJsZUNvbXBvbmVudCkgdGFibGUhOiBLdlRhYmxlQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoS3ZUcmVldGFibGVDb21wb25lbnQpIHRyZWV0YWJsZSE6IEt2VHJlZXRhYmxlQ29tcG9uZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcihkaWFsb2dTZXJ2aWNlLCBub3RpZmljYXRpb25TZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5sb2FkRmlsdGVycygpO1xyXG4gICAgdGhpcy5jb25maWd1cmVUYWJsZSgpO1xyXG5cclxuICAgIC8vIFRhYmVsYSBuw6NvIGNvbmZpZ3VyYWRhIHBhcmEgcGFnaW5hw6fDo29cclxuICAgIGlmICghdGhpcy50YWJsZUNvbmZpZz8ubGF6eSkgdGhpcy5sb2FkVGFibGUobmV3IFRhYmxlUGFnaW5hdGUoKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGNvbmZpZ3VyYcOnw6NvIGRhcyB0YWJlbGFzIGRvIGNvbXBvbmVudGUgZGUgbGlzdGFcclxuICAgKi9cclxuICBhYnN0cmFjdCBjb25maWd1cmVUYWJsZSgpOiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGVkacOnw6NvIGRlIHJlZ2lzdHJvc1xyXG4gICAqIEBwYXJhbSByZWdpc3RyeSAtIFJlZ2lzdHJvIHF1ZSBlc3TDoSBzZW5kbyBlZGl0YWRvXHJcbiAgICpcclxuICAgKi9cclxuICBhYnN0cmFjdCBlZGl0KHJlZ2lzdHJ5OiBhbnkpOiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIGNhcnJlZ2FtZW50byBkb3MgZmlsdHJvcyBkYSB0ZWxhXHJcbiAgICovXHJcbiAgYWJzdHJhY3QgbG9hZEZpbHRlcnMoKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSBjYXJyZWdhciBhIHRhYmVsYSBkbyBjb21wb25lbnRlIGRlIGxpc3RhXHJcbiAgICogQHBhcmFtIHRhYmxlUGFnaW5hdGUgLSBDbGFzc2UgZG9zIGRhZG9zIGRhIHBhZ2luYcOnw6NvIGRhIHRhYmVsYVxyXG4gICAqL1xyXG4gIGFic3RyYWN0IGxvYWRUYWJsZSh0YWJsZVBhZ2luYXRlOiBUYWJsZVBhZ2luYXRlKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gYW8gY2xpY2FyIG5vIGJvdMOjbyBkZSBub3ZvIHJlZ2lzdHJvXHJcbiAgICovXHJcbiAgYWJzdHJhY3QgbmV3UmVnaXN0cnkoKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBxdWUgc2V0YSBvIHJlZ2lzdHJvIHNlbGVjaW9uYWRvIG5hIHRhYmVsYVxyXG4gICAqIEBwYXJhbSBldmVudCAtIFJlZ2lzdHJvXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGFjdGl2ZUl0ZW0oZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSBldmVudDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gcXVlIGRpc3BhcmEgbyBjYXJyZWdhbWVudG8gZGEgdGFiZWxhXHJcbiAgICogQHBhcmFtIG9icyAtIE9ic2VydmFibGUgZGUgY2FycmVnYW1lbnRvIGRvcyBkYWRvc1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBsb2FkRGF0YShvYnM6IE9ic2VydmFibGU8YW55Pikge1xyXG4gICAgb2JzLnBpcGUobG9hZGluZygpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXMpKSB7XHJcbiAgICAgICAgICAgIC8vVHJhdGFtZW50byBwYXJhIHJldG9ybm8gZG8gdGlwbyBsaXN0YXIgKFtdKVxyXG4gICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IHJlcy5sZW5ndGg7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IHJlcztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vVHJhdGFtZW50byBwYXJhIHJldG9ybm8gZG8gdGlwbyBsaXN0YXJQYWdpbmFkbyAoPGludCxbXT4pXHJcbiAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gcmVzLml0ZW0xO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSByZXMuaXRlbTI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGUpID0+IHtcclxuICAgICAgICB0aGlzLnRvYXN0RXJyb3IoZSk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gcXVlIGRpc3BhcmEgYSBwYWdpbmHDp8Ojb1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBwYWdpbmF0ZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRUYWJsZShldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIHF1ZSBkaXNwYXJhIGEgYXR1YWxpemHDp8OjbyBkYSBww6FnaW5hIGludGVpcmFcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMubG9hZFRhYmxlKG5ldyBUYWJsZVBhZ2luYXRlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHJlc2V0VGFibGUoKSB7XHJcbiAgICB0aGlzLnRhYmxlPy5yZXNldFRhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcmVzZXRUcmVlVGFibGUoKSB7XHJcbiAgICB0aGlzLnRyZWV0YWJsZT8ucmVzZXRUcmVlVGFibGUoKTtcclxuICB9XHJcbn1cclxuIl19