keevo-components 1.8.539 → 1.8.541

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 (613) hide show
  1. package/ng-package.json +12 -0
  2. package/package.json +27 -40
  3. package/src/assets/.gitkeep +0 -0
  4. package/src/assets/images/LogoEvo.png +0 -0
  5. package/src/assets/images/LogoPequenaEvo.png +0 -0
  6. package/src/assets/images/background.png +0 -0
  7. package/src/assets/images/keepass-logo.png +0 -0
  8. package/src/assets/images/keepass-logo.svg +74 -0
  9. package/src/assets/images/keevo-logo.png +0 -0
  10. package/src/assets/images/logokeevo_2.png +0 -0
  11. package/src/index.ts +1 -0
  12. package/src/lib/api/base-components/base-component-button.ts +29 -0
  13. package/src/lib/api/base-components/base-component-chart.ts +118 -0
  14. package/src/lib/api/base-components/base-component-crud-form.ts +367 -0
  15. package/src/lib/api/base-components/base-component-crud-list.ts +129 -0
  16. package/src/lib/api/base-components/base-component-crud.ts +92 -0
  17. package/src/lib/api/base-components/base-component-dropdown-external.ts +29 -0
  18. package/src/lib/api/base-components/base-component-dropdown-new.ts +112 -0
  19. package/src/lib/api/base-components/base-component-dropdown.ts +257 -0
  20. package/src/lib/api/base-components/base-component-input.ts +121 -0
  21. package/src/lib/api/base-components/base-component-multi-select.ts +187 -0
  22. package/src/lib/api/base-components/base-component-table.ts +366 -0
  23. package/src/lib/api/base-components/base-component.ts +47 -0
  24. package/src/lib/api/components/chart/chart.config.ts +15 -0
  25. package/src/lib/api/components/chart/chart.model.ts +12 -0
  26. package/src/lib/api/components/chart/orchart.config.ts +51 -0
  27. package/src/lib/api/components/chart/orchartnode.ts +44 -0
  28. package/src/lib/api/components/dropdown/filtro.combo.ts +4 -0
  29. package/src/lib/api/components/stepper/kv-stepperpanel.ts +10 -0
  30. package/src/lib/api/components/table/action-item.ts +13 -0
  31. package/src/lib/api/components/table/kv-menuitem.ts +198 -0
  32. package/src/lib/api/components/table/table-dropdown-control.ts +6 -0
  33. package/src/lib/api/components/table/table.config.column.ts +38 -0
  34. package/src/lib/api/components/table/table.config.ts +36 -0
  35. package/src/lib/api/components/table/table.paginate.ts +7 -0
  36. package/{lib/api/components/table/tabledit.config.d.ts → src/lib/api/components/table/tabledit.config.ts} +9 -8
  37. package/src/lib/api/components/table/tableedit.config.column.ts +11 -0
  38. package/src/lib/api/components/tree-table/tree-table-keys.ts +12 -0
  39. package/src/lib/api/components/tree-table/tree-table.config.ts +34 -0
  40. package/src/lib/api/directives/directives.module.ts +19 -0
  41. package/src/lib/api/directives/drag/drag.directive.ts +40 -0
  42. package/src/lib/api/directives/stepper/dynamicinput.directive.ts +23 -0
  43. package/src/lib/api/directives/template/template.directive.ts +15 -0
  44. package/src/lib/api/helpers/component-providers.ts +16 -0
  45. package/src/lib/api/helpers/keevo-validators.ts +157 -0
  46. package/src/lib/api/helpers/severity-color.ts +77 -0
  47. package/src/lib/api/helpers/translate-primeng.ts +25 -0
  48. package/src/lib/api/modules/primeng.module.ts +139 -0
  49. package/src/lib/api/pipes/capitalize.pipe.ts +47 -0
  50. package/src/lib/api/pipes/cpfcnpj.pipe.ts +21 -0
  51. package/src/lib/api/pipes/mask.pipe.ts +24 -0
  52. package/src/lib/api/pipes/pipes.module.ts +26 -0
  53. package/src/lib/api/pipes/telefone.pipe.ts +38 -0
  54. package/src/lib/api/services/base.api.service.ts +115 -0
  55. package/src/lib/api/services/breadcrumbs.service.ts +71 -0
  56. package/src/lib/api/services/chat.service.ts +39 -0
  57. package/src/lib/api/services/component.service.ts +44 -0
  58. package/src/lib/api/services/docs.service.ts +129 -0
  59. package/src/lib/api/services/form.service.ts +139 -0
  60. package/src/lib/api/services/image.cutter.service.ts +290 -0
  61. package/src/lib/api/services/imagens.service.ts +28 -0
  62. package/src/lib/api/services/notification.service.ts +88 -0
  63. package/src/lib/api/services/object.service.ts +33 -0
  64. package/src/lib/api/services/orgchart.service.ts +77 -0
  65. package/src/lib/api/types/breadcrumb.model.ts +5 -0
  66. package/src/lib/api/types/severity.ts +3 -0
  67. package/src/lib/api/types/stimulsoft.reports.d.ts +67463 -0
  68. package/src/lib/components/keevo-components.module.ts +94 -0
  69. package/src/lib/components/kv-avatar/kv-avatar.component.html +34 -0
  70. package/src/lib/components/kv-avatar/kv-avatar.component.scss +114 -0
  71. package/src/lib/components/kv-avatar/kv-avatar.component.spec.ts +23 -0
  72. package/src/lib/components/kv-avatar/kv-avatar.component.ts +154 -0
  73. package/src/lib/components/kv-avatar/kv-avatar.module.ts +32 -0
  74. package/src/lib/components/kv-button/kv-button.component.html +20 -0
  75. package/src/lib/components/kv-button/kv-button.component.spec.ts +23 -0
  76. package/src/lib/components/kv-button/kv-button.component.ts +21 -0
  77. package/src/lib/components/kv-button/kv-button.module.ts +20 -0
  78. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.html +14 -0
  79. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.scss +6 -0
  80. package/src/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.ts +25 -0
  81. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.html +12 -0
  82. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.scss +28 -0
  83. package/src/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.ts +38 -0
  84. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.html +12 -0
  85. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.scss +18 -0
  86. package/src/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.ts +14 -0
  87. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.html +11 -0
  88. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.scss +17 -0
  89. package/src/lib/components/kv-buttons/kv-button-success/kv-button-success.component.ts +14 -0
  90. package/src/lib/components/kv-buttons/kv-button.module.ts +26 -0
  91. package/src/lib/components/kv-card-selection/kv-card-selection.component.html +72 -0
  92. package/src/lib/components/kv-card-selection/kv-card-selection.component.scss +54 -0
  93. package/src/lib/components/kv-card-selection/kv-card-selection.component.spec.ts +23 -0
  94. package/src/lib/components/kv-card-selection/kv-card-selection.component.ts +73 -0
  95. package/src/lib/components/kv-card-selection/kv-card-selection.module.ts +19 -0
  96. package/src/lib/components/kv-carousel/kv-carousel.component.html +26 -0
  97. package/src/lib/components/kv-carousel/kv-carousel.component.scss +32 -0
  98. package/src/lib/components/kv-carousel/kv-carousel.component.spec.ts +23 -0
  99. package/src/lib/components/kv-carousel/kv-carousel.component.ts +40 -0
  100. package/src/lib/components/kv-carousel/kv-carousel.module.ts +19 -0
  101. package/src/lib/components/kv-chart/kv-chart.component.html +38 -0
  102. package/src/lib/components/kv-chart/kv-chart.component.scss +0 -0
  103. package/src/lib/components/kv-chart/kv-chart.component.spec.ts +28 -0
  104. package/src/lib/components/kv-chart/kv-chart.component.ts +174 -0
  105. package/src/lib/components/kv-chart/kv-chart.module.ts +21 -0
  106. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.html +151 -0
  107. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.scss +159 -0
  108. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.spec.ts +23 -0
  109. package/src/lib/components/kv-content-viewer/kv-content-viewer.component.ts +133 -0
  110. package/src/lib/components/kv-content-viewer/kv-content-viewer.module.ts +21 -0
  111. package/src/lib/components/kv-error/kv-error.component.html +3 -0
  112. package/src/lib/components/kv-error/kv-error.component.scss +5 -0
  113. package/src/lib/components/kv-error/kv-error.component.ts +27 -0
  114. package/src/lib/components/kv-error/kv-error.module.ts +26 -0
  115. package/src/lib/components/kv-file-upload/kv-file-upload.component.html +56 -0
  116. package/src/lib/components/kv-file-upload/kv-file-upload.component.scss +9 -0
  117. package/src/lib/components/kv-file-upload/kv-file-upload.component.spec.ts +23 -0
  118. package/src/lib/components/kv-file-upload/kv-file-upload.component.ts +163 -0
  119. package/src/lib/components/kv-file-upload/kv-file-upload.module.ts +10 -0
  120. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.html +16 -0
  121. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.scss +18 -0
  122. package/src/lib/components/kv-file-viewer/kv-file-viewer.component.ts +42 -0
  123. package/src/lib/components/kv-file-viewer/kv-file-viewer.module.ts +14 -0
  124. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.html +34 -0
  125. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.scss +17 -0
  126. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.ts +80 -0
  127. package/src/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.ts +15 -0
  128. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.html +103 -0
  129. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.scss +153 -0
  130. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.spec.ts +23 -0
  131. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.component.ts +73 -0
  132. package/src/lib/components/kv-file-viewer-preview/kv-file-viewer-preview.module.ts +18 -0
  133. package/src/lib/components/kv-filter-card/kv-filter-card.component.html +18 -0
  134. package/src/lib/components/kv-filter-card/kv-filter-card.component.scss +74 -0
  135. package/src/lib/components/kv-filter-card/kv-filter-card.component.spec.ts +23 -0
  136. package/src/lib/components/kv-filter-card/kv-filter-card.component.ts +18 -0
  137. package/src/lib/components/kv-filter-card/kv-filter-card.module.ts +23 -0
  138. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.html +25 -0
  139. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.scss +22 -0
  140. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.spec.ts +23 -0
  141. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.ts +20 -0
  142. package/src/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.ts +20 -0
  143. package/src/lib/components/kv-g-icon/kv-g-icon.component.html +1 -0
  144. package/src/lib/components/kv-g-icon/kv-g-icon.component.scss +0 -0
  145. package/src/lib/components/kv-g-icon/kv-g-icon.component.spec.ts +23 -0
  146. package/src/lib/components/kv-g-icon/kv-g-icon.component.ts +10 -0
  147. package/src/lib/components/kv-g-icon/kv-g-icon.module.ts +11 -0
  148. package/src/lib/components/kv-home-card/kv-home-card.component.html +35 -0
  149. package/src/lib/components/kv-home-card/kv-home-card.component.scss +5 -0
  150. package/src/lib/components/kv-home-card/kv-home-card.component.spec.ts +23 -0
  151. package/src/lib/components/kv-home-card/kv-home-card.component.ts +33 -0
  152. package/src/lib/components/kv-home-card/kv-home-card.module.ts +18 -0
  153. package/src/lib/components/kv-image-upload/kv-image-upload.component.html +64 -0
  154. package/src/lib/components/kv-image-upload/kv-image-upload.component.scss +0 -0
  155. package/src/lib/components/kv-image-upload/kv-image-upload.component.ts +154 -0
  156. package/src/lib/components/kv-image-upload/kv-image-upload.module.ts +10 -0
  157. package/src/lib/components/kv-inputs/kv-check/kv-check.component.html +12 -0
  158. package/src/lib/components/kv-inputs/kv-check/kv-check.component.scss +38 -0
  159. package/src/lib/components/kv-inputs/kv-check/kv-check.component.ts +32 -0
  160. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.html +87 -0
  161. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.scss +56 -0
  162. package/src/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.ts +119 -0
  163. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.html +102 -0
  164. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.scss +45 -0
  165. package/src/lib/components/kv-inputs/kv-editor/kv-editor.component.ts +177 -0
  166. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.html +37 -0
  167. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.scss +23 -0
  168. package/src/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.ts +197 -0
  169. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.html +24 -0
  170. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.scss +0 -0
  171. package/src/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.ts +35 -0
  172. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.html +23 -0
  173. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.scss +0 -0
  174. package/src/lib/components/kv-inputs/kv-input-number/kv-input-number.component.ts +61 -0
  175. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.html +24 -0
  176. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.scss +0 -0
  177. package/src/lib/components/kv-inputs/kv-input-password/kv-input-password.component.ts +26 -0
  178. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.html +23 -0
  179. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.scss +18 -0
  180. package/src/lib/components/kv-inputs/kv-input-text/kv-input-text.component.ts +40 -0
  181. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.html +53 -0
  182. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.scss +41 -0
  183. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.spec.ts +23 -0
  184. package/src/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.ts +46 -0
  185. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.html +23 -0
  186. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.scss +0 -0
  187. package/src/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.ts +40 -0
  188. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.html +24 -0
  189. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.scss +0 -0
  190. package/src/lib/components/kv-inputs/kv-input-time/kv-input-time.component.ts +27 -0
  191. package/src/lib/components/kv-inputs/kv-inputs.module.ts +83 -0
  192. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.html +85 -0
  193. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.scss +44 -0
  194. package/src/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.ts +53 -0
  195. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.html +19 -0
  196. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.scss +22 -0
  197. package/src/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.ts +63 -0
  198. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.html +26 -0
  199. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.scss +5 -0
  200. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.spec.ts +21 -0
  201. package/src/lib/components/kv-inputs/kv-select-button/kv-select-button.component.ts +30 -0
  202. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.html +26 -0
  203. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.scss +41 -0
  204. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.spec.ts +23 -0
  205. package/src/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.ts +41 -0
  206. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.html +23 -0
  207. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.scss +35 -0
  208. package/src/lib/components/kv-inputs/kv-switch/kv-switch.component.ts +54 -0
  209. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.html +68 -0
  210. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.scss +86 -0
  211. package/src/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.ts +59 -0
  212. package/src/lib/components/kv-label/kv-label.component.html +6 -0
  213. package/src/lib/components/kv-label/kv-label.component.scss +9 -0
  214. package/src/lib/components/kv-label/kv-label.component.spec.ts +23 -0
  215. package/src/lib/components/kv-label/kv-label.component.ts +14 -0
  216. package/src/lib/components/kv-label/kv-label.module.ts +17 -0
  217. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.html +15 -0
  218. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.scss +0 -0
  219. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.spec.ts +28 -0
  220. package/src/lib/components/kv-layout/dropdown-master/dropdown-master.component.ts +34 -0
  221. package/src/lib/components/kv-layout/kv-layout.module.ts +35 -0
  222. package/src/lib/components/kv-layout/layout/kv-layout.component.html +507 -0
  223. package/src/lib/components/kv-layout/layout/kv-layout.component.scss +290 -0
  224. package/src/lib/components/kv-layout/layout/kv-layout.component.spec.ts +23 -0
  225. package/src/lib/components/kv-layout/layout/kv-layout.component.ts +344 -0
  226. package/src/lib/components/kv-loader/kv-loader.component.html +1 -0
  227. package/src/lib/components/kv-loader/kv-loader.component.ts +11 -0
  228. package/src/lib/components/kv-loader/kv-loader.module.ts +17 -0
  229. package/src/lib/components/kv-loader/kv-loader.service.ts +29 -0
  230. package/src/lib/components/kv-login/kv-login.component.html +101 -0
  231. package/src/lib/components/kv-login/kv-login.component.scss +99 -0
  232. package/src/lib/components/kv-login/kv-login.component.spec.ts +23 -0
  233. package/src/lib/components/kv-login/kv-login.component.ts +97 -0
  234. package/src/lib/components/kv-login/kv-login.module.ts +33 -0
  235. package/src/lib/components/kv-modal/kv-modal.component.html +20 -0
  236. package/src/lib/components/kv-modal/kv-modal.component.scss +37 -0
  237. package/src/lib/components/kv-modal/kv-modal.component.spec.ts +21 -0
  238. package/src/lib/components/kv-modal/kv-modal.component.ts +111 -0
  239. package/src/lib/components/kv-modal/kv-modal.module.ts +12 -0
  240. package/src/lib/components/kv-orgchart/kv-orgchart.component.html +125 -0
  241. package/src/lib/components/kv-orgchart/kv-orgchart.component.scss +73 -0
  242. package/src/lib/components/kv-orgchart/kv-orgchart.component.ts +283 -0
  243. package/src/lib/components/kv-orgchart/kv-orgchart.module.ts +31 -0
  244. package/src/lib/components/kv-page-form/kv-page-form.component.html +116 -0
  245. package/src/lib/components/kv-page-form/kv-page-form.component.scss +74 -0
  246. package/src/lib/components/kv-page-form/kv-page-form.component.spec.ts +28 -0
  247. package/src/lib/components/kv-page-form/kv-page-form.component.ts +206 -0
  248. package/src/lib/components/kv-page-form/kv-page-form.module.ts +33 -0
  249. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.html +251 -0
  250. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.scss +129 -0
  251. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.spec.ts +23 -0
  252. package/src/lib/components/kv-page-stepper/kv-page-stepper.component.ts +223 -0
  253. package/src/lib/components/kv-page-stepper/kv-page-stepper.module.ts +34 -0
  254. package/src/lib/components/kv-pick-list/kv-pick-list.component.html +31 -0
  255. package/src/lib/components/kv-pick-list/kv-pick-list.component.scss +19 -0
  256. package/src/lib/components/kv-pick-list/kv-pick-list.component.spec.ts +26 -0
  257. package/src/lib/components/kv-pick-list/kv-pick-list.component.ts +130 -0
  258. package/src/lib/components/kv-pick-list/kv-pick-list.module.ts +24 -0
  259. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.html +38 -0
  260. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.scss +128 -0
  261. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.spec.ts +21 -0
  262. package/src/lib/components/kv-progress-bar/kv-progress-bar.component.ts +75 -0
  263. package/src/lib/components/kv-progress-bar/kv-progress-bar.module.ts +19 -0
  264. package/src/lib/components/kv-report/kv-report.component.html +3 -0
  265. package/src/lib/components/kv-report/kv-report.component.scss +14 -0
  266. package/src/lib/components/kv-report/kv-report.component.spec.ts +28 -0
  267. package/src/lib/components/kv-report/kv-report.component.ts +44 -0
  268. package/src/lib/components/kv-report/kv-report.module.ts +18 -0
  269. package/src/lib/components/kv-stepper/kv-stepper.component.html +63 -0
  270. package/src/lib/components/kv-stepper/kv-stepper.component.scss +41 -0
  271. package/src/lib/components/kv-stepper/kv-stepper.component.spec.ts +23 -0
  272. package/src/lib/components/kv-stepper/kv-stepper.component.ts +73 -0
  273. package/src/lib/components/kv-stepper/kv-stepper.module.ts +24 -0
  274. package/src/lib/components/kv-table/kv-table.component.html +637 -0
  275. package/src/lib/components/kv-table/kv-table.component.spec.ts +28 -0
  276. package/src/lib/components/kv-table/kv-table.component.ts +792 -0
  277. package/src/lib/components/kv-table/kv-table.module.ts +25 -0
  278. package/src/lib/components/kv-table-edit/kv-table-edit.component.html +775 -0
  279. package/src/lib/components/kv-table-edit/kv-table-edit.component.scss +727 -0
  280. package/src/lib/components/kv-table-edit/kv-table-edit.component.ts +388 -0
  281. package/src/lib/components/kv-table-edit/kv-table-edit.module.ts +31 -0
  282. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.html +634 -0
  283. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.scss +387 -0
  284. package/src/lib/components/kv-table-expandable/kv-table-expandable.component.ts +546 -0
  285. package/src/lib/components/kv-table-expandable/kv-table-expandable.module.ts +22 -0
  286. package/src/lib/components/kv-tree-table/kv-tree-table.component.html +492 -0
  287. package/src/lib/components/kv-tree-table/kv-tree-table.component.scss +187 -0
  288. package/src/lib/components/kv-tree-table/kv-tree-table.component.spec.ts +21 -0
  289. package/src/lib/components/kv-tree-table/kv-tree-table.component.ts +355 -0
  290. package/src/lib/components/kv-tree-table/kv-tree-table.module.ts +23 -0
  291. package/src/lib/components/kv-tree-view/kv-tree-view.component.html +16 -0
  292. package/src/lib/components/kv-tree-view/kv-tree-view.component.scss +19 -0
  293. package/src/lib/components/kv-tree-view/kv-tree-view.component.spec.ts +23 -0
  294. package/src/lib/components/kv-tree-view/kv-tree-view.component.ts +73 -0
  295. package/src/lib/components/kv-tree-view/kv-tree-view.module.ts +19 -0
  296. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.html +14 -0
  297. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.scss +0 -0
  298. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.spec.ts +28 -0
  299. package/src/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.ts +77 -0
  300. package/src/lib/components/kv-workspace/kv-workspace.module.ts +43 -0
  301. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.html +20 -0
  302. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.scss +0 -0
  303. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.spec.ts +28 -0
  304. package/src/lib/components/kv-workspace/logo/kv-workspace-logo.component.ts +18 -0
  305. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.html +12 -0
  306. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.scss +0 -0
  307. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.spec.ts +28 -0
  308. package/src/lib/components/kv-workspace/master/kv-workspace-master.component.ts +72 -0
  309. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.html +50 -0
  310. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.scss +17 -0
  311. package/src/lib/components/kv-workspace/workspace/kv-workspace.component.ts +60 -0
  312. package/{public-api.d.ts → src/public-api.ts} +298 -251
  313. package/tsconfig.lib.json +14 -0
  314. package/tsconfig.lib.prod.json +10 -0
  315. package/tsconfig.spec.json +14 -0
  316. package/esm2022/keevo-components.mjs +0 -5
  317. package/esm2022/lib/api/base-components/base-component-button.mjs +0 -39
  318. package/esm2022/lib/api/base-components/base-component-chart.mjs +0 -92
  319. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +0 -302
  320. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +0 -91
  321. package/esm2022/lib/api/base-components/base-component-crud.mjs +0 -80
  322. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +0 -31
  323. package/esm2022/lib/api/base-components/base-component-dropdown.mjs +0 -238
  324. package/esm2022/lib/api/base-components/base-component-input.mjs +0 -101
  325. package/esm2022/lib/api/base-components/base-component-multi-select.mjs +0 -174
  326. package/esm2022/lib/api/base-components/base-component-table.mjs +0 -354
  327. package/esm2022/lib/api/base-components/base-component.mjs +0 -51
  328. package/esm2022/lib/api/components/chart/chart.config.mjs +0 -2
  329. package/esm2022/lib/api/components/chart/chart.model.mjs +0 -2
  330. package/esm2022/lib/api/components/chart/orchart.config.mjs +0 -2
  331. package/esm2022/lib/api/components/chart/orchartnode.mjs +0 -2
  332. package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +0 -2
  333. package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +0 -2
  334. package/esm2022/lib/api/components/table/action-item.mjs +0 -2
  335. package/esm2022/lib/api/components/table/kv-menuitem.mjs +0 -46
  336. package/esm2022/lib/api/components/table/table-dropdown-control.mjs +0 -2
  337. package/esm2022/lib/api/components/table/table.config.column.mjs +0 -2
  338. package/esm2022/lib/api/components/table/table.config.mjs +0 -2
  339. package/esm2022/lib/api/components/table/table.paginate.mjs +0 -10
  340. package/esm2022/lib/api/components/table/tabledit.config.mjs +0 -2
  341. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +0 -2
  342. package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +0 -2
  343. package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +0 -3
  344. package/esm2022/lib/api/directives/directives.module.mjs +0 -30
  345. package/esm2022/lib/api/directives/drag/drag.directive.mjs +0 -52
  346. package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +0 -31
  347. package/esm2022/lib/api/directives/template/template.directive.mjs +0 -24
  348. package/esm2022/lib/api/helpers/component-providers.mjs +0 -16
  349. package/esm2022/lib/api/helpers/keevo-validators.mjs +0 -131
  350. package/esm2022/lib/api/helpers/translate-primeng.mjs +0 -23
  351. package/esm2022/lib/api/modules/primeng.module.mjs +0 -275
  352. package/esm2022/lib/api/pipes/capitalize.pipe.mjs +0 -47
  353. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +0 -25
  354. package/esm2022/lib/api/pipes/mask.pipe.mjs +0 -29
  355. package/esm2022/lib/api/pipes/pipes.module.mjs +0 -39
  356. package/esm2022/lib/api/pipes/telefone.pipe.mjs +0 -45
  357. package/esm2022/lib/api/services/base.api.service.mjs +0 -74
  358. package/esm2022/lib/api/services/breadcrumbs.service.mjs +0 -62
  359. package/esm2022/lib/api/services/chat.service.mjs +0 -37
  360. package/esm2022/lib/api/services/component.service.mjs +0 -37
  361. package/esm2022/lib/api/services/docs.service.mjs +0 -129
  362. package/esm2022/lib/api/services/form.service.mjs +0 -95
  363. package/esm2022/lib/api/services/image.cutter.service.mjs +0 -191
  364. package/esm2022/lib/api/services/imagens.service.mjs +0 -28
  365. package/esm2022/lib/api/services/notification.service.mjs +0 -69
  366. package/esm2022/lib/api/services/object.service.mjs +0 -39
  367. package/esm2022/lib/api/services/orgchart.service.mjs +0 -64
  368. package/esm2022/lib/api/types/breadcrumb.model.mjs +0 -2
  369. package/esm2022/lib/components/keevo-components.module.mjs +0 -207
  370. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +0 -133
  371. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +0 -55
  372. package/esm2022/lib/components/kv-button/kv-button.component.mjs +0 -23
  373. package/esm2022/lib/components/kv-button/kv-button.module.mjs +0 -28
  374. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +0 -25
  375. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +0 -35
  376. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +0 -17
  377. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +0 -17
  378. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +0 -39
  379. package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +0 -60
  380. package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +0 -31
  381. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +0 -34
  382. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +0 -28
  383. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +0 -148
  384. package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +0 -32
  385. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +0 -143
  386. package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +0 -36
  387. package/esm2022/lib/components/kv-error/kv-error.component.mjs +0 -26
  388. package/esm2022/lib/components/kv-error/kv-error.module.mjs +0 -35
  389. package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +0 -160
  390. package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +0 -18
  391. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +0 -46
  392. package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +0 -20
  393. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +0 -68
  394. package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +0 -24
  395. package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +0 -29
  396. package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +0 -34
  397. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +0 -26
  398. package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +0 -28
  399. package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +0 -11
  400. package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +0 -19
  401. package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +0 -27
  402. package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +0 -32
  403. package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +0 -136
  404. package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +0 -18
  405. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +0 -29
  406. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +0 -102
  407. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +0 -148
  408. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +0 -168
  409. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +0 -30
  410. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +0 -59
  411. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +0 -33
  412. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +0 -38
  413. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +0 -47
  414. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +0 -43
  415. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +0 -24
  416. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +0 -131
  417. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +0 -48
  418. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +0 -60
  419. package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +0 -46
  420. package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +0 -36
  421. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +0 -42
  422. package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +0 -58
  423. package/esm2022/lib/components/kv-label/kv-label.component.mjs +0 -15
  424. package/esm2022/lib/components/kv-label/kv-label.module.mjs +0 -24
  425. package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +0 -28
  426. package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +0 -50
  427. package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +0 -285
  428. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +0 -16
  429. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +0 -28
  430. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +0 -29
  431. package/esm2022/lib/components/kv-login/kv-login.component.mjs +0 -62
  432. package/esm2022/lib/components/kv-login/kv-login.module.mjs +0 -47
  433. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +0 -97
  434. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +0 -20
  435. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +0 -225
  436. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +0 -59
  437. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +0 -217
  438. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +0 -41
  439. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +0 -207
  440. package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +0 -47
  441. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +0 -144
  442. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +0 -39
  443. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +0 -58
  444. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +0 -28
  445. package/esm2022/lib/components/kv-report/kv-report.component.mjs +0 -44
  446. package/esm2022/lib/components/kv-report/kv-report.module.mjs +0 -24
  447. package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +0 -76
  448. package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +0 -40
  449. package/esm2022/lib/components/kv-table/kv-table.component.mjs +0 -673
  450. package/esm2022/lib/components/kv-table/kv-table.module.mjs +0 -40
  451. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +0 -323
  452. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +0 -45
  453. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +0 -516
  454. package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +0 -40
  455. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +0 -331
  456. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +0 -39
  457. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +0 -70
  458. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +0 -28
  459. package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +0 -72
  460. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +0 -64
  461. package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +0 -22
  462. package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +0 -63
  463. package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +0 -74
  464. package/esm2022/public-api.mjs +0 -256
  465. package/fesm2022/keevo-components.mjs +0 -9735
  466. package/fesm2022/keevo-components.mjs.map +0 -1
  467. package/index.d.ts +0 -5
  468. package/lib/api/base-components/base-component-button.d.ts +0 -15
  469. package/lib/api/base-components/base-component-chart.d.ts +0 -40
  470. package/lib/api/base-components/base-component-crud-form.d.ts +0 -149
  471. package/lib/api/base-components/base-component-crud-list.d.ts +0 -70
  472. package/lib/api/base-components/base-component-crud.d.ts +0 -36
  473. package/lib/api/base-components/base-component-dropdown-external.d.ts +0 -15
  474. package/lib/api/base-components/base-component-dropdown.d.ts +0 -57
  475. package/lib/api/base-components/base-component-input.d.ts +0 -33
  476. package/lib/api/base-components/base-component-multi-select.d.ts +0 -40
  477. package/lib/api/base-components/base-component-table.d.ts +0 -88
  478. package/lib/api/base-components/base-component.d.ts +0 -22
  479. package/lib/api/components/chart/chart.config.d.ts +0 -11
  480. package/lib/api/components/chart/chart.model.d.ts +0 -9
  481. package/lib/api/components/chart/orchart.config.d.ts +0 -41
  482. package/lib/api/components/chart/orchartnode.d.ts +0 -34
  483. package/lib/api/components/dropdown/filtro.combo.d.ts +0 -4
  484. package/lib/api/components/stepper/kv-stepperpanel.d.ts +0 -9
  485. package/lib/api/components/table/action-item.d.ts +0 -13
  486. package/lib/api/components/table/kv-menuitem.d.ts +0 -152
  487. package/lib/api/components/table/table-dropdown-control.d.ts +0 -6
  488. package/lib/api/components/table/table.config.column.d.ts +0 -38
  489. package/lib/api/components/table/table.config.d.ts +0 -33
  490. package/lib/api/components/table/table.paginate.d.ts +0 -10
  491. package/lib/api/components/table/tableedit.config.column.d.ts +0 -10
  492. package/lib/api/components/tree-table/tree-table-keys.d.ts +0 -12
  493. package/lib/api/components/tree-table/tree-table.config.d.ts +0 -31
  494. package/lib/api/directives/directives.module.d.ts +0 -9
  495. package/lib/api/directives/drag/drag.directive.d.ts +0 -11
  496. package/lib/api/directives/stepper/dynamicinput.directive.d.ts +0 -15
  497. package/lib/api/directives/template/template.directive.d.ts +0 -11
  498. package/lib/api/helpers/component-providers.d.ts +0 -2
  499. package/lib/api/helpers/keevo-validators.d.ts +0 -17
  500. package/lib/api/helpers/translate-primeng.d.ts +0 -4
  501. package/lib/api/modules/primeng.module.d.ts +0 -67
  502. package/lib/api/pipes/capitalize.pipe.d.ts +0 -10
  503. package/lib/api/pipes/cpfcnpj.pipe.d.ts +0 -7
  504. package/lib/api/pipes/mask.pipe.d.ts +0 -7
  505. package/lib/api/pipes/pipes.module.d.ts +0 -11
  506. package/lib/api/pipes/telefone.pipe.d.ts +0 -7
  507. package/lib/api/services/base.api.service.d.ts +0 -25
  508. package/lib/api/services/breadcrumbs.service.d.ts +0 -16
  509. package/lib/api/services/chat.service.d.ts +0 -17
  510. package/lib/api/services/component.service.d.ts +0 -11
  511. package/lib/api/services/docs.service.d.ts +0 -12
  512. package/lib/api/services/form.service.d.ts +0 -31
  513. package/lib/api/services/image.cutter.service.d.ts +0 -15
  514. package/lib/api/services/imagens.service.d.ts +0 -10
  515. package/lib/api/services/notification.service.d.ts +0 -26
  516. package/lib/api/services/object.service.d.ts +0 -9
  517. package/lib/api/services/orgchart.service.d.ts +0 -20
  518. package/lib/api/types/breadcrumb.model.d.ts +0 -5
  519. package/lib/components/keevo-components.module.d.ts +0 -34
  520. package/lib/components/kv-avatar/kv-avatar.component.d.ts +0 -35
  521. package/lib/components/kv-avatar/kv-avatar.module.d.ts +0 -15
  522. package/lib/components/kv-button/kv-button.component.d.ts +0 -14
  523. package/lib/components/kv-button/kv-button.module.d.ts +0 -9
  524. package/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.d.ts +0 -11
  525. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +0 -15
  526. package/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.d.ts +0 -7
  527. package/lib/components/kv-buttons/kv-button-success/kv-button-success.component.d.ts +0 -7
  528. package/lib/components/kv-buttons/kv-button.module.d.ts +0 -11
  529. package/lib/components/kv-card-selection/kv-card-selection.component.d.ts +0 -25
  530. package/lib/components/kv-card-selection/kv-card-selection.module.d.ts +0 -10
  531. package/lib/components/kv-carousel/kv-carousel.component.d.ts +0 -17
  532. package/lib/components/kv-carousel/kv-carousel.module.d.ts +0 -9
  533. package/lib/components/kv-chart/kv-chart.component.d.ts +0 -57
  534. package/lib/components/kv-chart/kv-chart.module.d.ts +0 -10
  535. package/lib/components/kv-content-viewer/kv-content-viewer.component.d.ts +0 -44
  536. package/lib/components/kv-content-viewer/kv-content-viewer.module.d.ts +0 -12
  537. package/lib/components/kv-error/kv-error.component.d.ts +0 -12
  538. package/lib/components/kv-error/kv-error.module.d.ts +0 -10
  539. package/lib/components/kv-file-upload/kv-file-upload.component.d.ts +0 -32
  540. package/lib/components/kv-file-upload/kv-file-upload.module.d.ts +0 -8
  541. package/lib/components/kv-file-viewer/kv-file-viewer.component.d.ts +0 -21
  542. package/lib/components/kv-file-viewer/kv-file-viewer.module.d.ts +0 -8
  543. package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.d.ts +0 -24
  544. package/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.d.ts +0 -9
  545. package/lib/components/kv-filter-card/kv-filter-card.component.d.ts +0 -13
  546. package/lib/components/kv-filter-card/kv-filter-card.module.d.ts +0 -10
  547. package/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.d.ts +0 -10
  548. package/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.d.ts +0 -9
  549. package/lib/components/kv-g-icon/kv-g-icon.component.d.ts +0 -5
  550. package/lib/components/kv-g-icon/kv-g-icon.module.d.ts +0 -9
  551. package/lib/components/kv-home-card/kv-home-card.component.d.ts +0 -24
  552. package/lib/components/kv-home-card/kv-home-card.module.d.ts +0 -11
  553. package/lib/components/kv-image-upload/kv-image-upload.component.d.ts +0 -33
  554. package/lib/components/kv-image-upload/kv-image-upload.module.d.ts +0 -8
  555. package/lib/components/kv-inputs/kv-check/kv-check.component.d.ts +0 -12
  556. package/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.d.ts +0 -33
  557. package/lib/components/kv-inputs/kv-editor/kv-editor.component.d.ts +0 -30
  558. package/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.d.ts +0 -34
  559. package/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.d.ts +0 -12
  560. package/lib/components/kv-inputs/kv-input-number/kv-input-number.component.d.ts +0 -19
  561. package/lib/components/kv-inputs/kv-input-password/kv-input-password.component.d.ts +0 -13
  562. package/lib/components/kv-inputs/kv-input-text/kv-input-text.component.d.ts +0 -11
  563. package/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.d.ts +0 -17
  564. package/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.d.ts +0 -16
  565. package/lib/components/kv-inputs/kv-input-time/kv-input-time.component.d.ts +0 -10
  566. package/lib/components/kv-inputs/kv-inputs.module.d.ts +0 -30
  567. package/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.d.ts +0 -16
  568. package/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.d.ts +0 -20
  569. package/lib/components/kv-inputs/kv-select-button/kv-select-button.component.d.ts +0 -19
  570. package/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.d.ts +0 -24
  571. package/lib/components/kv-inputs/kv-switch/kv-switch.component.d.ts +0 -16
  572. package/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.d.ts +0 -25
  573. package/lib/components/kv-label/kv-label.component.d.ts +0 -7
  574. package/lib/components/kv-label/kv-label.module.d.ts +0 -8
  575. package/lib/components/kv-layout/dropdown-master/dropdown-master.component.d.ts +0 -12
  576. package/lib/components/kv-layout/kv-layout.module.d.ts +0 -14
  577. package/lib/components/kv-layout/layout/kv-layout.component.d.ts +0 -123
  578. package/lib/components/kv-loader/kv-loader.component.d.ts +0 -7
  579. package/lib/components/kv-loader/kv-loader.module.d.ts +0 -9
  580. package/lib/components/kv-loader/kv-loader.service.d.ts +0 -10
  581. package/lib/components/kv-login/kv-login.component.d.ts +0 -32
  582. package/lib/components/kv-login/kv-login.module.d.ts +0 -13
  583. package/lib/components/kv-modal/kv-modal.component.d.ts +0 -27
  584. package/lib/components/kv-modal/kv-modal.module.d.ts +0 -10
  585. package/lib/components/kv-orgchart/kv-orgchart.component.d.ts +0 -45
  586. package/lib/components/kv-orgchart/kv-orgchart.module.d.ts +0 -17
  587. package/lib/components/kv-page-form/kv-page-form.component.d.ts +0 -104
  588. package/lib/components/kv-page-form/kv-page-form.module.d.ts +0 -12
  589. package/lib/components/kv-page-stepper/kv-page-stepper.component.d.ts +0 -84
  590. package/lib/components/kv-page-stepper/kv-page-stepper.module.d.ts +0 -13
  591. package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +0 -50
  592. package/lib/components/kv-pick-list/kv-pick-list.module.d.ts +0 -11
  593. package/lib/components/kv-progress-bar/kv-progress-bar.component.d.ts +0 -67
  594. package/lib/components/kv-progress-bar/kv-progress-bar.module.d.ts +0 -9
  595. package/lib/components/kv-report/kv-report.component.d.ts +0 -18
  596. package/lib/components/kv-report/kv-report.module.d.ts +0 -8
  597. package/lib/components/kv-stepper/kv-stepper.component.d.ts +0 -32
  598. package/lib/components/kv-stepper/kv-stepper.module.d.ts +0 -12
  599. package/lib/components/kv-table/kv-table.component.d.ts +0 -154
  600. package/lib/components/kv-table/kv-table.module.d.ts +0 -12
  601. package/lib/components/kv-table-edit/kv-table-edit.component.d.ts +0 -61
  602. package/lib/components/kv-table-edit/kv-table-edit.module.d.ts +0 -15
  603. package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +0 -119
  604. package/lib/components/kv-table-expandable/kv-table-expandable.module.d.ts +0 -13
  605. package/lib/components/kv-tree-table/kv-tree-table.component.d.ts +0 -86
  606. package/lib/components/kv-tree-table/kv-tree-table.module.d.ts +0 -11
  607. package/lib/components/kv-tree-view/kv-tree-view.component.d.ts +0 -21
  608. package/lib/components/kv-tree-view/kv-tree-view.module.d.ts +0 -9
  609. package/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.d.ts +0 -20
  610. package/lib/components/kv-workspace/kv-workspace.module.d.ts +0 -18
  611. package/lib/components/kv-workspace/logo/kv-workspace-logo.component.d.ts +0 -11
  612. package/lib/components/kv-workspace/master/kv-workspace-master.component.d.ts +0 -18
  613. package/lib/components/kv-workspace/workspace/kv-workspace.component.d.ts +0 -29
@@ -1,39 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BaseComponentButton {
4
- constructor() {
5
- this.icon = '';
6
- this.label = '';
7
- this.loading = false;
8
- this.disabled = false;
9
- this.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
@@ -1,92 +0,0 @@
1
- import { Component, EventEmitter, Output, ViewChild } from "@angular/core";
2
- import { KvChartComponent, PeriodosChart } from "../../components/kv-chart/kv-chart.component";
3
- import * as i0 from "@angular/core";
4
- export class BaseChartComponent {
5
- constructor() {
6
- this.selectedData = 0;
7
- this.enablePeriodos = [];
8
- this.periodos = PeriodosChart;
9
- this.onPrintReport = new EventEmitter();
10
- }
11
- changeData(event) {
12
- if (event) {
13
- this.selectedData = event?.value;
14
- this.loadData();
15
- }
16
- }
17
- ngOnInit() {
18
- this.loadData();
19
- }
20
- loadGraphic(obs) {
21
- obs
22
- .subscribe({
23
- next: (data) => {
24
- this.chartConfig = this.assembleGraphic(data);
25
- this.chartComponent?.reInit(this.chartConfig);
26
- },
27
- error: (error) => { },
28
- });
29
- }
30
- assembleGraphic(data) {
31
- let labels = [];
32
- let datasets = [];
33
- // Tratando legendas
34
- data.map((element) => {
35
- if (element.labels && !labels.includes(element.labels)) {
36
- labels.push(element.labels);
37
- }
38
- });
39
- //Descobrindo quantas dimensões tem o gráfico
40
- let numDatasets = Math.max(...data.map(o => o.numDatasets));
41
- //Populando datasets
42
- for (let i = 0; i <= numDatasets; i++) {
43
- let backgroundColor = [];
44
- let hoverBackgroundColor = [];
45
- let borderColor = [];
46
- let values = [];
47
- let labelDataset = '';
48
- data.filter((obj) => {
49
- return obj.numDatasets === i;
50
- }).map((obj) => {
51
- if (obj.backgroundColor && !backgroundColor.includes(obj.backgroundColor)) {
52
- backgroundColor.push(obj.backgroundColor);
53
- }
54
- if (obj.borderColor && !borderColor.includes(obj.borderColor)) {
55
- borderColor.push(obj.borderColor);
56
- }
57
- if (obj.hoverBackgroundColor && !hoverBackgroundColor.includes(obj.hoverBackgroundColor)) {
58
- hoverBackgroundColor.push(obj.hoverBackgroundColor);
59
- }
60
- if (obj.labelDataset)
61
- labelDataset = obj.labelDataset;
62
- values.push(obj.datasets);
63
- });
64
- datasets.push({
65
- label: labelDataset,
66
- backgroundColor: backgroundColor,
67
- hoverBackgroundColor: hoverBackgroundColor,
68
- borderColor: borderColor?.length === 0 ? undefined : borderColor,
69
- data: values
70
- });
71
- }
72
- let dados = {
73
- labels: labels,
74
- datasets: datasets
75
- };
76
- return dados;
77
- }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
79
- 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 }); }
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseChartComponent, decorators: [{
82
- type: Component,
83
- args: [{
84
- template: ''
85
- }]
86
- }], ctorParameters: () => [], propDecorators: { chartComponent: [{
87
- type: ViewChild,
88
- args: [KvChartComponent]
89
- }], onPrintReport: [{
90
- type: Output
91
- }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFLL0YsTUFBTSxPQUFnQixrQkFBa0I7SUFXdEM7UUFSQSxpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixhQUFRLEdBQUcsYUFBYSxDQUFDO1FBSWYsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVoRCxDQUFDO0lBRVAsVUFBVSxDQUFDLEtBQVU7UUFDN0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2pCLENBQUM7SUFJUyxXQUFXLENBQUMsR0FBb0I7UUFDeEMsR0FBRzthQUNBLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBb0IsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUNELEtBQUss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ZixDQUFDOzhHQTdGbUIsa0JBQWtCO2tHQUFsQixrQkFBa0IsaUpBTzNCLGdCQUFnQixnREFUakIsRUFBRTs7MkZBRVEsa0JBQWtCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiO3dEQVE4QixjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFakIsYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQgeyBjaGFydE1vZGVsIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQubW9kZWxcIjtcclxuaW1wb3J0IHsgQ2hhcnRDb25maWcsIENoYXJ0RGF0YXNldENvbmZpZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NoYXJ0L2NoYXJ0LmNvbmZpZ1wiO1xyXG5pbXBvcnQgeyBLdkNoYXJ0Q29tcG9uZW50LCBQZXJpb2Rvc0NoYXJ0IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMva3YtY2hhcnQva3YtY2hhcnQuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNoYXJ0Q29uZmlnITogQ2hhcnRDb25maWc7XHJcbiAgc2VsZWN0ZWREYXRhOiBudW1iZXIgPSAwO1xyXG4gIGVuYWJsZVBlcmlvZG9zOiBudW1iZXJbXSA9IFtdO1xyXG4gIHBlcmlvZG9zID0gUGVyaW9kb3NDaGFydDtcclxuXHJcbiAgQFZpZXdDaGlsZChLdkNoYXJ0Q29tcG9uZW50KSBjaGFydENvbXBvbmVudD86IEt2Q2hhcnRDb21wb25lbnQ7XHJcblxyXG4gIEBPdXRwdXQoKSBvblByaW50UmVwb3J0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHJvdGVjdGVkIGNoYW5nZURhdGEoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhID0gZXZlbnQ/LnZhbHVlO1xyXG4gICAgICB0aGlzLmxvYWREYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZERhdGEoKVxyXG4gIH1cclxuXHJcbiAgYWJzdHJhY3QgbG9hZERhdGEoKTogdm9pZDtcclxuXHJcbiAgcHJvdGVjdGVkIGxvYWRHcmFwaGljKG9iczogT2JzZXJ2YWJsZTxhbnk+KSB7XHJcbiAgICBvYnNcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jaGFydENvbmZpZyA9IHRoaXMuYXNzZW1ibGVHcmFwaGljKGRhdGEgYXMgY2hhcnRNb2RlbFtdKTtcclxuICAgICAgICAgIHRoaXMuY2hhcnRDb21wb25lbnQ/LnJlSW5pdCh0aGlzLmNoYXJ0Q29uZmlnKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4geyB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhc3NlbWJsZUdyYXBoaWMoZGF0YTogY2hhcnRNb2RlbFtdKSB7XHJcbiAgICBsZXQgbGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgbGV0IGRhdGFzZXRzOiBDaGFydERhdGFzZXRDb25maWdbXSA9IFtdO1xyXG5cclxuICAgIC8vIFRyYXRhbmRvIGxlZ2VuZGFzXHJcbiAgICBkYXRhLm1hcCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChlbGVtZW50LmxhYmVscyAmJiAhbGFiZWxzLmluY2x1ZGVzKGVsZW1lbnQubGFiZWxzKSkge1xyXG4gICAgICAgIGxhYmVscy5wdXNoKGVsZW1lbnQubGFiZWxzKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgLy9EZXNjb2JyaW5kbyBxdWFudGFzIGRpbWVuc8O1ZXMgdGVtIG8gZ3LDoWZpY29cclxuICAgIGxldCBudW1EYXRhc2V0cyA9IE1hdGgubWF4KC4uLmRhdGEubWFwKG8gPT4gby5udW1EYXRhc2V0cykpO1xyXG5cclxuICAgIC8vUG9wdWxhbmRvIGRhdGFzZXRzXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBudW1EYXRhc2V0czsgaSsrKSB7XHJcbiAgICAgIGxldCBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZ1tdID0gW107XHJcbiAgICAgIGxldCBob3ZlckJhY2tncm91bmRDb2xvcjogc3RyaW5nW10gPSBbXTtcclxuICAgICAgbGV0IGJvcmRlckNvbG9yOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICBsZXQgdmFsdWVzOiBudW1iZXJbXSA9IFtdO1xyXG4gICAgICBsZXQgbGFiZWxEYXRhc2V0OiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAgIGRhdGEuZmlsdGVyKChvYmopID0+IHtcclxuICAgICAgICByZXR1cm4gb2JqLm51bURhdGFzZXRzID09PSBpO1xyXG4gICAgICB9KS5tYXAoKG9iaikgPT4ge1xyXG4gICAgICAgIGlmIChvYmouYmFja2dyb3VuZENvbG9yICYmICFiYWNrZ3JvdW5kQ29sb3IuaW5jbHVkZXMob2JqLmJhY2tncm91bmRDb2xvcikpIHtcclxuICAgICAgICAgIGJhY2tncm91bmRDb2xvci5wdXNoKG9iai5iYWNrZ3JvdW5kQ29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob2JqLmJvcmRlckNvbG9yICYmICFib3JkZXJDb2xvci5pbmNsdWRlcyhvYmouYm9yZGVyQ29sb3IpKSB7XHJcbiAgICAgICAgICBib3JkZXJDb2xvci5wdXNoKG9iai5ib3JkZXJDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChvYmouaG92ZXJCYWNrZ3JvdW5kQ29sb3IgJiYgIWhvdmVyQmFja2dyb3VuZENvbG9yLmluY2x1ZGVzKG9iai5ob3ZlckJhY2tncm91bmRDb2xvcikpIHtcclxuICAgICAgICAgIGhvdmVyQmFja2dyb3VuZENvbG9yLnB1c2gob2JqLmhvdmVyQmFja2dyb3VuZENvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG9iai5sYWJlbERhdGFzZXQpIGxhYmVsRGF0YXNldCA9IG9iai5sYWJlbERhdGFzZXQ7XHJcblxyXG4gICAgICAgIHZhbHVlcy5wdXNoKG9iai5kYXRhc2V0cyk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgZGF0YXNldHMucHVzaChcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogbGFiZWxEYXRhc2V0LFxyXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICBob3ZlckJhY2tncm91bmRDb2xvcjogaG92ZXJCYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyQ29sb3I/Lmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IGJvcmRlckNvbG9yLFxyXG4gICAgICAgICAgZGF0YTogdmFsdWVzXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBkYWRvczogQ2hhcnRDb25maWcgPSB7XHJcbiAgICAgIGxhYmVsczogbGFiZWxzLFxyXG4gICAgICBkYXRhc2V0czogZGF0YXNldHNcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIGRhZG9zO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,302 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { FormGroup } from '@angular/forms';
3
- import { combineLatest, filter, finalize } from 'rxjs';
4
- import { BaseComponentCrud } from './base-component-crud';
5
- import { FormService } from '../services/form.service';
6
- import { loading } from '../../components/kv-loader/kv-loader.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "primeng/dynamicdialog";
9
- import * as i2 from "../services/notification.service";
10
- import * as i3 from "@angular/router";
11
- export class BaseComponentCrudForm extends BaseComponentCrud {
12
- constructor(dialogService, notificationService, activatedRoute, dynamicDialogRef, dynamicDialogConfig, router) {
13
- super(dialogService, notificationService);
14
- this.activatedRoute = activatedRoute;
15
- this.dynamicDialogRef = dynamicDialogRef;
16
- this.dynamicDialogConfig = dynamicDialogConfig;
17
- this.router = router;
18
- this.isAccordionExpanded = false;
19
- this.isNewRegistry = false;
20
- this.isSaveLoading = false;
21
- this.isView = false;
22
- this.formGroup = new FormGroup({});
23
- this.actions = [];
24
- this.popup = false;
25
- this.registry = null;
26
- this.onSetFormValues = false;
27
- }
28
- /**
29
- * Método disparado para tratamento das notificações do backend
30
- * @param err - Notificação
31
- */
32
- backendError(err) {
33
- if (err) {
34
- if (err.status == 404) {
35
- this.notificationService.toastError(err.error.item2[0].message);
36
- return;
37
- }
38
- else if (err.status == 400) {
39
- // Erros de validação de domínio do backend
40
- if (Array.isArray(err.error)) {
41
- if (err.error?.length) {
42
- if (err.error.length == 1 && err.error[0].key == '') {
43
- this.notificationService.toastError(err.error[0].message);
44
- return;
45
- }
46
- this.invalidForm(err.error);
47
- return;
48
- }
49
- }
50
- else if (Array.isArray(err.error.item2)) {
51
- if (err.error.item2?.length) {
52
- if (err.error.item2.length == 1) {
53
- this.notificationService.toastError(err.error.item2[0].message);
54
- return;
55
- }
56
- this.invalidForm(err.error.item2);
57
- return;
58
- }
59
- }
60
- else if (err.error?.title) {
61
- // Erro de json no backend
62
- this.notificationService.toastError(err.error.title);
63
- return;
64
- }
65
- }
66
- else if (err.status == 415) {
67
- if (err.error?.title) {
68
- // Erro de json no backend
69
- this.notificationService.toastError(err.error.title);
70
- return;
71
- }
72
- }
73
- // Qualquer outro tipo de erro que tenha mensagem
74
- if (err.message) {
75
- this.notificationService.toastError(err.message);
76
- }
77
- }
78
- }
79
- /**
80
- * Método disparado ao clicar no botão de cancelamento
81
- */
82
- cancel() {
83
- this.notificationService.question({
84
- type: 'question',
85
- message: 'Deseja cancelar a operação?',
86
- accept: () => {
87
- this.navigateList();
88
- },
89
- });
90
- }
91
- /**
92
- * Verifica se houveram alterações nos componentes do formControl
93
- * @param controls - Nomes do controles no formGroup
94
- * @returns Observable
95
- */
96
- detectFormControlChanges(controls) {
97
- const controlList = [];
98
- controls.forEach((controlName) => controlList.push(this.formGroup.controls[controlName].valueChanges));
99
- return combineLatest(controlList).pipe(filter(() => !this.onSetFormValues));
100
- }
101
- /**
102
- * Método responsável por desabilitar um componente
103
- * @param controlName - Nome do controle no formGroup
104
- */
105
- disableComponent(controlName) {
106
- FormService.disableControl(this.formGroup, controlName);
107
- }
108
- /**
109
- * Método responsável por limpar e desabilitar um componente
110
- * @param controlName - Nome do controle no formGroup
111
- * @param value - Valor default
112
- */
113
- disableAndClearComponent(controlName, value) {
114
- FormService.disableAndClearControl(this.formGroup, controlName, value);
115
- }
116
- /**
117
- * Método responsável por habilitar um componente
118
- * @param controlName - Nome do controle no formGroup
119
- */
120
- enableComponent(controName) {
121
- FormService.enableControl(this.formGroup, controName);
122
- }
123
- /**
124
- * Método que retorna o valor de um componente
125
- * @param controlName - Nome do controle no formGroup
126
- * @returns - Valor
127
- */
128
- getFormValue(controlName) {
129
- return FormService.getFormValue(this.formGroup, controlName);
130
- }
131
- /**
132
- * Verifica se o componente possui erro
133
- * @param controlName - Nome do controle no formGroup
134
- */
135
- hasControlError(controlName, errorCode) {
136
- return FormService.hasControlError(this.formGroup, controlName, errorCode);
137
- }
138
- /**
139
- * Seta inconsistências para o fomulário
140
- * @param notification - Lista de notificações
141
- */
142
- invalidForm(notification) {
143
- FormService.invalidForm(this.formGroup, notification);
144
- }
145
- /**
146
- * Tratamento de inconsistências do formulário
147
- */
148
- invalidateForm() {
149
- this.isAccordionExpanded = true;
150
- this.invalidForm();
151
- if (this.dadosTela?.mensagemValidacao) {
152
- this.notificationService.dialog({
153
- type: 'alert',
154
- message: 'Verifique os campos obrigatórios.',
155
- });
156
- }
157
- }
158
- /**
159
- * Método responsável pelo carregamento da tela
160
- * @param obs - Observable responsável pelo salvamento dos dados
161
- */
162
- loadData(obs) {
163
- obs.pipe(loading()).subscribe((data) => {
164
- this.isNewRegistry = false;
165
- this.registry = data;
166
- this.setFormValues(this.registry);
167
- this.loadGrids();
168
- this.setTitlePopup();
169
- });
170
- }
171
- async loadDataAsync(obs) {
172
- await obs.pipe(loading()).toPromise();
173
- const data = await obs.toPromise();
174
- this.isNewRegistry = false;
175
- this.registry = data;
176
- this.setFormValues(this.registry);
177
- this.loadGrids();
178
- this.setTitlePopup();
179
- }
180
- /**
181
- * Método disparado para carregamento de grids (Disparado após o loadData)
182
- */
183
- loadGrids() { }
184
- /**
185
- * Método disparado para retornar a lista
186
- */
187
- navigateList(id = null) {
188
- if (this.popup) {
189
- this.dynamicDialogRef.close(id);
190
- }
191
- else if (this.dadosTela?.rotaListar) {
192
- this.router.navigate([this.dadosTela.rotaListar]);
193
- }
194
- }
195
- ngOnDestroy() {
196
- if (this.dynamicDialogRef) {
197
- this.dynamicDialogRef.close();
198
- }
199
- }
200
- ngOnInit() {
201
- this.configureForm();
202
- this.popup = this.dynamicDialogConfig?.data?.popup || false;
203
- this.activatedRoute.params.subscribe((params) => {
204
- if (params['id']) {
205
- this.loadForm(params['id']);
206
- }
207
- else if (this.dynamicDialogConfig?.data?.id) {
208
- this.loadForm(this.dynamicDialogConfig.data.id);
209
- }
210
- else {
211
- this.isNewRegistry = true;
212
- this.loadGrids();
213
- this.setTitlePopup();
214
- }
215
- });
216
- }
217
- /**
218
- * Método disparado para salvar dados
219
- * @param obs - Observable responsável pelo salvamento dos dados
220
- */
221
- saveData(obs) {
222
- obs
223
- .pipe((src) => {
224
- this.isSaveLoading = true;
225
- return src.pipe(finalize(() => {
226
- this.isSaveLoading = false;
227
- }));
228
- })
229
- .subscribe({
230
- next: (res) => {
231
- this.notificationService.toastSuccess(res.item2[0].message);
232
- this.navigateList(res.item1);
233
- },
234
- error: (e) => {
235
- this.backendError(e);
236
- },
237
- });
238
- }
239
- /**
240
- * Método se atualiza o valor de um componente do formGroup
241
- * @param controName - Nome do controle
242
- * @param value - Valor para atualização
243
- */
244
- setControlValue(controName, value) {
245
- FormService.setControlValue(this.formGroup, controName, value);
246
- }
247
- /**
248
- * Atualiza valores dos componentes do formGroup
249
- * @param values - Valores para atualização
250
- */
251
- setFormValues(values) {
252
- this.onSetFormValues = true;
253
- this.formGroup.patchValue(values, { emitEvent: false });
254
- this.onSetFormValues = false;
255
- }
256
- /**
257
- * Seta o título do popup
258
- */
259
- setTitlePopup() {
260
- if (this.popup) {
261
- if (this.dynamicDialogConfig)
262
- this.dynamicDialogConfig.header = this.dadosTela?.tituloForm;
263
- }
264
- }
265
- /**
266
- * Atualiza o validador de um componente do formGroup
267
- * @param controName - Nome do controle
268
- * @param validators - Regra de validação
269
- */
270
- setValidators(controName, validators) {
271
- FormService.setValidators(this.formGroup, controName, validators);
272
- }
273
- /**
274
- * Dispara os métodos de validações do formulário
275
- * @returns - True/False
276
- */
277
- validateForm() {
278
- let valid = false;
279
- if (this.formGroup && this.formGroup.valid) {
280
- valid = true;
281
- }
282
- else {
283
- this.invalidateForm();
284
- }
285
- return valid;
286
- }
287
- /**
288
- * Método que dispara a atualização da página inteira
289
- */
290
- refresh() {
291
- window.location.reload();
292
- }
293
- 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 }); }
294
- 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 }); }
295
- }
296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: BaseComponentCrudForm, decorators: [{
297
- type: Component,
298
- args: [{
299
- template: '',
300
- }]
301
- }], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.NotificationService }, { type: i3.ActivatedRoute }, { type: i1.DynamicDialogRef }, { type: i1.DynamicDialogConfig }, { type: i3.Router }] });
302
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtY3J1ZC1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtY3J1ZC1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQTZCLE1BQU0sZUFBZSxDQUFDO0FBTXJFLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7Ozs7QUFZdkUsTUFBTSxPQUFnQixxQkFDcEIsU0FBUSxpQkFBaUI7SUFpQnpCLFlBQ0UsYUFBNEIsRUFDNUIsbUJBQXdDLEVBQzlCLGNBQThCLEVBQzlCLGdCQUFrQyxFQUNsQyxtQkFBd0MsRUFDeEMsTUFBYztRQUV4QixLQUFLLENBQUMsYUFBYSxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFMaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBcEJoQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLGNBQVMsR0FBYyxJQUFJLFNBQVMsQ0FBQyxF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Q0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOztPQUVHO0lBQ08sT0FBTztRQUNmLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0FuVm1CLHFCQUFxQjtrR0FBckIscUJBQXFCLDJFQUYvQixFQUFFOzsyRkFFUSxxQkFBcUI7a0JBSDFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgRGlhbG9nU2VydmljZSxcclxuICBEeW5hbWljRGlhbG9nQ29uZmlnLFxyXG4gIER5bmFtaWNEaWFsb2dSZWYsXHJcbn0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQWN0aW9uSXRlbSB9IGZyb20gJy4uL2NvbXBvbmVudHMvdGFibGUvYWN0aW9uLWl0ZW0nO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50Q3J1ZCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnQtY3J1ZCc7XHJcbmltcG9ydCB7IEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgbG9hZGluZyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMva3YtbG9hZGVyL2t2LWxvYWRlci5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGFkb3NUZWxhIHtcclxuICBzdWJUaXR1bG9Gb3JtOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgdGl0dWxvRm9ybTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIHJvdGFMaXN0YXI6IHN0cmluZztcclxuICBtZW5zYWdlbVZhbGlkYWNhbzogYm9vbGVhbjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnLFxyXG59KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudENydWRGb3JtXHJcbiAgZXh0ZW5kcyBCYXNlQ29tcG9uZW50Q3J1ZFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcclxue1xyXG4gIHByb3RlY3RlZCBpc0FjY29yZGlvbkV4cGFuZGVkID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIGlzTmV3UmVnaXN0cnkgPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgaXNTYXZlTG9hZGluZyA9IGZhbHNlO1xyXG4gIHByb3RlY3RlZCBpc1ZpZXcgPSBmYWxzZTtcclxuXHJcbiAgcHJvdGVjdGVkIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbiAgcHJvdGVjdGVkIGFjdGlvbnM6IEFjdGlvbkl0ZW1bXSA9IFtdO1xyXG5cclxuICBwcm90ZWN0ZWQgZGFkb3NUZWxhOiBEYWRvc1RlbGEgfCB1bmRlZmluZWQ7XHJcbiAgcHJvdGVjdGVkIHBvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJvdGVjdGVkIHJlZ2lzdHJ5OiBhbnkgPSBudWxsO1xyXG5cclxuICBwcml2YXRlIG9uU2V0Rm9ybVZhbHVlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByb3RlY3RlZCBkeW5hbWljRGlhbG9nUmVmOiBEeW5hbWljRGlhbG9nUmVmLFxyXG4gICAgcHJvdGVjdGVkIGR5bmFtaWNEaWFsb2dDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsXHJcbiAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHN1cGVyKGRpYWxvZ1NlcnZpY2UsIG5vdGlmaWNhdGlvblNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSBjb25maWd1cmHDp8OjbyBkbyBmb3JtXHJcbiAgICovXHJcbiAgYWJzdHJhY3QgY29uZmlndXJlRm9ybSgpOiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIG8gY2FycmVnYW1lbnRvIGRvIGZvcm1cclxuICAgKiBAcGFyYW0gaWRcclxuICAgKi9cclxuICBhYnN0cmFjdCBsb2FkRm9ybShpZDogYW55KTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSBzYWx2YW1lbnRvIGRvcyBkYWRvc1xyXG4gICAqL1xyXG4gIGFic3RyYWN0IHNhdmUoKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSB0cmF0YW1lbnRvIGRhcyBub3RpZmljYcOnw7VlcyBkbyBiYWNrZW5kXHJcbiAgICogQHBhcmFtIGVyciAtIE5vdGlmaWNhw6fDo29cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgYmFja2VuZEVycm9yKGVycjogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoZXJyKSB7XHJcbiAgICAgIGlmIChlcnIuc3RhdHVzID09IDQwNCkge1xyXG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS50b2FzdEVycm9yKGVyci5lcnJvci5pdGVtMlswXS5tZXNzYWdlKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH0gZWxzZSBpZiAoZXJyLnN0YXR1cyA9PSA0MDApIHtcclxuICAgICAgICAvLyBFcnJvcyBkZSB2YWxpZGHDp8OjbyBkZSBkb23DrW5pbyBkbyBiYWNrZW5kXHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZXJyLmVycm9yKSkge1xyXG4gICAgICAgICAgaWYgKGVyci5lcnJvcj8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGlmIChlcnIuZXJyb3IubGVuZ3RoID09IDEgJiYgZXJyLmVycm9yWzBdLmtleSA9PSAnJykge1xyXG4gICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS50b2FzdEVycm9yKGVyci5lcnJvclswXS5tZXNzYWdlKTtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuaW52YWxpZEZvcm0oZXJyLmVycm9yKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShlcnIuZXJyb3IuaXRlbTIpKSB7XHJcbiAgICAgICAgICBpZiAoZXJyLmVycm9yLml0ZW0yPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgaWYgKGVyci5lcnJvci5pdGVtMi5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS50b2FzdEVycm9yKGVyci5lcnJvci5pdGVtMlswXS5tZXNzYWdlKTtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuaW52YWxpZEZvcm0oZXJyLmVycm9yLml0ZW0yKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLmVycm9yPy50aXRsZSkge1xyXG4gICAgICAgICAgLy8gRXJybyBkZSBqc29uIG5vIGJhY2tlbmRcclxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS50b2FzdEVycm9yKGVyci5lcnJvci50aXRsZSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGVyci5zdGF0dXMgPT0gNDE1KSB7XHJcbiAgICAgICAgaWYgKGVyci5lcnJvcj8udGl0bGUpIHtcclxuICAgICAgICAgIC8vIEVycm8gZGUganNvbiBubyBiYWNrZW5kXHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIuZXJyb3IudGl0bGUpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gUXVhbHF1ZXIgb3V0cm8gdGlwbyBkZSBlcnJvIHF1ZSB0ZW5oYSBtZW5zYWdlbVxyXG4gICAgICBpZiAoZXJyLm1lc3NhZ2UpIHtcclxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UudG9hc3RFcnJvcihlcnIubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIGFvIGNsaWNhciBubyBib3TDo28gZGUgY2FuY2VsYW1lbnRvXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGNhbmNlbCgpIHtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5xdWVzdGlvbih7XHJcbiAgICAgIHR5cGU6ICdxdWVzdGlvbicsXHJcbiAgICAgIG1lc3NhZ2U6ICdEZXNlamEgY2FuY2VsYXIgYSBvcGVyYcOnw6NvPycsXHJcbiAgICAgIGFjY2VwdDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMubmF2aWdhdGVMaXN0KCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFZlcmlmaWNhIHNlIGhvdXZlcmFtIGFsdGVyYcOnw7VlcyBub3MgY29tcG9uZW50ZXMgZG8gZm9ybUNvbnRyb2xcclxuICAgKiBAcGFyYW0gY29udHJvbHMgLSBOb21lcyBkbyBjb250cm9sZXMgbm8gZm9ybUdyb3VwXHJcbiAgICogQHJldHVybnMgT2JzZXJ2YWJsZVxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBkZXRlY3RGb3JtQ29udHJvbENoYW5nZXMoY29udHJvbHM6IEFycmF5PHN0cmluZz4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3QgY29udHJvbExpc3Q6IE9ic2VydmFibGU8YW55PltdID0gW107XHJcbiAgICBjb250cm9scy5mb3JFYWNoKChjb250cm9sTmFtZSkgPT5cclxuICAgICAgY29udHJvbExpc3QucHVzaCh0aGlzLmZvcm1Hcm91cC5jb250cm9sc1tjb250cm9sTmFtZV0udmFsdWVDaGFuZ2VzKVxyXG4gICAgKTtcclxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KGNvbnRyb2xMaXN0KS5waXBlKGZpbHRlcigoKSA9PiAhdGhpcy5vblNldEZvcm1WYWx1ZXMpKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gcmVzcG9uc8OhdmVsIHBvciBkZXNhYmlsaXRhciB1bSBjb21wb25lbnRlXHJcbiAgICogQHBhcmFtIGNvbnRyb2xOYW1lIC0gTm9tZSBkbyBjb250cm9sZSBubyBmb3JtR3JvdXBcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZGlzYWJsZUNvbXBvbmVudChjb250cm9sTmFtZTogc3RyaW5nKSB7XHJcbiAgICBGb3JtU2VydmljZS5kaXNhYmxlQ29udHJvbCh0aGlzLmZvcm1Hcm91cCwgY29udHJvbE5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yIGxpbXBhciBlIGRlc2FiaWxpdGFyIHVtIGNvbXBvbmVudGVcclxuICAgKiBAcGFyYW0gY29udHJvbE5hbWUgLSBOb21lIGRvIGNvbnRyb2xlIG5vIGZvcm1Hcm91cFxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFZhbG9yIGRlZmF1bHRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZGlzYWJsZUFuZENsZWFyQ29tcG9uZW50KGNvbnRyb2xOYW1lOiBzdHJpbmcsIHZhbHVlPzogYW55KSB7XHJcbiAgICBGb3JtU2VydmljZS5kaXNhYmxlQW5kQ2xlYXJDb250cm9sKHRoaXMuZm9ybUdyb3VwLCBjb250cm9sTmFtZSwgdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yIGhhYmlsaXRhciB1bSBjb21wb25lbnRlXHJcbiAgICogQHBhcmFtIGNvbnRyb2xOYW1lIC0gTm9tZSBkbyBjb250cm9sZSBubyBmb3JtR3JvdXBcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgZW5hYmxlQ29tcG9uZW50KGNvbnRyb05hbWU6IHN0cmluZykge1xyXG4gICAgRm9ybVNlcnZpY2UuZW5hYmxlQ29udHJvbCh0aGlzLmZvcm1Hcm91cCwgY29udHJvTmFtZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIHF1ZSByZXRvcm5hIG8gdmFsb3IgZGUgdW0gY29tcG9uZW50ZVxyXG4gICAqIEBwYXJhbSBjb250cm9sTmFtZSAtIE5vbWUgZG8gY29udHJvbGUgbm8gZm9ybUdyb3VwXHJcbiAgICogQHJldHVybnMgLSBWYWxvclxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBnZXRGb3JtVmFsdWU8VD4oY29udHJvbE5hbWU6IHN0cmluZyk6IFQge1xyXG4gICAgcmV0dXJuIEZvcm1TZXJ2aWNlLmdldEZvcm1WYWx1ZTxUPih0aGlzLmZvcm1Hcm91cCwgY29udHJvbE5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmVyaWZpY2Egc2UgbyBjb21wb25lbnRlIHBvc3N1aSBlcnJvXHJcbiAgICogQHBhcmFtIGNvbnRyb2xOYW1lIC0gTm9tZSBkbyBjb250cm9sZSBubyBmb3JtR3JvdXBcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgaGFzQ29udHJvbEVycm9yKGNvbnRyb2xOYW1lOiBzdHJpbmcsIGVycm9yQ29kZT86IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEZvcm1TZXJ2aWNlLmhhc0NvbnRyb2xFcnJvcih0aGlzLmZvcm1Hcm91cCwgY29udHJvbE5hbWUsIGVycm9yQ29kZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRhIGluY29uc2lzdMOqbmNpYXMgcGFyYSBvIGZvbXVsw6FyaW9cclxuICAgKiBAcGFyYW0gbm90aWZpY2F0aW9uIC0gTGlzdGEgZGUgbm90aWZpY2HDp8O1ZXNcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgaW52YWxpZEZvcm0obm90aWZpY2F0aW9uPzogYW55KSB7XHJcbiAgICBGb3JtU2VydmljZS5pbnZhbGlkRm9ybSh0aGlzLmZvcm1Hcm91cCwgbm90aWZpY2F0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYXRhbWVudG8gZGUgaW5jb25zaXN0w6puY2lhcyBkbyBmb3JtdWzDoXJpb1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBpbnZhbGlkYXRlRm9ybSgpIHtcclxuICAgIHRoaXMuaXNBY2NvcmRpb25FeHBhbmRlZCA9IHRydWU7XHJcbiAgICB0aGlzLmludmFsaWRGb3JtKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZGFkb3NUZWxhPy5tZW5zYWdlbVZhbGlkYWNhbykge1xyXG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZGlhbG9nKHtcclxuICAgICAgICB0eXBlOiAnYWxlcnQnLFxyXG4gICAgICAgIG1lc3NhZ2U6ICdWZXJpZmlxdWUgb3MgY2FtcG9zIG9icmlnYXTDs3Jpb3MuJyxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIHJlc3BvbnPDoXZlbCBwZWxvIGNhcnJlZ2FtZW50byBkYSB0ZWxhXHJcbiAgICogQHBhcmFtIG9icyAtIE9ic2VydmFibGUgcmVzcG9uc8OhdmVsIHBlbG8gc2FsdmFtZW50byBkb3MgZGFkb3NcclxuICAgKi9cclxuICBwdWJsaWMgbG9hZERhdGE8VD4ob2JzOiBPYnNlcnZhYmxlPGFueT4pIHtcclxuICAgIG9icy5waXBlKGxvYWRpbmcoKSkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5pc05ld1JlZ2lzdHJ5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucmVnaXN0cnkgPSBkYXRhIGFzIFQ7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybVZhbHVlcyh0aGlzLnJlZ2lzdHJ5KTtcclxuICAgICAgdGhpcy5sb2FkR3JpZHMoKTtcclxuICAgICAgdGhpcy5zZXRUaXRsZVBvcHVwKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGxvYWREYXRhQXN5bmM8VD4ob2JzOiBPYnNlcnZhYmxlPGFueT4pIHtcclxuICAgIGF3YWl0IG9icy5waXBlKGxvYWRpbmcoKSkudG9Qcm9taXNlKCk7XHJcbiAgICBjb25zdCBkYXRhOiBhbnkgPSBhd2FpdCBvYnMudG9Qcm9taXNlKCk7XHJcblxyXG4gICAgdGhpcy5pc05ld1JlZ2lzdHJ5ID0gZmFsc2U7XHJcbiAgICB0aGlzLnJlZ2lzdHJ5ID0gZGF0YSBhcyBUO1xyXG4gICAgdGhpcy5zZXRGb3JtVmFsdWVzKHRoaXMucmVnaXN0cnkpO1xyXG4gICAgdGhpcy5sb2FkR3JpZHMoKTtcclxuICAgIHRoaXMuc2V0VGl0bGVQb3B1cCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTcOpdG9kbyBkaXNwYXJhZG8gcGFyYSBjYXJyZWdhbWVudG8gZGUgZ3JpZHMgKERpc3BhcmFkbyBhcMOzcyBvIGxvYWREYXRhKVxyXG4gICAqL1xyXG4gIHB1YmxpYyBsb2FkR3JpZHMoKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIGRpc3BhcmFkbyBwYXJhIHJldG9ybmFyIGEgbGlzdGFcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgbmF2aWdhdGVMaXN0KGlkOiBhbnkgPSBudWxsKSB7XHJcbiAgICBpZiAodGhpcy5wb3B1cCkge1xyXG4gICAgICB0aGlzLmR5bmFtaWNEaWFsb2dSZWYuY2xvc2UoaWQpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmRhZG9zVGVsYT8ucm90YUxpc3Rhcikge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5kYWRvc1RlbGEucm90YUxpc3Rhcl0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuZHluYW1pY0RpYWxvZ1JlZikge1xyXG4gICAgICB0aGlzLmR5bmFtaWNEaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY29uZmlndXJlRm9ybSgpO1xyXG5cclxuICAgIHRoaXMucG9wdXAgPSB0aGlzLmR5bmFtaWNEaWFsb2dDb25maWc/LmRhdGE/LnBvcHVwIHx8IGZhbHNlO1xyXG5cclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHBhcmFtc1snaWQnXSkge1xyXG4gICAgICAgIHRoaXMubG9hZEZvcm0ocGFyYW1zWydpZCddKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmR5bmFtaWNEaWFsb2dDb25maWc/LmRhdGE/LmlkKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkRm9ybSh0aGlzLmR5bmFtaWNEaWFsb2dDb25maWcuZGF0YS5pZCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pc05ld1JlZ2lzdHJ5ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmxvYWRHcmlkcygpO1xyXG4gICAgICAgIHRoaXMuc2V0VGl0bGVQb3B1cCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gZGlzcGFyYWRvIHBhcmEgc2FsdmFyIGRhZG9zXHJcbiAgICogQHBhcmFtIG9icyAtIE9ic2VydmFibGUgcmVzcG9uc8OhdmVsIHBlbG8gc2FsdmFtZW50byBkb3MgZGFkb3NcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc2F2ZURhdGEob2JzOiBPYnNlcnZhYmxlPGFueT4pIHtcclxuICAgIG9ic1xyXG4gICAgICAucGlwZSgoc3JjOiBPYnNlcnZhYmxlPGFueT4pID0+IHtcclxuICAgICAgICB0aGlzLmlzU2F2ZUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybiBzcmMucGlwZShcclxuICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1NhdmVMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnRvYXN0U3VjY2VzcyhyZXMuaXRlbTJbMF0ubWVzc2FnZSk7XHJcbiAgICAgICAgICB0aGlzLm5hdmlnYXRlTGlzdChyZXMuaXRlbTEpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmJhY2tlbmRFcnJvcihlKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE3DqXRvZG8gc2UgYXR1YWxpemEgbyB2YWxvciBkZSB1bSBjb21wb25lbnRlIGRvIGZvcm1Hcm91cFxyXG4gICAqIEBwYXJhbSBjb250cm9OYW1lIC0gTm9tZSBkbyBjb250cm9sZVxyXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFZhbG9yIHBhcmEgYXR1YWxpemHDp8Ojb1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBzZXRDb250cm9sVmFsdWUoY29udHJvTmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcbiAgICBGb3JtU2VydmljZS5zZXRDb250cm9sVmFsdWUodGhpcy5mb3JtR3JvdXAsIGNvbnRyb05hbWUsIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEF0dWFsaXphIHZhbG9yZXMgZG9zIGNvbXBvbmVudGVzIGRvIGZvcm1Hcm91cFxyXG4gICAqIEBwYXJhbSB2YWx1ZXMgLSBWYWxvcmVzIHBhcmEgYXR1YWxpemHDp8Ojb1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBzZXRGb3JtVmFsdWVzKHZhbHVlczogYW55KSB7XHJcbiAgICB0aGlzLm9uU2V0Rm9ybVZhbHVlcyA9IHRydWU7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHZhbHVlcywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5vblNldEZvcm1WYWx1ZXMgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldGEgbyB0w610dWxvIGRvIHBvcHVwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzZXRUaXRsZVBvcHVwKCkge1xyXG4gICAgaWYgKHRoaXMucG9wdXApIHtcclxuICAgICAgaWYgKHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZylcclxuICAgICAgICB0aGlzLmR5bmFtaWNEaWFsb2dDb25maWcuaGVhZGVyID0gdGhpcy5kYWRvc1RlbGE/LnRpdHVsb0Zvcm07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBdHVhbGl6YSBvIHZhbGlkYWRvciBkZSB1bSBjb21wb25lbnRlIGRvIGZvcm1Hcm91cFxyXG4gICAqIEBwYXJhbSBjb250cm9OYW1lIC0gTm9tZSBkbyBjb250cm9sZVxyXG4gICAqIEBwYXJhbSB2YWxpZGF0b3JzIC0gUmVncmEgZGUgdmFsaWRhw6fDo29cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgc2V0VmFsaWRhdG9ycyhcclxuICAgIGNvbnRyb05hbWU6IHN0cmluZyxcclxuICAgIHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuIHwgVmFsaWRhdG9yRm5bXSB8IG51bGxcclxuICApIHtcclxuICAgIEZvcm1TZXJ2aWNlLnNldFZhbGlkYXRvcnModGhpcy5mb3JtR3JvdXAsIGNvbnRyb05hbWUsIHZhbGlkYXRvcnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGFyYSBvcyBtw6l0b2RvcyBkZSB2YWxpZGHDp8O1ZXMgZG8gZm9ybXVsw6FyaW9cclxuICAgKiBAcmV0dXJucyAtIFRydWUvRmFsc2VcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgdmFsaWRhdGVGb3JtKCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHZhbGlkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwICYmIHRoaXMuZm9ybUdyb3VwLnZhbGlkKSB7XHJcbiAgICAgIHZhbGlkID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaW52YWxpZGF0ZUZvcm0oKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsaWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNw6l0b2RvIHF1ZSBkaXNwYXJhIGEgYXR1YWxpemHDp8OjbyBkYSBww6FnaW5hIGludGVpcmFcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgcmVmcmVzaCgpIHtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,91 +0,0 @@
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