keevo-components 1.5.189 → 1.5.191

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/README.md +24 -24
  2. package/ng-package.json +7 -0
  3. package/package.json +3 -22
  4. package/src/assets/.gitkeep +0 -0
  5. package/src/assets/images/LogoEvo.png +0 -0
  6. package/src/assets/images/LogoPequenaEvo.png +0 -0
  7. package/src/assets/images/background.png +0 -0
  8. package/src/assets/images/keepass-logo.png +0 -0
  9. package/src/assets/images/keepass-logo.svg +74 -0
  10. package/src/assets/images/keevo-logo.png +0 -0
  11. package/src/assets/images/logokeevo_2.png +0 -0
  12. package/src/index.ts +1 -0
  13. package/src/lib/api/base-components/base-component-button.ts +27 -0
  14. package/src/lib/api/base-components/base-component-chart.ts +105 -0
  15. package/src/lib/api/base-components/base-component-crud-form.ts +328 -0
  16. package/src/lib/api/base-components/base-component-crud-list.ts +111 -0
  17. package/src/lib/api/base-components/base-component-crud.ts +70 -0
  18. package/src/lib/api/base-components/base-component-dropdown-new.ts +112 -0
  19. package/src/lib/api/base-components/base-component-dropdown.ts +164 -0
  20. package/src/lib/api/base-components/base-component-input.ts +107 -0
  21. package/src/lib/api/base-components/base-component-multi-select.ts +136 -0
  22. package/src/lib/api/base-components/base-component.ts +46 -0
  23. package/src/lib/api/components/chart/chart.config.ts +12 -0
  24. package/src/lib/api/components/chart/chart.model.ts +9 -0
  25. package/src/lib/api/components/chart/orchart.config.ts +41 -0
  26. package/src/lib/api/components/chart/orchart.item.ts +33 -0
  27. package/src/lib/api/components/dropdown/filtro.combo.ts +4 -0
  28. package/src/lib/api/components/error/error.component.html +3 -0
  29. package/src/lib/api/components/error/error.component.scss +5 -0
  30. package/src/lib/api/components/error/error.component.ts +22 -0
  31. package/src/lib/api/components/error/kverror.module.ts +23 -0
  32. package/src/lib/api/components/table/action-item.ts +5 -0
  33. package/src/lib/api/components/table/kv-menuitem.ts +10 -0
  34. package/src/lib/api/components/table/table.config.column.ts +21 -0
  35. package/src/lib/api/components/table/table.config.ts +20 -0
  36. package/src/lib/api/components/table/table.paginate.ts +6 -0
  37. package/src/lib/api/helpers/component-providers.ts +16 -0
  38. package/src/lib/api/helpers/keevo-validators.ts +77 -0
  39. package/src/lib/api/helpers/translate-primeng.ts +25 -0
  40. package/src/lib/api/models/menu/menu.model.ts +10 -0
  41. package/{lib/api/models/menu/menucompleto.model.d.ts → src/lib/api/models/menu/menucompleto.model.ts} +7 -6
  42. package/src/lib/api/models/menu/sistemamenu.model.ts +8 -0
  43. package/src/lib/api/modules/primeng.module.ts +125 -0
  44. package/src/lib/api/services/base.api.service.ts +115 -0
  45. package/src/lib/api/services/component.service.ts +22 -0
  46. package/src/lib/api/services/form.service.ts +105 -0
  47. package/src/lib/api/services/imagens.service.ts +20 -0
  48. package/src/lib/api/services/notification.service.ts +82 -0
  49. package/src/lib/api/services/object.service.ts +20 -0
  50. package/src/lib/buttons/button-personalize/button-personalize.component.html +11 -0
  51. package/src/lib/buttons/button-personalize/button-personalize.component.scss +3 -0
  52. package/src/lib/buttons/button-personalize/button-personalize.component.ts +13 -0
  53. package/src/lib/buttons/button-popup/button-popup.component.html +12 -0
  54. package/src/lib/buttons/button-popup/button-popup.component.scss +13 -0
  55. package/src/lib/buttons/button-popup/button-popup.component.ts +30 -0
  56. package/src/lib/buttons/button-secondary/button-secondary.component.html +12 -0
  57. package/src/lib/buttons/button-secondary/button-secondary.component.scss +14 -0
  58. package/src/lib/buttons/button-secondary/button-secondary.component.ts +13 -0
  59. package/src/lib/buttons/button-success/button-success.component.html +11 -0
  60. package/src/lib/buttons/button-success/button-success.component.scss +13 -0
  61. package/src/lib/buttons/button-success/button-success.component.ts +13 -0
  62. package/src/lib/buttons/kvbutton.module.ts +25 -0
  63. package/src/lib/chart/chart.component.html +38 -0
  64. package/src/lib/chart/chart.component.scss +0 -0
  65. package/src/lib/chart/chart.component.spec.ts +28 -0
  66. package/src/lib/chart/chart.component.ts +141 -0
  67. package/src/lib/chart/kvchart.module.ts +20 -0
  68. package/src/lib/directives/template.directive.ts +15 -0
  69. package/src/lib/inputs/check/check.component.html +11 -0
  70. package/src/lib/inputs/check/check.component.scss +13 -0
  71. package/src/lib/inputs/check/check.component.ts +24 -0
  72. package/src/lib/inputs/dropdown/dropdown.component.html +91 -0
  73. package/src/lib/inputs/dropdown/dropdown.component.scss +0 -0
  74. package/src/lib/inputs/dropdown/dropdown.component.ts +28 -0
  75. package/src/lib/inputs/editor/editor.component.html +90 -0
  76. package/src/lib/inputs/editor/editor.component.scss +4 -0
  77. package/src/lib/inputs/editor/editor.component.ts +80 -0
  78. package/src/lib/inputs/input-calendar/input-calendar.component.html +30 -0
  79. package/src/lib/inputs/input-calendar/input-calendar.component.scss +0 -0
  80. package/src/lib/inputs/input-calendar/input-calendar.component.ts +81 -0
  81. package/src/lib/inputs/input-mask/input-mask.component.html +20 -0
  82. package/src/lib/inputs/input-mask/input-mask.component.scss +0 -0
  83. package/src/lib/inputs/input-mask/input-mask.component.ts +20 -0
  84. package/src/lib/inputs/input-number/input-number.component.html +22 -0
  85. package/src/lib/inputs/input-number/input-number.component.scss +0 -0
  86. package/src/lib/inputs/input-number/input-number.component.ts +52 -0
  87. package/src/lib/inputs/input-password/input-password.component.html +23 -0
  88. package/src/lib/inputs/input-password/input-password.component.scss +0 -0
  89. package/src/lib/inputs/input-password/input-password.component.ts +23 -0
  90. package/src/lib/inputs/input-text/input-text.component.html +20 -0
  91. package/src/lib/inputs/input-text/input-text.component.scss +18 -0
  92. package/src/lib/inputs/input-text/input-text.component.ts +17 -0
  93. package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.html +32 -0
  94. package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.scss +0 -0
  95. package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.spec.ts +23 -0
  96. package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.ts +36 -0
  97. package/src/lib/inputs/input-textarea/input-textarea.component.html +22 -0
  98. package/src/lib/inputs/input-textarea/input-textarea.component.scss +0 -0
  99. package/src/lib/inputs/input-textarea/input-textarea.component.ts +33 -0
  100. package/src/lib/inputs/input-time/input-time.component.html +23 -0
  101. package/src/lib/inputs/input-time/input-time.component.scss +0 -0
  102. package/src/lib/inputs/input-time/input-time.component.ts +20 -0
  103. package/src/lib/inputs/kvinputs.module.ts +64 -0
  104. package/src/lib/inputs/multi-select/multi-select.component.html +28 -0
  105. package/src/lib/inputs/multi-select/multi-select.component.scss +8 -0
  106. package/src/lib/inputs/multi-select/multi-select.component.ts +31 -0
  107. package/src/lib/inputs/radio-group/radio-group.component.html +19 -0
  108. package/src/lib/inputs/radio-group/radio-group.component.scss +15 -0
  109. package/src/lib/inputs/radio-group/radio-group.component.ts +50 -0
  110. package/src/lib/inputs/switch/switch.component.html +12 -0
  111. package/src/lib/inputs/switch/switch.component.scss +3 -0
  112. package/src/lib/inputs/switch/switch.component.ts +30 -0
  113. package/src/lib/keevo-components.module.ts +50 -0
  114. package/src/lib/label/label.component.html +6 -0
  115. package/src/lib/label/label.component.scss +9 -0
  116. package/src/lib/label/label.component.spec.ts +23 -0
  117. package/src/lib/label/label.component.ts +13 -0
  118. package/src/lib/label/label.module.ts +18 -0
  119. package/src/lib/loader/kvloader.module.ts +17 -0
  120. package/src/lib/loader/loader.component.html +1 -0
  121. package/src/lib/loader/loader.component.ts +14 -0
  122. package/src/lib/loader/loader.service.ts +26 -0
  123. package/src/lib/login/kvlogin.module.ts +28 -0
  124. package/src/lib/login/login.component.html +108 -0
  125. package/src/lib/login/login.component.scss +48 -0
  126. package/src/lib/login/login.component.spec.ts +23 -0
  127. package/src/lib/login/login.component.ts +65 -0
  128. package/src/lib/menu/kvmenu.module.ts +27 -0
  129. package/src/lib/menu/menu.component.html +342 -0
  130. package/src/lib/menu/menu.component.scss +210 -0
  131. package/src/lib/menu/menu.component.spec.ts +23 -0
  132. package/src/lib/menu/menu.component.ts +246 -0
  133. package/src/lib/orgchart/orgchart.component.html +58 -0
  134. package/src/lib/orgchart/orgchart.component.scss +21 -0
  135. package/src/lib/orgchart/orgchart.component.ts +118 -0
  136. package/src/lib/orgchart/orgchart.module.ts +14 -0
  137. package/src/lib/page-form/kv-page-form.module.ts +22 -0
  138. package/src/lib/page-form/page-form.component.html +57 -0
  139. package/src/lib/page-form/page-form.component.scss +72 -0
  140. package/src/lib/page-form/page-form.component.spec.ts +28 -0
  141. package/src/lib/page-form/page-form.component.ts +121 -0
  142. package/src/lib/picklist/kvpicklist.module.ts +20 -0
  143. package/src/lib/picklist/picklist.component.html +17 -0
  144. package/src/lib/picklist/picklist.component.scss +0 -0
  145. package/src/lib/picklist/picklist.component.spec.ts +26 -0
  146. package/src/lib/picklist/picklist.component.ts +27 -0
  147. package/src/lib/pipes/codigofile.pipe.ts +15 -0
  148. package/src/lib/pipes/cpfcnpj.pipe.ts +21 -0
  149. package/src/lib/pipes/pipes.module.ts +22 -0
  150. package/src/lib/pipes/telefone.pipe.ts +38 -0
  151. package/src/lib/styles-components.scss +11 -0
  152. package/src/lib/table/kvtable.module.ts +22 -0
  153. package/src/lib/table/table.component.html +473 -0
  154. package/src/lib/table/table.component.scss +240 -0
  155. package/src/lib/table/table.component.spec.ts +28 -0
  156. package/src/lib/table/table.component.ts +546 -0
  157. package/src/lib/tree-table/kv-treetable.component.html +649 -0
  158. package/src/lib/tree-table/kv-treetable.component.scss +315 -0
  159. package/src/lib/tree-table/kv-treetable.component.ts +390 -0
  160. package/src/lib/tree-table/kv-treetable.module.ts +18 -0
  161. package/src/lib/tree-view/kvtree-view.module.ts +19 -0
  162. package/src/lib/tree-view/tree-view.component.html +9 -0
  163. package/src/lib/tree-view/tree-view.component.scss +0 -0
  164. package/src/lib/tree-view/tree-view.component.spec.ts +23 -0
  165. package/src/lib/tree-view/tree-view.component.ts +29 -0
  166. package/src/lib/workspace/kvworkspace.module.ts +29 -0
  167. package/src/lib/workspace/workspace.component.html +108 -0
  168. package/src/lib/workspace/workspace.component.scss +83 -0
  169. package/src/lib/workspace/workspace.component.ts +75 -0
  170. package/{public-api.d.ts → src/public-api.ts} +156 -133
  171. package/tsconfig.lib.json +14 -0
  172. package/tsconfig.lib.prod.json +10 -0
  173. package/tsconfig.spec.json +14 -0
  174. package/esm2020/keevo-components.mjs +0 -5
  175. package/esm2020/lib/api/base-components/base-component-button.mjs +0 -36
  176. package/esm2020/lib/api/base-components/base-component-chart.mjs +0 -92
  177. package/esm2020/lib/api/base-components/base-component-crud-form.mjs +0 -269
  178. package/esm2020/lib/api/base-components/base-component-crud-list.mjs +0 -67
  179. package/esm2020/lib/api/base-components/base-component-crud.mjs +0 -65
  180. package/esm2020/lib/api/base-components/base-component-dropdown-new.mjs +0 -211
  181. package/esm2020/lib/api/base-components/base-component-dropdown.mjs +0 -161
  182. package/esm2020/lib/api/base-components/base-component-input.mjs +0 -94
  183. package/esm2020/lib/api/base-components/base-component-multi-select.mjs +0 -128
  184. package/esm2020/lib/api/base-components/base-component.mjs +0 -49
  185. package/esm2020/lib/api/components/chart/chart.config.mjs +0 -2
  186. package/esm2020/lib/api/components/chart/chart.model.mjs +0 -2
  187. package/esm2020/lib/api/components/chart/orchart.config.mjs +0 -2
  188. package/esm2020/lib/api/components/chart/orchart.item.mjs +0 -2
  189. package/esm2020/lib/api/components/dropdown/filtro.combo.mjs +0 -2
  190. package/esm2020/lib/api/components/error/error.component.mjs +0 -26
  191. package/esm2020/lib/api/components/error/kverror.module.mjs +0 -35
  192. package/esm2020/lib/api/components/table/action-item.mjs +0 -2
  193. package/esm2020/lib/api/components/table/kv-menuitem.mjs +0 -3
  194. package/esm2020/lib/api/components/table/table.config.column.mjs +0 -2
  195. package/esm2020/lib/api/components/table/table.config.mjs +0 -2
  196. package/esm2020/lib/api/components/table/table.paginate.mjs +0 -9
  197. package/esm2020/lib/api/helpers/component-providers.mjs +0 -16
  198. package/esm2020/lib/api/helpers/keevo-validators.mjs +0 -64
  199. package/esm2020/lib/api/helpers/translate-primeng.mjs +0 -23
  200. package/esm2020/lib/api/models/menu/menu.model.mjs +0 -2
  201. package/esm2020/lib/api/models/menu/menucompleto.model.mjs +0 -2
  202. package/esm2020/lib/api/models/menu/sistemamenu.model.mjs +0 -2
  203. package/esm2020/lib/api/modules/primeng.module.mjs +0 -247
  204. package/esm2020/lib/api/services/base.api.service.mjs +0 -74
  205. package/esm2020/lib/api/services/component.service.mjs +0 -27
  206. package/esm2020/lib/api/services/form.service.mjs +0 -84
  207. package/esm2020/lib/api/services/imagens.service.mjs +0 -22
  208. package/esm2020/lib/api/services/notification.service.mjs +0 -67
  209. package/esm2020/lib/api/services/object.service.mjs +0 -26
  210. package/esm2020/lib/buttons/button-personalize/button-personalize.component.mjs +0 -17
  211. package/esm2020/lib/buttons/button-popup/button-popup.component.mjs +0 -31
  212. package/esm2020/lib/buttons/button-secondary/button-secondary.component.mjs +0 -17
  213. package/esm2020/lib/buttons/button-success/button-success.component.mjs +0 -17
  214. package/esm2020/lib/buttons/kvbutton.module.mjs +0 -39
  215. package/esm2020/lib/chart/chart.component.mjs +0 -145
  216. package/esm2020/lib/chart/kvchart.module.mjs +0 -32
  217. package/esm2020/lib/directives/template.directive.mjs +0 -24
  218. package/esm2020/lib/inputs/check/check.component.mjs +0 -26
  219. package/esm2020/lib/inputs/dropdown/dropdown.component.mjs +0 -37
  220. package/esm2020/lib/inputs/editor/editor.component.mjs +0 -70
  221. package/esm2020/lib/inputs/input-calendar/input-calendar.component.mjs +0 -89
  222. package/esm2020/lib/inputs/input-mask/input-mask.component.mjs +0 -23
  223. package/esm2020/lib/inputs/input-number/input-number.component.mjs +0 -59
  224. package/esm2020/lib/inputs/input-password/input-password.component.mjs +0 -33
  225. package/esm2020/lib/inputs/input-text/input-text.component.mjs +0 -21
  226. package/esm2020/lib/inputs/input-text-checkbox/input-text-checkbox.component.mjs +0 -38
  227. package/esm2020/lib/inputs/input-textarea/input-textarea.component.mjs +0 -43
  228. package/esm2020/lib/inputs/input-time/input-time.component.mjs +0 -24
  229. package/esm2020/lib/inputs/kvinputs.module.mjs +0 -108
  230. package/esm2020/lib/inputs/multi-select/multi-select.component.mjs +0 -38
  231. package/esm2020/lib/inputs/radio-group/radio-group.component.mjs +0 -53
  232. package/esm2020/lib/inputs/switch/switch.component.mjs +0 -32
  233. package/esm2020/lib/keevo-components.module.mjs +0 -105
  234. package/esm2020/lib/label/label.component.mjs +0 -15
  235. package/esm2020/lib/label/label.module.mjs +0 -24
  236. package/esm2020/lib/loader/loader.component.mjs +0 -18
  237. package/esm2020/lib/loader/loader.module.mjs +0 -28
  238. package/esm2020/lib/loader/loader.service.mjs +0 -29
  239. package/esm2020/lib/login/kvlogin.module.mjs +0 -47
  240. package/esm2020/lib/login/login.component.mjs +0 -52
  241. package/esm2020/lib/menu/kvmenu.module.mjs +0 -43
  242. package/esm2020/lib/menu/menu.component.mjs +0 -237
  243. package/esm2020/lib/orgchart/orgchart.component.mjs +0 -100
  244. package/esm2020/lib/orgchart/orgchart.module.mjs +0 -24
  245. package/esm2020/lib/page-form/kv-page-form.module.mjs +0 -38
  246. package/esm2020/lib/page-form/page-form.component.mjs +0 -144
  247. package/esm2020/lib/picklist/kvpicklist.module.mjs +0 -32
  248. package/esm2020/lib/picklist/picklist.component.mjs +0 -48
  249. package/esm2020/lib/pipes/codigofile.pipe.mjs +0 -19
  250. package/esm2020/lib/pipes/cpfcnpj.pipe.mjs +0 -25
  251. package/esm2020/lib/pipes/pipes.module.mjs +0 -34
  252. package/esm2020/lib/pipes/telefone.pipe.mjs +0 -45
  253. package/esm2020/lib/table/kvtable.module.mjs +0 -32
  254. package/esm2020/lib/table/table.component.mjs +0 -499
  255. package/esm2020/lib/tree-table/kv-treetable.component.mjs +0 -371
  256. package/esm2020/lib/tree-table/kv-treetable.module.mjs +0 -32
  257. package/esm2020/lib/tree-view/kvtree-view.module.mjs +0 -28
  258. package/esm2020/lib/tree-view/tree-view.component.mjs +0 -29
  259. package/esm2020/lib/workspace/kvworkspace.module.mjs +0 -47
  260. package/esm2020/lib/workspace/workspace.component.mjs +0 -77
  261. package/esm2020/public-api.mjs +0 -137
  262. package/fesm2015/keevo-components.mjs +0 -4706
  263. package/fesm2015/keevo-components.mjs.map +0 -1
  264. package/fesm2020/keevo-components.mjs +0 -4697
  265. package/fesm2020/keevo-components.mjs.map +0 -1
  266. package/index.d.ts +0 -5
  267. package/lib/api/base-components/base-component-button.d.ts +0 -14
  268. package/lib/api/base-components/base-component-chart.d.ts +0 -40
  269. package/lib/api/base-components/base-component-crud-form.d.ts +0 -137
  270. package/lib/api/base-components/base-component-crud-list.d.ts +0 -63
  271. package/lib/api/base-components/base-component-crud.d.ts +0 -36
  272. package/lib/api/base-components/base-component-dropdown-new.d.ts +0 -14
  273. package/lib/api/base-components/base-component-dropdown.d.ts +0 -42
  274. package/lib/api/base-components/base-component-input.d.ts +0 -31
  275. package/lib/api/base-components/base-component-multi-select.d.ts +0 -35
  276. package/lib/api/base-components/base-component.d.ts +0 -21
  277. package/lib/api/components/chart/chart.config.d.ts +0 -11
  278. package/lib/api/components/chart/chart.model.d.ts +0 -9
  279. package/lib/api/components/chart/orchart.config.d.ts +0 -35
  280. package/lib/api/components/chart/orchart.item.d.ts +0 -26
  281. package/lib/api/components/dropdown/filtro.combo.d.ts +0 -4
  282. package/lib/api/components/error/error.component.d.ts +0 -12
  283. package/lib/api/components/error/kverror.module.d.ts +0 -10
  284. package/lib/api/components/table/action-item.d.ts +0 -5
  285. package/lib/api/components/table/kv-menuitem.d.ts +0 -9
  286. package/lib/api/components/table/table.config.column.d.ts +0 -21
  287. package/lib/api/components/table/table.config.d.ts +0 -17
  288. package/lib/api/components/table/table.paginate.d.ts +0 -6
  289. package/lib/api/helpers/component-providers.d.ts +0 -2
  290. package/lib/api/helpers/keevo-validators.d.ts +0 -10
  291. package/lib/api/helpers/translate-primeng.d.ts +0 -4
  292. package/lib/api/models/menu/menu.model.d.ts +0 -10
  293. package/lib/api/models/menu/sistemamenu.model.d.ts +0 -8
  294. package/lib/api/modules/primeng.module.d.ts +0 -60
  295. package/lib/api/services/base.api.service.d.ts +0 -25
  296. package/lib/api/services/component.service.d.ts +0 -11
  297. package/lib/api/services/form.service.d.ts +0 -27
  298. package/lib/api/services/imagens.service.d.ts +0 -8
  299. package/lib/api/services/notification.service.d.ts +0 -25
  300. package/lib/api/services/object.service.d.ts +0 -8
  301. package/lib/buttons/button-personalize/button-personalize.component.d.ts +0 -7
  302. package/lib/buttons/button-popup/button-popup.component.d.ts +0 -13
  303. package/lib/buttons/button-secondary/button-secondary.component.d.ts +0 -7
  304. package/lib/buttons/button-success/button-success.component.d.ts +0 -7
  305. package/lib/buttons/kvbutton.module.d.ts +0 -11
  306. package/lib/chart/chart.component.d.ts +0 -56
  307. package/lib/chart/kvchart.module.d.ts +0 -10
  308. package/lib/directives/template.directive.d.ts +0 -11
  309. package/lib/inputs/check/check.component.d.ts +0 -11
  310. package/lib/inputs/dropdown/dropdown.component.d.ts +0 -14
  311. package/lib/inputs/editor/editor.component.d.ts +0 -39
  312. package/lib/inputs/input-calendar/input-calendar.component.d.ts +0 -27
  313. package/lib/inputs/input-mask/input-mask.component.d.ts +0 -10
  314. package/lib/inputs/input-number/input-number.component.d.ts +0 -19
  315. package/lib/inputs/input-password/input-password.component.d.ts +0 -13
  316. package/lib/inputs/input-text/input-text.component.d.ts +0 -9
  317. package/lib/inputs/input-text-checkbox/input-text-checkbox.component.d.ts +0 -15
  318. package/lib/inputs/input-textarea/input-textarea.component.d.ts +0 -16
  319. package/lib/inputs/input-time/input-time.component.d.ts +0 -10
  320. package/lib/inputs/kvinputs.module.d.ts +0 -25
  321. package/lib/inputs/multi-select/multi-select.component.d.ts +0 -12
  322. package/lib/inputs/radio-group/radio-group.component.d.ts +0 -18
  323. package/lib/inputs/switch/switch.component.d.ts +0 -13
  324. package/lib/keevo-components.module.d.ts +0 -19
  325. package/lib/label/label.component.d.ts +0 -7
  326. package/lib/label/label.module.d.ts +0 -8
  327. package/lib/loader/loader.component.d.ts +0 -10
  328. package/lib/loader/loader.module.d.ts +0 -9
  329. package/lib/loader/loader.service.d.ts +0 -10
  330. package/lib/login/kvlogin.module.d.ts +0 -13
  331. package/lib/login/login.component.d.ts +0 -30
  332. package/lib/menu/kvmenu.module.d.ts +0 -12
  333. package/lib/menu/menu.component.d.ts +0 -74
  334. package/lib/orgchart/orgchart.component.d.ts +0 -27
  335. package/lib/orgchart/orgchart.module.d.ts +0 -9
  336. package/lib/page-form/kv-page-form.module.d.ts +0 -11
  337. package/lib/page-form/page-form.component.d.ts +0 -69
  338. package/lib/picklist/kvpicklist.module.d.ts +0 -10
  339. package/lib/picklist/picklist.component.d.ts +0 -20
  340. package/lib/pipes/codigofile.pipe.d.ts +0 -7
  341. package/lib/pipes/cpfcnpj.pipe.d.ts +0 -7
  342. package/lib/pipes/pipes.module.d.ts +0 -10
  343. package/lib/pipes/telefone.pipe.d.ts +0 -7
  344. package/lib/table/kvtable.module.d.ts +0 -10
  345. package/lib/table/table.component.d.ts +0 -104
  346. package/lib/tree-table/kv-treetable.component.d.ts +0 -84
  347. package/lib/tree-table/kv-treetable.module.d.ts +0 -11
  348. package/lib/tree-view/kvtree-view.module.d.ts +0 -9
  349. package/lib/tree-view/tree-view.component.d.ts +0 -14
  350. package/lib/workspace/kvworkspace.module.d.ts +0 -13
  351. package/lib/workspace/workspace.component.d.ts +0 -28
@@ -1,237 +0,0 @@
1
- import { NavigationEnd } from '@angular/router';
2
- import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/router";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "primeng/api";
7
- import * as i4 from "primeng/button";
8
- import * as i5 from "primeng/card";
9
- import * as i6 from "primeng/tooltip";
10
- import * as i7 from "primeng/dialog";
11
- import * as i8 from "primeng/divider";
12
- import * as i9 from "primeng/dropdown";
13
- import * as i10 from "primeng/overlaypanel";
14
- import * as i11 from "primeng/ripple";
15
- import * as i12 from "primeng/sidebar";
16
- import * as i13 from "primeng/styleclass";
17
- import * as i14 from "primeng/breadcrumb";
18
- import * as i15 from "@angular/forms";
19
- import * as i16 from "../buttons/button-success/button-success.component";
20
- export class MenuComponent {
21
- onWindowResize() {
22
- this.heigthCard = Number(document.getElementById('page-content')?.offsetHeight);
23
- this.widthCard = Number(window.innerWidth) - (this.expandMenu ? 333 : 93);
24
- this.cdr.detectChanges();
25
- }
26
- constructor(cdr, router, route) {
27
- this.cdr = cdr;
28
- this.router = router;
29
- this.route = route;
30
- this.menuCompleto = [];
31
- this.licencas = [];
32
- this.breadCrumbs = false;
33
- this.licencaChange = new EventEmitter();
34
- this.gerenciarKeePassEvent = new EventEmitter();
35
- this.sairEvent = new EventEmitter();
36
- this.expandMenuEmit = new EventEmitter();
37
- this.trocarLicencaEmit = new EventEmitter();
38
- this.licencasOptions = [];
39
- this.menusFiltrados = [];
40
- this.menus = [];
41
- this.breadCrumbItems = [];
42
- this.expandMenu = true;
43
- this.visibleDialogLicenca = false;
44
- }
45
- ngOnInit() {
46
- this.configurarLicencas();
47
- this.router.events.subscribe((event) => {
48
- if (event instanceof NavigationEnd) {
49
- // console.log('Evento de navegação:', event);
50
- this.breadCrumbItems = this.getBreadcrumbs(event.url);
51
- // console.log("breadCrumbItems ->", this.breadCrumbItems);
52
- }
53
- });
54
- this.heigthCard = Number(document.getElementById('page-content')?.offsetHeight);
55
- this.widthCard = Number(window.innerWidth) - (this.expandMenu ? 333 : 93);
56
- }
57
- configurarLicencas() {
58
- setTimeout(() => this.setLicenca(), 1500);
59
- this.licencas.forEach((x, i) => {
60
- this.licencasOptions.push({
61
- id: i,
62
- descricao: x.nome,
63
- cpfcnpj: x.cpfcnpj
64
- });
65
- });
66
- var licenca = this.licencasOptions.find((x) => x.cpfcnpj == this.licencaSelecionada.cpfcnpj);
67
- if (licenca != undefined)
68
- this.licencaSelected = licenca;
69
- }
70
- getBreadcrumbs(url = '', breadcrumbs = []) {
71
- if (!url || url === '/') {
72
- return breadcrumbs.length > 0 ? breadcrumbs : [{ label: 'Home', routerLink: '/' }];
73
- }
74
- const segments = url.split('/').filter(segment => segment !== '');
75
- let currentUrl = '';
76
- for (const segment of segments) {
77
- currentUrl += `/${segment}`;
78
- breadcrumbs.push({ label: segment, routerLink: currentUrl });
79
- }
80
- if (breadcrumbs.length > 0) {
81
- breadcrumbs.forEach(item => {
82
- let labelSegments = item.label.split('-');
83
- labelSegments = labelSegments.map((segment, index) => {
84
- return index === 0 ? segment.charAt(0).toUpperCase() + segment.slice(1).toLowerCase() : segment;
85
- });
86
- item.label = labelSegments.join(' ');
87
- });
88
- }
89
- return breadcrumbs;
90
- }
91
- closeCallback(e) {
92
- this.sidebarRef.close(e);
93
- }
94
- MascaraNomeLicenca(nomeLicenca) {
95
- if (nomeLicenca) {
96
- if (nomeLicenca.length > 24)
97
- return nomeLicenca.substring(0, 24) + '...';
98
- else
99
- return nomeLicenca;
100
- }
101
- else
102
- return '';
103
- }
104
- MascaraCnpj(cpfcnpj) {
105
- const cpfcnpjLimpo = cpfcnpj.replace(/\D/g, '');
106
- return cpfcnpjLimpo.replace(/^(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})$/, '$1.$2.$3/$4-$5');
107
- }
108
- definirMenusPorSistema(idsistema) {
109
- this.menus =
110
- this.menuCompleto.find((x) => x.sistema.idsistema == idsistema)?.menus ||
111
- [];
112
- // console.log(this.menus, 'menus')
113
- // console.log(this.menuCompleto, 'menuCompleto')
114
- // console.log(this.menus[0].menupai, 'menupai')
115
- if (this.menus[0].menupai) {
116
- var filhos = this.retornarMenuFilhos(this.menus[0].idsistema, this.menus[0].idmenu);
117
- if (filhos != undefined)
118
- this.callRoute(filhos[0].link, true);
119
- }
120
- else
121
- this.callRoute(this.menus[0].link, true);
122
- this.sistemasPanel.hide();
123
- }
124
- retornarMenuFilhos(idsistema, idmenu) {
125
- return this.menuCompleto
126
- .find((x) => x.sistema.idsistema == idsistema)
127
- ?.menus.filter((x) => x.idmenupai == idmenu);
128
- }
129
- callRoute(e, expand) {
130
- if (!expand)
131
- !this.expandMenu ? this.expandMenu = !this.expandMenu : '';
132
- this.router.navigateByUrl(e);
133
- }
134
- toggleMenu() {
135
- this.expandMenu = !this.expandMenu;
136
- this.expandMenuEvent();
137
- }
138
- trocarLicenca() {
139
- this.trocarLicencaEmit.emit();
140
- }
141
- setLicenca() {
142
- var licenca = this.licencas.find((licenca) => licenca.idmaster == this.licencaSelected.id);
143
- if (licenca)
144
- this.licencaSelecionada = licenca;
145
- this.visibleDialogLicenca = false;
146
- this.licencaChange.emit(this.licencaSelecionada);
147
- this.definirMenusPorSistema(this.menuCompleto[0]?.sistema.idsistema);
148
- }
149
- gerenciarKeePass(event) {
150
- this.sistemasPanel.hide();
151
- this.gerenciarKeePassEvent.emit(event);
152
- }
153
- sair(event) {
154
- this.sistemasPanel.hide();
155
- this.sairEvent.emit(event);
156
- }
157
- expandMenuEvent() {
158
- this.expandMenuEmit.emit(this.expandMenu);
159
- }
160
- ajustarHeigthCard() {
161
- if (this.widthCard > 400) {
162
- if (this.breadCrumbs)
163
- return 105;
164
- else
165
- return 85;
166
- }
167
- else
168
- return 83;
169
- }
170
- verificarPaginaSelecionada(link) {
171
- return this.router.url.includes(link);
172
- }
173
- // retornarTituloBreadCrumbs(label: any): string {
174
- // if (label)
175
- // return this.breadCrumbItems[this.breadCrumbItems.length - 1]?.label
176
- // else return '';
177
- // }
178
- retornarTituloBreadCrumbs(str) {
179
- if (str.includes('-')) {
180
- str = str.replace('-', ' ');
181
- }
182
- var primeiraLetra = str.charAt(0).toUpperCase() + str.slice(1);
183
- str.slice(1);
184
- return primeiraLetra;
185
- }
186
- onMouseEnter(index) {
187
- this.mouseOverIndex = index;
188
- }
189
- onMouseFilhoEnter(index) {
190
- this.mouseOverFilhoIndex = index;
191
- }
192
- onMouseLeave() {
193
- this.mouseOverIndex = null;
194
- this.mouseOverFilhoIndex = null;
195
- }
196
- }
197
- MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MenuComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
198
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MenuComponent, selector: "kv-menu", inputs: { menuCompleto: "menuCompleto", licencas: "licencas", licencaSelecionada: "licencaSelecionada", logoImage: "logoImage", nomeUsuario: "nomeUsuario", breadCrumbs: "breadCrumbs" }, outputs: { licencaChange: "licencaChange", gerenciarKeePassEvent: "gerenciarKeePassEvent", sairEvent: "sairEvent", expandMenuEmit: "expandMenuEmit", trocarLicencaEmit: "trocarLicencaEmit" }, host: { listeners: { "window:resize": "onWindowResize($event)" } }, viewQueries: [{ propertyName: "sidebarRef", first: true, predicate: ["sidebarRef"], descendants: true }, { propertyName: "sistemasPanel", first: true, predicate: ["sistemasPanel"], descendants: true }, { propertyName: "meusDadosPanel", first: true, predicate: ["meusDadosPanel"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\r\n\r\n <div [style]=\"{minWidth: expandMenu ? '300px' : '60px'}\"></div>\r\n\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{width: expandMenu ? '300px' : '60px'}\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"flex flex-column {{expandMenu ? 'mx-1' : 'mx-1'}}\">\r\n <div class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}} py-3\"\r\n >\r\n <img\r\n *ngIf=\"expandMenu\"\r\n alt=\"Card\"\r\n [src]=\"logoImage\"\r\n width=\"150\"\r\n />\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"toggleMenu()\"\r\n [pTooltip]=\"expandMenu ? 'Ocutar Menu' : 'Expandir Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n menu\r\n </i>\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\"\r\n >\r\n <div\r\n class=\"flex flex-column cursor-pointer\"\r\n *ngIf=\"expandMenu\"\r\n (click)=\"trocarLicenca()\"\r\n >\r\n <span\r\n class=\"text-sm font-semibold mr-2\"\r\n [pTooltip]=\"this.licencaSelecionada.nome\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n {{MascaraNomeLicenca(this.licencaSelecionada.nome)}}\r\n </span>\r\n <span class=\"text-sm mt-1\">{{MascaraCnpj(this.licencaSelecionada.cpfcnpj)}}</span>\r\n </div>\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"trocarLicenca()\"\r\n [pTooltip]=\"'Alterar workspace'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n sync_alt\r\n </i>\r\n </button>\r\n\r\n </div>\r\n <p-divider type=\"solid\"></p-divider>\r\n </div>\r\n\r\n <div\r\n class=\"list-none m-0 card-container {{expandMenu ? 'mx-1' : ''}}\"\r\n [style.max-height]=\"(heigthCard - 220) + 'px'\"\r\n style=\"overflow-y: auto;\"\r\n >\r\n <!-- menus -->\r\n <li *ngFor=\"let menu of menus; let i = index\">\r\n <!-- menu que n\u00E3o tem filho -->\r\n <a\r\n (mouseenter)=\"onMouseEnter(i)\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n [ngClass]=\"{'hover-color': mouseOverIndex === i}\"\r\n (click)=\"callRoute(menu.link)\"\r\n *ngIf=\"!menu.menupai && menu.idmenupai == 0\"\r\n pRipple\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n [tooltipPosition]=\"'right'\"\r\n class=\"{{verificarPaginaSelecionada(menu.link) ? 'bg-green-600' : ''}} menu-option flex align-items-center no-underline {{!expandMenu ? 'justify-content-center' : ''}} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}} icon-hover-color {{verificarPaginaSelecionada(menu.link) ? 'text-white' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium {{verificarPaginaSelecionada(menu.link) ? 'text-white' : ''}}\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </a>\r\n <!-- menu com filho -->\r\n <div *ngIf=\"menu.menupai\">\r\n <a\r\n (mouseenter)=\"onMouseEnter(i)\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n [ngClass]=\"{'hover-color': mouseOverIndex === i}\"\r\n pRipple\r\n pStyleClass=\"@next\"\r\n enterClass=\"hidden\"\r\n enterActiveClass=\"slidedown\"\r\n leaveToClass=\"hidden\"\r\n leaveActiveClass=\"slideup\"\r\n class=\"menu-option flex align-items-center {{!expandMenu ? 'justify-content-center' : 'justify-content-between'}} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n [tooltipPosition]=\"'right'\"\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n (click)=\"!expandMenu ? expandMenu = !expandMenu : ''\"\r\n >\r\n <div class=\"flex flex-row align-items-center\">\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}} icon-hover-color\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n [ngClass]=\"{'hover-color': mouseOverIndex === i}\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </div>\r\n <i\r\n class=\"pi pi-chevron-down text-blue-900 mr-1 icon-hover-color\"\r\n *ngIf=\"expandMenu\"\r\n [ngClass]=\"{'hover-color': mouseOverIndex === i}\"\r\n ></i>\r\n </a>\r\n\r\n <!-- filhos -->\r\n <div\r\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\"\r\n >\r\n <li *ngFor=\"\r\n let filho of retornarMenuFilhos(menu.idsistema, menu.idmenu); let iFilho = index\r\n \">\r\n <a\r\n (mouseenter)=\"onMouseFilhoEnter(filho.idmenu)\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n [ngClass]=\"{'hover-color': mouseOverFilhoIndex === filho.idmenu}\"\r\n *ngIf=\"expandMenu\"\r\n (click)=\"callRoute(filho.link)\"\r\n pRipple\r\n class=\"{{verificarPaginaSelecionada(filho.link) ? 'bg-green-600' : ''}} menu-option flex align-items-center no-underline cursor-pointer border-round text-700 hover:bg-green-600 transition-duration-150 transition-colors p-ripple p-2\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 ml-1 adjust-icon-menu\"\r\n *ngIf=\"filho.icone && filho.icone !== ''\"\r\n ></i>\r\n <span\r\n class=\"text-base text-blue-900 ml-4 {{verificarPaginaSelecionada(filho.link) ? 'text-white' : ''}}\"\r\n *ngIf=\"expandMenu\"\r\n >{{ filho.descricaomenu }}</span>\r\n </a>\r\n </li>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n</ng-template>\r\n</p-sidebar>\r\n\r\n\r\n<div\r\n class=\"w-auto h-screen page-content overflow-y-hidden\"\r\n id=\"page-content\"\r\n>\r\n\r\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\r\n <div *ngIf=\"breadCrumbs\">\r\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">{{breadCrumbItems[breadCrumbItems.length -\r\n 1]?.label}}</p>\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem !important;\"\r\n [model]=\"breadCrumbItems\"\r\n [style]=\"{backgroundColor: '#d4d3d3'}\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n ></p-breadcrumb>\r\n </div>\r\n\r\n <div *ngIf=\"!breadCrumbs\"></div>\r\n\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu padding-style\"\r\n (click)=\"sistemasPanel.toggle($event)\"\r\n [pTooltip]=\"'Sistemas'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n apps\r\n </i>\r\n </button>\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu padding-style\"\r\n (click)=\"meusDadosPanel.toggle($event)\"\r\n [pTooltip]=\"'Menu do Usu\u00E1rio'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n person\r\n </i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n <p-card\r\n class=\"card-container\"\r\n styleClass=\"m-3 border-noround overflow-y-auto card-container\"\r\n [style]=\"{height: heigthCard - ajustarHeigthCard() + 'px'}\"\r\n >\r\n <div class=\"card-container w-full\">\r\n <ng-content></ng-content>\r\n </div>\r\n </p-card>\r\n\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n<p-overlayPanel\r\n #sistemasPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Sistemas</p>\r\n <div\r\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n >\r\n <button\r\n *ngFor=\"let menu of menuCompleto\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <!-- <img\r\n alt=\"logo\"\r\n style=\"width: 2rem; height: 2rem;\"\r\n /> -->\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n\r\n </button>\r\n\r\n\r\n <!-- <p-button styleClass=\"p-button-outlined\">\r\n <img alt=\"logo\" src=\"https://primefaces.org/cdn/primeng/images/primeng-icon.svg\" style=\"width: 1.5rem\" />\r\n <span class=\"ml-2 font-bold\">PrimeNG</span>\r\n </p-button> -->\r\n\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Ol\u00E1, {{nomeUsuario ? nomeUsuario.split(' ')[0] : 'Usu\u00E1rio'}} !</p>\r\n <div class=\"mt-5 mb-3\">\r\n\r\n </div>\r\n\r\n <p-button\r\n icon=\"pi pi-lock\"\r\n label=\"Ger\u00EAnciar KeevoPass\"\r\n (onClick)=\"gerenciarKeePass($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n [disabled]=\"true\"\r\n ></p-button>\r\n <p-button\r\n icon=\"pi pi-sign-out\"\r\n label=\"Sair\"\r\n (onClick)=\"sair($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n </ng-template>\r\n\r\n</p-overlayPanel>\r\n\r\n<p-dialog\r\n [(visible)]=\"visibleDialogLicenca\"\r\n [modal]=\"true\"\r\n [draggable]=\"false\"\r\n header=\"Trocar Licen\u00E7a\"\r\n [style]=\"{width: '50vh' }\"\r\n>\r\n <div class=\"flex flex-column align-items-end\">\r\n\r\n <div class=\"w-full\">\r\n <p-dropdown\r\n styleClass=\"w-full\"\r\n [options]=\"licencasOptions\"\r\n [(ngModel)]=\"licencaSelected\"\r\n optionLabel=\"descricao\"\r\n ></p-dropdown>\r\n </div>\r\n\r\n <kv-button-success\r\n [label]=\"'Salvar'\"\r\n class=\"mt-2\"\r\n (onClick)=\"setLicenca()\"\r\n ></kv-button-success>\r\n\r\n </div>\r\n\r\n</p-dialog>\r\n\r\n<!-- <p-confirmDialog\r\n [style]=\"{width: '40vw'}\"\r\n [baseZIndex]=\"10000\"\r\n rejectButtonStyleClass=\"p-button-text\"\r\n>\r\n</p-confirmDialog>\r\n\r\n<p-toast></p-toast> -->", styles: [".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}::ng-deep .p-button:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}::ng-deep .p-overlaypanel .p-overlaypanel-content{padding:0}::ng-deep .hover-btn-cor-padrao.p-button:enabled:hover{background:#0c3e66;border-color:#002542}.p-button.p-button-icon-only.p-button-rounded{background:#0c3e66;border-color:#002542}::ng-deep .remove-focus:focus{border:none}::ng-deep .p-sidebar .p-sidebar-content{padding:0}::ng-deep .sidebar-header-sistema.p-sidebar .p-sidebar-header{padding-top:.5rem;padding-right:0;padding-bottom:0;padding-left:0;display:block}.btn-sistema{display:flex;align-items:center;justify-content:center;background-color:#0c3e66;font-size:20px}::ng-deep .p-sidebar .p-sidebar-header{padding:0rem!important}::ng-deep body{margin:0!important}::ng-deep .p-breadcrumb ul li.p-breadcrumb-chevron{position:relative;top:3px;color:#0c3e66!important}.page-content{background:linear-gradient(to bottom,#d4d3d3 16%,#ffffff 19%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .p-breadcrumb ul li:last-child .p-menuitem-text{color:#0c3e66!important;font-weight:700;font-size:.8rem!important}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text{color:#0c3e66!important;font-weight:500;font-size:.8rem!important}span,.breadcrumb-title{font-size:14px!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.title-style{position:relative;top:10px;margin-left:20px;font-size:25px;color:#002542;border-bottom:2px solid green;font-weight:600;display:inline}::ng-deep p-sidebar .p-sidebar-content{overflow-y:hidden}::ng-deep p-dialog .p-dialog-content{overflow-y:unset}.icon-menu{color:#002542;display:flex;justify-content:center;align-items:center}::ng-deep .padding-style{padding:15px!important}::ng-deep .menu-option{padding:15px 5px!important}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text{color:#183462!important;opacity:.95;font-weight:500;font-size:.8rem!important}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text:hover{opacity:.7}.pl-3{padding-left:0rem!important}::ng-deep svg.p-icon{width:.7rem;height:1rem}.hover-color .text-base,.hover-color .icon-hover-color{color:#fff!important}::ng-deep .p-card .p-card-content{padding:0rem!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { 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", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i5.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i7.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: i8.Divider, selector: "p-divider", inputs: ["styleClass", "style", "layout", "type", "align"] }, { kind: "component", type: i9.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "overlayDirection", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: i10.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "directive", type: i11.Ripple, selector: "[pRipple]" }, { kind: "component", type: i12.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i13.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterClass", "enterActiveClass", "enterToClass", "leaveClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape"] }, { kind: "component", type: i14.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "directive", type: i15.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i15.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i16.ButtonSuccessComponent, selector: "kv-button-success" }] });
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MenuComponent, decorators: [{
200
- type: Component,
201
- args: [{ selector: 'kv-menu', template: "<div class=\"flex flex-row overflow-y-hidden w- full-container\">\r\n\r\n <div [style]=\"{minWidth: expandMenu ? '300px' : '60px'}\"></div>\r\n\r\n <p-sidebar\r\n #sidebarRef\r\n [visible]=\"true\"\r\n [showCloseIcon]=\"false\"\r\n [modal]=\"false\"\r\n [style]=\"{width: expandMenu ? '300px' : '60px'}\"\r\n >\r\n <ng-template pTemplate=\"headless\">\r\n <div class=\"flex flex-column {{expandMenu ? 'mx-1' : 'mx-1'}}\">\r\n <div class=\"flex flex-column gap-2 justify-content-between flex-shrink-0 mx-2\">\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}} py-3\"\r\n >\r\n <img\r\n *ngIf=\"expandMenu\"\r\n alt=\"Card\"\r\n [src]=\"logoImage\"\r\n width=\"150\"\r\n />\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"toggleMenu()\"\r\n [pTooltip]=\"expandMenu ? 'Ocutar Menu' : 'Expandir Menu'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n menu\r\n </i>\r\n </button>\r\n </div>\r\n\r\n <div\r\n class=\"flex flex-row align-items-center {{expandMenu ? 'justify-content-between' : 'justify-content-center'}}\"\r\n >\r\n <div\r\n class=\"flex flex-column cursor-pointer\"\r\n *ngIf=\"expandMenu\"\r\n (click)=\"trocarLicenca()\"\r\n >\r\n <span\r\n class=\"text-sm font-semibold mr-2\"\r\n [pTooltip]=\"this.licencaSelecionada.nome\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n {{MascaraNomeLicenca(this.licencaSelecionada.nome)}}\r\n </span>\r\n <span class=\"text-sm mt-1\">{{MascaraCnpj(this.licencaSelecionada.cpfcnpj)}}</span>\r\n </div>\r\n\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text padding-style h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu\"\r\n (click)=\"trocarLicenca()\"\r\n [pTooltip]=\"'Alterar workspace'\"\r\n [tooltipPosition]=\"'right'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n sync_alt\r\n </i>\r\n </button>\r\n\r\n </div>\r\n <p-divider type=\"solid\"></p-divider>\r\n </div>\r\n\r\n <div\r\n class=\"list-none m-0 card-container {{expandMenu ? 'mx-1' : ''}}\"\r\n [style.max-height]=\"(heigthCard - 220) + 'px'\"\r\n style=\"overflow-y: auto;\"\r\n >\r\n <!-- menus -->\r\n <li *ngFor=\"let menu of menus; let i = index\">\r\n <!-- menu que n\u00E3o tem filho -->\r\n <a\r\n (mouseenter)=\"onMouseEnter(i)\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n [ngClass]=\"{'hover-color': mouseOverIndex === i}\"\r\n (click)=\"callRoute(menu.link)\"\r\n *ngIf=\"!menu.menupai && menu.idmenupai == 0\"\r\n pRipple\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n [tooltipPosition]=\"'right'\"\r\n class=\"{{verificarPaginaSelecionada(menu.link) ? 'bg-green-600' : ''}} menu-option flex align-items-center no-underline {{!expandMenu ? 'justify-content-center' : ''}} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n >\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}} icon-hover-color {{verificarPaginaSelecionada(menu.link) ? 'text-white' : ''}}\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium {{verificarPaginaSelecionada(menu.link) ? 'text-white' : ''}}\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </a>\r\n <!-- menu com filho -->\r\n <div *ngIf=\"menu.menupai\">\r\n <a\r\n (mouseenter)=\"onMouseEnter(i)\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n [ngClass]=\"{'hover-color': mouseOverIndex === i}\"\r\n pRipple\r\n pStyleClass=\"@next\"\r\n enterClass=\"hidden\"\r\n enterActiveClass=\"slidedown\"\r\n leaveToClass=\"hidden\"\r\n leaveActiveClass=\"slideup\"\r\n class=\"menu-option flex align-items-center {{!expandMenu ? 'justify-content-center' : 'justify-content-between'}} cursor-pointer border-round text-700 hover:bg-green-600 hover:text-white transition-duration-150 transition-colors p-ripple\"\r\n [tooltipPosition]=\"'right'\"\r\n [pTooltip]=\"!expandMenu ? menu.descricaomenu : ''\"\r\n (click)=\"!expandMenu ? expandMenu = !expandMenu : ''\"\r\n >\r\n <div class=\"flex flex-row align-items-center\">\r\n\r\n <i\r\n class=\"material-symbols-outlined icon-menu {{expandMenu ? 'ml-1 mr-2' : ''}} icon-hover-color\"\r\n *ngIf=\"menu.icone && menu.icone !== ''\"\r\n [ngClass]=\"{'hover-color': mouseOverIndex === i}\"\r\n >\r\n {{ menu.icone }}\r\n </i>\r\n <span\r\n class=\"text-base text-blue-900 font-medium\"\r\n *ngIf=\"expandMenu\"\r\n >{{ menu.descricaomenu }}</span>\r\n </div>\r\n <i\r\n class=\"pi pi-chevron-down text-blue-900 mr-1 icon-hover-color\"\r\n *ngIf=\"expandMenu\"\r\n [ngClass]=\"{'hover-color': mouseOverIndex === i}\"\r\n ></i>\r\n </a>\r\n\r\n <!-- filhos -->\r\n <div\r\n class=\"list-none py-0 pl-3 pr-0 m-0 hidden overflow-y-hidden transition-all transition-duration-400 transition-ease-in-out\"\r\n >\r\n <li *ngFor=\"\r\n let filho of retornarMenuFilhos(menu.idsistema, menu.idmenu); let iFilho = index\r\n \">\r\n <a\r\n (mouseenter)=\"onMouseFilhoEnter(filho.idmenu)\"\r\n (mouseleave)=\"onMouseLeave()\"\r\n [ngClass]=\"{'hover-color': mouseOverFilhoIndex === filho.idmenu}\"\r\n *ngIf=\"expandMenu\"\r\n (click)=\"callRoute(filho.link)\"\r\n pRipple\r\n class=\"{{verificarPaginaSelecionada(filho.link) ? 'bg-green-600' : ''}} menu-option flex align-items-center no-underline cursor-pointer border-round text-700 hover:bg-green-600 transition-duration-150 transition-colors p-ripple p-2\"\r\n >\r\n <i\r\n class=\"pi pi-chart-line mr-2 ml-1 adjust-icon-menu\"\r\n *ngIf=\"filho.icone && filho.icone !== ''\"\r\n ></i>\r\n <span\r\n class=\"text-base text-blue-900 ml-4 {{verificarPaginaSelecionada(filho.link) ? 'text-white' : ''}}\"\r\n *ngIf=\"expandMenu\"\r\n >{{ filho.descricaomenu }}</span>\r\n </a>\r\n </li>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n</ng-template>\r\n</p-sidebar>\r\n\r\n\r\n<div\r\n class=\"w-auto h-screen page-content overflow-y-hidden\"\r\n id=\"page-content\"\r\n>\r\n\r\n <div class=\"flex flex-row align-items-center justify-content-between m-3\">\r\n <div *ngIf=\"breadCrumbs\">\r\n <p class=\"text-xl font-semibold text-blue-900 breadcrumb-title\">{{breadCrumbItems[breadCrumbItems.length -\r\n 1]?.label}}</p>\r\n <p-breadcrumb\r\n *ngIf=\"widthCard > 400\"\r\n styleClass=\"border-none p-0 flex align-items-center h-2rem !important;\"\r\n [model]=\"breadCrumbItems\"\r\n [style]=\"{backgroundColor: '#d4d3d3'}\"\r\n (onItemClick)=\"callRoute($event.item.routerLink, true)\"\r\n ></p-breadcrumb>\r\n </div>\r\n\r\n <div *ngIf=\"!breadCrumbs\"></div>\r\n\r\n <div class=\"w-auto flex flex-row align-items-center gap-2\">\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu padding-style\"\r\n (click)=\"sistemasPanel.toggle($event)\"\r\n [pTooltip]=\"'Sistemas'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n apps\r\n </i>\r\n </button>\r\n <button\r\n pButton\r\n class=\"p-button-rounded p-button-text h-2rem w-2rem hover:bg-green-600 hover:text-white icon-menu padding-style\"\r\n (click)=\"meusDadosPanel.toggle($event)\"\r\n [pTooltip]=\"'Menu do Usu\u00E1rio'\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <i class=\"material-symbols-outlined\">\r\n person\r\n </i>\r\n </button>\r\n </div>\r\n </div>\r\n\r\n\r\n <p-card\r\n class=\"card-container\"\r\n styleClass=\"m-3 border-noround overflow-y-auto card-container\"\r\n [style]=\"{height: heigthCard - ajustarHeigthCard() + 'px'}\"\r\n >\r\n <div class=\"card-container w-full\">\r\n <ng-content></ng-content>\r\n </div>\r\n </p-card>\r\n\r\n</div>\r\n\r\n\r\n</div>\r\n\r\n<p-overlayPanel\r\n #sistemasPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Sistemas</p>\r\n <div\r\n class=\"flex flex-row flex-wrap gap-2 align-items-center justify-content-center mt-5 mb-3\"\r\n style=\"width: 250px; height: 100%;\"\r\n >\r\n <button\r\n *ngFor=\"let menu of menuCompleto\"\r\n pButton\r\n pRipple\r\n class=\"btn-sistema-2 btn-sistema hover-btn-cor-padrao remove-focus h-4rem w-4rem\"\r\n (click)=\"definirMenusPorSistema(menu.sistema.idsistema)\"\r\n [pTooltip]=\"menu.sistema.descricaosistema\"\r\n [tooltipPosition]=\"'left'\"\r\n >\r\n <!-- <img\r\n alt=\"logo\"\r\n style=\"width: 2rem; height: 2rem;\"\r\n /> -->\r\n {{ menu.sistema.nomesistema.charAt(0).toUpperCase() }}\r\n\r\n </button>\r\n\r\n\r\n <!-- <p-button styleClass=\"p-button-outlined\">\r\n <img alt=\"logo\" src=\"https://primefaces.org/cdn/primeng/images/primeng-icon.svg\" style=\"width: 1.5rem\" />\r\n <span class=\"ml-2 font-bold\">PrimeNG</span>\r\n </p-button> -->\r\n\r\n </div>\r\n </ng-template>\r\n</p-overlayPanel>\r\n\r\n<p-overlayPanel\r\n #meusDadosPanel\r\n [showTransitionOptions]=\"'350ms ease-out'\"\r\n [hideTransitionOptions]=\"'250ms ease-in'\"\r\n>\r\n\r\n <ng-template pTemplate=\"container\">\r\n\r\n <p class=\"title-style mt-3\">Ol\u00E1, {{nomeUsuario ? nomeUsuario.split(' ')[0] : 'Usu\u00E1rio'}} !</p>\r\n <div class=\"mt-5 mb-3\">\r\n\r\n </div>\r\n\r\n <p-button\r\n icon=\"pi pi-lock\"\r\n label=\"Ger\u00EAnciar KeevoPass\"\r\n (onClick)=\"gerenciarKeePass($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n [disabled]=\"true\"\r\n ></p-button>\r\n <p-button\r\n icon=\"pi pi-sign-out\"\r\n label=\"Sair\"\r\n (onClick)=\"sair($event)\"\r\n styleClass=\"border-noround w-full p-button-text text-blue-900\"\r\n ></p-button>\r\n </ng-template>\r\n\r\n</p-overlayPanel>\r\n\r\n<p-dialog\r\n [(visible)]=\"visibleDialogLicenca\"\r\n [modal]=\"true\"\r\n [draggable]=\"false\"\r\n header=\"Trocar Licen\u00E7a\"\r\n [style]=\"{width: '50vh' }\"\r\n>\r\n <div class=\"flex flex-column align-items-end\">\r\n\r\n <div class=\"w-full\">\r\n <p-dropdown\r\n styleClass=\"w-full\"\r\n [options]=\"licencasOptions\"\r\n [(ngModel)]=\"licencaSelected\"\r\n optionLabel=\"descricao\"\r\n ></p-dropdown>\r\n </div>\r\n\r\n <kv-button-success\r\n [label]=\"'Salvar'\"\r\n class=\"mt-2\"\r\n (onClick)=\"setLicenca()\"\r\n ></kv-button-success>\r\n\r\n </div>\r\n\r\n</p-dialog>\r\n\r\n<!-- <p-confirmDialog\r\n [style]=\"{width: '40vw'}\"\r\n [baseZIndex]=\"10000\"\r\n rejectButtonStyleClass=\"p-button-text\"\r\n>\r\n</p-confirmDialog>\r\n\r\n<p-toast></p-toast> -->", styles: [".material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;display:inline-block;width:1em;height:1em;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:\"liga\"}::ng-deep .p-button:focus{box-shadow:none;-webkit-box-shadow:none;-moz-box-shadow:none}::ng-deep .p-overlaypanel .p-overlaypanel-content{padding:0}::ng-deep .hover-btn-cor-padrao.p-button:enabled:hover{background:#0c3e66;border-color:#002542}.p-button.p-button-icon-only.p-button-rounded{background:#0c3e66;border-color:#002542}::ng-deep .remove-focus:focus{border:none}::ng-deep .p-sidebar .p-sidebar-content{padding:0}::ng-deep .sidebar-header-sistema.p-sidebar .p-sidebar-header{padding-top:.5rem;padding-right:0;padding-bottom:0;padding-left:0;display:block}.btn-sistema{display:flex;align-items:center;justify-content:center;background-color:#0c3e66;font-size:20px}::ng-deep .p-sidebar .p-sidebar-header{padding:0rem!important}::ng-deep body{margin:0!important}::ng-deep .p-breadcrumb ul li.p-breadcrumb-chevron{position:relative;top:3px;color:#0c3e66!important}.page-content{background:linear-gradient(to bottom,#d4d3d3 16%,#ffffff 19%)}*{margin:0}p .item-menu{color:#0c3e66;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .p-breadcrumb ul li:last-child .p-menuitem-text{color:#0c3e66!important;font-weight:700;font-size:.8rem!important}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text{color:#0c3e66!important;font-weight:500;font-size:.8rem!important}span,.breadcrumb-title{font-size:14px!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol}::ng-deep .card-container{overflow-x:hidden}::ng-deep .card-container::-webkit-scrollbar{width:6px}::ng-deep .card-container::-webkit-scrollbar:hover{background-color:#dededebf}::ng-deep .card-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:transparent}::ng-deep .card-container:hover::-webkit-scrollbar-thumb{border-left:2px solid white;background-color:#00000080}::ng-deep .card-container::-webkit-scrollbar-track{border-left:2px solid white;background-color:#dededebf}.title-style{position:relative;top:10px;margin-left:20px;font-size:25px;color:#002542;border-bottom:2px solid green;font-weight:600;display:inline}::ng-deep p-sidebar .p-sidebar-content{overflow-y:hidden}::ng-deep p-dialog .p-dialog-content{overflow-y:unset}.icon-menu{color:#002542;display:flex;justify-content:center;align-items:center}::ng-deep .padding-style{padding:15px!important}::ng-deep .menu-option{padding:15px 5px!important}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text{color:#183462!important;opacity:.95;font-weight:500;font-size:.8rem!important}::ng-deep .p-breadcrumb ul li .p-menuitem-link .p-menuitem-text:hover{opacity:.7}.pl-3{padding-left:0rem!important}::ng-deep svg.p-icon{width:.7rem;height:1rem}.hover-color .text-base,.hover-color .icon-hover-color{color:#fff!important}::ng-deep .p-card .p-card-content{padding:0rem!important}\n"] }]
202
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Router }, { type: i1.ActivatedRoute }]; }, propDecorators: { menuCompleto: [{
203
- type: Input
204
- }], licencas: [{
205
- type: Input
206
- }], licencaSelecionada: [{
207
- type: Input
208
- }], logoImage: [{
209
- type: Input
210
- }], nomeUsuario: [{
211
- type: Input
212
- }], breadCrumbs: [{
213
- type: Input
214
- }], licencaChange: [{
215
- type: Output
216
- }], gerenciarKeePassEvent: [{
217
- type: Output
218
- }], sairEvent: [{
219
- type: Output
220
- }], expandMenuEmit: [{
221
- type: Output
222
- }], trocarLicencaEmit: [{
223
- type: Output
224
- }], sidebarRef: [{
225
- type: ViewChild,
226
- args: ['sidebarRef']
227
- }], sistemasPanel: [{
228
- type: ViewChild,
229
- args: ['sistemasPanel']
230
- }], meusDadosPanel: [{
231
- type: ViewChild,
232
- args: ['meusDadosPanel']
233
- }], onWindowResize: [{
234
- type: HostListener,
235
- args: ['window:resize', ['$event']]
236
- }] } });
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvbWVudS9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9tZW51L21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFjM0gsTUFBTSxPQUFPLGFBQWE7SUFxQ3hCLGNBQWM7UUFDWixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBb0IsR0FBc0IsRUFBWSxNQUFjLEVBQVUsS0FBcUI7UUFBL0UsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBWSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUF6QzFGLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQztRQUN2QyxhQUFRLEdBQXVCLEVBQUUsQ0FBQTtRQUlqQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU1Qixr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QUFDLENBQUM7UUFFL0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUViLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztJQUNsQyxDQUFDOzswR0FyT1UsYUFBYTs4RkFBYixhQUFhLDB4QkNmMUIsMHRaQXFWdUI7MkZEdFVWLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0UsU0FBUzswSkFNVixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBRWtCLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFDSyxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ0csY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBb0IzQixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgU2lkZWJhciB9IGZyb20gJ3ByaW1lbmcvc2lkZWJhcic7XHJcbmltcG9ydCB7IE92ZXJsYXlQYW5lbCB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcclxuXHJcbmltcG9ydCB7IE1hc3RlckNvbWJvTW9kZWwgfSBmcm9tICdrZWV2by1hcGktc2VydmljZXMta2Vldm9jZW50ZXInO1xyXG5pbXBvcnQgeyBtZW51Q29tcGxldG9Nb2RlbCB9IGZyb20gJy4uL2FwaS9tb2RlbHMvbWVudS9tZW51Y29tcGxldG8ubW9kZWwnO1xyXG5pbXBvcnQgeyBtZW51TW9kZWwgfSBmcm9tICcuLi9hcGkvbW9kZWxzL21lbnUvbWVudS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2t2LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgbWVudUNvbXBsZXRvOiBtZW51Q29tcGxldG9Nb2RlbFtdID0gW107XHJcbiAgQElucHV0KCkgbGljZW5jYXM6IE1hc3RlckNvbWJvTW9kZWxbXSA9IFtdXHJcbiAgQElucHV0KCkgbGljZW5jYVNlbGVjaW9uYWRhITogTWFzdGVyQ29tYm9Nb2RlbDtcclxuICBASW5wdXQoKSBsb2dvSW1hZ2UhOiBhbnk7XHJcbiAgQElucHV0KCkgbm9tZVVzdWFyaW8hOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYnJlYWRDcnVtYnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIGxpY2VuY2FDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBnZXJlbmNpYXJLZWVQYXNzRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzYWlyRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBleHBhbmRNZW51RW1pdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB0cm9jYXJMaWNlbmNhRW1pdDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdzaWRlYmFyUmVmJykgc2lkZWJhclJlZiE6IFNpZGViYXI7XHJcbiAgQFZpZXdDaGlsZCgnc2lzdGVtYXNQYW5lbCcpIHNpc3RlbWFzUGFuZWwhOiBPdmVybGF5UGFuZWw7XHJcbiAgQFZpZXdDaGlsZCgnbWV1c0RhZG9zUGFuZWwnKSBtZXVzRGFkb3NQYW5lbCE6IE92ZXJsYXlQYW5lbDtcclxuXHJcbiAgbGljZW5jYXNPcHRpb25zOiB7IGlkOiBudW1iZXIsIGRlc2NyaWNhbzogc3RyaW5nLCBjcGZjbnBqOiBzdHJpbmcgfVtdID0gW11cclxuICBsaWNlbmNhU2VsZWN0ZWQhOiB7IGlkOiBudW1iZXIsIGRlc2NyaWNhbzogc3RyaW5nLCBjcGZjbnBqOiBzdHJpbmcgfTtcclxuXHJcbiAgbWVudXNGaWx0cmFkb3M6IG1lbnVDb21wbGV0b01vZGVsW10gPSBbXTtcclxuICBtZW51czogbWVudU1vZGVsW10gPSBbXTtcclxuXHJcbiAgYnJlYWRDcnVtYkl0ZW1zOiB7IGxhYmVsOiBzdHJpbmcsIHJvdXRlckxpbms6IHN0cmluZyB9W10gPSBbXTtcclxuXHJcbiAgaGVpZ3RoQ2FyZCE6IG51bWJlcjtcclxuICB3aWR0aENhcmQhOiBudW1iZXI7XHJcbiAgZXhwYW5kTWVudTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHZpc2libGVEaWFsb2dMaWNlbmNhOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIG1vdXNlT3ZlckluZGV4OiBhbnk7XHJcbiAgbW91c2VPdmVyRmlsaG9JbmRleDogYW55O1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICBvbldpbmRvd1Jlc2l6ZSgpIHtcclxuICAgIHRoaXMuaGVpZ3RoQ2FyZCA9IE51bWJlcihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFnZS1jb250ZW50Jyk/Lm9mZnNldEhlaWdodCk7XHJcbiAgICB0aGlzLndpZHRoQ2FyZCA9IE51bWJlcih3aW5kb3cuaW5uZXJXaWR0aCkgLSAodGhpcy5leHBhbmRNZW51ID8gMzMzIDogOTMpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZ3VyYXJMaWNlbmNhcygpO1xyXG5cclxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZygnRXZlbnRvIGRlIG5hdmVnYcOnw6NvOicsIGV2ZW50KTtcclxuICAgICAgICB0aGlzLmJyZWFkQ3J1bWJJdGVtcyA9IHRoaXMuZ2V0QnJlYWRjcnVtYnMoZXZlbnQudXJsKTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcImJyZWFkQ3J1bWJJdGVtcyAtPlwiLCB0aGlzLmJyZWFkQ3J1bWJJdGVtcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuaGVpZ3RoQ2FyZCA9IE51bWJlcihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFnZS1jb250ZW50Jyk/Lm9mZnNldEhlaWdodCk7XHJcbiAgICB0aGlzLndpZHRoQ2FyZCA9IE51bWJlcih3aW5kb3cuaW5uZXJXaWR0aCkgLSAodGhpcy5leHBhbmRNZW51ID8gMzMzIDogOTMpO1xyXG4gIH1cclxuXHJcbiAgY29uZmlndXJhckxpY2VuY2FzKCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldExpY2VuY2EoKSwgMTUwMClcclxuXHJcbiAgICB0aGlzLmxpY2VuY2FzLmZvckVhY2goKHgsIGkpID0+IHtcclxuICAgICAgdGhpcy5saWNlbmNhc09wdGlvbnMucHVzaCh7XHJcbiAgICAgICAgaWQ6IGksXHJcbiAgICAgICAgZGVzY3JpY2FvOiB4Lm5vbWUsXHJcbiAgICAgICAgY3BmY25wajogeC5jcGZjbnBqXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG5cclxuICAgIHZhciBsaWNlbmNhID0gdGhpcy5saWNlbmNhc09wdGlvbnMuZmluZCgoeCkgPT4geC5jcGZjbnBqID09IHRoaXMubGljZW5jYVNlbGVjaW9uYWRhLmNwZmNucGopO1xyXG5cclxuICAgIGlmIChsaWNlbmNhICE9IHVuZGVmaW5lZClcclxuICAgICAgdGhpcy5saWNlbmNhU2VsZWN0ZWQgPSBsaWNlbmNhO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCcmVhZGNydW1icyh1cmw6IHN0cmluZyA9ICcnLCBicmVhZGNydW1iczogeyBsYWJlbDogc3RyaW5nLCByb3V0ZXJMaW5rOiBzdHJpbmcgfVtdID0gW10pOiB7IGxhYmVsOiBzdHJpbmcsIHJvdXRlckxpbms6IHN0cmluZyB9W10ge1xyXG5cclxuICAgIGlmICghdXJsIHx8IHVybCA9PT0gJy8nKSB7XHJcbiAgICAgIHJldHVybiBicmVhZGNydW1icy5sZW5ndGggPiAwID8gYnJlYWRjcnVtYnMgOiBbeyBsYWJlbDogJ0hvbWUnLCByb3V0ZXJMaW5rOiAnLycgfV07XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VnbWVudHMgPSB1cmwuc3BsaXQoJy8nKS5maWx0ZXIoc2VnbWVudCA9PiBzZWdtZW50ICE9PSAnJyk7XHJcblxyXG4gICAgbGV0IGN1cnJlbnRVcmwgPSAnJztcclxuICAgIGZvciAoY29uc3Qgc2VnbWVudCBvZiBzZWdtZW50cykge1xyXG4gICAgICBjdXJyZW50VXJsICs9IGAvJHtzZWdtZW50fWA7XHJcbiAgICAgIGJyZWFkY3J1bWJzLnB1c2goeyBsYWJlbDogc2VnbWVudCwgcm91dGVyTGluazogY3VycmVudFVybCB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYnJlYWRjcnVtYnMubGVuZ3RoID4gMCkge1xyXG4gICAgICBicmVhZGNydW1icy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGxldCBsYWJlbFNlZ21lbnRzID0gaXRlbS5sYWJlbC5zcGxpdCgnLScpO1xyXG4gICAgICAgIGxhYmVsU2VnbWVudHMgPSBsYWJlbFNlZ21lbnRzLm1hcCgoc2VnbWVudCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBpbmRleCA9PT0gMCA/IHNlZ21lbnQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBzZWdtZW50LnNsaWNlKDEpLnRvTG93ZXJDYXNlKCkgOiBzZWdtZW50O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGl0ZW0ubGFiZWwgPSBsYWJlbFNlZ21lbnRzLmpvaW4oJyAnKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYnJlYWRjcnVtYnM7XHJcbiAgfVxyXG5cclxuICBjbG9zZUNhbGxiYWNrKGU6IEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNpZGViYXJSZWYuY2xvc2UoZSk7XHJcbiAgfVxyXG5cclxuICBNYXNjYXJhTm9tZUxpY2VuY2Eobm9tZUxpY2VuY2E6IGFueSk6IHN0cmluZyB7XHJcbiAgICBpZiAobm9tZUxpY2VuY2EpIHtcclxuICAgICAgaWYgKG5vbWVMaWNlbmNhLmxlbmd0aCA+IDI0KVxyXG4gICAgICAgIHJldHVybiBub21lTGljZW5jYS5zdWJzdHJpbmcoMCwgMjQpICsgJy4uLic7XHJcbiAgICAgIGVsc2UgcmV0dXJuIG5vbWVMaWNlbmNhO1xyXG4gICAgfSBlbHNlIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIE1hc2NhcmFDbnBqKGNwZmNucGo6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjcGZjbnBqTGltcG8gPSBjcGZjbnBqLnJlcGxhY2UoL1xcRC9nLCAnJyk7XHJcblxyXG4gICAgcmV0dXJuIGNwZmNucGpMaW1wby5yZXBsYWNlKFxyXG4gICAgICAvXihcXGR7Mn0pKFxcZHszfSkoXFxkezN9KShcXGR7NH0pKFxcZHsyfSkkLyxcclxuICAgICAgJyQxLiQyLiQzLyQ0LSQ1J1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlZmluaXJNZW51c1BvclNpc3RlbWEoaWRzaXN0ZW1hOiBudW1iZXIpIHtcclxuICAgIHRoaXMubWVudXMgPVxyXG4gICAgICB0aGlzLm1lbnVDb21wbGV0by5maW5kKCh4KSA9PiB4LnNpc3RlbWEuaWRzaXN0ZW1hID09IGlkc2lzdGVtYSk/Lm1lbnVzIHx8XHJcbiAgICAgIFtdO1xyXG5cclxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMubWVudXMsICdtZW51cycpXHJcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLm1lbnVDb21wbGV0bywgJ21lbnVDb21wbGV0bycpXHJcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLm1lbnVzWzBdLm1lbnVwYWksICdtZW51cGFpJylcclxuXHJcbiAgICBpZiAodGhpcy5tZW51c1swXS5tZW51cGFpKSB7XHJcbiAgICAgIHZhciBmaWxob3MgPSB0aGlzLnJldG9ybmFyTWVudUZpbGhvcyh0aGlzLm1lbnVzWzBdLmlkc2lzdGVtYSwgdGhpcy5tZW51c1swXS5pZG1lbnUpO1xyXG4gICAgICBpZiAoZmlsaG9zICE9IHVuZGVmaW5lZClcclxuICAgICAgICB0aGlzLmNhbGxSb3V0ZShmaWxob3NbMF0ubGluaywgdHJ1ZSlcclxuICAgIH0gZWxzZSB0aGlzLmNhbGxSb3V0ZSh0aGlzLm1lbnVzWzBdLmxpbmssIHRydWUpXHJcblxyXG4gICAgdGhpcy5zaXN0ZW1hc1BhbmVsLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIHJldG9ybmFyTWVudUZpbGhvcyhpZHNpc3RlbWE6IG51bWJlciwgaWRtZW51OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLm1lbnVDb21wbGV0b1xyXG4gICAgICAuZmluZCgoeCkgPT4geC5zaXN0ZW1hLmlkc2lzdGVtYSA9PSBpZHNpc3RlbWEpXHJcbiAgICAgID8ubWVudXMuZmlsdGVyKCh4KSA9PiB4LmlkbWVudXBhaSA9PSBpZG1lbnUpO1xyXG4gIH1cclxuXHJcbiAgY2FsbFJvdXRlKGU6IGFueSwgZXhwYW5kPzogYm9vbGVhbikge1xyXG4gICAgaWYgKCFleHBhbmQpXHJcbiAgICAgICF0aGlzLmV4cGFuZE1lbnUgPyB0aGlzLmV4cGFuZE1lbnUgPSAhdGhpcy5leHBhbmRNZW51IDogJydcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoZSlcclxuICB9XHJcblxyXG4gIHRvZ2dsZU1lbnUoKSB7XHJcbiAgICB0aGlzLmV4cGFuZE1lbnUgPSAhdGhpcy5leHBhbmRNZW51O1xyXG4gICAgdGhpcy5leHBhbmRNZW51RXZlbnQoKVxyXG4gIH1cclxuXHJcbiAgdHJvY2FyTGljZW5jYSgpIHtcclxuICAgIHRoaXMudHJvY2FyTGljZW5jYUVtaXQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0TGljZW5jYSgpIHtcclxuICAgIHZhciBsaWNlbmNhID0gdGhpcy5saWNlbmNhcy5maW5kKChsaWNlbmNhKSA9PiBsaWNlbmNhLmlkbWFzdGVyID09IHRoaXMubGljZW5jYVNlbGVjdGVkLmlkKTtcclxuICAgIGlmIChsaWNlbmNhKSB0aGlzLmxpY2VuY2FTZWxlY2lvbmFkYSA9IGxpY2VuY2E7XHJcblxyXG4gICAgdGhpcy52aXNpYmxlRGlhbG9nTGljZW5jYSA9IGZhbHNlXHJcblxyXG4gICAgdGhpcy5saWNlbmNhQ2hhbmdlLmVtaXQodGhpcy5saWNlbmNhU2VsZWNpb25hZGEpO1xyXG5cclxuICAgIHRoaXMuZGVmaW5pck1lbnVzUG9yU2lzdGVtYSh0aGlzLm1lbnVDb21wbGV0b1swXT8uc2lzdGVtYS5pZHNpc3RlbWEpXHJcbiAgfVxyXG5cclxuICBnZXJlbmNpYXJLZWVQYXNzKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2lzdGVtYXNQYW5lbC5oaWRlKCk7XHJcbiAgICB0aGlzLmdlcmVuY2lhcktlZVBhc3NFdmVudC5lbWl0KGV2ZW50KVxyXG4gIH1cclxuXHJcbiAgc2FpcihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNpc3RlbWFzUGFuZWwuaGlkZSgpO1xyXG4gICAgdGhpcy5zYWlyRXZlbnQuZW1pdChldmVudClcclxuICB9XHJcblxyXG4gIGV4cGFuZE1lbnVFdmVudCgpIHtcclxuICAgIHRoaXMuZXhwYW5kTWVudUVtaXQuZW1pdCh0aGlzLmV4cGFuZE1lbnUpO1xyXG4gIH1cclxuXHJcbiAgYWp1c3RhckhlaWd0aENhcmQoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLndpZHRoQ2FyZCA+IDQwMCkge1xyXG4gICAgICBpZiAodGhpcy5icmVhZENydW1icykgcmV0dXJuIDEwNVxyXG4gICAgICBlbHNlIHJldHVybiA4NVxyXG4gICAgfSBlbHNlIHJldHVybiA4M1xyXG4gIH1cclxuXHJcbiAgdmVyaWZpY2FyUGFnaW5hU2VsZWNpb25hZGEobGluazogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsLmluY2x1ZGVzKGxpbmspO1xyXG4gIH1cclxuXHJcbiAgLy8gcmV0b3JuYXJUaXR1bG9CcmVhZENydW1icyhsYWJlbDogYW55KTogc3RyaW5nIHtcclxuICAvLyAgIGlmIChsYWJlbClcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuYnJlYWRDcnVtYkl0ZW1zW3RoaXMuYnJlYWRDcnVtYkl0ZW1zLmxlbmd0aCAtIDFdPy5sYWJlbFxyXG4gIC8vICAgZWxzZSByZXR1cm4gJyc7XHJcbiAgLy8gfVxyXG5cclxuICByZXRvcm5hclRpdHVsb0JyZWFkQ3J1bWJzKHN0cjogc3RyaW5nKSB7XHJcblxyXG4gICAgaWYgKHN0ci5pbmNsdWRlcygnLScpKSB7XHJcbiAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKCctJywgJyAnKTtcclxuICAgIH1cclxuXHJcbiAgICB2YXIgcHJpbWVpcmFMZXRyYSA9IHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKTtcclxuXHJcbiAgICBzdHIuc2xpY2UoMSk7XHJcblxyXG4gICAgcmV0dXJuIHByaW1laXJhTGV0cmE7XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlRW50ZXIoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5tb3VzZU92ZXJJbmRleCA9IGluZGV4O1xyXG4gIH1cclxuXHJcbiAgb25Nb3VzZUZpbGhvRW50ZXIoaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5tb3VzZU92ZXJGaWxob0luZGV4ID0gaW5kZXg7XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlTGVhdmUoKSB7XHJcbiAgICB0aGlzLm1vdXNlT3ZlckluZGV4ID0gbnVsbDtcclxuICAgIHRoaXMubW91c2VPdmVyRmlsaG9JbmRleCA9IG51bGw7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IG92ZXJmbG93LXktaGlkZGVuIHctIGZ1bGwtY29udGFpbmVyXCI+XHJcblxyXG4gIDxkaXYgW3N0eWxlXT1cInttaW5XaWR0aDogZXhwYW5kTWVudSA/ICczMDBweCcgOiAnNjBweCd9XCI+PC9kaXY+XHJcblxyXG4gIDxwLXNpZGViYXJcclxuICAgICNzaWRlYmFyUmVmXHJcbiAgICBbdmlzaWJsZV09XCJ0cnVlXCJcclxuICAgIFtzaG93Q2xvc2VJY29uXT1cImZhbHNlXCJcclxuICAgIFttb2RhbF09XCJmYWxzZVwiXHJcbiAgICBbc3R5bGVdPVwie3dpZHRoOiBleHBhbmRNZW51ID8gJzMwMHB4JyA6ICc2MHB4J31cIlxyXG4gID5cclxuICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkbGVzc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiB7e2V4cGFuZE1lbnUgPyAnbXgtMScgOiAnbXgtMSd9fVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGdhcC0yIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZsZXgtc2hyaW5rLTAgbXgtMlwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIHt7ZXhwYW5kTWVudSA/ICdqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbicgOiAnanVzdGlmeS1jb250ZW50LWNlbnRlcid9fSBweS0zXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kTWVudVwiXHJcbiAgICAgICAgICAgICAgYWx0PVwiQ2FyZFwiXHJcbiAgICAgICAgICAgICAgW3NyY109XCJsb2dvSW1hZ2VcIlxyXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTUwXCJcclxuICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICBwQnV0dG9uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcGFkZGluZy1zdHlsZSBoLTJyZW0gdy0ycmVtIGhvdmVyOmJnLWdyZWVuLTYwMCBob3Zlcjp0ZXh0LXdoaXRlIGljb24tbWVudVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiXHJcbiAgICAgICAgICAgICAgW3BUb29sdGlwXT1cImV4cGFuZE1lbnUgPyAnT2N1dGFyIE1lbnUnIDogJ0V4cGFuZGlyIE1lbnUnXCJcclxuICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidyaWdodCdcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+XHJcbiAgICAgICAgICAgICAgICBtZW51XHJcbiAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciB7e2V4cGFuZE1lbnUgPyAnanVzdGlmeS1jb250ZW50LWJldHdlZW4nIDogJ2p1c3RpZnktY29udGVudC1jZW50ZXInfX1cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZE1lbnVcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0cm9jYXJMaWNlbmNhKClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1zbSBmb250LXNlbWlib2xkIG1yLTJcIlxyXG4gICAgICAgICAgICAgICAgW3BUb29sdGlwXT1cInRoaXMubGljZW5jYVNlbGVjaW9uYWRhLm5vbWVcIlxyXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7e01hc2NhcmFOb21lTGljZW5jYSh0aGlzLmxpY2VuY2FTZWxlY2lvbmFkYS5ub21lKX19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zbSBtdC0xXCI+e3tNYXNjYXJhQ25waih0aGlzLmxpY2VuY2FTZWxlY2lvbmFkYS5jcGZjbnBqKX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICBwQnV0dG9uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXRleHQgcGFkZGluZy1zdHlsZSBoLTJyZW0gdy0ycmVtIGhvdmVyOmJnLWdyZWVuLTYwMCBob3Zlcjp0ZXh0LXdoaXRlIGljb24tbWVudVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRyb2NhckxpY2VuY2EoKVwiXHJcbiAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIidBbHRlcmFyIHdvcmtzcGFjZSdcIlxyXG4gICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj5cclxuICAgICAgICAgICAgICAgIHN5bmNfYWx0XHJcbiAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxwLWRpdmlkZXIgdHlwZT1cInNvbGlkXCI+PC9wLWRpdmlkZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwibGlzdC1ub25lIG0tMCAgY2FyZC1jb250YWluZXIge3tleHBhbmRNZW51ID8gJ214LTEnIDogJyd9fVwiXHJcbiAgICAgICAgICBbc3R5bGUubWF4LWhlaWdodF09XCIoaGVpZ3RoQ2FyZCAtIDIyMCkgKyAncHgnXCJcclxuICAgICAgICAgIHN0eWxlPVwib3ZlcmZsb3cteTogYXV0bztcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDwhLS0gbWVudXMgLS0+XHJcbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IG1lbnUgb2YgbWVudXM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgPCEtLSBtZW51IHF1ZSBuw6NvIHRlbSBmaWxobyAtLT5cclxuICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoaSlcIlxyXG4gICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2hvdmVyLWNvbG9yJzogbW91c2VPdmVySW5kZXggPT09IGl9XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2FsbFJvdXRlKG1lbnUubGluaylcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiIW1lbnUubWVudXBhaSAmJiBtZW51LmlkbWVudXBhaSA9PSAwXCJcclxuICAgICAgICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgICAgICAgW3BUb29sdGlwXT1cIiFleHBhbmRNZW51ID8gbWVudS5kZXNjcmljYW9tZW51IDogJydcIlxyXG4gICAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ7e3ZlcmlmaWNhclBhZ2luYVNlbGVjaW9uYWRhKG1lbnUubGluaykgPyAnYmctZ3JlZW4tNjAwJyA6ICcnfX0gbWVudS1vcHRpb24gZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbm8tdW5kZXJsaW5lIHt7IWV4cGFuZE1lbnUgPyAnanVzdGlmeS1jb250ZW50LWNlbnRlcicgOiAnJ319IGN1cnNvci1wb2ludGVyIGJvcmRlci1yb3VuZCB0ZXh0LTcwMCBob3ZlcjpiZy1ncmVlbi02MDAgaG92ZXI6dGV4dC13aGl0ZSB0cmFuc2l0aW9uLWR1cmF0aW9uLTE1MCB0cmFuc2l0aW9uLWNvbG9ycyBwLXJpcHBsZVwiXHJcbiAgICAgICAgICAgID5cclxuXHJcbiAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLW1lbnUge3tleHBhbmRNZW51ID8gJ21sLTEgbXItMicgOiAnJ319ICBpY29uLWhvdmVyLWNvbG9yIHt7dmVyaWZpY2FyUGFnaW5hU2VsZWNpb25hZGEobWVudS5saW5rKSA/ICd0ZXh0LXdoaXRlJyA6ICcnfX1cIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJtZW51Lmljb25lICYmIG1lbnUuaWNvbmUgIT09ICcnXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBtZW51Lmljb25lIH19XHJcbiAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtYmFzZSB0ZXh0LWJsdWUtOTAwIGZvbnQtbWVkaXVtIHt7dmVyaWZpY2FyUGFnaW5hU2VsZWNpb25hZGEobWVudS5saW5rKSA/ICd0ZXh0LXdoaXRlJyA6ICcnfX1cIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICA+e3sgbWVudS5kZXNjcmljYW9tZW51IH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDwhLS0gbWVudSBjb20gZmlsaG8gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtZW51Lm1lbnVwYWlcIj5cclxuICAgICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZUVudGVyKGkpXCJcclxuICAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaG92ZXItY29sb3InOiBtb3VzZU92ZXJJbmRleCA9PT0gaX1cIlxyXG4gICAgICAgICAgICAgICAgcFJpcHBsZVxyXG4gICAgICAgICAgICAgICAgcFN0eWxlQ2xhc3M9XCJAbmV4dFwiXHJcbiAgICAgICAgICAgICAgICBlbnRlckNsYXNzPVwiaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgIGVudGVyQWN0aXZlQ2xhc3M9XCJzbGlkZWRvd25cIlxyXG4gICAgICAgICAgICAgICAgbGVhdmVUb0NsYXNzPVwiaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgIGxlYXZlQWN0aXZlQ2xhc3M9XCJzbGlkZXVwXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVudS1vcHRpb24gZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIge3shZXhwYW5kTWVudSA/ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJyA6ICdqdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbid9fSBjdXJzb3ItcG9pbnRlciBib3JkZXItcm91bmQgdGV4dC03MDAgaG92ZXI6YmctZ3JlZW4tNjAwIGhvdmVyOnRleHQtd2hpdGUgdHJhbnNpdGlvbi1kdXJhdGlvbi0xNTAgdHJhbnNpdGlvbi1jb2xvcnMgcC1yaXBwbGVcIlxyXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCIncmlnaHQnXCJcclxuICAgICAgICAgICAgICAgIFtwVG9vbHRpcF09XCIhZXhwYW5kTWVudSA/IG1lbnUuZGVzY3JpY2FvbWVudSA6ICcnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCIhZXhwYW5kTWVudSA/IGV4cGFuZE1lbnUgPSAhZXhwYW5kTWVudSA6ICcnXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tbWVudSB7e2V4cGFuZE1lbnUgPyAnbWwtMSBtci0yJyA6ICcnfX0gaWNvbi1ob3Zlci1jb2xvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtZW51Lmljb25lICYmIG1lbnUuaWNvbmUgIT09ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2hvdmVyLWNvbG9yJzogbW91c2VPdmVySW5kZXggPT09IGl9XCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IG1lbnUuaWNvbmUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1iYXNlIHRleHQtYmx1ZS05MDAgZm9udC1tZWRpdW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kTWVudVwiXHJcbiAgICAgICAgICAgICAgICAgID57eyBtZW51LmRlc2NyaWNhb21lbnUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGkgcGktY2hldnJvbi1kb3duIHRleHQtYmx1ZS05MDAgbXItMSBpY29uLWhvdmVyLWNvbG9yXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydob3Zlci1jb2xvcic6IG1vdXNlT3ZlckluZGV4ID09PSBpfVwiXHJcbiAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgIDwvYT5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSBmaWxob3MgLS0+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJsaXN0LW5vbmUgcHktMCBwbC0zIHByLTAgbS0wIGhpZGRlbiBvdmVyZmxvdy15LWhpZGRlbiB0cmFuc2l0aW9uLWFsbCB0cmFuc2l0aW9uLWR1cmF0aW9uLTQwMCB0cmFuc2l0aW9uLWVhc2UtaW4tb3V0XCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICA8bGkgKm5nRm9yPVwiXHJcbiAgICAgICAgICAgICAgbGV0IGZpbGhvIG9mIHJldG9ybmFyTWVudUZpbGhvcyhtZW51Lmlkc2lzdGVtYSwgbWVudS5pZG1lbnUpOyAgbGV0IGlGaWxobyA9IGluZGV4XHJcbiAgICAgICAgICAgIFwiPlxyXG4gICAgICAgICAgICA8YVxyXG4gICAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VGaWxob0VudGVyKGZpbGhvLmlkbWVudSlcIlxyXG4gICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2hvdmVyLWNvbG9yJzogbW91c2VPdmVyRmlsaG9JbmRleCA9PT0gZmlsaG8uaWRtZW51fVwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2FsbFJvdXRlKGZpbGhvLmxpbmspXCJcclxuICAgICAgICAgICAgICBwUmlwcGxlXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ7e3ZlcmlmaWNhclBhZ2luYVNlbGVjaW9uYWRhKGZpbGhvLmxpbmspID8gJ2JnLWdyZWVuLTYwMCcgOiAnJ319IG1lbnUtb3B0aW9uIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIG5vLXVuZGVybGluZSBjdXJzb3ItcG9pbnRlciBib3JkZXItcm91bmQgdGV4dC03MDAgaG92ZXI6YmctZ3JlZW4tNjAwIHRyYW5zaXRpb24tZHVyYXRpb24tMTUwIHRyYW5zaXRpb24tY29sb3JzIHAtcmlwcGxlIHAtMlwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwaSBwaS1jaGFydC1saW5lIG1yLTIgbWwtMSBhZGp1c3QtaWNvbi1tZW51XCJcclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsaG8uaWNvbmUgJiYgZmlsaG8uaWNvbmUgIT09ICcnXCJcclxuICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtYmFzZSB0ZXh0LWJsdWUtOTAwIG1sLTQge3t2ZXJpZmljYXJQYWdpbmFTZWxlY2lvbmFkYShmaWxoby5saW5rKSA/ICd0ZXh0LXdoaXRlJyA6ICcnfX1cIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJleHBhbmRNZW51XCJcclxuICAgICAgICAgICAgICA+e3sgZmlsaG8uZGVzY3JpY2FvbWVudSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPC9wLXNpZGViYXI+XHJcblxyXG5cclxuPGRpdlxyXG4gIGNsYXNzPVwidy1hdXRvIGgtc2NyZWVuIHBhZ2UtY29udGVudCBvdmVyZmxvdy15LWhpZGRlblwiXHJcbiAgaWQ9XCJwYWdlLWNvbnRlbnRcIlxyXG4+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtLTNcIj5cclxuICAgIDxkaXYgKm5nSWY9XCJicmVhZENydW1ic1wiPlxyXG4gICAgICA8cCBjbGFzcz1cInRleHQteGwgZm9udC1zZW1pYm9sZCB0ZXh0LWJsdWUtOTAwIGJyZWFkY3J1bWItdGl0bGVcIj57e2JyZWFkQ3J1bWJJdGVtc1ticmVhZENydW1iSXRlbXMubGVuZ3RoIC1cclxuICAgICAgICAxXT8ubGFiZWx9fTwvcD5cclxuICAgICAgPHAtYnJlYWRjcnVtYlxyXG4gICAgICAgICpuZ0lmPVwid2lkdGhDYXJkID4gNDAwXCJcclxuICAgICAgICBzdHlsZUNsYXNzPVwiYm9yZGVyLW5vbmUgcC0wIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGgtMnJlbSAhaW1wb3J0YW50O1wiXHJcbiAgICAgICAgW21vZGVsXT1cImJyZWFkQ3J1bWJJdGVtc1wiXHJcbiAgICAgICAgW3N0eWxlXT1cIntiYWNrZ3JvdW5kQ29sb3I6ICcjZDRkM2QzJ31cIlxyXG4gICAgICAgIChvbkl0ZW1DbGljayk9XCJjYWxsUm91dGUoJGV2ZW50Lml0ZW0ucm91dGVyTGluaywgdHJ1ZSlcIlxyXG4gICAgICA+PC9wLWJyZWFkY3J1bWI+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWJyZWFkQ3J1bWJzXCI+PC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInctYXV0byBmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgcEJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi10ZXh0IGgtMnJlbSB3LTJyZW0gaG92ZXI6YmctZ3JlZW4tNjAwIGhvdmVyOnRleHQtd2hpdGUgaWNvbi1tZW51IHBhZGRpbmctc3R5bGVcIlxyXG4gICAgICAgIChjbGljayk9XCJzaXN0ZW1hc1BhbmVsLnRvZ2dsZSgkZXZlbnQpXCJcclxuICAgICAgICBbcFRvb2x0aXBdPVwiJ1Npc3RlbWFzJ1wiXHJcbiAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInbGVmdCdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+XHJcbiAgICAgICAgICBhcHBzXHJcbiAgICAgICAgPC9pPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIHBCdXR0b25cclxuICAgICAgICBjbGFzcz1cInAtYnV0dG9uLXJvdW5kZWQgcC1idXR0b24tdGV4dCBoLTJyZW0gdy0ycmVtIGhvdmVyOmJnLWdyZWVuLTYwMCBob3Zlcjp0ZXh0LXdoaXRlIGljb24tbWVudSBwYWRkaW5nLXN0eWxlXCJcclxuICAgICAgICAoY2xpY2spPVwibWV1c0RhZG9zUGFuZWwudG9nZ2xlKCRldmVudClcIlxyXG4gICAgICAgIFtwVG9vbHRpcF09XCInTWVudSBkbyBVc3XDoXJpbydcIlxyXG4gICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2xlZnQnXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPlxyXG4gICAgICAgICAgcGVyc29uXHJcbiAgICAgICAgPC9pPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuXHJcbiAgPHAtY2FyZFxyXG4gICAgY2xhc3M9XCJjYXJkLWNvbnRhaW5lclwiXHJcbiAgICBzdHlsZUNsYXNzPVwibS0zIGJvcmRlci1ub3JvdW5kIG92ZXJmbG93LXktYXV0byBjYXJkLWNvbnRhaW5lclwiXHJcbiAgICBbc3R5bGVdPVwie2hlaWdodDogaGVpZ3RoQ2FyZCAtIGFqdXN0YXJIZWlndGhDYXJkKCkgKyAncHgnfVwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtY29udGFpbmVyIHctZnVsbFwiPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L3AtY2FyZD5cclxuXHJcbjwvZGl2PlxyXG5cclxuXHJcbjwvZGl2PlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsXHJcbiAgI3Npc3RlbWFzUGFuZWxcclxuICBbc2hvd1RyYW5zaXRpb25PcHRpb25zXT1cIiczNTBtcyBlYXNlLW91dCdcIlxyXG4gIFtoaWRlVHJhbnNpdGlvbk9wdGlvbnNdPVwiJzI1MG1zIGVhc2UtaW4nXCJcclxuPlxyXG5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiY29udGFpbmVyXCI+XHJcblxyXG4gICAgPHAgY2xhc3M9XCJ0aXRsZS1zdHlsZSBtdC0zXCI+U2lzdGVtYXM8L3A+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBmbGV4LXdyYXAgZ2FwLTIgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgbXQtNSBtYi0zXCJcclxuICAgICAgc3R5bGU9XCJ3aWR0aDogMjUwcHg7IGhlaWdodDogMTAwJTtcIlxyXG4gICAgPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IG1lbnUgb2YgbWVudUNvbXBsZXRvXCJcclxuICAgICAgICBwQnV0dG9uXHJcbiAgICAgICAgcFJpcHBsZVxyXG4gICAgICAgIGNsYXNzPVwiYnRuLXNpc3RlbWEtMiBidG4tc2lzdGVtYSBob3Zlci1idG4tY29yLXBhZHJhbyByZW1vdmUtZm9jdXMgaC00cmVtIHctNHJlbVwiXHJcbiAgICAgICAgKGNsaWNrKT1cImRlZmluaXJNZW51c1BvclNpc3RlbWEobWVudS5zaXN0ZW1hLmlkc2lzdGVtYSlcIlxyXG4gICAgICAgIFtwVG9vbHRpcF09XCJtZW51LnNpc3RlbWEuZGVzY3JpY2Fvc2lzdGVtYVwiXHJcbiAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInbGVmdCdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPCEtLSA8aW1nXHJcbiAgICAgICAgICBhbHQ9XCJsb2dvXCJcclxuICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDJyZW07IGhlaWdodDogMnJlbTtcIlxyXG4gICAgICAgIC8+IC0tPlxyXG4gICAgICAgIHt7IG1lbnUuc2lzdGVtYS5ub21lc2lzdGVtYS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSB9fVxyXG5cclxuICAgICAgPC9idXR0b24+XHJcblxyXG5cclxuICAgICAgPCEtLSA8cC1idXR0b24gc3R5bGVDbGFzcz1cInAtYnV0dG9uLW91dGxpbmVkXCI+XHJcbiAgICAgICAgPGltZyBhbHQ9XCJsb2dvXCIgc3JjPVwiaHR0cHM6Ly9wcmltZWZhY2VzLm9yZy9jZG4vcHJpbWVuZy9pbWFnZXMvcHJpbWVuZy1pY29uLnN2Z1wiIHN0eWxlPVwid2lkdGg6IDEuNXJlbVwiIC8+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0yIGZvbnQtYm9sZFwiPlByaW1lTkc8L3NwYW4+XHJcbiAgICA8L3AtYnV0dG9uPiAtLT5cclxuXHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3Atb3ZlcmxheVBhbmVsPlxyXG5cclxuPHAtb3ZlcmxheVBhbmVsXHJcbiAgI21ldXNEYWRvc1BhbmVsXHJcbiAgW3Nob3dUcmFuc2l0aW9uT3B0aW9uc109XCInMzUwbXMgZWFzZS1vdXQnXCJcclxuICBbaGlkZVRyYW5zaXRpb25PcHRpb25zXT1cIicyNTBtcyBlYXNlLWluJ1wiXHJcbj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRhaW5lclwiPlxyXG5cclxuICAgIDxwIGNsYXNzPVwidGl0bGUtc3R5bGUgbXQtM1wiPk9sw6EsIHt7bm9tZVVzdWFyaW8gPyBub21lVXN1YXJpby5zcGxpdCgnICcpWzBdIDogJ1VzdcOhcmlvJ319ICE8L3A+XHJcbiAgICA8ZGl2IGNsYXNzPVwibXQtNSBtYi0zXCI+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPHAtYnV0dG9uXHJcbiAgICAgIGljb249XCJwaSBwaS1sb2NrXCJcclxuICAgICAgbGFiZWw9XCJHZXLDqm5jaWFyIEtlZXZvUGFzc1wiXHJcbiAgICAgIChvbkNsaWNrKT1cImdlcmVuY2lhcktlZVBhc3MoJGV2ZW50KVwiXHJcbiAgICAgIHN0eWxlQ2xhc3M9XCJib3JkZXItbm9yb3VuZCB3LWZ1bGwgcC1idXR0b24tdGV4dCB0ZXh0LWJsdWUtOTAwXCJcclxuICAgICAgW2Rpc2FibGVkXT1cInRydWVcIlxyXG4gICAgPjwvcC1idXR0b24+XHJcbiAgICA8cC1idXR0b25cclxuICAgICAgaWNvbj1cInBpIHBpLXNpZ24tb3V0XCJcclxuICAgICAgbGFiZWw9XCJTYWlyXCJcclxuICAgICAgKG9uQ2xpY2spPVwic2FpcigkZXZlbnQpXCJcclxuICAgICAgc3R5bGVDbGFzcz1cImJvcmRlci1ub3JvdW5kIHctZnVsbCBwLWJ1dHRvbi10ZXh0IHRleHQtYmx1ZS05MDBcIlxyXG4gICAgPjwvcC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjwvcC1vdmVybGF5UGFuZWw+XHJcblxyXG48cC1kaWFsb2dcclxuICBbKHZpc2libGUpXT1cInZpc2libGVEaWFsb2dMaWNlbmNhXCJcclxuICBbbW9kYWxdPVwidHJ1ZVwiXHJcbiAgW2RyYWdnYWJsZV09XCJmYWxzZVwiXHJcbiAgaGVhZGVyPVwiVHJvY2FyIExpY2Vuw6dhXCJcclxuICBbc3R5bGVdPVwie3dpZHRoOiAnNTB2aCcgfVwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1lbmRcIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwidy1mdWxsXCI+XHJcbiAgICAgIDxwLWRyb3Bkb3duXHJcbiAgICAgICAgc3R5bGVDbGFzcz1cInctZnVsbFwiXHJcbiAgICAgICAgW29wdGlvbnNdPVwibGljZW5jYXNPcHRpb25zXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cImxpY2VuY2FTZWxlY3RlZFwiXHJcbiAgICAgICAgb3B0aW9uTGFiZWw9XCJkZXNjcmljYW9cIlxyXG4gICAgICA+PC9wLWRyb3Bkb3duPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGt2LWJ1dHRvbi1zdWNjZXNzXHJcbiAgICAgIFtsYWJlbF09XCInU2FsdmFyJ1wiXHJcbiAgICAgIGNsYXNzPVwibXQtMlwiXHJcbiAgICAgIChvbkNsaWNrKT1cInNldExpY2VuY2EoKVwiXHJcbiAgICA+PC9rdi1idXR0b24tc3VjY2Vzcz5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG48L3AtZGlhbG9nPlxyXG5cclxuPCEtLSA8cC1jb25maXJtRGlhbG9nXHJcbiAgW3N0eWxlXT1cInt3aWR0aDogJzQwdncnfVwiXHJcbiAgW2Jhc2VaSW5kZXhdPVwiMTAwMDBcIlxyXG4gIHJlamVjdEJ1dHRvblN0eWxlQ2xhc3M9XCJwLWJ1dHRvbi10ZXh0XCJcclxuPlxyXG48L3AtY29uZmlybURpYWxvZz5cclxuXHJcbjxwLXRvYXN0PjwvcC10b2FzdD4gLS0+Il19
@@ -1,100 +0,0 @@
1
- import { Component, Input, ViewChild, } from '@angular/core';
2
- import { OrgChart } from 'd3-org-chart';
3
- import * as d3 from 'd3';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "primeng/tooltip";
7
- export class OrgchartComponent {
8
- constructor(renderer) {
9
- this.renderer = renderer;
10
- this.generateTemplate = (data, node, nodes, index) => '';
11
- this.templateFuncion = false;
12
- this.corDeFundo = 'red';
13
- this.compact = true;
14
- this.mostraMenu = false;
15
- }
16
- ngOnInit() {
17
- }
18
- ngAfterViewInit() {
19
- if (!this.chart) {
20
- this.chart = new OrgChart();
21
- }
22
- this.updateChart();
23
- }
24
- ngOnChanges() {
25
- this.updateChart();
26
- }
27
- updateChart() {
28
- if (!this.dataSource) {
29
- return;
30
- }
31
- if (!this.chart) {
32
- return;
33
- }
34
- const chartContainer = this.chartContainer.nativeElement;
35
- this.chart
36
- .container(chartContainer)
37
- .data(this.dataSource)
38
- .nodeWidth(() => this.config.cardWidht)
39
- .nodeHeight(() => this.config.cardHeight)
40
- .nodeUpdate(function (d) {
41
- })
42
- .linkUpdate((node, index, nodes) => {
43
- d3.select(nodes[index])
44
- .attr('stroke-width', this.config.conectionWidth || '2px')
45
- .style('stroke', this.config.connectionColor || '#d6d6d6').style('backgroundColor', 'red');
46
- })
47
- .nodeContent((d) => {
48
- if (!this.templateFuncion) {
49
- if (d.data.template) {
50
- const jsTemplate = this.stringToTemplateLiteral(d.data.template);
51
- var templateConverter = new Function('data', 'return' + jsTemplate);
52
- var x = templateConverter(d.data.data);
53
- }
54
- else {
55
- const jsTemplate = this.stringToTemplateLiteral(this.config.templateItem);
56
- var templateConverter = new Function('data', 'return' + jsTemplate);
57
- var x = templateConverter(d.data.data);
58
- }
59
- }
60
- else {
61
- var x = this.generateTemplate(d);
62
- }
63
- return x;
64
- })
65
- .defaultFont('Roboto')
66
- .render();
67
- }
68
- stringToTemplateLiteral(string) {
69
- const convertedTemplate = string.replace(/\{\{([^}]*)\}\}/g, '${$1}');
70
- return '`' + convertedTemplate + '`';
71
- }
72
- compactSwap() {
73
- this.compact = !this.compact;
74
- this.chart.compact(this.compact).render();
75
- }
76
- }
77
- OrgchartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OrgchartComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
78
- OrgchartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: OrgchartComponent, selector: "kv-orgchart", inputs: { dataSource: "dataSource", config: "config", template: "template", nodeTemplate: "nodeTemplate", generateTemplate: "generateTemplate", templateFuncion: "templateFuncion", corDeFundo: "corDeFundo" }, viewQueries: [{ propertyName: "chartContainer", first: true, predicate: ["chartContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #chartContainer id=\"chartContainer\" [ngClass]=\"{'backGround': true}\">\r\n\r\n\r\n <div class=\"div-botoes w-full flex gap-1\" >\r\n\r\n\r\n <span *ngIf=\"!mostraMenu\" class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"mostraMenu = !mostraMenu\" pTooltip=\"Expandir menu\">menu</span>\r\n\r\n\r\n\r\n <span *ngIf=\"mostraMenu\" class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"mostraMenu = !mostraMenu\" pTooltip=\"Recolher menu\">menu_open</span>\r\n\r\n <div *ngIf=\"mostraMenu\">\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.zoomIn()\" pTooltip=\"Zoom +\">zoom_in</span>\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.zoomOut()\" pTooltip=\"Zoom -\">zoom_out</span>\r\n\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.collapseAll()\" pTooltip=\"Expandir\">expand_less</span>\r\n\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.expandAll()\" pTooltip=\"Recolher\">expand_more</span>\r\n\r\n\r\n <!-- <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"compactSwap()\" pTooltip=\"Compactar\">cached</span> -->\r\n\r\n <span class=\"material-icons surface-300 shadow-4 p-1 m-2 border-circle cursor-pointer\"\r\n (click)=\"chart.fit().render()\" pTooltip=\"Centralizar\">\r\n filter_center_focus\r\n </span>\r\n\r\n <span class=\"material-icons surface-300 shadow-4 p-1 m-2 border-circle cursor-pointer\"\r\n (click)=\"chart.fullscreen('#chartContainer')\" pTooltip=\"Tela cheia\" >\r\n fullscreen\r\n </span>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n", styles: ["#chartContainer{height:100%;overflow:hidden}:host ::ng-deep #chartContainer svg.svg-chart-container{height:100%!important;position:relative;width:100%;top:-56px;z-index:0;background-color:#fff}.div-botoes{z-index:1;width:100%;position:relative}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OrgchartComponent, decorators: [{
80
- type: Component,
81
- args: [{ selector: 'kv-orgchart', template: "<div #chartContainer id=\"chartContainer\" [ngClass]=\"{'backGround': true}\">\r\n\r\n\r\n <div class=\"div-botoes w-full flex gap-1\" >\r\n\r\n\r\n <span *ngIf=\"!mostraMenu\" class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"mostraMenu = !mostraMenu\" pTooltip=\"Expandir menu\">menu</span>\r\n\r\n\r\n\r\n <span *ngIf=\"mostraMenu\" class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"mostraMenu = !mostraMenu\" pTooltip=\"Recolher menu\">menu_open</span>\r\n\r\n <div *ngIf=\"mostraMenu\">\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.zoomIn()\" pTooltip=\"Zoom +\">zoom_in</span>\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.zoomOut()\" pTooltip=\"Zoom -\">zoom_out</span>\r\n\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.collapseAll()\" pTooltip=\"Expandir\">expand_less</span>\r\n\r\n <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"chart.expandAll()\" pTooltip=\"Recolher\">expand_more</span>\r\n\r\n\r\n <!-- <span class=\"surface-300 shadow-4 p-1 m-2 border-circle material-icons cursor-pointer\"\r\n (click)=\"compactSwap()\" pTooltip=\"Compactar\">cached</span> -->\r\n\r\n <span class=\"material-icons surface-300 shadow-4 p-1 m-2 border-circle cursor-pointer\"\r\n (click)=\"chart.fit().render()\" pTooltip=\"Centralizar\">\r\n filter_center_focus\r\n </span>\r\n\r\n <span class=\"material-icons surface-300 shadow-4 p-1 m-2 border-circle cursor-pointer\"\r\n (click)=\"chart.fullscreen('#chartContainer')\" pTooltip=\"Tela cheia\" >\r\n fullscreen\r\n </span>\r\n\r\n </div>\r\n\r\n\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/icon?family=Material+Icons\"\r\n/>\r\n\r\n<link\r\n rel=\"stylesheet\"\r\n href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0\"\r\n/>\r\n", styles: ["#chartContainer{height:100%;overflow:hidden}:host ::ng-deep #chartContainer svg.svg-chart-container{height:100%!important;position:relative;width:100%;top:-56px;z-index:0;background-color:#fff}.div-botoes{z-index:1;width:100%;position:relative}\n"] }]
82
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { chartContainer: [{
83
- type: ViewChild,
84
- args: ['chartContainer']
85
- }], dataSource: [{
86
- type: Input
87
- }], config: [{
88
- type: Input
89
- }], template: [{
90
- type: Input
91
- }], nodeTemplate: [{
92
- type: Input
93
- }], generateTemplate: [{
94
- type: Input
95
- }], templateFuncion: [{
96
- type: Input
97
- }], corDeFundo: [{
98
- type: Input
99
- }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL29yZ2NoYXJ0L29yZ2NoYXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9vcmdjaGFydC9vcmdjaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULEtBQUssRUFNTCxTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQzs7OztBQVN6QixNQUFNLE9BQU8saUJBQWlCO0lBa0I1QixZQUFvQixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBVDlCLHFCQUFnQixHQUFhLENBQUMsSUFBUyxFQUFFLElBQVMsRUFBRSxLQUFZLEVBQUUsS0FBYSxFQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDOUYsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFFakMsZUFBVSxHQUFXLEtBQUssQ0FBQztRQUVwQyxZQUFPLEdBQVksSUFBSSxDQUFDO1FBQ3hCLGVBQVUsR0FBWSxLQUFLLENBQUM7SUFHYyxDQUFDO0lBRTNDLFFBQVE7SUFDUixDQUFDO0lBR0QsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFD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R0FLTSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFHbEIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFJlbmRlcmVyMixcclxuICBSZW5kZXJlckZhY3RvcnkyLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPcmdDaGFydCB9IGZyb20gJ2QzLW9yZy1jaGFydCc7XHJcbmltcG9ydCAqIGFzIGQzIGZyb20gJ2QzJztcclxuaW1wb3J0IE9yZ0NoYXJ0SXRlbSBmcm9tICcuLi9hcGkvY29tcG9uZW50cy9jaGFydC9vcmNoYXJ0Lml0ZW0nO1xyXG5pbXBvcnQgT3JnQ2hhcnRDb25maWcgZnJvbSAnLi4vYXBpL2NvbXBvbmVudHMvY2hhcnQvb3JjaGFydC5jb25maWcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1vcmdjaGFydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29yZ2NoYXJ0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9vcmdjaGFydC5jb21wb25lbnQuc2NzcycsXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZ2NoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKCdjaGFydENvbnRhaW5lcicpIGNoYXJ0Q29udGFpbmVyITogRWxlbWVudFJlZjtcclxuICBjaGFydCE6IGFueTtcclxuXHJcbiAgQElucHV0KCkgZGF0YVNvdXJjZSE6IE9yZ0NoYXJ0SXRlbVtdO1xyXG4gIEBJbnB1dCgpIGNvbmZpZyE6IE9yZ0NoYXJ0Q29uZmlnO1xyXG4gIEBJbnB1dCgpIHRlbXBsYXRlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG5vZGVUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBJbnB1dCgpIGdlbmVyYXRlVGVtcGxhdGU6IEZ1bmN0aW9uID0gKGRhdGE6IGFueSwgbm9kZTogYW55LCBub2RlczogYW55W10sIGluZGV4OiBudW1iZXIpOnN0cmluZyA9PiAnJztcclxuICBASW5wdXQoKSB0ZW1wbGF0ZUZ1bmNpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgY29yRGVGdW5kbzogc3RyaW5nID0gJ3JlZCc7XHJcblxyXG4gIGNvbXBhY3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIG1vc3RyYU1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmNoYXJ0KSB7XHJcbiAgICAgIHRoaXMuY2hhcnQgPSBuZXcgT3JnQ2hhcnQoKTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlQ2hhcnQoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgdGhpcy51cGRhdGVDaGFydCgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlQ2hhcnQoKSB7XHJcbiAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuY2hhcnQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgY29uc3QgY2hhcnRDb250YWluZXIgPSB0aGlzLmNoYXJ0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB0aGlzLmNoYXJ0XHJcbiAgICAgIC5jb250YWluZXIoY2hhcnRDb250YWluZXIpXHJcbiAgICAgIC5kYXRhKHRoaXMuZGF0YVNvdXJjZSlcclxuICAgICAgLm5vZGVXaWR0aCgoKSA9PiB0aGlzLmNvbmZpZy5jYXJkV2lkaHQpXHJcbiAgICAgIC5ub2RlSGVpZ2h0KCgpID0+IHRoaXMuY29uZmlnLmNhcmRIZWlnaHQpXHJcbiAgICAgIC5ub2RlVXBkYXRlKGZ1bmN0aW9uIChkOmFueSkge1xyXG4gICAgICB9KVxyXG4gICAgICAubGlua1VwZGF0ZSgobm9kZTphbnksIGluZGV4OmFueSwgbm9kZXM6YW55KT0+IHtcclxuICAgICAgICBkMy5zZWxlY3Qobm9kZXNbaW5kZXhdKVxyXG4gICAgICAgICAgLmF0dHIoJ3N0cm9rZS13aWR0aCcsIHRoaXMuY29uZmlnLmNvbmVjdGlvbldpZHRoIHx8ICcycHgnKVxyXG4gICAgICAgICAgLnN0eWxlKCdzdHJva2UnLCB0aGlzLmNvbmZpZy5jb25uZWN0aW9uQ29sb3IgfHwgJyNkNmQ2ZDYnKS5zdHlsZSgnYmFja2dyb3VuZENvbG9yJywgJ3JlZCcpXHJcbiAgICAgIH0pXHJcbiAgICAgIC5ub2RlQ29udGVudCgoZDogYW55KSA9PiB7XHJcblxyXG5cclxuICAgICAgICBpZighdGhpcy50ZW1wbGF0ZUZ1bmNpb24pe1xyXG4gICAgICAgICAgaWYoZC5kYXRhLnRlbXBsYXRlKXtcclxuICAgICAgICAgICAgY29uc3QganNUZW1wbGF0ZSA9IHRoaXMuc3RyaW5nVG9UZW1wbGF0ZUxpdGVyYWwoZC5kYXRhLnRlbXBsYXRlKTtcclxuICAgICAgICAgICAgdmFyIHRlbXBsYXRlQ29udmVydGVyID0gbmV3IEZ1bmN0aW9uKCdkYXRhJywgJ3JldHVybicgKyBqc1RlbXBsYXRlKTtcclxuICAgICAgICAgICAgdmFyIHggPSB0ZW1wbGF0ZUNvbnZlcnRlcihkLmRhdGEuZGF0YSk7XHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgY29uc3QganNUZW1wbGF0ZSA9IHRoaXMuc3RyaW5nVG9UZW1wbGF0ZUxpdGVyYWwodGhpcy5jb25maWcudGVtcGxhdGVJdGVtKTtcclxuICAgICAgICAgICAgdmFyIHRlbXBsYXRlQ29udmVydGVyID0gbmV3IEZ1bmN0aW9uKCdkYXRhJywgJ3JldHVybicgKyBqc1RlbXBsYXRlKTtcclxuICAgICAgICAgICAgdmFyIHggPSB0ZW1wbGF0ZUNvbnZlcnRlcihkLmRhdGEuZGF0YSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB2YXIgeCA9IHRoaXMuZ2VuZXJhdGVUZW1wbGF0ZShkKVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5kZWZhdWx0Rm9udCgnUm9ib3RvJylcclxuICAgICAgLnJlbmRlcigpXHJcblxyXG5cclxuICB9XHJcbiAgc3RyaW5nVG9UZW1wbGF0ZUxpdGVyYWwoc3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgY29udmVydGVkVGVtcGxhdGUgPSBzdHJpbmcucmVwbGFjZShcclxuICAgICAgL1xce1xceyhbXn1dKilcXH1cXH0vZyxcclxuICAgICAgJyR7JDF9J1xyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gJ2AnICsgY29udmVydGVkVGVtcGxhdGUgKyAnYCc7XHJcbiAgfVxyXG4gIGNvbXBhY3RTd2FwKCkge1xyXG4gICAgdGhpcy5jb21wYWN0ID0gIXRoaXMuY29tcGFjdDtcclxuICAgIHRoaXMuY2hhcnQuY29tcGFjdCh0aGlzLmNvbXBhY3QpLnJlbmRlcigpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNjaGFydENvbnRhaW5lciBpZD1cImNoYXJ0Q29udGFpbmVyXCIgW25nQ2xhc3NdPVwieydiYWNrR3JvdW5kJzogdHJ1ZX1cIj5cclxuXHJcblxyXG4gIDxkaXYgY2xhc3M9XCJkaXYtYm90b2VzIHctZnVsbCBmbGV4IGdhcC0xXCIgPlxyXG5cclxuXHJcbiAgICA8c3BhbiAqbmdJZj1cIiFtb3N0cmFNZW51XCIgY2xhc3M9XCJzdXJmYWNlLTMwMCBzaGFkb3ctNCBwLTEgbS0yIGJvcmRlci1jaXJjbGUgbWF0ZXJpYWwtaWNvbnMgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgKGNsaWNrKT1cIm1vc3RyYU1lbnUgPSAhbW9zdHJhTWVudVwiIHBUb29sdGlwPVwiRXhwYW5kaXIgbWVudVwiPm1lbnU8L3NwYW4+XHJcblxyXG5cclxuXHJcbiAgICA8c3BhbiAqbmdJZj1cIm1vc3RyYU1lbnVcIiBjbGFzcz1cInN1cmZhY2UtMzAwIHNoYWRvdy00IHAtMSBtLTIgYm9yZGVyLWNpcmNsZSBtYXRlcmlhbC1pY29ucyBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAoY2xpY2spPVwibW9zdHJhTWVudSA9ICFtb3N0cmFNZW51XCIgcFRvb2x0aXA9XCJSZWNvbGhlciBtZW51XCI+bWVudV9vcGVuPC9zcGFuPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJtb3N0cmFNZW51XCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwic3VyZmFjZS0zMDAgc2hhZG93LTQgcC0xIG0tMiBib3JkZXItY2lyY2xlIG1hdGVyaWFsLWljb25zIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgKGNsaWNrKT1cImNoYXJ0Lnpvb21JbigpXCIgcFRvb2x0aXA9XCJab29tICtcIj56b29tX2luPC9zcGFuPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJzdXJmYWNlLTMwMCBzaGFkb3ctNCBwLTEgbS0yIGJvcmRlci1jaXJjbGUgbWF0ZXJpYWwtaWNvbnMgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAoY2xpY2spPVwiY2hhcnQuem9vbU91dCgpXCIgcFRvb2x0aXA9XCJab29tIC1cIj56b29tX291dDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiBjbGFzcz1cInN1cmZhY2UtMzAwIHNoYWRvdy00IHAtMSBtLTIgYm9yZGVyLWNpcmNsZSBtYXRlcmlhbC1pY29ucyBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgIChjbGljayk9XCJjaGFydC5jb2xsYXBzZUFsbCgpXCIgcFRvb2x0aXA9XCJFeHBhbmRpclwiPmV4cGFuZF9sZXNzPC9zcGFuPlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwic3VyZmFjZS0zMDAgc2hhZG93LTQgcC0xIG0tMiBib3JkZXItY2lyY2xlIG1hdGVyaWFsLWljb25zIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgKGNsaWNrKT1cImNoYXJ0LmV4cGFuZEFsbCgpXCIgcFRvb2x0aXA9XCJSZWNvbGhlclwiPmV4cGFuZF9tb3JlPC9zcGFuPlxyXG5cclxuXHJcbiAgICA8IS0tIDxzcGFuIGNsYXNzPVwic3VyZmFjZS0zMDAgc2hhZG93LTQgcC0xIG0tMiBib3JkZXItY2lyY2xlIG1hdGVyaWFsLWljb25zIGN1cnNvci1wb2ludGVyXCJcclxuICAgICAgKGNsaWNrKT1cImNvbXBhY3RTd2FwKClcIiBwVG9vbHRpcD1cIkNvbXBhY3RhclwiPmNhY2hlZDwvc3Bhbj4gLS0+XHJcblxyXG4gICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBzdXJmYWNlLTMwMCBzaGFkb3ctNCBwLTEgbS0yIGJvcmRlci1jaXJjbGUgY3Vyc29yLXBvaW50ZXJcIlxyXG4gICAgICAoY2xpY2spPVwiY2hhcnQuZml0KCkucmVuZGVyKClcIiBwVG9vbHRpcD1cIkNlbnRyYWxpemFyXCI+XHJcbiAgICAgIGZpbHRlcl9jZW50ZXJfZm9jdXNcclxuICAgIDwvc3Bhbj5cclxuXHJcbiAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIHN1cmZhY2UtMzAwIHNoYWRvdy00IHAtMSBtLTIgYm9yZGVyLWNpcmNsZSBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgIChjbGljayk9XCJjaGFydC5mdWxsc2NyZWVuKCcjY2hhcnRDb250YWluZXInKVwiIHBUb29sdGlwPVwiVGVsYSBjaGVpYVwiID5cclxuICAgICAgZnVsbHNjcmVlblxyXG4gICAgPC9zcGFuPlxyXG5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG5cclxuPC9kaXY+XHJcblxyXG5cclxuPGxpbmtcclxuICByZWw9XCJzdHlsZXNoZWV0XCJcclxuICBocmVmPVwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9pY29uP2ZhbWlseT1NYXRlcmlhbCtJY29uc1wiXHJcbi8+XHJcblxyXG48bGlua1xyXG4gIHJlbD1cInN0eWxlc2hlZXRcIlxyXG4gIGhyZWY9XCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU1hdGVyaWFsK1N5bWJvbHMrT3V0bGluZWQ6b3Bzeix3Z2h0LEZJTEwsR1JBREA0OCw0MDAsMCwwXCJcclxuLz5cclxuIl19
@@ -1,24 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { OrgchartComponent } from './orgchart.component';
4
- import { PrimeNgModule } from '../../public-api';
5
- import * as i0 from "@angular/core";
6
- export class OrgchartModule {
7
- }
8
- OrgchartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OrgchartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- OrgchartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: OrgchartModule, declarations: [OrgchartComponent], imports: [CommonModule,
10
- PrimeNgModule], exports: [OrgchartComponent] });
11
- OrgchartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OrgchartModule, imports: [CommonModule,
12
- PrimeNgModule] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: OrgchartModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- imports: [
17
- CommonModule,
18
- PrimeNgModule
19
- ],
20
- declarations: [OrgchartComponent],
21
- exports: [OrgchartComponent]
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnY2hhcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL29yZ2NoYXJ0L29yZ2NoYXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBVWpELE1BQU0sT0FBTyxjQUFjOzsyR0FBZCxjQUFjOzRHQUFkLGNBQWMsaUJBSFYsaUJBQWlCLGFBSDlCLFlBQVk7UUFDWixhQUFhLGFBR0wsaUJBQWlCOzRHQUVoQixjQUFjLFlBTnZCLFlBQVk7UUFDWixhQUFhOzJGQUtKLGNBQWM7a0JBUjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTtxQkFDZDtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgT3JnY2hhcnRDb21wb25lbnQgfSBmcm9tICcuL29yZ2NoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByaW1lTmdNb2R1bGUgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUHJpbWVOZ01vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbT3JnY2hhcnRDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtPcmdjaGFydENvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE9yZ2NoYXJ0TW9kdWxlIHsgfVxyXG4iXX0=
@@ -1,38 +0,0 @@
1
- import { NgModule } from "@angular/core";
2
- import { PageFormComponent } from "./page-form.component";
3
- import { CommonModule } from "@angular/common";
4
- import { KvButtonsModule, PrimeNgModule } from "../../public-api";
5
- import { FormsModule, ReactiveFormsModule } from "@angular/forms";
6
- import * as i0 from "@angular/core";
7
- export class KvPageFormModule {
8
- }
9
- KvPageFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KvPageFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- KvPageFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: KvPageFormModule, declarations: [PageFormComponent], imports: [CommonModule,
11
- FormsModule,
12
- PrimeNgModule,
13
- KvButtonsModule,
14
- ReactiveFormsModule], exports: [PageFormComponent] });
15
- KvPageFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KvPageFormModule, imports: [CommonModule,
16
- FormsModule,
17
- PrimeNgModule,
18
- KvButtonsModule,
19
- ReactiveFormsModule] });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: KvPageFormModule, decorators: [{
21
- type: NgModule,
22
- args: [{
23
- declarations: [
24
- PageFormComponent
25
- ],
26
- imports: [
27
- CommonModule,
28
- FormsModule,
29
- PrimeNgModule,
30
- KvButtonsModule,
31
- ReactiveFormsModule
32
- ],
33
- exports: [
34
- PageFormComponent
35
- ]
36
- }]
37
- }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtcGFnZS1mb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9wYWdlLWZvcm0va3YtcGFnZS1mb3JtLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFpQmxFLE1BQU0sT0FBTyxnQkFBZ0I7OzZHQUFoQixnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFickIsaUJBQWlCLGFBR2pCLFlBQVk7UUFDWixXQUFXO1FBQ1gsYUFBYTtRQUNiLGVBQWU7UUFDZixtQkFBbUIsYUFHbkIsaUJBQWlCOzhHQUdaLGdCQUFnQixZQVZyQixZQUFZO1FBQ1osV0FBVztRQUNYLGFBQWE7UUFDYixlQUFlO1FBQ2YsbUJBQW1COzJGQU1kLGdCQUFnQjtrQkFmNUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1YsaUJBQWlCO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixtQkFBbUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7cUJBQ3BCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBQYWdlRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL3BhZ2UtZm9ybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBLdkJ1dHRvbnNNb2R1bGUsIFByaW1lTmdNb2R1bGUgfSBmcm9tIFwiLi4vLi4vcHVibGljLWFwaVwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFBhZ2VGb3JtQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBQcmltZU5nTW9kdWxlLFxyXG4gICAgICAgIEt2QnV0dG9uc01vZHVsZSxcclxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFBhZ2VGb3JtQ29tcG9uZW50XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdlBhZ2VGb3JtTW9kdWxlIHsgfSJdfQ==