keevo-components 1.8.36 → 1.8.38

Sign up to get free protection for your applications and to get access to all the features.
Files changed (247) hide show
  1. package/esm2022/lib/api/base-components/base-component-chart.mjs +4 -4
  2. package/esm2022/lib/api/base-components/base-component-crud-form.mjs +2 -2
  3. package/esm2022/lib/api/base-components/base-component-crud-list.mjs +2 -2
  4. package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +4 -4
  5. package/esm2022/lib/api/base-components/base-component-input.mjs +5 -5
  6. package/esm2022/lib/api/components/table/tableedit.config.column.mjs +1 -1
  7. package/esm2022/lib/{directives → api/directives}/template/template.directive.mjs +1 -1
  8. package/esm2022/lib/api/pipes/codigofile.pipe.mjs +19 -0
  9. package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +25 -0
  10. package/esm2022/lib/api/pipes/mask.pipe.mjs +29 -0
  11. package/esm2022/lib/api/pipes/pipes.module.mjs +39 -0
  12. package/esm2022/lib/api/pipes/telefone.pipe.mjs +45 -0
  13. package/esm2022/lib/components/keevo-components.module.mjs +144 -0
  14. package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +78 -0
  15. package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +32 -0
  16. package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +17 -0
  17. package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +31 -0
  18. package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +17 -0
  19. package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +17 -0
  20. package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +39 -0
  21. package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +92 -0
  22. package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +28 -0
  23. package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +145 -0
  24. package/esm2022/lib/components/kv-chart/kvchart.module.mjs +32 -0
  25. package/esm2022/lib/components/kv-error/kv-error.component.mjs +26 -0
  26. package/esm2022/lib/components/kv-error/kv-error.module.mjs +35 -0
  27. package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +26 -0
  28. package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +37 -0
  29. package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +88 -0
  30. package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +89 -0
  31. package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +29 -0
  32. package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +59 -0
  33. package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +33 -0
  34. package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +21 -0
  35. package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +42 -0
  36. package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +43 -0
  37. package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +24 -0
  38. package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +108 -0
  39. package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +44 -0
  40. package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +53 -0
  41. package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +34 -0
  42. package/esm2022/lib/components/kv-label/kv-label.component.mjs +15 -0
  43. package/esm2022/lib/components/kv-label/kv-label.module.mjs +24 -0
  44. package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +17 -0
  45. package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +28 -0
  46. package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +29 -0
  47. package/esm2022/lib/components/kv-login/kv-login.component.mjs +52 -0
  48. package/esm2022/lib/components/kv-login/kv-login.module.mjs +47 -0
  49. package/esm2022/lib/components/kv-menu/kv-menu.component.mjs +188 -0
  50. package/esm2022/lib/components/kv-menu/kv-menu.module.mjs +47 -0
  51. package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +67 -0
  52. package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +31 -0
  53. package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +100 -0
  54. package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +24 -0
  55. package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +147 -0
  56. package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +38 -0
  57. package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +48 -0
  58. package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +32 -0
  59. package/esm2022/lib/{progress-bar/progress-bar.component.mjs → components/kv-progress-bar/kv-progress-bar.component.mjs} +1 -1
  60. package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +28 -0
  61. package/esm2022/lib/components/kv-table/kv-table.component.mjs +554 -0
  62. package/esm2022/lib/components/kv-table/kv-table.module.mjs +36 -0
  63. package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +567 -0
  64. package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +34 -0
  65. package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +215 -0
  66. package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +28 -0
  67. package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +30 -0
  68. package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +28 -0
  69. package/esm2022/lib/components/kv-treetable/kv-treetable.component.mjs +371 -0
  70. package/esm2022/lib/components/kv-treetable/kv-treetable.module.mjs +32 -0
  71. package/esm2022/lib/components/kv-workspace/kv-workspace.component.mjs +178 -0
  72. package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +51 -0
  73. package/esm2022/public-api.mjs +75 -71
  74. package/fesm2022/keevo-components.mjs +2771 -2735
  75. package/fesm2022/keevo-components.mjs.map +1 -1
  76. package/lib/api/base-components/base-component-chart.d.ts +2 -2
  77. package/lib/api/base-components/base-component-dropdown-external.d.ts +2 -2
  78. package/lib/api/base-components/base-component-input.d.ts +3 -3
  79. package/lib/api/components/table/tableedit.config.column.d.ts +1 -0
  80. package/lib/{pipes → api/pipes}/codigofile.pipe.d.ts +1 -1
  81. package/lib/api/pipes/mask.pipe.d.ts +7 -0
  82. package/lib/api/pipes/pipes.module.d.ts +11 -0
  83. package/lib/components/keevo-components.module.d.ts +25 -0
  84. package/lib/components/kv-avatar/kv-avatar.component.d.ts +22 -0
  85. package/lib/{avatar → components/kv-avatar}/kv-avatar.module.d.ts +2 -2
  86. package/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.d.ts +7 -0
  87. package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +13 -0
  88. package/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.d.ts +7 -0
  89. package/lib/components/kv-buttons/kv-button-success/kv-button-success.component.d.ts +7 -0
  90. package/lib/components/kv-buttons/kv-button.module.d.ts +11 -0
  91. package/lib/components/kv-carousel/kv-carousel.component.d.ts +16 -0
  92. package/lib/{carousel → components/kv-carousel}/kv-carousel.module.d.ts +3 -3
  93. package/lib/{chart/chart.component.d.ts → components/kv-chart/kv-chart.component.d.ts} +4 -4
  94. package/lib/{chart → components/kv-chart}/kvchart.module.d.ts +3 -3
  95. package/lib/components/kv-error/kv-error.component.d.ts +12 -0
  96. package/lib/{api/components/error/kverror.module.d.ts → components/kv-error/kv-error.module.d.ts} +3 -3
  97. package/lib/components/kv-inputs/kv-check/kv-check.component.d.ts +11 -0
  98. package/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.d.ts +14 -0
  99. package/lib/{inputs/editor/editor.component.d.ts → components/kv-inputs/kv-editor/kv-editor.component.d.ts} +5 -5
  100. package/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.d.ts +27 -0
  101. package/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.d.ts +12 -0
  102. package/lib/components/kv-inputs/kv-input-number/kv-input-number.component.d.ts +19 -0
  103. package/lib/components/kv-inputs/kv-input-password/kv-input-password.component.d.ts +13 -0
  104. package/lib/components/kv-inputs/kv-input-text/kv-input-text.component.d.ts +9 -0
  105. package/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.d.ts +16 -0
  106. package/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.d.ts +16 -0
  107. package/lib/components/kv-inputs/kv-input-time/kv-input-time.component.d.ts +10 -0
  108. package/lib/components/kv-inputs/kv-inputs.module.d.ts +25 -0
  109. package/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.d.ts +15 -0
  110. package/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.d.ts +18 -0
  111. package/lib/components/kv-inputs/kv-switch/kv-switch.component.d.ts +14 -0
  112. package/lib/components/kv-label/kv-label.component.d.ts +7 -0
  113. package/lib/components/kv-label/kv-label.module.d.ts +8 -0
  114. package/lib/components/kv-loader/kv-loader.component.d.ts +8 -0
  115. package/lib/{loader/kvloader.module.d.ts → components/kv-loader/kv-loader.module.d.ts} +2 -2
  116. package/lib/{loader/loader.service.d.ts → components/kv-loader/kv-loader.service.d.ts} +3 -3
  117. package/lib/{login/login.component.d.ts → components/kv-login/kv-login.component.d.ts} +7 -7
  118. package/lib/components/kv-login/kv-login.module.d.ts +13 -0
  119. package/lib/{menu/menu.component.d.ts → components/kv-menu/kv-menu.component.d.ts} +7 -7
  120. package/lib/components/kv-menu/kv-menu.module.d.ts +13 -0
  121. package/lib/{modal/modal.component.d.ts → components/kv-modal/kv-modal.component.d.ts} +4 -4
  122. package/lib/{modal → components/kv-modal}/kv-modal.module.d.ts +4 -4
  123. package/lib/components/kv-orgchart/kv-orgchart.component.d.ts +27 -0
  124. package/lib/components/kv-orgchart/kv-orgchart.module.d.ts +9 -0
  125. package/lib/components/kv-page-form/kv-page-form.component.d.ts +70 -0
  126. package/lib/components/kv-page-form/kv-page-form.module.d.ts +11 -0
  127. package/lib/components/kv-pick-list/kv-pick-list.component.d.ts +20 -0
  128. package/lib/{picklist/kvpicklist.module.d.ts → components/kv-pick-list/kv-pick-list.module.d.ts} +3 -3
  129. package/lib/{progress-bar → components/kv-progress-bar}/kv-progress-bar.module.d.ts +2 -2
  130. package/lib/{table/table.component.d.ts → components/kv-table/kv-table.component.d.ts} +10 -10
  131. package/lib/{table/kvtable.module.d.ts → components/kv-table/kv-table.module.d.ts} +4 -4
  132. package/lib/{table-edit/table-edit.component.d.ts → components/kv-table-edit/kv-table-edit.component.d.ts} +10 -10
  133. package/lib/components/kv-table-edit/kv-table-edit.module.d.ts +12 -0
  134. package/lib/{treetable/treetable.component.d.ts → components/kv-tree-table/kv-tree-table.component.d.ts} +5 -5
  135. package/lib/components/kv-tree-table/kv-tree-table.module.d.ts +9 -0
  136. package/lib/components/kv-tree-view/kv-tree-view.component.d.ts +14 -0
  137. package/lib/{tree-view/kvtree-view.module.d.ts → components/kv-tree-view/kv-tree-view.module.d.ts} +3 -3
  138. package/lib/{tree-table → components/kv-treetable}/kv-treetable.component.d.ts +5 -5
  139. package/lib/{tree-table → components/kv-treetable}/kv-treetable.module.d.ts +3 -3
  140. package/lib/{workspace/workspace.component.d.ts → components/kv-workspace/kv-workspace.component.d.ts} +1 -1
  141. package/lib/{workspace/kvworkspace.module.d.ts → components/kv-workspace/kv-workspace.module.d.ts} +4 -4
  142. package/package.json +2 -2
  143. package/public-api.d.ts +74 -70
  144. package/esm2022/lib/api/components/error/error.component.mjs +0 -26
  145. package/esm2022/lib/api/components/error/kverror.module.mjs +0 -35
  146. package/esm2022/lib/avatar/avatar.component.mjs +0 -78
  147. package/esm2022/lib/avatar/kv-avatar.module.mjs +0 -32
  148. package/esm2022/lib/buttons/button-personalize/button-personalize.component.mjs +0 -17
  149. package/esm2022/lib/buttons/button-popup/button-popup.component.mjs +0 -31
  150. package/esm2022/lib/buttons/button-secondary/button-secondary.component.mjs +0 -17
  151. package/esm2022/lib/buttons/button-success/button-success.component.mjs +0 -17
  152. package/esm2022/lib/buttons/kvbutton.module.mjs +0 -39
  153. package/esm2022/lib/carousel/carousel.component.mjs +0 -92
  154. package/esm2022/lib/carousel/kv-carousel.module.mjs +0 -28
  155. package/esm2022/lib/chart/chart.component.mjs +0 -145
  156. package/esm2022/lib/chart/kvchart.module.mjs +0 -32
  157. package/esm2022/lib/inputs/check/check.component.mjs +0 -26
  158. package/esm2022/lib/inputs/dropdown/dropdown.component.mjs +0 -37
  159. package/esm2022/lib/inputs/editor/editor.component.mjs +0 -88
  160. package/esm2022/lib/inputs/input-calendar/input-calendar.component.mjs +0 -89
  161. package/esm2022/lib/inputs/input-mask/input-mask.component.mjs +0 -29
  162. package/esm2022/lib/inputs/input-number/input-number.component.mjs +0 -59
  163. package/esm2022/lib/inputs/input-password/input-password.component.mjs +0 -33
  164. package/esm2022/lib/inputs/input-text/input-text.component.mjs +0 -21
  165. package/esm2022/lib/inputs/input-text-checkbox/input-text-checkbox.component.mjs +0 -42
  166. package/esm2022/lib/inputs/input-textarea/input-textarea.component.mjs +0 -43
  167. package/esm2022/lib/inputs/input-time/input-time.component.mjs +0 -24
  168. package/esm2022/lib/inputs/kvinputs.module.mjs +0 -108
  169. package/esm2022/lib/inputs/multi-select/multi-select.component.mjs +0 -44
  170. package/esm2022/lib/inputs/radio-group/radio-group.component.mjs +0 -53
  171. package/esm2022/lib/inputs/switch/switch.component.mjs +0 -34
  172. package/esm2022/lib/keevo-components.module.mjs +0 -144
  173. package/esm2022/lib/label/label.component.mjs +0 -15
  174. package/esm2022/lib/label/label.module.mjs +0 -24
  175. package/esm2022/lib/loader/kvloader.module.mjs +0 -28
  176. package/esm2022/lib/loader/loader.component.mjs +0 -17
  177. package/esm2022/lib/loader/loader.service.mjs +0 -29
  178. package/esm2022/lib/login/kvlogin.module.mjs +0 -47
  179. package/esm2022/lib/login/login.component.mjs +0 -52
  180. package/esm2022/lib/menu/kvmenu.module.mjs +0 -47
  181. package/esm2022/lib/menu/menu.component.mjs +0 -188
  182. package/esm2022/lib/modal/kv-modal.module.mjs +0 -31
  183. package/esm2022/lib/modal/modal.component.mjs +0 -67
  184. package/esm2022/lib/orgchart/orgchart.component.mjs +0 -100
  185. package/esm2022/lib/orgchart/orgchart.module.mjs +0 -24
  186. package/esm2022/lib/page-form/kv-page-form.module.mjs +0 -38
  187. package/esm2022/lib/page-form/page-form.component.mjs +0 -147
  188. package/esm2022/lib/picklist/kvpicklist.module.mjs +0 -32
  189. package/esm2022/lib/picklist/picklist.component.mjs +0 -48
  190. package/esm2022/lib/pipes/codigofile.pipe.mjs +0 -19
  191. package/esm2022/lib/pipes/cpfcnpj.pipe.mjs +0 -25
  192. package/esm2022/lib/pipes/pipes.module.mjs +0 -34
  193. package/esm2022/lib/pipes/telefone.pipe.mjs +0 -45
  194. package/esm2022/lib/progress-bar/kv-progress-bar.module.mjs +0 -28
  195. package/esm2022/lib/table/kvtable.module.mjs +0 -36
  196. package/esm2022/lib/table/table.component.mjs +0 -554
  197. package/esm2022/lib/table-edit/table-edit.component.mjs +0 -564
  198. package/esm2022/lib/table-edit/table-edit.module.mjs +0 -31
  199. package/esm2022/lib/tree-table/kv-treetable.component.mjs +0 -371
  200. package/esm2022/lib/tree-table/kv-treetable.module.mjs +0 -32
  201. package/esm2022/lib/tree-view/kvtree-view.module.mjs +0 -28
  202. package/esm2022/lib/tree-view/tree-view.component.mjs +0 -30
  203. package/esm2022/lib/treetable/treetable.component.mjs +0 -215
  204. package/esm2022/lib/treetable/treetable.module.mjs +0 -28
  205. package/esm2022/lib/workspace/kvworkspace.module.mjs +0 -51
  206. package/esm2022/lib/workspace/workspace.component.mjs +0 -178
  207. package/lib/api/components/error/error.component.d.ts +0 -12
  208. package/lib/avatar/avatar.component.d.ts +0 -22
  209. package/lib/buttons/button-personalize/button-personalize.component.d.ts +0 -7
  210. package/lib/buttons/button-popup/button-popup.component.d.ts +0 -13
  211. package/lib/buttons/button-secondary/button-secondary.component.d.ts +0 -7
  212. package/lib/buttons/button-success/button-success.component.d.ts +0 -7
  213. package/lib/buttons/kvbutton.module.d.ts +0 -11
  214. package/lib/carousel/carousel.component.d.ts +0 -16
  215. package/lib/inputs/check/check.component.d.ts +0 -11
  216. package/lib/inputs/dropdown/dropdown.component.d.ts +0 -14
  217. package/lib/inputs/input-calendar/input-calendar.component.d.ts +0 -27
  218. package/lib/inputs/input-mask/input-mask.component.d.ts +0 -12
  219. package/lib/inputs/input-number/input-number.component.d.ts +0 -19
  220. package/lib/inputs/input-password/input-password.component.d.ts +0 -13
  221. package/lib/inputs/input-text/input-text.component.d.ts +0 -9
  222. package/lib/inputs/input-text-checkbox/input-text-checkbox.component.d.ts +0 -16
  223. package/lib/inputs/input-textarea/input-textarea.component.d.ts +0 -16
  224. package/lib/inputs/input-time/input-time.component.d.ts +0 -10
  225. package/lib/inputs/kvinputs.module.d.ts +0 -25
  226. package/lib/inputs/multi-select/multi-select.component.d.ts +0 -15
  227. package/lib/inputs/radio-group/radio-group.component.d.ts +0 -18
  228. package/lib/inputs/switch/switch.component.d.ts +0 -14
  229. package/lib/keevo-components.module.d.ts +0 -25
  230. package/lib/label/label.component.d.ts +0 -7
  231. package/lib/label/label.module.d.ts +0 -8
  232. package/lib/loader/loader.component.d.ts +0 -8
  233. package/lib/login/kvlogin.module.d.ts +0 -13
  234. package/lib/menu/kvmenu.module.d.ts +0 -13
  235. package/lib/orgchart/orgchart.component.d.ts +0 -27
  236. package/lib/orgchart/orgchart.module.d.ts +0 -9
  237. package/lib/page-form/kv-page-form.module.d.ts +0 -11
  238. package/lib/page-form/page-form.component.d.ts +0 -70
  239. package/lib/picklist/picklist.component.d.ts +0 -20
  240. package/lib/pipes/pipes.module.d.ts +0 -10
  241. package/lib/table-edit/table-edit.module.d.ts +0 -11
  242. package/lib/tree-view/tree-view.component.d.ts +0 -14
  243. package/lib/treetable/treetable.module.d.ts +0 -9
  244. /package/lib/{directives → api/directives}/template/template.directive.d.ts +0 -0
  245. /package/lib/{pipes → api/pipes}/cpfcnpj.pipe.d.ts +0 -0
  246. /package/lib/{pipes → api/pipes}/telefone.pipe.d.ts +0 -0
  247. /package/lib/{progress-bar/progress-bar.component.d.ts → components/kv-progress-bar/kv-progress-bar.component.d.ts} +0 -0
@@ -0,0 +1,34 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { FormsModule } from '@angular/forms';
3
+ import { NgModule } from '@angular/core';
4
+ import { KvInputsModule, PipesModule, PrimeNgModule } from '../../../public-api';
5
+ import { KvTableEditComponent } from './kv-table-edit.component';
6
+ import * as i0 from "@angular/core";
7
+ export class KvTableEditModule {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvTableEditModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: KvTableEditModule, declarations: [KvTableEditComponent], imports: [CommonModule,
10
+ PrimeNgModule,
11
+ FormsModule,
12
+ KvInputsModule,
13
+ PipesModule], exports: [KvTableEditComponent] }); }
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvTableEditModule, imports: [CommonModule,
15
+ PrimeNgModule,
16
+ FormsModule,
17
+ KvInputsModule,
18
+ PipesModule] }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvTableEditModule, decorators: [{
21
+ type: NgModule,
22
+ args: [{
23
+ declarations: [KvTableEditComponent],
24
+ imports: [
25
+ CommonModule,
26
+ PrimeNgModule,
27
+ FormsModule,
28
+ KvInputsModule,
29
+ PipesModule
30
+ ],
31
+ exports: [KvTableEditComponent]
32
+ }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtdGFibGUtZWRpdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi10YWJsZS1lZGl0L2t2LXRhYmxlLWVkaXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFDWCxhQUFhLEVBQ2QsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFhakUsTUFBTSxPQUFPLGlCQUFpQjsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBVmIsb0JBQW9CLGFBRWpDLFlBQVk7WUFDWixhQUFhO1lBQ2IsV0FBVztZQUNYLGNBQWM7WUFDZCxXQUFXLGFBRUgsb0JBQW9CO2dIQUVuQixpQkFBaUIsWUFSMUIsWUFBWTtZQUNaLGFBQWE7WUFDYixXQUFXO1lBQ1gsY0FBYztZQUNkLFdBQVc7OzRGQUlGLGlCQUFpQjtrQkFYN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDcEMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixXQUFXO3dCQUNYLGNBQWM7d0JBQ2QsV0FBVztxQkFDWjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBLdklucHV0c01vZHVsZSxcbiAgUGlwZXNNb2R1bGUsXG4gIFByaW1lTmdNb2R1bGVcbn0gZnJvbSAnLi4vLi4vLi4vcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IEt2VGFibGVFZGl0Q29tcG9uZW50IH0gZnJvbSAnLi9rdi10YWJsZS1lZGl0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0t2VGFibGVFZGl0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBQcmltZU5nTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEt2SW5wdXRzTW9kdWxlLFxuICAgIFBpcGVzTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtLdlRhYmxlRWRpdENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgS3ZUYWJsZUVkaXRNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,215 @@
1
+ import { Component, ContentChildren, EventEmitter, HostListener, Input, Output } from '@angular/core';
2
+ import { TemplateDirective } from '../../api/directives/template/template.directive';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "primeng/api";
6
+ import * as i3 from "primeng/autofocus";
7
+ import * as i4 from "primeng/button";
8
+ import * as i5 from "primeng/tooltip";
9
+ import * as i6 from "primeng/inputtext";
10
+ import * as i7 from "primeng/menu";
11
+ import * as i8 from "primeng/table";
12
+ import * as i9 from "primeng/treetable";
13
+ export class KvTreetableComponent {
14
+ constructor() {
15
+ this.menuItems = [];
16
+ this.selectedItems = [];
17
+ this.gridLines = false;
18
+ this.acoesLinhaTabela = false;
19
+ this.onFilter = new EventEmitter();
20
+ this.onPaginate = new EventEmitter();
21
+ this.onActiveItem = new EventEmitter();
22
+ this.onActiveItemLote = new EventEmitter();
23
+ this.doubleClickEvent = new EventEmitter();
24
+ }
25
+ ngOnInit() {
26
+ this.tamanhoTela = window.innerWidth;
27
+ }
28
+ onWindowResize() {
29
+ this.tamanhoTela = window.innerWidth;
30
+ }
31
+ activeItem(rowData) {
32
+ this.onActiveItem.emit(rowData);
33
+ }
34
+ activeItemLote(rowData) {
35
+ this.onActiveItemLote.emit(rowData);
36
+ }
37
+ onGlobalFilter(table, event) {
38
+ this.onFilter.emit(event.target.value);
39
+ table.filterGlobal(event.target.value, 'contains');
40
+ }
41
+ paginate($event) {
42
+ if ($event) {
43
+ let paginaInicial = ($event?.first > 0 ? $event.first / $event.rows : $event.first) + 1;
44
+ let termoPesquisa = '';
45
+ let ordenacao = '';
46
+ if ($event.globalFilter)
47
+ termoPesquisa = $event.globalFilter;
48
+ if ($event.sortField)
49
+ ordenacao = `${$event.sortField} ${$event.sortOrder === 1 ? 'ASC' : 'DESC'}`;
50
+ const objeto = {
51
+ paginaInicial: paginaInicial,
52
+ tamanhoPagina: $event.rows,
53
+ termoPesquisa: termoPesquisa,
54
+ ordenacao: ordenacao,
55
+ };
56
+ this.onPaginate.emit(objeto);
57
+ }
58
+ }
59
+ returnStyleRow(col, rowNode) {
60
+ const isFirstColumn = col.field === this.config.columns[0].field;
61
+ const baseOpacity = 1;
62
+ const maxLevels = 4;
63
+ if (isFirstColumn && rowNode.level >= 0) {
64
+ const opacity = baseOpacity - (rowNode.level / maxLevels);
65
+ return `border-left: solid 4px rgba(59, 110, 158, ${opacity}) !important;`;
66
+ }
67
+ if (rowNode.level == 0)
68
+ return 'border-left: none !important; border-right: none !important';
69
+ return '';
70
+ }
71
+ alignColunasHeader(col) {
72
+ if (col.align) {
73
+ if (col.align == 'right')
74
+ return 'justify-content: end';
75
+ else
76
+ return '';
77
+ }
78
+ else
79
+ return '';
80
+ }
81
+ centralizarColunas(col) {
82
+ if (col.centralize) {
83
+ return 'text-align: center; ';
84
+ }
85
+ else
86
+ return '';
87
+ }
88
+ alignColunas(col) {
89
+ if (col.align) {
90
+ return `text-align: ${col.align}`;
91
+ }
92
+ else
93
+ return '';
94
+ }
95
+ criarMenusModal(data) {
96
+ if (this.config.actions && data) {
97
+ const items = this.config.actions.map((action) => {
98
+ const icon = this.retornarCampo(action, data, 'icon');
99
+ const tooltip = this.retornarCampo(action, data, 'tooltip');
100
+ const tooltipPosition = this.retornarCampo(action, data, 'tooltipPosition');
101
+ const label = this.retornarCampo(action, data, 'label');
102
+ const command = this.retornarCampo(action, data, 'command');
103
+ const visible = action.visible ? action.visible(data) : true;
104
+ const disabled = action.disabled
105
+ ? action.disabled(data)
106
+ : false;
107
+ const menuInsert = {
108
+ label,
109
+ icon,
110
+ tooltip,
111
+ tooltipPosition,
112
+ command,
113
+ disabled,
114
+ visible,
115
+ };
116
+ let item = this.menuItems.filter((x) => x.command == menuInsert.command);
117
+ if (item.length == 0)
118
+ this.menuItems.push(menuInsert);
119
+ else {
120
+ if (menuInsert.label != item[0].label) {
121
+ let index = this.menuItems.indexOf(item[0]);
122
+ this.menuItems.splice(index, 1);
123
+ }
124
+ if (menuInsert.visible != item[0].visible) {
125
+ let index = this.menuItems.indexOf(item[0]);
126
+ this.menuItems.splice(index, 1);
127
+ }
128
+ if (menuInsert.disabled != item[0].disabled) {
129
+ let index = this.menuItems.indexOf(item[0]);
130
+ this.menuItems.splice(index, 1);
131
+ }
132
+ }
133
+ });
134
+ }
135
+ }
136
+ retornarCampo(action, rowData, field) {
137
+ const _function = action.dynamicfields
138
+ ? action.dynamicfields[field]
139
+ : null;
140
+ const _field = _function
141
+ ? _function.apply(action, [rowData])
142
+ : action[field];
143
+ return _field;
144
+ }
145
+ exibirCampo(field, rowData) {
146
+ let visible = field.visible ? field.visible(rowData) : true;
147
+ return visible;
148
+ }
149
+ validateActionPosition(rowNode) {
150
+ if (this.config.actionsPai && rowNode.level == 0)
151
+ return false;
152
+ else
153
+ return true;
154
+ }
155
+ doubleClick(e, rowData) {
156
+ let eventDoubleClick = { event: e, rowData: rowData };
157
+ let array = [];
158
+ e.target.classList.forEach((x) => array.push(x));
159
+ // if (array.find((x: any) => x == 'ng-star-inserted') != undefined)
160
+ this.doubleClickEvent.emit(eventDoubleClick);
161
+ }
162
+ isDisabledCheckbox(rowData, rowNode) {
163
+ return this.config.disableControlCheckboxFunction
164
+ ? this.config.disableControlCheckboxFunction(rowData, rowNode)
165
+ : false;
166
+ }
167
+ getCustomTemplate(templatename) {
168
+ return this._templates[templatename];
169
+ }
170
+ validateShowTemplate(rowNode, col) {
171
+ if (col.templateOnly) {
172
+ if (col.templateOnly === 'pai') {
173
+ return rowNode.level === 0;
174
+ }
175
+ if (col.templateOnly === 'filho') {
176
+ return rowNode.level === 1;
177
+ }
178
+ }
179
+ return true;
180
+ }
181
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvTreetableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
182
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: KvTreetableComponent, selector: "kv-tree-table", inputs: { config: "config", dataSource: "dataSource", gridLines: "gridLines", acoesLinhaTabela: "acoesLinhaTabela", _templates: ["templates", "_templates"] }, outputs: { onFilter: "onFilter", onPaginate: "onPaginate", onActiveItem: "onActiveItem", onActiveItemLote: "onActiveItemLote", doubleClickEvent: "doubleClickEvent" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "templates", predicate: TemplateDirective }], ngImport: i0, template: "<div>\n <p-treeTable\n #tt\n [value]=\"dataSource\"\n [columns]=\"config.columns\"\n [resizableColumns]=\"true\"\n [tableStyle]=\"{'min-width': '50rem'}\"\n [resizableColumns]=\"true\"\n [styleClass]=\"gridLines ? 'p-treetable-gridlines' : ''\"\n (onLazyLoad)=\"paginate($event)\"\n >\n\n <ng-template\n pTemplate=\"caption\"\n *ngIf=\"config.enableCation\"\n >\n <div\n class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\n <div class=\"col-12 flex flex-column\">\n <div\n *ngIf=\"config.title\"\n class=\"text-md font-bold my-3\"\n >\n {{ config.title }}\n </div>\n <div\n *ngIf=\"config.subtitle\"\n class=\"text-sm mb-4 font-medium\"\n >\n {{ config.subtitle }}\n </div>\n </div>\n\n <div [class]=\"\n tamanhoTela < 768\n ? 'flex flex-row align-items-center col-10 md:col-6 lg:col-4 justify-content-center'\n : 'flex flex-row align-items-center col-12 md:col-6 lg:col-4 justify-content-center input-search'\n \">\n\n <span\n *ngIf=\"config.enableFilter\"\n class=\"p-input-icon-left\"\n >\n <i class=\"pi pi-search\"></i>\n\n <input\n pInputText\n pAutoFocus\n [autofocus]=\"true\"\n type=\"text\"\n (input)=\"onGlobalFilter(tt, $event)\"\n placeholder=\"Pesquisar...\"\n class=\"h-2.5rem\"\n />\n </span>\n\n </div>\n\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\n <div\n *ngFor=\"let action of config.actionsLote\"\n class=\"btns-options\"\n >\n <button\n id=\"actionLoteBtns\"\n pButton\n *ngIf=\"\n (selectedItems.length > 0 || action.showAcoesLote) &&\n exibirCampo(action, this.action)\n \"\n class=\"actionLoteBtns p-button-raised p-button-text\"\n (click)=\"action?.command(commandEvent); activeItemLote(selectedItems)\"\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\n [tooltipPosition]=\"'bottom'\"\n [style.backgroundColor]=\"\n retornarCampo(action, selectedItems, 'btnColor')\n \"\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\n >\n <span\n class=\"material-symbols-outlined md-22\"\n [style.color]=\"\n retornarCampo(action, selectedItems, 'iconBtnColor')\n \"\n >\n {{ retornarCampo(action, selectedItems, \"icon\") }}\n </span>\n </button>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n <th\n *ngFor=\"let col of columns; index as i\"\n [ttSortableColumn]=\"col.field\"\n [ttSortableColumnDisabled]=\"col.sortable === false\"\n class=\"text-sm\"\n [style.width]=\"col.width\"\n >\n <div>\n <div [ngClass]=\"{ flex: i == 0, 'gap-3': i == 0 }\">\n <div *ngIf=\"i == 0 && config.enableSelect\">\n <p-treeTableHeaderCheckbox\n (click)=\"activeItemLote(selectedItems)\"></p-treeTableHeaderCheckbox>\n </div>\n\n <div\n [class]=\"\n centralizarColunas(col) && alignColunasHeader(col) == ''\n ? 'flex flex-row justify-content-center'\n : 'flex flex-row'\n \"\n [style]=\"alignColunasHeader(col)\"\n >\n <span>{{ col.header }}</span>\n <p-sortIcon\n *ngIf=\"col.sortable === true\"\n [field]=\"col.field\"\n style=\"font-size: 10px\"\n ></p-sortIcon>\n\n <span\n *ngIf=\"col.headerTooltip\"\n class=\"material-symbols-outlined flex align-items-center\"\n [pTooltip]=\"col.headerTooltip\"\n >info</span>\n </div>\n </div>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n <th\n *ngFor=\"let col of columns\"\n ttResizableColumn\n [style.width]=\"col.width\"\n [style]=\"col.centralize ? 'text-align: center;' : ''\"\n >\n {{ col.header }} <br>\n </th>\n\n <th\n [style.width]=\"5\"\n *ngIf=\"config.actions.length > 0\"\n ></th>\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowNode\n let-rowData=\"rowData\"\n let-columns=\"columns\"\n >\n <tr\n [ttRow]=\"rowNode\"\n (dblclick)=\"doubleClick($event, rowData)\"\n >\n <td\n *ngFor=\"let col of columns; let i = index\"\n [style]=\"returnStyleRow(col, rowNode)\"\n [style.position]=\"rowNode.level !== 0 ? 'sticky' : null\"\n [style.left.px]=\"rowNode.level !== 0 ? rowNode.level*30 : null\"\n >\n\n <div class=\"flex flex-row {{col.boolean ? 'justify-content-center' : '' }}\">\n <div\n class=\"w-full-h-full flex align-items-center\"\n *ngIf=\"i == 0\"\n >\n <p-treeTableCheckbox\n [disabled]=\"isDisabledCheckbox(rowData, rowNode)\"\n (click)=\"activeItemLote(selectedItems)\"\n [value]=\"rowNode\"\n *ngIf=\"config.enableSelect == true\"\n ></p-treeTableCheckbox>\n\n <p-treeTableToggler\n class=\"hiddenVisible\"\n [rowNode]=\"rowNode\"\n ></p-treeTableToggler>\n <!-- \n <p-treeTableToggler\n [rowNode]=\"rowNode\"\n *ngIf=\"!rightCollapse\"\n ></p-treeTableToggler>\n <p-treeTableToggler\n class=\"hiddenVisible\"\n [rowNode]=\"rowNode\"\n *ngIf=\"rightCollapse\"\n ></p-treeTableToggler> -->\n </div>\n\n\n <div class=\"flex flex-row align-items-center\">\n <div class=\"flex flex-row align-items-center justify-content-center\">\n\n <i\n *ngIf=\"col.boolean\"\n class=\"pi {{rowData[col.field] ? 'pi-check text-green-300' : ''}}\"\n style=\"font-size: 1.1rem;\"\n ></i>\n\n\n <div\n class=\"flex flex-column\"\n *ngIf=\"!col.boolean\"\n >\n <span class=\"m-0\">{{ rowData[col.field] }}</span>\n\n <p\n *ngIf=\"col.subtitle\"\n class=\"m-0 text-xs font-semibold\"\n >{{rowData[col.subtitle]}}</p>\n </div>\n\n </div>\n </div>\n\n </div>\n\n\n <span *ngIf=\"col.template && validateShowTemplate(rowNode, col)\">\n <ng-container\n *ngIf=\"getCustomTemplate(col.template.name)\"\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\n >\n </ng-container>\n </span>\n\n </td>\n\n\n <td\n style=\"border-left: none;\"\n *ngIf=\"config.actions.length > 0 || config.actionsPai\"\n >\n\n <div *ngIf=\"config.actions.length > 0 && validateActionPosition(rowNode)\">\n <div\n class=\"flex flex-row justify-content-center gap-1\"\n *ngIf=\"acoesLinhaTabela\"\n >\n <p-button\n *ngFor=\"let action of config.actions\"\n icon=\"pi {{action.icon}}\"\n [rounded]=\"true\"\n [severity]=\"action.severity ? action.severity : 'secondary'\"\n [style]=\"{width: '2rem', height: '2rem'}\"\n (onClick)=\"action.command($event)\"\n ></p-button>\n\n </div>\n\n <span\n *ngIf=\"!acoesLinhaTabela\"\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\n style=\"font-size: 22px\"\n (click)=\"menu.toggle($event); activeItem(rowData)\"\n >\n more_horiz\n </span>\n\n <div *ngFor=\"let action of config.actions\">\n {{ criarMenusModal(rowData) }}\n </div>\n\n <p-menu\n #menu\n [popup]=\"true\"\n [model]=\"menuItems\"\n appendTo=\"body\"\n ></p-menu>\n\n </div>\n\n <div *ngIf=\"config.actionsPai?.length > 0 && rowNode.level == 0\">\n\n <div\n *ngFor=\"let actionPai of config.actionsPai\"\n class=\"flex justify-content-end\"\n >\n\n <p-button\n icon=\"pi {{actionPai.icon}}\"\n [rounded]=\"true\"\n [severity]=\"actionPai.severity ? actionPai.severity : 'secondary'\"\n [style]=\"{width: '2rem', height: '2rem'}\"\n (onClick)=\"activeItem(rowData);actionPai.command($event);\"\n ></p-button>\n\n </div>\n\n </div>\n\n </td>\n\n </tr>\n </ng-template>\n\n </p-treeTable>\n</div>", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-treetable table{border-spacing:0 3px}#botaoFiltro:hover{color:#d4d4d4}:host ::ng-deep .p-treetable .p-treetable-header{background-color:#d1d1d1;padding:2px 0 0!important;border-radius:5px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th{background-color:#eaeaea;padding:.5rem!important;margin-bottom:-5px!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{padding:.5rem!important}:host ::ng-deep .p-treetable .p-treetable-thead{border-spacing:0 1px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:first-of-type{background-color:#eaeaea;padding:.5rem!important;border-radius:5px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:last-child{background-color:#eaeaea;padding:.5rem!important;border-radius:0 5px 5px 0!important;-webkit-border-radius:0 5px 5px 0!important;-moz-border-radius:0 5px 5px 0!important;-ms-border-radius:0 5px 5px 0!important;-o-border-radius:0 5px 5px 0!important}:host ::ng-deep .p-treetable-scrollable-header-box{padding:0!important}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th{background-color:#f2f2f2}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{border-bottom:1px solid #ddd!important;border-top:1px solid #ddd!important}:host ::ng-deep #tr-style{border-left:solid 4px #5289B4!important;border-radius:10px!important;display:block}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-right:none!important;border-radius:10px 0 0 10px!important;-webkit-border-radius:10px 0 0 10px!important;-moz-border-radius:10px 0 0 10px!important;-ms-border-radius:10px 0 0 10px!important;-o-border-radius:10px 0 0 10px!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:last-child{border-radius:0 10px 10px 0!important;border-right:1px solid #ddd!important;-webkit-border-radius:0 10px 10px 0!important;-moz-border-radius:0 10px 10px 0!important;-ms-border-radius:0 10px 10px 0!important;-o-border-radius:0 10px 10px 0!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:50%;box-shadow:#0000003d 0 3px 8px;width:2.5rem!important;height:2.5rem!important;display:flex;align-items:center;justify-content:center}:host ::ng-deep .p-treetable table{border-collapse:separate!important;table-layout:auto!important}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i3.AutoFocus, selector: "[pAutoFocus]", inputs: ["autofocus"] }, { kind: "directive", type: i4.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "size", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i6.InputText, selector: "[pInputText]" }, { kind: "component", type: i7.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: i8.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i9.TreeTable, selector: "p-treeTable", inputs: ["columns", "style", "styleClass", "tableStyle", "tableStyleClass", "autoLayout", "lazy", "lazyLoadOnInit", "paginator", "rows", "first", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "customSort", "selectionMode", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "compareSelectionBy", "rowHover", "loading", "loadingIcon", "showLoader", "scrollable", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "frozenColumns", "resizableColumns", "columnResizeMode", "reorderableColumns", "contextMenu", "rowTrackBy", "filters", "globalFilterFields", "filterDelay", "filterMode", "filterLocale", "paginatorLocale", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "value", "virtualRowHeight"], outputs: ["selectionChange", "contextMenuSelectionChange", "onFilter", "onNodeExpand", "onNodeCollapse", "onPage", "onSort", "onLazyLoad", "sortFunction", "onColResize", "onColReorder", "onNodeSelect", "onNodeUnselect", "onContextMenuSelect", "onHeaderCheckboxToggle", "onEditInit", "onEditComplete", "onEditCancel"] }, { kind: "component", type: i9.TreeTableToggler, selector: "p-treeTableToggler", inputs: ["rowNode"] }, { kind: "directive", type: i9.TTSortableColumn, selector: "[ttSortableColumn]", inputs: ["ttSortableColumn", "ttSortableColumnDisabled"] }, { kind: "directive", type: i9.TTResizableColumn, selector: "[ttResizableColumn]", inputs: ["ttResizableColumnDisabled"] }, { kind: "directive", type: i9.TTRow, selector: "[ttRow]", inputs: ["ttRow"] }, { kind: "component", type: i9.TTCheckbox, selector: "p-treeTableCheckbox", inputs: ["disabled", "value"] }, { kind: "component", type: i9.TTHeaderCheckbox, selector: "p-treeTableHeaderCheckbox" }] }); }
183
+ }
184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvTreetableComponent, decorators: [{
185
+ type: Component,
186
+ args: [{ selector: 'kv-tree-table', template: "<div>\n <p-treeTable\n #tt\n [value]=\"dataSource\"\n [columns]=\"config.columns\"\n [resizableColumns]=\"true\"\n [tableStyle]=\"{'min-width': '50rem'}\"\n [resizableColumns]=\"true\"\n [styleClass]=\"gridLines ? 'p-treetable-gridlines' : ''\"\n (onLazyLoad)=\"paginate($event)\"\n >\n\n <ng-template\n pTemplate=\"caption\"\n *ngIf=\"config.enableCation\"\n >\n <div\n class=\"flex flex-row flex-wrap justify-content-between align-items-center grid formgrid p-fluid col-12\">\n <div class=\"col-12 flex flex-column\">\n <div\n *ngIf=\"config.title\"\n class=\"text-md font-bold my-3\"\n >\n {{ config.title }}\n </div>\n <div\n *ngIf=\"config.subtitle\"\n class=\"text-sm mb-4 font-medium\"\n >\n {{ config.subtitle }}\n </div>\n </div>\n\n <div [class]=\"\n tamanhoTela < 768\n ? 'flex flex-row align-items-center col-10 md:col-6 lg:col-4 justify-content-center'\n : 'flex flex-row align-items-center col-12 md:col-6 lg:col-4 justify-content-center input-search'\n \">\n\n <span\n *ngIf=\"config.enableFilter\"\n class=\"p-input-icon-left\"\n >\n <i class=\"pi pi-search\"></i>\n\n <input\n pInputText\n pAutoFocus\n [autofocus]=\"true\"\n type=\"text\"\n (input)=\"onGlobalFilter(tt, $event)\"\n placeholder=\"Pesquisar...\"\n class=\"h-2.5rem\"\n />\n </span>\n\n </div>\n\n <div class=\"flex flex-row col-1 justify-content-end p-0\">\n <div\n *ngFor=\"let action of config.actionsLote\"\n class=\"btns-options\"\n >\n <button\n id=\"actionLoteBtns\"\n pButton\n *ngIf=\"\n (selectedItems.length > 0 || action.showAcoesLote) &&\n exibirCampo(action, this.action)\n \"\n class=\"actionLoteBtns p-button-raised p-button-text\"\n (click)=\"action?.command(commandEvent); activeItemLote(selectedItems)\"\n [pTooltip]=\"retornarCampo(action, selectedItems, 'tooltip')\"\n [tooltipPosition]=\"'bottom'\"\n [style.backgroundColor]=\"\n retornarCampo(action, selectedItems, 'btnColor')\n \"\n [disabled]=\"retornarCampo(action, selectedItems, 'disabled')\"\n >\n <span\n class=\"material-symbols-outlined md-22\"\n [style.color]=\"\n retornarCampo(action, selectedItems, 'iconBtnColor')\n \"\n >\n {{ retornarCampo(action, selectedItems, \"icon\") }}\n </span>\n </button>\n </div>\n </div>\n </div>\n </ng-template>\n\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n <th\n *ngFor=\"let col of columns; index as i\"\n [ttSortableColumn]=\"col.field\"\n [ttSortableColumnDisabled]=\"col.sortable === false\"\n class=\"text-sm\"\n [style.width]=\"col.width\"\n >\n <div>\n <div [ngClass]=\"{ flex: i == 0, 'gap-3': i == 0 }\">\n <div *ngIf=\"i == 0 && config.enableSelect\">\n <p-treeTableHeaderCheckbox\n (click)=\"activeItemLote(selectedItems)\"></p-treeTableHeaderCheckbox>\n </div>\n\n <div\n [class]=\"\n centralizarColunas(col) && alignColunasHeader(col) == ''\n ? 'flex flex-row justify-content-center'\n : 'flex flex-row'\n \"\n [style]=\"alignColunasHeader(col)\"\n >\n <span>{{ col.header }}</span>\n <p-sortIcon\n *ngIf=\"col.sortable === true\"\n [field]=\"col.field\"\n style=\"font-size: 10px\"\n ></p-sortIcon>\n\n <span\n *ngIf=\"col.headerTooltip\"\n class=\"material-symbols-outlined flex align-items-center\"\n [pTooltip]=\"col.headerTooltip\"\n >info</span>\n </div>\n </div>\n </div>\n </th>\n </tr>\n </ng-template>\n\n <ng-template\n pTemplate=\"header\"\n let-columns\n >\n <tr>\n <th\n *ngFor=\"let col of columns\"\n ttResizableColumn\n [style.width]=\"col.width\"\n [style]=\"col.centralize ? 'text-align: center;' : ''\"\n >\n {{ col.header }} <br>\n </th>\n\n <th\n [style.width]=\"5\"\n *ngIf=\"config.actions.length > 0\"\n ></th>\n </tr>\n </ng-template>\n <ng-template\n pTemplate=\"body\"\n let-rowNode\n let-rowData=\"rowData\"\n let-columns=\"columns\"\n >\n <tr\n [ttRow]=\"rowNode\"\n (dblclick)=\"doubleClick($event, rowData)\"\n >\n <td\n *ngFor=\"let col of columns; let i = index\"\n [style]=\"returnStyleRow(col, rowNode)\"\n [style.position]=\"rowNode.level !== 0 ? 'sticky' : null\"\n [style.left.px]=\"rowNode.level !== 0 ? rowNode.level*30 : null\"\n >\n\n <div class=\"flex flex-row {{col.boolean ? 'justify-content-center' : '' }}\">\n <div\n class=\"w-full-h-full flex align-items-center\"\n *ngIf=\"i == 0\"\n >\n <p-treeTableCheckbox\n [disabled]=\"isDisabledCheckbox(rowData, rowNode)\"\n (click)=\"activeItemLote(selectedItems)\"\n [value]=\"rowNode\"\n *ngIf=\"config.enableSelect == true\"\n ></p-treeTableCheckbox>\n\n <p-treeTableToggler\n class=\"hiddenVisible\"\n [rowNode]=\"rowNode\"\n ></p-treeTableToggler>\n <!-- \n <p-treeTableToggler\n [rowNode]=\"rowNode\"\n *ngIf=\"!rightCollapse\"\n ></p-treeTableToggler>\n <p-treeTableToggler\n class=\"hiddenVisible\"\n [rowNode]=\"rowNode\"\n *ngIf=\"rightCollapse\"\n ></p-treeTableToggler> -->\n </div>\n\n\n <div class=\"flex flex-row align-items-center\">\n <div class=\"flex flex-row align-items-center justify-content-center\">\n\n <i\n *ngIf=\"col.boolean\"\n class=\"pi {{rowData[col.field] ? 'pi-check text-green-300' : ''}}\"\n style=\"font-size: 1.1rem;\"\n ></i>\n\n\n <div\n class=\"flex flex-column\"\n *ngIf=\"!col.boolean\"\n >\n <span class=\"m-0\">{{ rowData[col.field] }}</span>\n\n <p\n *ngIf=\"col.subtitle\"\n class=\"m-0 text-xs font-semibold\"\n >{{rowData[col.subtitle]}}</p>\n </div>\n\n </div>\n </div>\n\n </div>\n\n\n <span *ngIf=\"col.template && validateShowTemplate(rowNode, col)\">\n <ng-container\n *ngIf=\"getCustomTemplate(col.template.name)\"\n [ngTemplateOutlet]=\"getCustomTemplate(col.template.name)\"\n [ngTemplateOutletContext]=\"{ $implicit: rowData }\"\n >\n </ng-container>\n </span>\n\n </td>\n\n\n <td\n style=\"border-left: none;\"\n *ngIf=\"config.actions.length > 0 || config.actionsPai\"\n >\n\n <div *ngIf=\"config.actions.length > 0 && validateActionPosition(rowNode)\">\n <div\n class=\"flex flex-row justify-content-center gap-1\"\n *ngIf=\"acoesLinhaTabela\"\n >\n <p-button\n *ngFor=\"let action of config.actions\"\n icon=\"pi {{action.icon}}\"\n [rounded]=\"true\"\n [severity]=\"action.severity ? action.severity : 'secondary'\"\n [style]=\"{width: '2rem', height: '2rem'}\"\n (onClick)=\"action.command($event)\"\n ></p-button>\n\n </div>\n\n <span\n *ngIf=\"!acoesLinhaTabela\"\n class=\"material-symbols-outlined cursor-pointer icon-more-horiz\"\n style=\"font-size: 22px\"\n (click)=\"menu.toggle($event); activeItem(rowData)\"\n >\n more_horiz\n </span>\n\n <div *ngFor=\"let action of config.actions\">\n {{ criarMenusModal(rowData) }}\n </div>\n\n <p-menu\n #menu\n [popup]=\"true\"\n [model]=\"menuItems\"\n appendTo=\"body\"\n ></p-menu>\n\n </div>\n\n <div *ngIf=\"config.actionsPai?.length > 0 && rowNode.level == 0\">\n\n <div\n *ngFor=\"let actionPai of config.actionsPai\"\n class=\"flex justify-content-end\"\n >\n\n <p-button\n icon=\"pi {{actionPai.icon}}\"\n [rounded]=\"true\"\n [severity]=\"actionPai.severity ? actionPai.severity : 'secondary'\"\n [style]=\"{width: '2rem', height: '2rem'}\"\n (onClick)=\"activeItem(rowData);actionPai.command($event);\"\n ></p-button>\n\n </div>\n\n </div>\n\n </td>\n\n </tr>\n </ng-template>\n\n </p-treeTable>\n</div>", styles: ["@charset \"UTF-8\";:host ::ng-deep .p-treetable table{border-spacing:0 3px}#botaoFiltro:hover{color:#d4d4d4}:host ::ng-deep .p-treetable .p-treetable-header{background-color:#d1d1d1;padding:2px 0 0!important;border-radius:5px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th{background-color:#eaeaea;padding:.5rem!important;margin-bottom:-5px!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{padding:.5rem!important}:host ::ng-deep .p-treetable .p-treetable-thead{border-spacing:0 1px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:first-of-type{background-color:#eaeaea;padding:.5rem!important;border-radius:5px!important}:host ::ng-deep .p-treetable .p-treetable-thead>tr>th:last-child{background-color:#eaeaea;padding:.5rem!important;border-radius:0 5px 5px 0!important;-webkit-border-radius:0 5px 5px 0!important;-moz-border-radius:0 5px 5px 0!important;-ms-border-radius:0 5px 5px 0!important;-o-border-radius:0 5px 5px 0!important}:host ::ng-deep .p-treetable-scrollable-header-box{padding:0!important}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th{background-color:#f2f2f2}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th:first-of-type{border-radius:5px 0 0 5px}:host ::ng-deep .p-treetable.p-treetable-sm .p-treetable-thead>tr>th:last-child{border-radius:0 5px 5px 0}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td{border-bottom:1px solid #ddd!important;border-top:1px solid #ddd!important}:host ::ng-deep #tr-style{border-left:solid 4px #5289B4!important;border-radius:10px!important;display:block}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:first-of-type{border-left:solid 4px #5289B4!important;border-right:none!important;border-radius:10px 0 0 10px!important;-webkit-border-radius:10px 0 0 10px!important;-moz-border-radius:10px 0 0 10px!important;-ms-border-radius:10px 0 0 10px!important;-o-border-radius:10px 0 0 10px!important}:host ::ng-deep .p-treetable .p-treetable-tbody>tr>td:last-child{border-radius:0 10px 10px 0!important;border-right:1px solid #ddd!important;-webkit-border-radius:0 10px 10px 0!important;-moz-border-radius:0 10px 10px 0!important;-ms-border-radius:0 10px 10px 0!important;-o-border-radius:0 10px 10px 0!important}:host ::ng-deep .actionBtns,:host ::ng-deep .actionLoteBtns{border-radius:50%;box-shadow:#0000003d 0 3px 8px;width:2.5rem!important;height:2.5rem!important;display:flex;align-items:center;justify-content:center}:host ::ng-deep .p-treetable table{border-collapse:separate!important;table-layout:auto!important}.icon-more-horiz:hover,.icon-more-horiz:focus{color:#5e5e5e;transform:scale(1.1);transition:color .3s,transform .3s}\n"] }]
187
+ }], propDecorators: { config: [{
188
+ type: Input
189
+ }], dataSource: [{
190
+ type: Input
191
+ }], gridLines: [{
192
+ type: Input
193
+ }], acoesLinhaTabela: [{
194
+ type: Input
195
+ }], onFilter: [{
196
+ type: Output
197
+ }], onPaginate: [{
198
+ type: Output
199
+ }], onActiveItem: [{
200
+ type: Output
201
+ }], onActiveItemLote: [{
202
+ type: Output
203
+ }], doubleClickEvent: [{
204
+ type: Output
205
+ }], templates: [{
206
+ type: ContentChildren,
207
+ args: [TemplateDirective]
208
+ }], _templates: [{
209
+ type: Input,
210
+ args: ['templates']
211
+ }], onWindowResize: [{
212
+ type: HostListener,
213
+ args: ['window:resize', ['$event']]
214
+ }] } });
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtdHJlZS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi10cmVlLXRhYmxlL2t2LXRyZWUtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtdHJlZS10YWJsZS9rdi10cmVlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFHUCxNQUFNLGVBQWUsQ0FBQztBQU92QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7Ozs7Ozs7QUFPckYsTUFBTSxPQUFPLG9CQUFvQjtJQUxqQztRQU9FLGNBQVMsR0FBaUIsRUFBRSxDQUFDO1FBRTdCLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBS2YsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFakMsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pELGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuRCxpQkFBWSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3JELHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pELHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0tBOExwRTtJQTVMQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ3ZDLENBQUM7SUFNRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENB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LGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBTTZCLFNBQVM7c0JBQTVDLGVBQWU7dUJBQUMsaUJBQWlCO2dCQUNkLFVBQVU7c0JBQTdCLEtBQUs7dUJBQUMsV0FBVztnQkFHbEIsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWVudUl0ZW1Db21tYW5kRXZlbnQgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBUcmVlVGFibGUgfSBmcm9tICdwcmltZW5nL3RyZWV0YWJsZSc7XG5cbmltcG9ydCB7IEt2TWVudUl0ZW0gfSBmcm9tICcuLi8uLi9hcGkvY29tcG9uZW50cy90YWJsZS9rdi1tZW51aXRlbSc7XG5pbXBvcnQgeyBUYWJsZVBhZ2luYXRlIH0gZnJvbSAnLi4vLi4vYXBpL2NvbXBvbmVudHMvdGFibGUvdGFibGUucGFnaW5hdGUnO1xuaW1wb3J0IHsgVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9hcGkvZGlyZWN0aXZlcy90ZW1wbGF0ZS90ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrdi10cmVlLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2t2LXRyZWUtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9rdi10cmVlLXRhYmxlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgS3ZUcmVldGFibGVDb21wb25lbnQge1xuXG4gIG1lbnVJdGVtczogS3ZNZW51SXRlbVtdID0gW107XG4gIHRhbWFuaG9UZWxhITogbnVtYmVyO1xuICBzZWxlY3RlZEl0ZW1zOiBhbnkgPSBbXTtcbiAgY29tbWFuZEV2ZW50ITogTWVudUl0ZW1Db21tYW5kRXZlbnQ7XG5cbiAgQElucHV0KCkgY29uZmlnITogYW55O1xuICBASW5wdXQoKSBkYXRhU291cmNlITogYW55O1xuICBASW5wdXQoKSBncmlkTGluZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgYWNvZXNMaW5oYVRhYmVsYTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBvbkZpbHRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvblBhZ2luYXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uQWN0aXZlSXRlbTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkFjdGl2ZUl0ZW1Mb3RlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRvdWJsZUNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudGFtYW5ob1RlbGEgPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGRyZW4oVGVtcGxhdGVEaXJlY3RpdmUpIHRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxhbnk+O1xuICBASW5wdXQoJ3RlbXBsYXRlcycpIF90ZW1wbGF0ZXMhOiBhbnk7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gIG9uV2luZG93UmVzaXplKCkge1xuICAgIHRoaXMudGFtYW5ob1RlbGEgPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgfVxuXG4gIHB1YmxpYyBhY3RpdmVJdGVtKHJvd0RhdGE6IGFueSkge1xuICAgIHRoaXMub25BY3RpdmVJdGVtLmVtaXQocm93RGF0YSk7XG4gIH1cblxuICBwdWJsaWMgYWN0aXZlSXRlbUxvdGUocm93RGF0YTogYW55KSB7XG4gICAgdGhpcy5vbkFjdGl2ZUl0ZW1Mb3RlLmVtaXQocm93RGF0YSk7XG4gIH1cblxuICBwdWJsaWMgb25HbG9iYWxGaWx0ZXIodGFibGU6IFRyZWVUYWJsZSwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5vbkZpbHRlci5lbWl0KChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpO1xuICAgIHRhYmxlLmZpbHRlckdsb2JhbCgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlLCAnY29udGFpbnMnKTtcbiAgfVxuXG4gIHB1YmxpYyBwYWdpbmF0ZSgkZXZlbnQ6IGFueSkge1xuICAgIGlmICgkZXZlbnQpIHtcbiAgICAgIGxldCBwYWdpbmFJbmljaWFsID1cbiAgICAgICAgKCRldmVudD8uZmlyc3QgPiAwID8gJGV2ZW50LmZpcnN0IC8gJGV2ZW50LnJvd3MgOiAkZXZlbnQuZmlyc3QpICsgMTtcbiAgICAgIGxldCB0ZXJtb1Blc3F1aXNhID0gJyc7XG4gICAgICBsZXQgb3JkZW5hY2FvID0gJyc7XG5cbiAgICAgIGlmICgkZXZlbnQuZ2xvYmFsRmlsdGVyKSB0ZXJtb1Blc3F1aXNhID0gJGV2ZW50Lmdsb2JhbEZpbHRlcjtcblxuICAgICAgaWYgKCRldmVudC5zb3J0RmllbGQpXG4gICAgICAgIG9yZGVuYWNhbyA9IGAkeyRldmVudC5zb3J0RmllbGR9ICR7JGV2ZW50LnNvcnRPcmRlciA9PT0gMSA/ICdBU0MnIDogJ0RFU0MnXG4gICAgICAgICAgfWA7XG5cbiAgICAgIGNvbnN0IG9iamV0bzogVGFibGVQYWdpbmF0ZSA9IHtcbiAgICAgICAgcGFnaW5hSW5pY2lhbDogcGFnaW5hSW5pY2lhbCxcbiAgICAgICAgdGFtYW5ob1BhZ2luYTogJGV2ZW50LnJvd3MsXG4gICAgICAgIHRlcm1vUGVzcXVpc2E6IHRlcm1vUGVzcXVpc2EsXG4gICAgICAgIG9yZGVuYWNhbzogb3JkZW5hY2FvLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5vblBhZ2luYXRlLmVtaXQob2JqZXRvKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm5TdHlsZVJvdyhjb2w6IGFueSwgcm93Tm9kZTogYW55KTogc3RyaW5nIHtcbiAgICBjb25zdCBpc0ZpcnN0Q29sdW1uID0gY29sLmZpZWxkID09PSB0aGlzLmNvbmZpZy5jb2x1bW5zWzBdLmZpZWxkO1xuICAgIGNvbnN0IGJhc2VPcGFjaXR5ID0gMTtcbiAgICBjb25zdCBtYXhMZXZlbHMgPSA0O1xuXG4gICAgaWYgKGlzRmlyc3RDb2x1bW4gJiYgcm93Tm9kZS5sZXZlbCA+PSAwKSB7XG4gICAgICBjb25zdCBvcGFjaXR5ID0gYmFzZU9wYWNpdHkgLSAocm93Tm9kZS5sZXZlbCAvIG1heExldmVscyk7XG5cbiAgICAgIHJldHVybiBgYm9yZGVyLWxlZnQ6IHNvbGlkIDRweCByZ2JhKDU5LCAxMTAsIDE1OCwgJHtvcGFjaXR5fSkgIWltcG9ydGFudDtgO1xuICAgIH1cblxuICAgIGlmIChyb3dOb2RlLmxldmVsID09IDApXG4gICAgICByZXR1cm4gJ2JvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7IGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50J1xuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgYWxpZ25Db2x1bmFzSGVhZGVyKGNvbDogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoY29sLmFsaWduKSB7XG4gICAgICBpZiAoY29sLmFsaWduID09ICdyaWdodCcpIHJldHVybiAnanVzdGlmeS1jb250ZW50OiBlbmQnO1xuICAgICAgZWxzZSByZXR1cm4gJyc7XG4gICAgfSBlbHNlIHJldHVybiAnJztcbiAgfVxuICBjZW50cmFsaXphckNvbHVuYXMoY29sOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmIChjb2wuY2VudHJhbGl6ZSkge1xuICAgICAgcmV0dXJuICd0ZXh0LWFsaWduOiBjZW50ZXI7ICc7XG4gICAgfSBlbHNlIHJldHVybiAnJztcbiAgfVxuICBhbGlnbkNvbHVuYXMoY29sOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmIChjb2wuYWxpZ24pIHtcbiAgICAgIHJldHVybiBgdGV4dC1hbGlnbjogJHtjb2wuYWxpZ259YDtcbiAgICB9IGVsc2UgcmV0dXJuICcnO1xuICB9XG5cbiAgY3JpYXJNZW51c01vZGFsKGRhdGE6IGFueSkge1xuICAgIGlmICh0aGlzLmNvbmZpZy5hY3Rpb25zICYmIGRhdGEpIHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5jb25maWcuYWN0aW9ucy5tYXAoKGFjdGlvbjogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGljb24gPSB0aGlzLnJldG9ybmFyQ2FtcG8oYWN0aW9uLCBkYXRhLCAnaWNvbicpO1xuICAgICAgICBjb25zdCB0b29sdGlwID0gdGhpcy5yZXRvcm5hckNhbXBvKGFjdGlvbiwgZGF0YSwgJ3Rvb2x0aXAnKTtcbiAgICAgICAgY29uc3QgdG9vbHRpcFBvc2l0aW9uID0gdGhpcy5yZXRvcm5hckNhbXBvKFxuICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgICd0b29sdGlwUG9zaXRpb24nXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5yZXRvcm5hckNhbXBvKGFjdGlvbiwgZGF0YSwgJ2xhYmVsJyk7XG4gICAgICAgIGNvbnN0IGNvbW1hbmQ6IGFueSA9IHRoaXMucmV0b3JuYXJDYW1wbyhhY3Rpb24sIGRhdGEsICdjb21tYW5kJyk7XG4gICAgICAgIGNvbnN0IHZpc2libGU6IGJvb2xlYW4gPSBhY3Rpb24udmlzaWJsZSA/IGFjdGlvbi52aXNpYmxlKGRhdGEpIDogdHJ1ZTtcbiAgICAgICAgY29uc3QgZGlzYWJsZWQ6IGJvb2xlYW4gPSBhY3Rpb24uZGlzYWJsZWRcbiAgICAgICAgICA/IGFjdGlvbi5kaXNhYmxlZChkYXRhKVxuICAgICAgICAgIDogZmFsc2U7XG5cbiAgICAgICAgY29uc3QgbWVudUluc2VydDogS3ZNZW51SXRlbSA9IHtcbiAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICBpY29uLFxuICAgICAgICAgIHRvb2x0aXAsXG4gICAgICAgICAgdG9vbHRpcFBvc2l0aW9uLFxuICAgICAgICAgIGNvbW1hbmQsXG4gICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgdmlzaWJsZSxcbiAgICAgICAgfTtcblxuICAgICAgICBsZXQgaXRlbSA9IHRoaXMubWVudUl0ZW1zLmZpbHRlcihcbiAgICAgICAgICAoeCkgPT4geC5jb21tYW5kID09IG1lbnVJbnNlcnQuY29tbWFuZFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChpdGVtLmxlbmd0aCA9PSAwKSB0aGlzLm1lbnVJdGVtcy5wdXNoKG1lbnVJbnNlcnQpO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBpZiAobWVudUluc2VydC5sYWJlbCAhPSBpdGVtWzBdLmxhYmVsKSB7XG4gICAgICAgICAgICBsZXQgaW5kZXggPSB0aGlzLm1lbnVJdGVtcy5pbmRleE9mKGl0ZW1bMF0pO1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobWVudUluc2VydC52aXNpYmxlICE9IGl0ZW1bMF0udmlzaWJsZSkge1xuICAgICAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5tZW51SXRlbXMuaW5kZXhPZihpdGVtWzBdKTtcbiAgICAgICAgICAgIHRoaXMubWVudUl0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG1lbnVJbnNlcnQuZGlzYWJsZWQgIT0gaXRlbVswXS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5tZW51SXRlbXMuaW5kZXhPZihpdGVtWzBdKTtcbiAgICAgICAgICAgIHRoaXMubWVudUl0ZW1zLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXRvcm5hckNhbXBvKGFjdGlvbjogS3ZNZW51SXRlbSwgcm93RGF0YTogYW55LCBmaWVsZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBfZnVuY3Rpb24gPSBhY3Rpb24uZHluYW1pY2ZpZWxkc1xuICAgICAgPyAoYWN0aW9uLmR5bmFtaWNmaWVsZHNbZmllbGRdIGFzIEZ1bmN0aW9uKVxuICAgICAgOiBudWxsO1xuICAgIGNvbnN0IF9maWVsZDogc3RyaW5nID0gX2Z1bmN0aW9uXG4gICAgICA/IF9mdW5jdGlvbi5hcHBseShhY3Rpb24sIFtyb3dEYXRhXSlcbiAgICAgIDogYWN0aW9uW2ZpZWxkXTtcbiAgICByZXR1cm4gX2ZpZWxkO1xuICB9XG5cbiAgZXhpYmlyQ2FtcG8oZmllbGQ6IGFueSwgcm93RGF0YTogYW55KSB7XG4gICAgbGV0IHZpc2libGUgPSBmaWVsZC52aXNpYmxlID8gZmllbGQudmlzaWJsZShyb3dEYXRhKSA6IHRydWU7XG4gICAgcmV0dXJuIHZpc2libGU7XG4gIH1cblxuICB2YWxpZGF0ZUFjdGlvblBvc2l0aW9uKHJvd05vZGU6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmNvbmZpZy5hY3Rpb25zUGFpICYmIHJvd05vZGUubGV2ZWwgPT0gMCkgcmV0dXJuIGZhbHNlO1xuICAgIGVsc2UgcmV0dXJuIHRydWVcbiAgfVxuXG5cbiAgZG91YmxlQ2xpY2soZTogYW55LCByb3dEYXRhOiBhbnkpIHtcblxuICAgIGxldCBldmVudERvdWJsZUNsaWNrID0geyBldmVudDogZSwgcm93RGF0YTogcm93RGF0YSB9O1xuXG4gICAgbGV0IGFycmF5OiBzdHJpbmdbXSA9IFtdO1xuICAgIGUudGFyZ2V0LmNsYXNzTGlzdC5mb3JFYWNoKCh4OiBhbnkpID0+IGFycmF5LnB1c2goeCkpO1xuXG4gICAgLy8gaWYgKGFycmF5LmZpbmQoKHg6IGFueSkgPT4geCA9PSAnbmctc3Rhci1pbnNlcnRlZCcpICE9IHVuZGVmaW5lZClcbiAgICB0aGlzLmRvdWJsZUNsaWNrRXZlbnQuZW1pdChldmVudERvdWJsZUNsaWNrKTtcbiAgfVxuXG4gIGlzRGlzYWJsZWRDaGVja2JveChyb3dEYXRhOiBhbnksIHJvd05vZGU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5kaXNhYmxlQ29udHJvbENoZWNrYm94RnVuY3Rpb25cbiAgICAgID8gdGhpcy5jb25maWcuZGlzYWJsZUNvbnRyb2xDaGVja2JveEZ1bmN0aW9uKHJvd0RhdGEsIHJvd05vZGUpXG4gICAgICA6IGZhbHNlO1xuICB9XG5cbiAgZ2V0Q3VzdG9tVGVtcGxhdGUodGVtcGxhdGVuYW1lOiBzdHJpbmcpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fdGVtcGxhdGVzW3RlbXBsYXRlbmFtZV07XG4gIH1cblxuICB2YWxpZGF0ZVNob3dUZW1wbGF0ZShyb3dOb2RlOiBhbnksIGNvbDogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKGNvbC50ZW1wbGF0ZU9ubHkpIHtcbiAgICAgIGlmIChjb2wudGVtcGxhdGVPbmx5ID09PSAncGFpJykge1xuICAgICAgICByZXR1cm4gcm93Tm9kZS5sZXZlbCA9PT0gMDtcbiAgICAgIH1cbiAgICAgIGlmIChjb2wudGVtcGxhdGVPbmx5ID09PSAnZmlsaG8nKSB7XG4gICAgICAgIHJldHVybiByb3dOb2RlLmxldmVsID09PSAxO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIiwiPGRpdj5cbiAgICA8cC10cmVlVGFibGVcbiAgICAgICAgI3R0XG4gICAgICAgIFt2YWx1ZV09XCJkYXRhU291cmNlXCJcbiAgICAgICAgW2NvbHVtbnNdPVwiY29uZmlnLmNvbHVtbnNcIlxuICAgICAgICBbcmVzaXphYmxlQ29sdW1uc109XCJ0cnVlXCJcbiAgICAgICAgW3RhYmxlU3R5bGVdPVwieydtaW4td2lkdGgnOiAnNTByZW0nfVwiXG4gICAgICAgIFtyZXNpemFibGVDb2x1bW5zXT1cInRydWVcIlxuICAgICAgICBbc3R5bGVDbGFzc109XCJncmlkTGluZXMgPyAncC10cmVldGFibGUtZ3JpZGxpbmVzJyA6ICcnXCJcbiAgICAgICAgKG9uTGF6eUxvYWQpPVwicGFnaW5hdGUoJGV2ZW50KVwiXG4gICAgPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgcFRlbXBsYXRlPVwiY2FwdGlvblwiXG4gICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5lbmFibGVDYXRpb25cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgZ3JpZCBmb3JtZ3JpZCBwLWZsdWlkIGNvbC0xMlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgZmxleCBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZy50aXRsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtbWQgZm9udC1ib2xkIG15LTNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBjb25maWcudGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29uZmlnLnN1YnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBtYi00IGZvbnQtbWVkaXVtXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgY29uZmlnLnN1YnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBbY2xhc3NdPVwiXG4gICAgICAgICAgICB0YW1hbmhvVGVsYSA8IDc2OFxuICAgICAgICAgICAgICA/ICdmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBjb2wtMTAgbWQ6Y29sLTYgbGc6Y29sLTQganVzdGlmeS1jb250ZW50LWNlbnRlcidcbiAgICAgICAgICAgICAgOiAnZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgY29sLTEyIG1kOmNvbC02IGxnOmNvbC00IGp1c3RpZnktY29udGVudC1jZW50ZXIgaW5wdXQtc2VhcmNoJ1xuICAgICAgICAgIFwiPlxuXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5lbmFibGVGaWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWlucHV0LWljb24tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktc2VhcmNoXCI+PC9pPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcEF1dG9Gb2N1c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvZm9jdXNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJvbkdsb2JhbEZpbHRlcih0dCwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJQZXNxdWlzYXIuLi5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaC0yLjVyZW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBjb2wtMSBqdXN0aWZ5LWNvbnRlbnQtZW5kIHAtMFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbmZpZy5hY3Rpb25zTG90ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bnMtb3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImFjdGlvbkxvdGVCdG5zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWRJdGVtcy5sZW5ndGggPiAwIHx8IGFjdGlvbi5zaG93QWNvZXNMb3RlKSAmJlxuICAgICAgICAgICAgICAgIGV4aWJpckNhbXBvKGFjdGlvbiwgdGhpcy5hY3Rpb24pXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb25Mb3RlQnRucyBwLWJ1dHRvbi1yYWlzZWQgcC1idXR0b24tdGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbj8uY29tbWFuZChjb21tYW5kRXZlbnQpOyBhY3RpdmVJdGVtTG90ZShzZWxlY3RlZEl0ZW1zKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cInJldG9ybmFyQ2FtcG8oYWN0aW9uLCBzZWxlY3RlZEl0ZW1zLCAndG9vbHRpcCcpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cIlxuICAgICAgICAgICAgICAgIHJldG9ybmFyQ2FtcG8oYWN0aW9uLCBzZWxlY3RlZEl0ZW1zLCAnYnRuQ29sb3InKVxuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZXRvcm5hckNhbXBvKGFjdGlvbiwgc2VsZWN0ZWRJdGVtcywgJ2Rpc2FibGVkJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBtZC0yMlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJcbiAgICAgICAgICAgICAgICAgIHJldG9ybmFyQ2FtcG8oYWN0aW9uLCBzZWxlY3RlZEl0ZW1zLCAnaWNvbkJ0bkNvbG9yJylcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgcmV0b3JuYXJDYW1wbyhhY3Rpb24sIHNlbGVjdGVkSXRlbXMsIFwiaWNvblwiKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgcFRlbXBsYXRlPVwiaGVhZGVyXCJcbiAgICAgICAgICAgIGxldC1jb2x1bW5zXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zOyBpbmRleCBhcyBpXCJcbiAgICAgICAgICAgICAgICAgICAgW3R0U29ydGFibGVDb2x1bW5dPVwiY29sLmZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgW3R0U29ydGFibGVDb2x1bW5EaXNhYmxlZF09XCJjb2wuc29ydGFibGUgPT09IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXNtXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvbC53aWR0aFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7IGZsZXg6IGkgPT0gMCwgJ2dhcC0zJzogaSA9PSAwIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaSA9PSAwICYmIGNvbmZpZy5lbmFibGVTZWxlY3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtdHJlZVRhYmxlSGVhZGVyQ2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmVJdGVtTG90ZShzZWxlY3RlZEl0ZW1zKVwiPjwvcC10cmVlVGFibGVIZWFkZXJDaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIlxuICAgICAgICAgICAgICAgICAgICBjZW50cmFsaXphckNvbHVuYXMoY29sKSAmJiBhbGlnbkNvbHVuYXNIZWFkZXIoY29sKSA9PSAnJ1xuICAgICAgICAgICAgICAgICAgICAgID8gJ2ZsZXggZmxleC1yb3cganVzdGlmeS1jb250ZW50LWNlbnRlcidcbiAgICAgICAgICAgICAgICAgICAgICA6ICdmbGV4IGZsZXgtcm93J1xuICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImFsaWduQ29sdW5hc0hlYWRlcihjb2wpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGNvbC5oZWFkZXIgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLXNvcnRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbC5zb3J0YWJsZSA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRdPVwiY29sLmZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZm9udC1zaXplOiAxMHB4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvcC1zb3J0SWNvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb2wuaGVhZGVyVG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cImNvbC5oZWFkZXJUb29sdGlwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPmluZm88L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBwVGVtcGxhdGU9XCJoZWFkZXJcIlxuICAgICAgICAgICAgbGV0LWNvbHVtbnNcbiAgICAgICAgPlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICB0dFJlc2l6YWJsZUNvbHVtblxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiY29sLndpZHRoXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbC5jZW50cmFsaXplID8gJ3RleHQtYWxpZ246IGNlbnRlcjsnIDogJydcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgY29sLmhlYWRlciB9fSA8YnI+XG4gICAgICAgICAgICAgICAgPC90aD5cblxuICAgICAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiNVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29uZmlnLmFjdGlvbnMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgPjwvdGg+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIHBUZW1wbGF0ZT1cImJvZHlcIlxuICAgICAgICAgICAgbGV0LXJvd05vZGVcbiAgICAgICAgICAgIGxldC1yb3dEYXRhPVwicm93RGF0YVwiXG4gICAgICAgICAgICBsZXQtY29sdW1ucz1cImNvbHVtbnNcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHJcbiAgICAgICAgICAgICAgICBbdHRSb3ddPVwicm93Tm9kZVwiXG4gICAgICAgICAgICAgICAgKGRibGNsaWNrKT1cImRvdWJsZUNsaWNrKCRldmVudCwgcm93RGF0YSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnM7ICBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cInJldHVyblN0eWxlUm93KGNvbCwgcm93Tm9kZSlcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUucG9zaXRpb25dPVwicm93Tm9kZS5sZXZlbCAhPT0gMCA/ICdzdGlja3knIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cInJvd05vZGUubGV2ZWwgIT09IDAgPyByb3dOb2RlLmxldmVsKjMwIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93ICB7e2NvbC5ib29sZWFuID8gJ2p1c3RpZnktY29udGVudC1jZW50ZXInIDogJycgfX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbC1oLWZ1bGwgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaSA9PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC10cmVlVGFibGVDaGVja2JveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZENoZWNrYm94KHJvd0RhdGEsIHJvd05vZGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2ZUl0ZW1Mb3RlKHNlbGVjdGVkSXRlbXMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInJvd05vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZy5lbmFibGVTZWxlY3QgPT0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvcC10cmVlVGFibGVDaGVja2JveD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLXRyZWVUYWJsZVRvZ2dsZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoaWRkZW5WaXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jvd05vZGVdPVwicm93Tm9kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvcC10cmVlVGFibGVUb2dnbGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtdHJlZVRhYmxlVG9nZ2xlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm93Tm9kZV09XCJyb3dOb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhcmlnaHRDb2xsYXBzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvcC10cmVlVGFibGVUb2dnbGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLXRyZWVUYWJsZVRvZ2dsZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoaWRkZW5WaXNpYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jvd05vZGVdPVwicm93Tm9kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicmlnaHRDb2xsYXBzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvcC10cmVlVGFibGVUb2dnbGVyPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sLmJvb2xlYW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwaSB7e3Jvd0RhdGFbY29sLmZpZWxkXSA/ICdwaS1jaGVjayB0ZXh0LWdyZWVuLTMwMCcgOiAnJ319XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZm9udC1zaXplOiAxLjFyZW07XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvaT5cblxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFjb2wuYm9vbGVhblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS0wXCI+e3sgcm93RGF0YVtjb2wuZmllbGRdIH19PC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sLnN1YnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm0tMCB0ZXh0LXhzIGZvbnQtc2VtaWJvbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7cm93RGF0YVtjb2wuc3VidGl0bGVdfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY29sLnRlbXBsYXRlICYmIHZhbGlkYXRlU2hvd1RlbXBsYXRlKHJvd05vZGUsIGNvbClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldEN1c3RvbVRlbXBsYXRlKGNvbC50ZW1wbGF0ZS5uYW1lKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ2V0Q3VzdG9tVGVtcGxhdGUoY29sLnRlbXBsYXRlLm5hbWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvd0RhdGEgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPC90ZD5cblxuXG4gICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiYm9yZGVyLWxlZnQ6IG5vbmU7XCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb25maWcuYWN0aW9ucy5sZW5ndGggPiAwIHx8IGNvbmZpZy5hY3Rpb25zUGFpXCJcbiAgICAgICAgICAgICAgICA+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbmZpZy5hY3Rpb25zLmxlbmd0aCA+IDAgJiYgdmFsaWRhdGVBY3Rpb25Qb3NpdGlvbihyb3dOb2RlKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGdhcC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImFjb2VzTGluaGFUYWJlbGFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbmZpZy5hY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInBpIHt7YWN0aW9uLmljb259fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3VuZGVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2V2ZXJpdHldPVwiYWN0aW9uLnNldmVyaXR5ID8gYWN0aW9uLnNldmVyaXR5IDogJ3NlY29uZGFyeSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGVdPVwie3dpZHRoOiAnMnJlbScsIGhlaWdodDogJzJyZW0nfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImFjdGlvbi5jb21tYW5kKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3AtYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFhY29lc0xpbmhhVGFiZWxhXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgY3Vyc29yLXBvaW50ZXIgaWNvbi1tb3JlLWhvcml6XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImZvbnQtc2l6ZTogMjJweFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1lbnUudG9nZ2xlKCRldmVudCk7IGFjdGl2ZUl0ZW0ocm93RGF0YSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vcmVfaG9yaXpcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbmZpZy5hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY3JpYXJNZW51c01vZGFsKHJvd0RhdGEpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtbWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNtZW51XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BvcHVwXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJtZW51SXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9wLW1lbnU+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbmZpZy5hY3Rpb25zUGFpPy5sZW5ndGggPiAwICYmIHJvd05vZGUubGV2ZWwgPT0gMFwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvblBhaSBvZiBjb25maWcuYWN0aW9uc1BhaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1lbmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwaSB7e2FjdGlvblBhaS5pY29ufX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91bmRlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NldmVyaXR5XT1cImFjdGlvblBhaS5zZXZlcml0eSA/IGFjdGlvblBhaS5zZXZlcml0eSA6ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cInt3aWR0aDogJzJyZW0nLCBoZWlnaHQ6ICcycmVtJ31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25DbGljayk9XCJhY3RpdmVJdGVtKHJvd0RhdGEpO2FjdGlvblBhaS5jb21tYW5kKCRldmVudCk7XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9wLWJ1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8L3RkPlxuXG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPC9wLXRyZWVUYWJsZT5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { KvTreetableComponent } from './kv-tree-table.component';
4
+ import { PrimeNgModule } from '../../api/modules/primeng.module';
5
+ import * as i0 from "@angular/core";
6
+ export class KvTreetableModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvTreetableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: KvTreetableModule, declarations: [KvTreetableComponent], imports: [CommonModule,
9
+ PrimeNgModule], exports: [KvTreetableComponent] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvTreetableModule, imports: [CommonModule,
11
+ PrimeNgModule] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvTreetableModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [
17
+ KvTreetableComponent
18
+ ],
19
+ imports: [
20
+ CommonModule,
21
+ PrimeNgModule,
22
+ ],
23
+ exports: [
24
+ KvTreetableComponent
25
+ ]
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtdHJlZS10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9rdi10cmVlLXRhYmxlL2t2LXRyZWUtdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFjakUsTUFBTSxPQUFPLGlCQUFpQjsrR0FBakIsaUJBQWlCO2dIQUFqQixpQkFBaUIsaUJBVjFCLG9CQUFvQixhQUdwQixZQUFZO1lBQ1osYUFBYSxhQUdiLG9CQUFvQjtnSEFHWCxpQkFBaUIsWUFQMUIsWUFBWTtZQUNaLGFBQWE7OzRGQU1KLGlCQUFpQjtrQkFaN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7cUJBQ3JCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBLdlRyZWV0YWJsZUNvbXBvbmVudCB9IGZyb20gJy4va3YtdHJlZS10YWJsZS5jb21wb25lbnQnXG5pbXBvcnQgeyBQcmltZU5nTW9kdWxlIH0gZnJvbSAnLi4vLi4vYXBpL21vZHVsZXMvcHJpbWVuZy5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBLdlRyZWV0YWJsZUNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFByaW1lTmdNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBLdlRyZWV0YWJsZUNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEt2VHJlZXRhYmxlTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,30 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "primeng/tree";
4
+ export class KvTreeViewComponent {
5
+ constructor() {
6
+ this.selectedFiles = [];
7
+ this.selectionMode = 'checkbox';
8
+ this.selectedItems = new EventEmitter();
9
+ }
10
+ ngOnInit() {
11
+ }
12
+ onSelectionChange() {
13
+ this.selectedItems.emit(this.selectedFiles);
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvTreeViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: KvTreeViewComponent, selector: "kv-tree-view", inputs: { selectedFiles: "selectedFiles", selectionMode: "selectionMode", treeViewData: "treeViewData" }, outputs: { selectedItems: "selectedItems" }, ngImport: i0, template: "<div class=\"card flex flex-column align-items-center justify-content-center\">\n <p-tree\n [value]=\"treeViewData\"\n [selectionMode]=\"selectionMode\"\n class=\"w-full\"\n [(selection)]=\"selectedFiles\"\n (selectionChange)=\"onSelectionChange()\"\n ></p-tree>\n</div>", styles: [""], dependencies: [{ kind: "component", type: i1.Tree, selector: "p-tree", inputs: ["value", "selectionMode", "selection", "style", "styleClass", "contextMenu", "layout", "draggableScope", "droppableScope", "draggableNodes", "droppableNodes", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "emptyMessage", "ariaLabel", "togglerAriaLabel", "ariaLabelledBy", "validateDrop", "filter", "filterBy", "filterMode", "filterPlaceholder", "filteredNodes", "filterLocale", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "indentation", "_templateMap", "trackBy", "virtualNodeHeight"], outputs: ["selectionChange", "onNodeSelect", "onNodeUnselect", "onNodeExpand", "onNodeCollapse", "onNodeContextMenuSelect", "onNodeDrop", "onLazyLoad", "onScroll", "onScrollIndexChange", "onFilter"] }] }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvTreeViewComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'kv-tree-view', template: "<div class=\"card flex flex-column align-items-center justify-content-center\">\n <p-tree\n [value]=\"treeViewData\"\n [selectionMode]=\"selectionMode\"\n class=\"w-full\"\n [(selection)]=\"selectedFiles\"\n (selectionChange)=\"onSelectionChange()\"\n ></p-tree>\n</div>" }]
21
+ }], ctorParameters: function () { return []; }, propDecorators: { selectedFiles: [{
22
+ type: Input
23
+ }], selectionMode: [{
24
+ type: Input
25
+ }], treeViewData: [{
26
+ type: Input
27
+ }], selectedItems: [{
28
+ type: Output
29
+ }] } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtdHJlZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXRyZWUtdmlldy9rdi10cmVlLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtdHJlZS12aWV3L2t2LXRyZWUtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDOzs7QUFTdkIsTUFBTSxPQUFPLG1CQUFtQjtJQU85QjtRQU5TLGtCQUFhLEdBQVEsRUFBRSxDQUFDO1FBQ3hCLGtCQUFhLEdBQVEsVUFBVSxDQUFDO1FBRy9CLGtCQUFhLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFaEQsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUM3QyxDQUFDOytHQWRVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDJNQ2ZoQyx5VEFRTTs7NEZET08sbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGNBQWM7MEVBS2YsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFRyZWVOb2RlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrdi10cmVlLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4va3YtdHJlZS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4va3YtdHJlZS12aWV3LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgS3ZUcmVlVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkRmlsZXM6IGFueSA9IFtdO1xuICBASW5wdXQoKSBzZWxlY3Rpb25Nb2RlOiBhbnkgPSAnY2hlY2tib3gnO1xuICBASW5wdXQoKSB0cmVlVmlld0RhdGEhOiBUcmVlTm9kZVtdO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW1zOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbiAgb25TZWxlY3Rpb25DaGFuZ2UoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zLmVtaXQodGhpcy5zZWxlY3RlZEZpbGVzKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgPHAtdHJlZVxuICAgICAgICBbdmFsdWVdPVwidHJlZVZpZXdEYXRhXCJcbiAgICAgICAgW3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiXG4gICAgICAgIGNsYXNzPVwidy1mdWxsXCJcbiAgICAgICAgWyhzZWxlY3Rpb24pXT1cInNlbGVjdGVkRmlsZXNcIlxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKClcIlxuICAgID48L3AtdHJlZT5cbjwvZGl2PiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { KvTreeViewComponent } from './kv-tree-view.component';
4
+ import { PrimeNgModule } from '../../api/modules/primeng.module';
5
+ import * as i0 from "@angular/core";
6
+ export class KvtreeViewModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvtreeViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: KvtreeViewModule, declarations: [KvTreeViewComponent], imports: [CommonModule,
9
+ PrimeNgModule], exports: [KvTreeViewComponent] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvtreeViewModule, imports: [CommonModule,
11
+ PrimeNgModule] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KvtreeViewModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ declarations: [
17
+ KvTreeViewComponent
18
+ ],
19
+ imports: [
20
+ CommonModule,
21
+ PrimeNgModule
22
+ ],
23
+ exports: [
24
+ KvTreeViewComponent
25
+ ],
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtdHJlZS12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LXRyZWUtdmlldy9rdi10cmVlLXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFjakUsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBVnpCLG1CQUFtQixhQUduQixZQUFZO1lBQ1osYUFBYSxhQUdiLG1CQUFtQjtnSEFHVixnQkFBZ0IsWUFQekIsWUFBWTtZQUNaLGFBQWE7OzRGQU1KLGdCQUFnQjtrQkFaNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEt2VHJlZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL2t2LXRyZWUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJpbWVOZ01vZHVsZSB9IGZyb20gJy4uLy4uL2FwaS9tb2R1bGVzL3ByaW1lbmcubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgS3ZUcmVlVmlld0NvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFByaW1lTmdNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEt2VHJlZVZpZXdDb21wb25lbnRcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgS3Z0cmVlVmlld01vZHVsZSB7IH1cbiJdfQ==