keevo-components 1.8.39 → 1.8.41

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. package/README.md +24 -24
  2. package/esm2022/keevo-components.mjs +4 -4
  3. package/esm2022/lib/api/base-components/base-component-button.mjs +36 -36
  4. package/esm2022/lib/api/base-components/base-component-chart.mjs +92 -92
  5. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +298 -298
  6. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +78 -78
  7. package/esm2022/lib/api/base-components/base-component-crud.mjs +65 -65
  8. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +31 -31
  9. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +169 -169
  10. package/esm2022/lib/api/base-components/base-component-input.mjs +94 -94
  11. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +130 -130
  12. package/esm2022/lib/api/base-components/base-component.mjs +51 -51
  13. package/esm2022/lib/api/components/chart/chart.config.mjs +2 -2
  14. package/esm2022/lib/api/components/chart/chart.model.mjs +2 -2
  15. package/esm2022/lib/api/components/chart/orchart.config.mjs +2 -2
  16. package/esm2022/lib/api/components/chart/orchart.item.mjs +2 -2
  17. package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +2 -2
  18. package/esm2022/lib/api/components/table/action-item.mjs +2 -2
  19. package/esm2022/lib/api/components/table/kv-menuitem.mjs +3 -3
  20. package/esm2022/lib/api/components/table/table-dropdown-control.mjs +2 -2
  21. package/esm2022/lib/api/components/table/table.config.column.mjs +2 -2
  22. package/esm2022/lib/api/components/table/table.config.mjs +2 -2
  23. package/esm2022/lib/api/components/table/table.paginate.mjs +9 -9
  24. package/esm2022/lib/api/components/table/tabledit.config.mjs +2 -2
  25. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +2 -2
  26. package/esm2022/lib/api/directives/template/template.directive.mjs +24 -24
  27. package/esm2022/lib/api/helpers/component-providers.mjs +16 -16
  28. package/esm2022/lib/api/helpers/keevo-validators.mjs +72 -72
  29. package/esm2022/lib/api/helpers/translate-primeng.mjs +23 -23
  30. package/esm2022/lib/api/models/menu/menu.model.mjs +2 -2
  31. package/esm2022/lib/api/models/menu/menucompleto.model.mjs +2 -2
  32. package/esm2022/lib/api/models/menu/sistemamenu.model.mjs +2 -2
  33. package/esm2022/lib/api/modules/primeng.module.mjs +255 -251
  34. package/esm2022/lib/api/pipes/codigofile.pipe.mjs +19 -19
  35. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +25 -25
  36. package/esm2022/lib/api/pipes/mask.pipe.mjs +29 -29
  37. package/esm2022/lib/api/pipes/pipes.module.mjs +39 -39
  38. package/esm2022/lib/api/pipes/telefone.pipe.mjs +45 -45
  39. package/esm2022/lib/api/services/base.api.service.mjs +74 -74
  40. package/esm2022/lib/api/services/breadcrumbs.service.mjs +57 -57
  41. package/esm2022/lib/api/services/component.service.mjs +27 -27
  42. package/esm2022/lib/api/services/form.service.mjs +85 -85
  43. package/esm2022/lib/api/services/imagens.service.mjs +28 -28
  44. package/esm2022/lib/api/services/notification.service.mjs +67 -67
  45. package/esm2022/lib/api/services/object.service.mjs +39 -39
  46. package/esm2022/lib/components/keevo-components.module.mjs +137 -144
  47. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +78 -78
  48. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +32 -32
  49. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +31 -31
  50. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +31 -31
  51. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +17 -17
  52. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +17 -17
  53. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +39 -39
  54. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +92 -92
  55. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +28 -28
  56. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +145 -145
  57. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +32 -32
  58. package/esm2022/lib/components/kv-error/kv-error.component.mjs +26 -26
  59. package/esm2022/lib/components/kv-error/kv-error.module.mjs +35 -35
  60. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +26 -26
  61. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +37 -37
  62. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +88 -88
  63. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +89 -89
  64. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +29 -29
  65. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +59 -59
  66. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +33 -33
  67. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +21 -21
  68. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +42 -42
  69. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +43 -43
  70. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +24 -24
  71. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +108 -108
  72. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +44 -44
  73. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +53 -53
  74. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +34 -34
  75. package/esm2022/lib/components/kv-label/kv-label.component.mjs +15 -15
  76. package/esm2022/lib/components/kv-label/kv-label.module.mjs +24 -24
  77. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +17 -17
  78. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +28 -28
  79. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +29 -29
  80. package/esm2022/lib/components/kv-login/kv-login.component.mjs +52 -52
  81. package/esm2022/lib/components/kv-login/kv-login.module.mjs +47 -47
  82. package/esm2022/lib/components/kv-menu/kv-menu.component.mjs +189 -188
  83. package/esm2022/lib/components/kv-menu/kv-menu.module.mjs +47 -47
  84. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +67 -67
  85. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +31 -31
  86. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +100 -100
  87. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +24 -24
  88. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +147 -147
  89. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +38 -38
  90. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +48 -48
  91. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +32 -32
  92. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +58 -58
  93. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +28 -28
  94. package/esm2022/lib/components/kv-table/kv-table.component.mjs +554 -554
  95. package/esm2022/lib/components/kv-table/kv-table.module.mjs +36 -36
  96. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +567 -567
  97. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +34 -34
  98. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +215 -215
  99. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +28 -28
  100. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +30 -30
  101. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +28 -28
  102. package/esm2022/lib/components/kv-workspace/kv-workspace.component.mjs +178 -178
  103. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +51 -51
  104. package/esm2022/public-api.mjs +167 -169
  105. package/fesm2022/keevo-components.mjs +5406 -5790
  106. package/fesm2022/keevo-components.mjs.map +1 -1
  107. package/index.d.ts +5 -5
  108. package/lib/api/base-components/base-component-button.d.ts +14 -14
  109. package/lib/api/base-components/base-component-chart.d.ts +40 -40
  110. package/lib/api/base-components/base-component-crud-form.d.ts +145 -145
  111. package/lib/api/base-components/base-component-crud-list.d.ts +63 -63
  112. package/lib/api/base-components/base-component-crud.d.ts +36 -36
  113. package/lib/api/base-components/base-component-dropdown-external.d.ts +15 -15
  114. package/lib/api/base-components/base-component-dropdown.d.ts +44 -44
  115. package/lib/api/base-components/base-component-input.d.ts +31 -31
  116. package/lib/api/base-components/base-component-multi-select.d.ts +35 -35
  117. package/lib/api/base-components/base-component.d.ts +22 -22
  118. package/lib/api/components/chart/chart.config.d.ts +11 -11
  119. package/lib/api/components/chart/chart.model.d.ts +9 -9
  120. package/lib/api/components/chart/orchart.config.d.ts +35 -35
  121. package/lib/api/components/chart/orchart.item.d.ts +26 -26
  122. package/lib/api/components/dropdown/filtro.combo.d.ts +4 -4
  123. package/lib/api/components/table/action-item.d.ts +11 -11
  124. package/lib/api/components/table/kv-menuitem.d.ts +10 -10
  125. package/lib/api/components/table/table-dropdown-control.d.ts +6 -6
  126. package/lib/api/components/table/table.config.column.d.ts +25 -25
  127. package/lib/api/components/table/table.config.d.ts +19 -19
  128. package/lib/api/components/table/table.paginate.d.ts +6 -6
  129. package/lib/api/components/table/tabledit.config.d.ts +8 -8
  130. package/lib/api/components/table/tableedit.config.column.d.ts +10 -10
  131. package/lib/api/directives/template/template.directive.d.ts +11 -11
  132. package/lib/api/helpers/component-providers.d.ts +2 -2
  133. package/lib/api/helpers/keevo-validators.d.ts +11 -11
  134. package/lib/api/helpers/translate-primeng.d.ts +4 -4
  135. package/lib/api/models/menu/menu.model.d.ts +10 -10
  136. package/lib/api/models/menu/menucompleto.model.d.ts +6 -6
  137. package/lib/api/models/menu/sistemamenu.model.d.ts +8 -8
  138. package/lib/api/modules/primeng.module.d.ts +62 -61
  139. package/lib/api/pipes/codigofile.pipe.d.ts +7 -7
  140. package/lib/api/pipes/cpfcnpj.pipe.d.ts +7 -7
  141. package/lib/api/pipes/mask.pipe.d.ts +7 -7
  142. package/lib/api/pipes/pipes.module.d.ts +11 -11
  143. package/lib/api/pipes/telefone.pipe.d.ts +7 -7
  144. package/lib/api/services/base.api.service.d.ts +25 -25
  145. package/lib/api/services/breadcrumbs.service.d.ts +16 -16
  146. package/lib/api/services/component.service.d.ts +11 -11
  147. package/lib/api/services/form.service.d.ts +28 -28
  148. package/lib/api/services/imagens.service.d.ts +10 -10
  149. package/lib/api/services/notification.service.d.ts +25 -25
  150. package/lib/api/services/object.service.d.ts +9 -9
  151. package/lib/components/keevo-components.module.d.ts +24 -25
  152. package/lib/components/kv-avatar/kv-avatar.component.d.ts +22 -22
  153. package/lib/components/kv-avatar/kv-avatar.module.d.ts +10 -10
  154. package/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.d.ts +13 -13
  155. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +13 -13
  156. package/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.d.ts +7 -7
  157. package/lib/components/kv-buttons/kv-button-success/kv-button-success.component.d.ts +7 -7
  158. package/lib/components/kv-buttons/kv-button.module.d.ts +11 -11
  159. package/lib/components/kv-carousel/kv-carousel.component.d.ts +16 -16
  160. package/lib/components/kv-carousel/kv-carousel.module.d.ts +9 -9
  161. package/lib/components/kv-chart/kv-chart.component.d.ts +56 -56
  162. package/lib/components/kv-chart/kv-chart.module.d.ts +10 -10
  163. package/lib/components/kv-error/kv-error.component.d.ts +12 -12
  164. package/lib/components/kv-error/kv-error.module.d.ts +10 -10
  165. package/lib/components/kv-inputs/kv-check/kv-check.component.d.ts +11 -11
  166. package/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.d.ts +14 -14
  167. package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +36 -36
  168. package/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.d.ts +27 -27
  169. package/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.d.ts +12 -12
  170. package/lib/components/kv-inputs/kv-input-number/kv-input-number.component.d.ts +19 -19
  171. package/lib/components/kv-inputs/kv-input-password/kv-input-password.component.d.ts +13 -13
  172. package/lib/components/kv-inputs/kv-input-text/kv-input-text.component.d.ts +9 -9
  173. package/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.d.ts +16 -16
  174. package/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.d.ts +16 -16
  175. package/lib/components/kv-inputs/kv-input-time/kv-input-time.component.d.ts +10 -10
  176. package/lib/components/kv-inputs/kv-inputs.module.d.ts +25 -25
  177. package/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.d.ts +15 -15
  178. package/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.d.ts +18 -18
  179. package/lib/components/kv-inputs/kv-switch/kv-switch.component.d.ts +14 -14
  180. package/lib/components/kv-label/kv-label.component.d.ts +7 -7
  181. package/lib/components/kv-label/kv-label.module.d.ts +8 -8
  182. package/lib/components/kv-loader/kv-loader.component.d.ts +8 -8
  183. package/lib/components/kv-loader/kv-loader.module.d.ts +9 -9
  184. package/lib/components/kv-loader/kv-loader.service.d.ts +10 -10
  185. package/lib/components/kv-login/kv-login.component.d.ts +30 -30
  186. package/lib/components/kv-login/kv-login.module.d.ts +13 -13
  187. package/lib/components/kv-menu/kv-menu.component.d.ts +60 -61
  188. package/lib/components/kv-menu/kv-menu.module.d.ts +13 -13
  189. package/lib/components/kv-modal/kv-modal.component.d.ts +20 -20
  190. package/lib/components/kv-modal/kv-modal.module.d.ts +10 -10
  191. package/lib/components/kv-orgchart/kv-orgchart.component.d.ts +27 -27
  192. package/lib/components/kv-orgchart/kv-orgchart.module.d.ts +9 -9
  193. package/lib/components/kv-page-form/kv-page-form.component.d.ts +70 -70
  194. package/lib/components/kv-page-form/kv-page-form.module.d.ts +11 -11
  195. package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +20 -20
  196. package/lib/components/kv-pick-list/kv-pick-list.module.d.ts +10 -10
  197. package/lib/components/kv-progress-bar/kv-progress-bar.component.d.ts +67 -67
  198. package/lib/components/kv-progress-bar/kv-progress-bar.module.d.ts +9 -9
  199. package/lib/components/kv-table/kv-table.component.d.ts +113 -113
  200. package/lib/components/kv-table/kv-table.module.d.ts +11 -11
  201. package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +116 -116
  202. package/lib/components/kv-table-edit/kv-table-edit.module.d.ts +12 -12
  203. package/lib/components/kv-tree-table/kv-tree-table.component.d.ts +42 -42
  204. package/lib/components/kv-tree-table/kv-tree-table.module.d.ts +9 -9
  205. package/lib/components/kv-tree-view/kv-tree-view.component.d.ts +14 -14
  206. package/lib/components/kv-tree-view/kv-tree-view.module.d.ts +9 -9
  207. package/lib/components/kv-workspace/kv-workspace.component.d.ts +46 -46
  208. package/lib/components/kv-workspace/kv-workspace.module.d.ts +14 -14
  209. package/package.json +2 -2
  210. package/public-api.d.ts +163 -165
  211. package/esm2022/lib/components/kv-treetable/kv-treetable.component.mjs +0 -371
  212. package/esm2022/lib/components/kv-treetable/kv-treetable.module.mjs +0 -32
  213. package/lib/components/kv-treetable/kv-treetable.component.d.ts +0 -85
  214. package/lib/components/kv-treetable/kv-treetable.module.d.ts +0 -11
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # KeevoComponents
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project keevo-components` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project keevo-components`.
8
- > Note: Don't forget to add `--project keevo-components` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build keevo-components` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build keevo-components`, go to the dist folder `cd dist/keevo-components` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test keevo-components` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # KeevoComponents
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 15.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project keevo-components` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project keevo-components`.
8
+ > Note: Don't forget to add `--project keevo-components` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build keevo-components` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build keevo-components`, go to the dist folder `cd dist/keevo-components` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test keevo-components` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -1,5 +1,5 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Vldm8tY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2tlZXZvLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,36 +1,36 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BaseComponentButton {
4
- constructor() {
5
- this.icon = '';
6
- this.label = '';
7
- this.loading = false;
8
- this.disabled = false;
9
- this.color = 'bg-blue-100';
10
- this.onClick = new EventEmitter();
11
- }
12
- click(event) {
13
- this.onClick.emit();
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseComponentButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BaseComponentButton, selector: "ng-component", inputs: { icon: "icon", label: "label", loading: "loading", disabled: "disabled", color: "color" }, outputs: { onClick: "onClick" }, ngImport: i0, template: '', isInline: true }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseComponentButton, decorators: [{
19
- type: Component,
20
- args: [{
21
- template: '',
22
- }]
23
- }], ctorParameters: function () { return []; }, propDecorators: { icon: [{
24
- type: Input
25
- }], label: [{
26
- type: Input
27
- }], loading: [{
28
- type: Input
29
- }], disabled: [{
30
- type: Input
31
- }], color: [{
32
- type: Input
33
- }], onClick: [{
34
- type: Output
35
- }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFXOUI7UUFUUyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFVBQUssR0FBVyxhQUFhLENBQUM7UUFHN0IsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFDLENBQUM7SUFFakIsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7K0dBZlUsbUJBQW1CO21HQUFuQixtQkFBbUIseUxBRnBCLEVBQUU7OzRGQUVELG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFHVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFzZUNvbXBvbmVudEJ1dHRvbiB7XHJcblxyXG4gIEBJbnB1dCgpIGljb246IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjb2xvcjogc3RyaW5nID0gJ2JnLWJsdWUtMTAwJztcclxuXHJcblxyXG4gIEBPdXRwdXQoKSBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgY2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoKTtcclxuICB9XHJcbn1cclxuIl19
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BaseComponentButton {
4
+ constructor() {
5
+ this.icon = '';
6
+ this.label = '';
7
+ this.loading = false;
8
+ this.disabled = false;
9
+ this.color = 'bg-blue-100';
10
+ this.onClick = new EventEmitter();
11
+ }
12
+ click(event) {
13
+ this.onClick.emit();
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseComponentButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BaseComponentButton, selector: "ng-component", inputs: { icon: "icon", label: "label", loading: "loading", disabled: "disabled", color: "color" }, outputs: { onClick: "onClick" }, ngImport: i0, template: '', isInline: true }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseComponentButton, decorators: [{
19
+ type: Component,
20
+ args: [{
21
+ template: '',
22
+ }]
23
+ }], ctorParameters: function () { return []; }, propDecorators: { icon: [{
24
+ type: Input
25
+ }], label: [{
26
+ type: Input
27
+ }], loading: [{
28
+ type: Input
29
+ }], disabled: [{
30
+ type: Input
31
+ }], color: [{
32
+ type: Input
33
+ }], onClick: [{
34
+ type: Output
35
+ }] } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFXOUI7UUFUUyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFVBQUssR0FBVyxhQUFhLENBQUM7UUFHN0IsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFDLENBQUM7SUFFakIsS0FBSyxDQUFDLEtBQVU7UUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7K0dBZlUsbUJBQW1CO21HQUFuQixtQkFBbUIseUxBRnBCLEVBQUU7OzRGQUVELG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYjswRUFHVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGNsYXNzIEJhc2VDb21wb25lbnRCdXR0b24ge1xuXG4gIEBJbnB1dCgpIGljb246IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY29sb3I6IHN0cmluZyA9ICdiZy1ibHVlLTEwMCc7XG5cblxuICBAT3V0cHV0KCkgb25DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBjbGljayhldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoKTtcbiAgfVxufVxuIl19
@@ -1,92 +1,92 @@
1
- import { Component, EventEmitter, Output, ViewChild } from "@angular/core";
2
- import { KvChartComponent, PeriodosChart } from "../../components/kv-chart/kv-chart.component";
3
- import * as i0 from "@angular/core";
4
- export class BaseChartComponent {
5
- constructor() {
6
- this.selectedData = 0;
7
- this.enablePeriodos = [];
8
- this.periodos = PeriodosChart;
9
- this.onPrintReport = new EventEmitter();
10
- }
11
- changeData(event) {
12
- if (event) {
13
- this.selectedData = event?.value;
14
- this.loadData();
15
- }
16
- }
17
- ngOnInit() {
18
- this.loadData();
19
- }
20
- loadGraphic(obs) {
21
- obs
22
- .subscribe({
23
- next: (data) => {
24
- this.chartConfig = this.assembleGraphic(data);
25
- this.chartComponent?.reInit(this.chartConfig);
26
- },
27
- error: (error) => { },
28
- });
29
- }
30
- assembleGraphic(data) {
31
- let labels = [];
32
- let datasets = [];
33
- // Tratando legendas
34
- data.map((element) => {
35
- if (element.labels && !labels.includes(element.labels)) {
36
- labels.push(element.labels);
37
- }
38
- });
39
- //Descobrindo quantas dimensões tem o gráfico
40
- let numDatasets = Math.max(...data.map(o => o.numDatasets));
41
- //Populando datasets
42
- for (let i = 0; i <= numDatasets; i++) {
43
- let backgroundColor = [];
44
- let hoverBackgroundColor = [];
45
- let borderColor = [];
46
- let values = [];
47
- let labelDataset = '';
48
- data.filter((obj) => {
49
- return obj.numDatasets === i;
50
- }).map((obj) => {
51
- if (obj.backgroundColor && !backgroundColor.includes(obj.backgroundColor)) {
52
- backgroundColor.push(obj.backgroundColor);
53
- }
54
- if (obj.borderColor && !borderColor.includes(obj.borderColor)) {
55
- borderColor.push(obj.borderColor);
56
- }
57
- if (obj.hoverBackgroundColor && !hoverBackgroundColor.includes(obj.hoverBackgroundColor)) {
58
- hoverBackgroundColor.push(obj.hoverBackgroundColor);
59
- }
60
- if (obj.labelDataset)
61
- labelDataset = obj.labelDataset;
62
- values.push(obj.datasets);
63
- });
64
- datasets.push({
65
- label: labelDataset,
66
- backgroundColor: backgroundColor,
67
- hoverBackgroundColor: hoverBackgroundColor,
68
- borderColor: borderColor?.length === 0 ? undefined : borderColor,
69
- data: values
70
- });
71
- }
72
- let dados = {
73
- labels: labels,
74
- datasets: datasets
75
- };
76
- return dados;
77
- }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BaseChartComponent, selector: "ng-component", outputs: { onPrintReport: "onPrintReport" }, viewQueries: [{ propertyName: "chartComponent", first: true, predicate: KvChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true }); }
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseChartComponent, decorators: [{
82
- type: Component,
83
- args: [{
84
- template: ''
85
- }]
86
- }], ctorParameters: function () { return []; }, propDecorators: { chartComponent: [{
87
- type: ViewChild,
88
- args: [KvChartComponent]
89
- }], onPrintReport: [{
90
- type: Output
91
- }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFLL0YsTUFBTSxPQUFnQixrQkFBa0I7SUFXdEM7UUFSQSxpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixhQUFRLEdBQUcsYUFBYSxDQUFDO1FBSWYsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVoRCxDQUFDO0lBRVAsVUFBVSxDQUFDLEtBQVU7UUFDN0IsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDakIsQ0FBQztJQUlTLFdBQVcsQ0FBQyxHQUFvQjtRQUN4QyxHQUFHO2FBQ0EsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFvQixDQUFDLENBQUM7Z0JBQzlELElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMs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RTs7NEZBRVEsa0JBQWtCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiOzBFQVE4QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFakIsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQgeyBjaGFydE1vZGVsIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQubW9kZWxcIjtcclxuaW1wb3J0IHsgQ2hhcnRDb25maWcsIENoYXJ0RGF0YXNldENvbmZpZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NoYXJ0L2NoYXJ0LmNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBLdkNoYXJ0Q29tcG9uZW50LCBQZXJpb2Rvc0NoYXJ0IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMva3YtY2hhcnQva3YtY2hhcnQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNoYXJ0Q29uZmlnITogQ2hhcnRDb25maWc7XHJcbiAgc2VsZWN0ZWREYXRhOiBudW1iZXIgPSAwO1xyXG4gIGVuYWJsZVBlcmlvZG9zOiBudW1iZXJbXSA9IFtdO1xyXG4gIHBlcmlvZG9zID0gUGVyaW9kb3NDaGFydDtcclxuXHJcbiAgQFZpZXdDaGlsZChLdkNoYXJ0Q29tcG9uZW50KSBjaGFydENvbXBvbmVudD86IEt2Q2hhcnRDb21wb25lbnQ7XHJcblxyXG4gIEBPdXRwdXQoKSBvblByaW50UmVwb3J0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHJvdGVjdGVkIGNoYW5nZURhdGEoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gZXZlbnQ/LnZhbHVlO1xyXG4gICAgICB0aGlzLmxvYWREYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZERhdGEoKVxyXG4gIH1cclxuXHJcbiAgYWJzdHJhY3QgbG9hZERhdGEoKTogdm9pZDtcclxuXHJcbiAgcHJvdGVjdGVkIGxvYWRHcmFwaGljKG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XHJcbiAgICBvYnNcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jaGFydENvbmZpZyA9IHRoaXMuYXNzZW1ibGVHcmFwaGljKGRhdGEgYXMgY2hhcnRNb2RlbFtdKTtcclxuICAgICAgICAgIHRoaXMuY2hhcnRDb21wb25lbnQ/LnJlSW5pdCh0aGlzLmNoYXJ0Q29uZmlnKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4geyB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3NlbWJsZUdyYXBoaWMoZGF0YTogY2hhcnRNb2RlbFtdKSB7XHJcbiAgICBsZXQgbGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgbGV0IGRhdGFzZXRzOiBDaGFydERhdGFzZXRDb25maWdbXSA9IFtdO1xyXG5cclxuICAgIC8vIFRyYXRhbmRvIGxlZ2VuZGFzXHJcbiAgICBkYXRhLm1hcCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChlbGVtZW50LmxhYmVscyAmJiAhbGFiZWxzLmluY2x1ZGVzKGVsZW1lbnQubGFiZWxzKSkge1xyXG4gICAgICAgIGxhYmVscy5wdXNoKGVsZW1lbnQubGFiZWxzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy9EZXNjb2JyaW5kbyBxdWFudGFzIGRpbWVuc8O1ZXMgdGVtIG8gZ3LDoWZpY29cclxuICAgIGxldCBudW1EYXRhc2V0cyA9IE1hdGgubWF4KC4uLmRhdGEubWFwKG8gPT4gby5udW1EYXRhc2V0cykpO1xyXG5cclxuICAgIC8vUG9wdWxhbmRvIGRhdGFzZXRzXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBudW1EYXRhc2V0czsgaSsrKSB7XHJcbiAgICAgIGxldCBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZ1tdID0gW107XHJcbiAgICAgIGxldCBob3ZlckJhY2tncm91bmRDb2xvcjogc3RyaW5nW10gPSBbXTtcclxuICAgICAgbGV0IGJvcmRlckNvbG9yOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICBsZXQgdmFsdWVzOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgICBsZXQgbGFiZWxEYXRhc2V0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAgIGRhdGEuZmlsdGVyKChvYmopID0+IHtcclxuICAgICAgICByZXR1cm4gb2JqLm51bURhdGFzZXRzID09PSBpO1xyXG4gICAgICB9KS5tYXAoKG9iaikgPT4ge1xyXG4gICAgICAgIGlmIChvYmouYmFja2dyb3VuZENvbG9yICYmICFiYWNrZ3JvdW5kQ29sb3IuaW5jbHVkZXMob2JqLmJhY2tncm91bmRDb2xvcikpIHtcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvci5wdXNoKG9iai5iYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob2JqLmJvcmRlckNvbG9yICYmICFib3JkZXJDb2xvci5pbmNsdWRlcyhvYmouYm9yZGVyQ29sb3IpKSB7XHJcbiAgICAgICAgICBib3JkZXJDb2xvci5wdXNoKG9iai5ib3JkZXJDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChvYmouaG92ZXJCYWNrZ3JvdW5kQ29sb3IgJiYgIWhvdmVyQmFja2dyb3VuZENvbG9yLmluY2x1ZGVzKG9iai5ob3ZlckJhY2tncm91bmRDb2xvcikpIHtcclxuICAgICAgICAgIGhvdmVyQmFja2dyb3VuZENvbG9yLnB1c2gob2JqLmhvdmVyQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG9iai5sYWJlbERhdGFzZXQpIGxhYmVsRGF0YXNldCA9IG9iai5sYWJlbERhdGFzZXQ7XHJcblxyXG4gICAgICAgIHZhbHVlcy5wdXNoKG9iai5kYXRhc2V0cyk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgZGF0YXNldHMucHVzaChcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogbGFiZWxEYXRhc2V0LFxyXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICBob3ZlckJhY2tncm91bmRDb2xvcjogaG92ZXJCYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyQ29sb3I/Lmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IGJvcmRlckNvbG9yLFxyXG4gICAgICAgICAgZGF0YTogdmFsdWVzXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBkYWRvczogQ2hhcnRDb25maWcgPSB7XHJcbiAgICAgIGxhYmVsczogbGFiZWxzLFxyXG4gICAgICBkYXRhc2V0czogZGF0YXNldHNcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIGRhZG9zO1xyXG4gIH1cclxufVxyXG4iXX0=
1
+ import { Component, EventEmitter, Output, ViewChild } from "@angular/core";
2
+ import { KvChartComponent, PeriodosChart } from "../../components/kv-chart/kv-chart.component";
3
+ import * as i0 from "@angular/core";
4
+ export class BaseChartComponent {
5
+ constructor() {
6
+ this.selectedData = 0;
7
+ this.enablePeriodos = [];
8
+ this.periodos = PeriodosChart;
9
+ this.onPrintReport = new EventEmitter();
10
+ }
11
+ changeData(event) {
12
+ if (event) {
13
+ this.selectedData = event?.value;
14
+ this.loadData();
15
+ }
16
+ }
17
+ ngOnInit() {
18
+ this.loadData();
19
+ }
20
+ loadGraphic(obs) {
21
+ obs
22
+ .subscribe({
23
+ next: (data) => {
24
+ this.chartConfig = this.assembleGraphic(data);
25
+ this.chartComponent?.reInit(this.chartConfig);
26
+ },
27
+ error: (error) => { },
28
+ });
29
+ }
30
+ assembleGraphic(data) {
31
+ let labels = [];
32
+ let datasets = [];
33
+ // Tratando legendas
34
+ data.map((element) => {
35
+ if (element.labels && !labels.includes(element.labels)) {
36
+ labels.push(element.labels);
37
+ }
38
+ });
39
+ //Descobrindo quantas dimensões tem o gráfico
40
+ let numDatasets = Math.max(...data.map(o => o.numDatasets));
41
+ //Populando datasets
42
+ for (let i = 0; i <= numDatasets; i++) {
43
+ let backgroundColor = [];
44
+ let hoverBackgroundColor = [];
45
+ let borderColor = [];
46
+ let values = [];
47
+ let labelDataset = '';
48
+ data.filter((obj) => {
49
+ return obj.numDatasets === i;
50
+ }).map((obj) => {
51
+ if (obj.backgroundColor && !backgroundColor.includes(obj.backgroundColor)) {
52
+ backgroundColor.push(obj.backgroundColor);
53
+ }
54
+ if (obj.borderColor && !borderColor.includes(obj.borderColor)) {
55
+ borderColor.push(obj.borderColor);
56
+ }
57
+ if (obj.hoverBackgroundColor && !hoverBackgroundColor.includes(obj.hoverBackgroundColor)) {
58
+ hoverBackgroundColor.push(obj.hoverBackgroundColor);
59
+ }
60
+ if (obj.labelDataset)
61
+ labelDataset = obj.labelDataset;
62
+ values.push(obj.datasets);
63
+ });
64
+ datasets.push({
65
+ label: labelDataset,
66
+ backgroundColor: backgroundColor,
67
+ hoverBackgroundColor: hoverBackgroundColor,
68
+ borderColor: borderColor?.length === 0 ? undefined : borderColor,
69
+ data: values
70
+ });
71
+ }
72
+ let dados = {
73
+ labels: labels,
74
+ datasets: datasets
75
+ };
76
+ return dados;
77
+ }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BaseChartComponent, selector: "ng-component", outputs: { onPrintReport: "onPrintReport" }, viewQueries: [{ propertyName: "chartComponent", first: true, predicate: KvChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true }); }
80
+ }
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseChartComponent, decorators: [{
82
+ type: Component,
83
+ args: [{
84
+ template: ''
85
+ }]
86
+ }], ctorParameters: function () { return []; }, propDecorators: { chartComponent: [{
87
+ type: ViewChild,
88
+ args: [KvChartComponent]
89
+ }], onPrintReport: [{
90
+ type: Output
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFLL0YsTUFBTSxPQUFnQixrQkFBa0I7SUFXdEM7UUFSQSxpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixhQUFRLEdBQUcsYUFBYSxDQUFDO1FBSWYsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVoRCxDQUFDO0lBRVAsVUFBVSxDQUFDLEtBQVU7UUFDN0IsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDakIsQ0FBQztJQUlTLFdBQVcsQ0FBQyxHQUFvQjtRQUN4QyxHQUFHO2FBQ0EsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLENBQUMsSUFBUyxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFvQixDQUFDLENBQUM7Z0JBQzlELElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMs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RTs7NEZBRVEsa0JBQWtCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiOzBFQVE4QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFakIsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuXG5pbXBvcnQgeyBjaGFydE1vZGVsIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQubW9kZWxcIjtcbmltcG9ydCB7IENoYXJ0Q29uZmlnLCBDaGFydERhdGFzZXRDb25maWcgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9jaGFydC9jaGFydC5jb25maWdcIjtcbmltcG9ydCB7IEt2Q2hhcnRDb21wb25lbnQsIFBlcmlvZG9zQ2hhcnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9rdi1jaGFydC9rdi1jaGFydC5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNoYXJ0Q29uZmlnITogQ2hhcnRDb25maWc7XG4gIHNlbGVjdGVkRGF0YTogbnVtYmVyID0gMDtcbiAgZW5hYmxlUGVyaW9kb3M6IG51bWJlcltdID0gW107XG4gIHBlcmlvZG9zID0gUGVyaW9kb3NDaGFydDtcblxuICBAVmlld0NoaWxkKEt2Q2hhcnRDb21wb25lbnQpIGNoYXJ0Q29tcG9uZW50PzogS3ZDaGFydENvbXBvbmVudDtcblxuICBAT3V0cHV0KCkgb25QcmludFJlcG9ydDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwcm90ZWN0ZWQgY2hhbmdlRGF0YShldmVudDogYW55KSB7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0YSA9IGV2ZW50Py52YWx1ZTtcbiAgICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWREYXRhKClcbiAgfVxuXG4gIGFic3RyYWN0IGxvYWREYXRhKCk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGxvYWRHcmFwaGljKG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgb2JzXG4gICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2hhcnRDb25maWcgPSB0aGlzLmFzc2VtYmxlR3JhcGhpYyhkYXRhIGFzIGNoYXJ0TW9kZWxbXSk7XG4gICAgICAgICAgdGhpcy5jaGFydENvbXBvbmVudD8ucmVJbml0KHRoaXMuY2hhcnRDb25maWcpO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHsgfSxcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzc2VtYmxlR3JhcGhpYyhkYXRhOiBjaGFydE1vZGVsW10pIHtcbiAgICBsZXQgbGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGxldCBkYXRhc2V0czogQ2hhcnREYXRhc2V0Q29uZmlnW10gPSBbXTtcblxuICAgIC8vIFRyYXRhbmRvIGxlZ2VuZGFzXG4gICAgZGF0YS5tYXAoKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgaWYgKGVsZW1lbnQubGFiZWxzICYmICFsYWJlbHMuaW5jbHVkZXMoZWxlbWVudC5sYWJlbHMpKSB7XG4gICAgICAgIGxhYmVscy5wdXNoKGVsZW1lbnQubGFiZWxzKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vRGVzY29icmluZG8gcXVhbnRhcyBkaW1lbnPDtWVzIHRlbSBvIGdyw6FmaWNvXG4gICAgbGV0IG51bURhdGFzZXRzID0gTWF0aC5tYXgoLi4uZGF0YS5tYXAobyA9PiBvLm51bURhdGFzZXRzKSk7XG5cbiAgICAvL1BvcHVsYW5kbyBkYXRhc2V0c1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IG51bURhdGFzZXRzOyBpKyspIHtcbiAgICAgIGxldCBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZ1tdID0gW107XG4gICAgICBsZXQgaG92ZXJCYWNrZ3JvdW5kQ29sb3I6IHN0cmluZ1tdID0gW107XG4gICAgICBsZXQgYm9yZGVyQ29sb3I6IHN0cmluZ1tdID0gW107XG4gICAgICBsZXQgdmFsdWVzOiBudW1iZXJbXSA9IFtdO1xuICAgICAgbGV0IGxhYmVsRGF0YXNldDogc3RyaW5nID0gJyc7XG5cbiAgICAgIGRhdGEuZmlsdGVyKChvYmopID0+IHtcbiAgICAgICAgcmV0dXJuIG9iai5udW1EYXRhc2V0cyA9PT0gaTtcbiAgICAgIH0pLm1hcCgob2JqKSA9PiB7XG4gICAgICAgIGlmIChvYmouYmFja2dyb3VuZENvbG9yICYmICFiYWNrZ3JvdW5kQ29sb3IuaW5jbHVkZXMob2JqLmJhY2tncm91bmRDb2xvcikpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3IucHVzaChvYmouYmFja2dyb3VuZENvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob2JqLmJvcmRlckNvbG9yICYmICFib3JkZXJDb2xvci5pbmNsdWRlcyhvYmouYm9yZGVyQ29sb3IpKSB7XG4gICAgICAgICAgYm9yZGVyQ29sb3IucHVzaChvYmouYm9yZGVyQ29sb3IpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvYmouaG92ZXJCYWNrZ3JvdW5kQ29sb3IgJiYgIWhvdmVyQmFja2dyb3VuZENvbG9yLmluY2x1ZGVzKG9iai5ob3ZlckJhY2tncm91bmRDb2xvcikpIHtcbiAgICAgICAgICBob3ZlckJhY2tncm91bmRDb2xvci5wdXNoKG9iai5ob3ZlckJhY2tncm91bmRDb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9iai5sYWJlbERhdGFzZXQpIGxhYmVsRGF0YXNldCA9IG9iai5sYWJlbERhdGFzZXQ7XG5cbiAgICAgICAgdmFsdWVzLnB1c2gob2JqLmRhdGFzZXRzKTtcbiAgICAgIH0pO1xuXG4gICAgICBkYXRhc2V0cy5wdXNoKFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6IGxhYmVsRGF0YXNldCxcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRDb2xvcixcbiAgICAgICAgICBob3ZlckJhY2tncm91bmRDb2xvcjogaG92ZXJCYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlckNvbG9yPy5sZW5ndGggPT09IDAgPyB1bmRlZmluZWQgOiBib3JkZXJDb2xvcixcbiAgICAgICAgICBkYXRhOiB2YWx1ZXNcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgZGFkb3M6IENoYXJ0Q29uZmlnID0ge1xuICAgICAgbGFiZWxzOiBsYWJlbHMsXG4gICAgICBkYXRhc2V0czogZGF0YXNldHNcbiAgICB9O1xuXG4gICAgcmV0dXJuIGRhZG9zO1xuICB9XG59XG4iXX0=