keevo-components 1.5.191 → 1.5.192

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 (350) hide show
  1. package/esm2020/keevo-components.mjs +5 -0
  2. package/esm2020/lib/api/base-components/base-component-button.mjs +36 -0
  3. package/esm2020/lib/api/base-components/base-component-chart.mjs +92 -0
  4. package/esm2020/lib/api/base-components/base-component-crud-form.mjs +270 -0
  5. package/esm2020/lib/api/base-components/base-component-crud-list.mjs +68 -0
  6. package/esm2020/lib/api/base-components/base-component-crud.mjs +65 -0
  7. package/esm2020/lib/api/base-components/base-component-dropdown-new.mjs +211 -0
  8. package/esm2020/lib/api/base-components/base-component-dropdown.mjs +161 -0
  9. package/esm2020/lib/api/base-components/base-component-input.mjs +94 -0
  10. package/esm2020/lib/api/base-components/base-component-multi-select.mjs +128 -0
  11. package/esm2020/lib/api/base-components/base-component.mjs +49 -0
  12. package/esm2020/lib/api/components/chart/chart.config.mjs +2 -0
  13. package/esm2020/lib/api/components/chart/chart.model.mjs +2 -0
  14. package/esm2020/lib/api/components/chart/orchart.config.mjs +2 -0
  15. package/esm2020/lib/api/components/chart/orchart.item.mjs +2 -0
  16. package/esm2020/lib/api/components/dropdown/filtro.combo.mjs +2 -0
  17. package/esm2020/lib/api/components/error/error.component.mjs +26 -0
  18. package/esm2020/lib/api/components/error/kverror.module.mjs +35 -0
  19. package/esm2020/lib/api/components/table/action-item.mjs +2 -0
  20. package/esm2020/lib/api/components/table/kv-menuitem.mjs +3 -0
  21. package/esm2020/lib/api/components/table/table.config.column.mjs +2 -0
  22. package/esm2020/lib/api/components/table/table.config.mjs +2 -0
  23. package/esm2020/lib/api/components/table/table.paginate.mjs +9 -0
  24. package/esm2020/lib/api/helpers/component-providers.mjs +16 -0
  25. package/esm2020/lib/api/helpers/keevo-validators.mjs +64 -0
  26. package/esm2020/lib/api/helpers/translate-primeng.mjs +23 -0
  27. package/esm2020/lib/api/models/menu/menu.model.mjs +2 -0
  28. package/esm2020/lib/api/models/menu/menucompleto.model.mjs +2 -0
  29. package/esm2020/lib/api/models/menu/sistemamenu.model.mjs +2 -0
  30. package/esm2020/lib/api/modules/primeng.module.mjs +247 -0
  31. package/esm2020/lib/api/services/base.api.service.mjs +74 -0
  32. package/esm2020/lib/api/services/component.service.mjs +27 -0
  33. package/esm2020/lib/api/services/form.service.mjs +84 -0
  34. package/esm2020/lib/api/services/imagens.service.mjs +22 -0
  35. package/esm2020/lib/api/services/notification.service.mjs +67 -0
  36. package/esm2020/lib/api/services/object.service.mjs +26 -0
  37. package/esm2020/lib/buttons/button-personalize/button-personalize.component.mjs +17 -0
  38. package/esm2020/lib/buttons/button-popup/button-popup.component.mjs +31 -0
  39. package/esm2020/lib/buttons/button-secondary/button-secondary.component.mjs +17 -0
  40. package/esm2020/lib/buttons/button-success/button-success.component.mjs +17 -0
  41. package/esm2020/lib/buttons/kvbutton.module.mjs +39 -0
  42. package/esm2020/lib/chart/chart.component.mjs +145 -0
  43. package/esm2020/lib/chart/kvchart.module.mjs +32 -0
  44. package/esm2020/lib/directives/template.directive.mjs +24 -0
  45. package/esm2020/lib/inputs/check/check.component.mjs +26 -0
  46. package/esm2020/lib/inputs/dropdown/dropdown.component.mjs +37 -0
  47. package/esm2020/lib/inputs/editor/editor.component.mjs +70 -0
  48. package/esm2020/lib/inputs/input-calendar/input-calendar.component.mjs +89 -0
  49. package/esm2020/lib/inputs/input-mask/input-mask.component.mjs +23 -0
  50. package/esm2020/lib/inputs/input-number/input-number.component.mjs +59 -0
  51. package/esm2020/lib/inputs/input-password/input-password.component.mjs +33 -0
  52. package/esm2020/lib/inputs/input-text/input-text.component.mjs +21 -0
  53. package/esm2020/lib/inputs/input-text-checkbox/input-text-checkbox.component.mjs +38 -0
  54. package/esm2020/lib/inputs/input-textarea/input-textarea.component.mjs +43 -0
  55. package/esm2020/lib/inputs/input-time/input-time.component.mjs +24 -0
  56. package/esm2020/lib/inputs/kvinputs.module.mjs +108 -0
  57. package/esm2020/lib/inputs/multi-select/multi-select.component.mjs +38 -0
  58. package/esm2020/lib/inputs/radio-group/radio-group.component.mjs +53 -0
  59. package/esm2020/lib/inputs/switch/switch.component.mjs +32 -0
  60. package/esm2020/lib/keevo-components.module.mjs +105 -0
  61. package/esm2020/lib/label/label.component.mjs +15 -0
  62. package/esm2020/lib/label/label.module.mjs +24 -0
  63. package/esm2020/lib/loader/kvloader.module.mjs +28 -0
  64. package/esm2020/lib/loader/loader.component.mjs +17 -0
  65. package/esm2020/lib/loader/loader.service.mjs +29 -0
  66. package/esm2020/lib/login/kvlogin.module.mjs +47 -0
  67. package/esm2020/lib/login/login.component.mjs +52 -0
  68. package/esm2020/lib/menu/kvmenu.module.mjs +43 -0
  69. package/esm2020/lib/menu/menu.component.mjs +237 -0
  70. package/esm2020/lib/orgchart/orgchart.component.mjs +100 -0
  71. package/esm2020/lib/orgchart/orgchart.module.mjs +24 -0
  72. package/esm2020/lib/page-form/kv-page-form.module.mjs +38 -0
  73. package/esm2020/lib/page-form/page-form.component.mjs +144 -0
  74. package/esm2020/lib/picklist/kvpicklist.module.mjs +32 -0
  75. package/esm2020/lib/picklist/picklist.component.mjs +48 -0
  76. package/esm2020/lib/pipes/codigofile.pipe.mjs +19 -0
  77. package/esm2020/lib/pipes/cpfcnpj.pipe.mjs +25 -0
  78. package/esm2020/lib/pipes/pipes.module.mjs +34 -0
  79. package/esm2020/lib/pipes/telefone.pipe.mjs +45 -0
  80. package/esm2020/lib/table/kvtable.module.mjs +32 -0
  81. package/esm2020/lib/table/table.component.mjs +499 -0
  82. package/esm2020/lib/tree-table/kv-treetable.component.mjs +371 -0
  83. package/esm2020/lib/tree-table/kv-treetable.module.mjs +32 -0
  84. package/esm2020/lib/tree-view/kvtree-view.module.mjs +28 -0
  85. package/esm2020/lib/tree-view/tree-view.component.mjs +29 -0
  86. package/esm2020/lib/workspace/kvworkspace.module.mjs +47 -0
  87. package/esm2020/lib/workspace/workspace.component.mjs +77 -0
  88. package/esm2020/public-api.mjs +138 -0
  89. package/fesm2015/keevo-components.mjs +4705 -0
  90. package/fesm2015/keevo-components.mjs.map +1 -0
  91. package/fesm2020/keevo-components.mjs +4696 -0
  92. package/fesm2020/keevo-components.mjs.map +1 -0
  93. package/index.d.ts +5 -0
  94. package/lib/api/base-components/base-component-button.d.ts +14 -0
  95. package/lib/api/base-components/base-component-chart.d.ts +40 -0
  96. package/lib/api/base-components/base-component-crud-form.d.ts +137 -0
  97. package/lib/api/base-components/base-component-crud-list.d.ts +63 -0
  98. package/lib/api/base-components/base-component-crud.d.ts +36 -0
  99. package/lib/api/base-components/base-component-dropdown-new.d.ts +14 -0
  100. package/lib/api/base-components/base-component-dropdown.d.ts +42 -0
  101. package/lib/api/base-components/base-component-input.d.ts +31 -0
  102. package/lib/api/base-components/base-component-multi-select.d.ts +35 -0
  103. package/lib/api/base-components/base-component.d.ts +21 -0
  104. package/lib/api/components/chart/chart.config.d.ts +11 -0
  105. package/lib/api/components/chart/chart.model.d.ts +9 -0
  106. package/lib/api/components/chart/orchart.config.d.ts +35 -0
  107. package/lib/api/components/chart/orchart.item.d.ts +26 -0
  108. package/lib/api/components/dropdown/filtro.combo.d.ts +4 -0
  109. package/lib/api/components/error/error.component.d.ts +12 -0
  110. package/lib/api/components/error/kverror.module.d.ts +10 -0
  111. package/lib/api/components/table/action-item.d.ts +5 -0
  112. package/lib/api/components/table/kv-menuitem.d.ts +9 -0
  113. package/lib/api/components/table/table.config.column.d.ts +21 -0
  114. package/lib/api/components/table/table.config.d.ts +17 -0
  115. package/lib/api/components/table/table.paginate.d.ts +6 -0
  116. package/lib/api/helpers/component-providers.d.ts +2 -0
  117. package/lib/api/helpers/keevo-validators.d.ts +10 -0
  118. package/lib/api/helpers/translate-primeng.d.ts +4 -0
  119. package/lib/api/models/menu/menu.model.d.ts +10 -0
  120. package/{src/lib/api/models/menu/menucompleto.model.ts → lib/api/models/menu/menucompleto.model.d.ts} +3 -4
  121. package/lib/api/models/menu/sistemamenu.model.d.ts +8 -0
  122. package/lib/api/modules/primeng.module.d.ts +60 -0
  123. package/lib/api/services/base.api.service.d.ts +25 -0
  124. package/lib/api/services/component.service.d.ts +11 -0
  125. package/lib/api/services/form.service.d.ts +27 -0
  126. package/lib/api/services/imagens.service.d.ts +8 -0
  127. package/lib/api/services/notification.service.d.ts +25 -0
  128. package/lib/api/services/object.service.d.ts +8 -0
  129. package/lib/buttons/button-personalize/button-personalize.component.d.ts +7 -0
  130. package/lib/buttons/button-popup/button-popup.component.d.ts +13 -0
  131. package/lib/buttons/button-secondary/button-secondary.component.d.ts +7 -0
  132. package/lib/buttons/button-success/button-success.component.d.ts +7 -0
  133. package/lib/buttons/kvbutton.module.d.ts +11 -0
  134. package/lib/chart/chart.component.d.ts +56 -0
  135. package/lib/chart/kvchart.module.d.ts +10 -0
  136. package/lib/directives/template.directive.d.ts +11 -0
  137. package/lib/inputs/check/check.component.d.ts +11 -0
  138. package/lib/inputs/dropdown/dropdown.component.d.ts +14 -0
  139. package/lib/inputs/editor/editor.component.d.ts +39 -0
  140. package/lib/inputs/input-calendar/input-calendar.component.d.ts +27 -0
  141. package/lib/inputs/input-mask/input-mask.component.d.ts +10 -0
  142. package/lib/inputs/input-number/input-number.component.d.ts +19 -0
  143. package/lib/inputs/input-password/input-password.component.d.ts +13 -0
  144. package/lib/inputs/input-text/input-text.component.d.ts +9 -0
  145. package/lib/inputs/input-text-checkbox/input-text-checkbox.component.d.ts +15 -0
  146. package/lib/inputs/input-textarea/input-textarea.component.d.ts +16 -0
  147. package/lib/inputs/input-time/input-time.component.d.ts +10 -0
  148. package/lib/inputs/kvinputs.module.d.ts +25 -0
  149. package/lib/inputs/multi-select/multi-select.component.d.ts +12 -0
  150. package/lib/inputs/radio-group/radio-group.component.d.ts +18 -0
  151. package/lib/inputs/switch/switch.component.d.ts +13 -0
  152. package/lib/keevo-components.module.d.ts +19 -0
  153. package/lib/label/label.component.d.ts +7 -0
  154. package/lib/label/label.module.d.ts +8 -0
  155. package/lib/loader/kvloader.module.d.ts +9 -0
  156. package/lib/loader/loader.component.d.ts +8 -0
  157. package/lib/loader/loader.service.d.ts +10 -0
  158. package/lib/login/kvlogin.module.d.ts +13 -0
  159. package/lib/login/login.component.d.ts +30 -0
  160. package/lib/menu/kvmenu.module.d.ts +12 -0
  161. package/lib/menu/menu.component.d.ts +74 -0
  162. package/lib/orgchart/orgchart.component.d.ts +27 -0
  163. package/lib/orgchart/orgchart.module.d.ts +9 -0
  164. package/lib/page-form/kv-page-form.module.d.ts +11 -0
  165. package/lib/page-form/page-form.component.d.ts +69 -0
  166. package/lib/picklist/kvpicklist.module.d.ts +10 -0
  167. package/lib/picklist/picklist.component.d.ts +20 -0
  168. package/lib/pipes/codigofile.pipe.d.ts +7 -0
  169. package/lib/pipes/cpfcnpj.pipe.d.ts +7 -0
  170. package/lib/pipes/pipes.module.d.ts +10 -0
  171. package/lib/pipes/telefone.pipe.d.ts +7 -0
  172. package/lib/table/kvtable.module.d.ts +10 -0
  173. package/lib/table/table.component.d.ts +104 -0
  174. package/lib/tree-table/kv-treetable.component.d.ts +84 -0
  175. package/lib/tree-table/kv-treetable.module.d.ts +11 -0
  176. package/lib/tree-view/kvtree-view.module.d.ts +9 -0
  177. package/lib/tree-view/tree-view.component.d.ts +14 -0
  178. package/lib/workspace/kvworkspace.module.d.ts +13 -0
  179. package/lib/workspace/workspace.component.d.ts +28 -0
  180. package/package.json +22 -3
  181. package/{src/public-api.ts → public-api.d.ts} +14 -36
  182. package/ng-package.json +0 -7
  183. package/src/assets/.gitkeep +0 -0
  184. package/src/assets/images/LogoEvo.png +0 -0
  185. package/src/assets/images/LogoPequenaEvo.png +0 -0
  186. package/src/assets/images/background.png +0 -0
  187. package/src/assets/images/keepass-logo.png +0 -0
  188. package/src/assets/images/keepass-logo.svg +0 -74
  189. package/src/assets/images/keevo-logo.png +0 -0
  190. package/src/assets/images/logokeevo_2.png +0 -0
  191. package/src/index.ts +0 -1
  192. package/src/lib/api/base-components/base-component-button.ts +0 -27
  193. package/src/lib/api/base-components/base-component-chart.ts +0 -105
  194. package/src/lib/api/base-components/base-component-crud-form.ts +0 -328
  195. package/src/lib/api/base-components/base-component-crud-list.ts +0 -111
  196. package/src/lib/api/base-components/base-component-crud.ts +0 -70
  197. package/src/lib/api/base-components/base-component-dropdown-new.ts +0 -112
  198. package/src/lib/api/base-components/base-component-dropdown.ts +0 -164
  199. package/src/lib/api/base-components/base-component-input.ts +0 -107
  200. package/src/lib/api/base-components/base-component-multi-select.ts +0 -136
  201. package/src/lib/api/base-components/base-component.ts +0 -46
  202. package/src/lib/api/components/chart/chart.config.ts +0 -12
  203. package/src/lib/api/components/chart/chart.model.ts +0 -9
  204. package/src/lib/api/components/chart/orchart.config.ts +0 -41
  205. package/src/lib/api/components/chart/orchart.item.ts +0 -33
  206. package/src/lib/api/components/dropdown/filtro.combo.ts +0 -4
  207. package/src/lib/api/components/error/error.component.html +0 -3
  208. package/src/lib/api/components/error/error.component.scss +0 -5
  209. package/src/lib/api/components/error/error.component.ts +0 -22
  210. package/src/lib/api/components/error/kverror.module.ts +0 -23
  211. package/src/lib/api/components/table/action-item.ts +0 -5
  212. package/src/lib/api/components/table/kv-menuitem.ts +0 -10
  213. package/src/lib/api/components/table/table.config.column.ts +0 -21
  214. package/src/lib/api/components/table/table.config.ts +0 -20
  215. package/src/lib/api/components/table/table.paginate.ts +0 -6
  216. package/src/lib/api/helpers/component-providers.ts +0 -16
  217. package/src/lib/api/helpers/keevo-validators.ts +0 -77
  218. package/src/lib/api/helpers/translate-primeng.ts +0 -25
  219. package/src/lib/api/models/menu/menu.model.ts +0 -10
  220. package/src/lib/api/models/menu/sistemamenu.model.ts +0 -8
  221. package/src/lib/api/modules/primeng.module.ts +0 -125
  222. package/src/lib/api/services/base.api.service.ts +0 -115
  223. package/src/lib/api/services/component.service.ts +0 -22
  224. package/src/lib/api/services/form.service.ts +0 -105
  225. package/src/lib/api/services/imagens.service.ts +0 -20
  226. package/src/lib/api/services/notification.service.ts +0 -82
  227. package/src/lib/api/services/object.service.ts +0 -20
  228. package/src/lib/buttons/button-personalize/button-personalize.component.html +0 -11
  229. package/src/lib/buttons/button-personalize/button-personalize.component.scss +0 -3
  230. package/src/lib/buttons/button-personalize/button-personalize.component.ts +0 -13
  231. package/src/lib/buttons/button-popup/button-popup.component.html +0 -12
  232. package/src/lib/buttons/button-popup/button-popup.component.scss +0 -13
  233. package/src/lib/buttons/button-popup/button-popup.component.ts +0 -30
  234. package/src/lib/buttons/button-secondary/button-secondary.component.html +0 -12
  235. package/src/lib/buttons/button-secondary/button-secondary.component.scss +0 -14
  236. package/src/lib/buttons/button-secondary/button-secondary.component.ts +0 -13
  237. package/src/lib/buttons/button-success/button-success.component.html +0 -11
  238. package/src/lib/buttons/button-success/button-success.component.scss +0 -13
  239. package/src/lib/buttons/button-success/button-success.component.ts +0 -13
  240. package/src/lib/buttons/kvbutton.module.ts +0 -25
  241. package/src/lib/chart/chart.component.html +0 -38
  242. package/src/lib/chart/chart.component.scss +0 -0
  243. package/src/lib/chart/chart.component.spec.ts +0 -28
  244. package/src/lib/chart/chart.component.ts +0 -141
  245. package/src/lib/chart/kvchart.module.ts +0 -20
  246. package/src/lib/directives/template.directive.ts +0 -15
  247. package/src/lib/inputs/check/check.component.html +0 -11
  248. package/src/lib/inputs/check/check.component.scss +0 -13
  249. package/src/lib/inputs/check/check.component.ts +0 -24
  250. package/src/lib/inputs/dropdown/dropdown.component.html +0 -91
  251. package/src/lib/inputs/dropdown/dropdown.component.scss +0 -0
  252. package/src/lib/inputs/dropdown/dropdown.component.ts +0 -28
  253. package/src/lib/inputs/editor/editor.component.html +0 -90
  254. package/src/lib/inputs/editor/editor.component.scss +0 -4
  255. package/src/lib/inputs/editor/editor.component.ts +0 -80
  256. package/src/lib/inputs/input-calendar/input-calendar.component.html +0 -30
  257. package/src/lib/inputs/input-calendar/input-calendar.component.scss +0 -0
  258. package/src/lib/inputs/input-calendar/input-calendar.component.ts +0 -81
  259. package/src/lib/inputs/input-mask/input-mask.component.html +0 -20
  260. package/src/lib/inputs/input-mask/input-mask.component.scss +0 -0
  261. package/src/lib/inputs/input-mask/input-mask.component.ts +0 -20
  262. package/src/lib/inputs/input-number/input-number.component.html +0 -22
  263. package/src/lib/inputs/input-number/input-number.component.scss +0 -0
  264. package/src/lib/inputs/input-number/input-number.component.ts +0 -52
  265. package/src/lib/inputs/input-password/input-password.component.html +0 -23
  266. package/src/lib/inputs/input-password/input-password.component.scss +0 -0
  267. package/src/lib/inputs/input-password/input-password.component.ts +0 -23
  268. package/src/lib/inputs/input-text/input-text.component.html +0 -20
  269. package/src/lib/inputs/input-text/input-text.component.scss +0 -18
  270. package/src/lib/inputs/input-text/input-text.component.ts +0 -17
  271. package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.html +0 -32
  272. package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.scss +0 -0
  273. package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.spec.ts +0 -23
  274. package/src/lib/inputs/input-text-checkbox/input-text-checkbox.component.ts +0 -36
  275. package/src/lib/inputs/input-textarea/input-textarea.component.html +0 -22
  276. package/src/lib/inputs/input-textarea/input-textarea.component.scss +0 -0
  277. package/src/lib/inputs/input-textarea/input-textarea.component.ts +0 -33
  278. package/src/lib/inputs/input-time/input-time.component.html +0 -23
  279. package/src/lib/inputs/input-time/input-time.component.scss +0 -0
  280. package/src/lib/inputs/input-time/input-time.component.ts +0 -20
  281. package/src/lib/inputs/kvinputs.module.ts +0 -64
  282. package/src/lib/inputs/multi-select/multi-select.component.html +0 -28
  283. package/src/lib/inputs/multi-select/multi-select.component.scss +0 -8
  284. package/src/lib/inputs/multi-select/multi-select.component.ts +0 -31
  285. package/src/lib/inputs/radio-group/radio-group.component.html +0 -19
  286. package/src/lib/inputs/radio-group/radio-group.component.scss +0 -15
  287. package/src/lib/inputs/radio-group/radio-group.component.ts +0 -50
  288. package/src/lib/inputs/switch/switch.component.html +0 -12
  289. package/src/lib/inputs/switch/switch.component.scss +0 -3
  290. package/src/lib/inputs/switch/switch.component.ts +0 -30
  291. package/src/lib/keevo-components.module.ts +0 -50
  292. package/src/lib/label/label.component.html +0 -6
  293. package/src/lib/label/label.component.scss +0 -9
  294. package/src/lib/label/label.component.spec.ts +0 -23
  295. package/src/lib/label/label.component.ts +0 -13
  296. package/src/lib/label/label.module.ts +0 -18
  297. package/src/lib/loader/kvloader.module.ts +0 -17
  298. package/src/lib/loader/loader.component.html +0 -1
  299. package/src/lib/loader/loader.component.ts +0 -14
  300. package/src/lib/loader/loader.service.ts +0 -26
  301. package/src/lib/login/kvlogin.module.ts +0 -28
  302. package/src/lib/login/login.component.html +0 -108
  303. package/src/lib/login/login.component.scss +0 -48
  304. package/src/lib/login/login.component.spec.ts +0 -23
  305. package/src/lib/login/login.component.ts +0 -65
  306. package/src/lib/menu/kvmenu.module.ts +0 -27
  307. package/src/lib/menu/menu.component.html +0 -342
  308. package/src/lib/menu/menu.component.scss +0 -210
  309. package/src/lib/menu/menu.component.spec.ts +0 -23
  310. package/src/lib/menu/menu.component.ts +0 -246
  311. package/src/lib/orgchart/orgchart.component.html +0 -58
  312. package/src/lib/orgchart/orgchart.component.scss +0 -21
  313. package/src/lib/orgchart/orgchart.component.ts +0 -118
  314. package/src/lib/orgchart/orgchart.module.ts +0 -14
  315. package/src/lib/page-form/kv-page-form.module.ts +0 -22
  316. package/src/lib/page-form/page-form.component.html +0 -57
  317. package/src/lib/page-form/page-form.component.scss +0 -72
  318. package/src/lib/page-form/page-form.component.spec.ts +0 -28
  319. package/src/lib/page-form/page-form.component.ts +0 -121
  320. package/src/lib/picklist/kvpicklist.module.ts +0 -20
  321. package/src/lib/picklist/picklist.component.html +0 -17
  322. package/src/lib/picklist/picklist.component.scss +0 -0
  323. package/src/lib/picklist/picklist.component.spec.ts +0 -26
  324. package/src/lib/picklist/picklist.component.ts +0 -27
  325. package/src/lib/pipes/codigofile.pipe.ts +0 -15
  326. package/src/lib/pipes/cpfcnpj.pipe.ts +0 -21
  327. package/src/lib/pipes/pipes.module.ts +0 -22
  328. package/src/lib/pipes/telefone.pipe.ts +0 -38
  329. package/src/lib/styles-components.scss +0 -11
  330. package/src/lib/table/kvtable.module.ts +0 -22
  331. package/src/lib/table/table.component.html +0 -473
  332. package/src/lib/table/table.component.scss +0 -240
  333. package/src/lib/table/table.component.spec.ts +0 -28
  334. package/src/lib/table/table.component.ts +0 -546
  335. package/src/lib/tree-table/kv-treetable.component.html +0 -649
  336. package/src/lib/tree-table/kv-treetable.component.scss +0 -315
  337. package/src/lib/tree-table/kv-treetable.component.ts +0 -390
  338. package/src/lib/tree-table/kv-treetable.module.ts +0 -18
  339. package/src/lib/tree-view/kvtree-view.module.ts +0 -19
  340. package/src/lib/tree-view/tree-view.component.html +0 -9
  341. package/src/lib/tree-view/tree-view.component.scss +0 -0
  342. package/src/lib/tree-view/tree-view.component.spec.ts +0 -23
  343. package/src/lib/tree-view/tree-view.component.ts +0 -29
  344. package/src/lib/workspace/kvworkspace.module.ts +0 -29
  345. package/src/lib/workspace/workspace.component.html +0 -108
  346. package/src/lib/workspace/workspace.component.scss +0 -83
  347. package/src/lib/workspace/workspace.component.ts +0 -75
  348. package/tsconfig.lib.json +0 -14
  349. package/tsconfig.lib.prod.json +0 -10
  350. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,211 @@
1
+ import { Component, Input } from "@angular/core";
2
+ import { BaseComponentDropDown } from "./base-component-dropdown";
3
+ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
4
+ import { KeevoComponentsModule } from "../../keevo-components.module";
5
+ import { PrimeNgModule } from "../modules/primeng.module";
6
+ import { LabelModule } from "../../label/label.module";
7
+ import { kvErrorModule } from "../components/error/kverror.module";
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/forms";
10
+ import * as i2 from "primeng/api";
11
+ import * as i3 from "primeng/button";
12
+ import * as i4 from "@angular/common";
13
+ import * as i5 from "primeng/tooltip";
14
+ import * as i6 from "primeng/divider";
15
+ import * as i7 from "primeng/dropdown";
16
+ import * as i8 from "../../label/label.component";
17
+ import * as i9 from "../components/error/error.component";
18
+ export class BaseComponentDropdownNew extends BaseComponentDropDown {
19
+ ngOnInit() {
20
+ if (this.dropDowValue)
21
+ this.value = this.dropDowValue;
22
+ }
23
+ }
24
+ BaseComponentDropdownNew.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentDropdownNew, deps: null, target: i0.ɵɵFactoryTarget.Component });
25
+ BaseComponentDropdownNew.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BaseComponentDropdownNew, isStandalone: true, selector: "app-base-dropdown", inputs: { formGroup: "formGroup", formControlName: "formControlName", dropDowValue: "dropDowValue", itemTemplate: "itemTemplate", selectedItemTemplate: "selectedItemTemplate" }, usesInheritance: true, ngImport: i0, template: `
26
+ <span>
27
+ <kv-label
28
+ [componentId]="componentId"
29
+ [label]="label"
30
+ />
31
+ <p-dropdown
32
+ appendTo="body"
33
+ [class]="baseInputClass"
34
+ [disabled]="disabled"
35
+ [filter]="filter"
36
+ [inputId]="componentId"
37
+ [(ngModel)]="value"
38
+ [options]="filteredOptions"
39
+ [optionLabel]="optionLabel"
40
+ [optionValue]="optionValue"
41
+ [optionDisabled]="optionDisabled"
42
+ [group]="group"
43
+ [optionGroupLabel]="optionGroupLabel"
44
+ [optionGroupChildren]="optionGroupChildren"
45
+ [showClear]="showClear"
46
+ [lazy]="lazy"
47
+ scrollHeight="250px"
48
+ (onBlur)="onInputBlur($event)"
49
+ (onClick)="onInputClick($event)"
50
+ (onChange)="onInputChange($event)"
51
+ (onFilter)="onInputFilter($event)"
52
+ [style]="{'width':widthField}"
53
+ [panelStyle]="{ width: widthField, overflow: 'auto' }"
54
+ styleClass="inputs"
55
+ >
56
+
57
+ <ng-template
58
+ *ngIf="showAddButton"
59
+ pTemplate="footer"
60
+ >
61
+ <p-divider></p-divider>
62
+ <div class="flex flex-wrap card-container p-1">
63
+ <div class="flex justify-content-center">
64
+ <button
65
+ pButton
66
+ label="Incluir"
67
+ pTooltip="Clique aqui para incluir um novo registro"
68
+ tooltipPosition="bottom"
69
+ icon="pi pi-plus"
70
+ class="p-button-rounded p-button-success mr-2"
71
+ (click)="addClick($event)"
72
+ ></button>
73
+ </div>
74
+ </div>
75
+ </ng-template>
76
+
77
+ <ng-template
78
+ let-selectedItem
79
+ pTemplate="item"
80
+ *ngIf="itemTemplate"
81
+ >
82
+ <ng-container
83
+ [ngTemplateOutlet]="itemTemplate"
84
+ [ngTemplateOutletContext]="{ $implicit: selectedItem }"
85
+ >
86
+ </ng-container>
87
+ </ng-template>
88
+
89
+
90
+ <ng-template
91
+ let-item
92
+ pTemplate="selectedItem"
93
+ *ngIf="selectedItemTemplate"
94
+ >
95
+ <ng-container
96
+ [ngTemplateOutlet]="selectedItemTemplate"
97
+ [ngTemplateOutletContext]="{ $implicit: item }"
98
+ >
99
+
100
+ </ng-container>
101
+ </ng-template>
102
+
103
+ </p-dropdown>
104
+
105
+ <kv-error [hasError]="hasControlError()">{{ erroMessage() }}</kv-error>
106
+ </span>
107
+ <ng-content></ng-content>
108
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: KeevoComponentsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: PrimeNgModule }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.Divider, selector: "p-divider", inputs: ["styleClass", "style", "layout", "type", "align"] }, { kind: "component", type: i7.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: "ngmodule", type: LabelModule }, { kind: "component", type: i8.LabelComponent, selector: "kv-label", inputs: ["componentId", "label"] }, { kind: "ngmodule", type: kvErrorModule }, { kind: "component", type: i9.ErrorComponent, selector: "kv-error", inputs: ["formControl", "hasError"] }] });
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentDropdownNew, decorators: [{
110
+ type: Component,
111
+ args: [{
112
+ selector: 'app-base-dropdown',
113
+ template: `
114
+ <span>
115
+ <kv-label
116
+ [componentId]="componentId"
117
+ [label]="label"
118
+ />
119
+ <p-dropdown
120
+ appendTo="body"
121
+ [class]="baseInputClass"
122
+ [disabled]="disabled"
123
+ [filter]="filter"
124
+ [inputId]="componentId"
125
+ [(ngModel)]="value"
126
+ [options]="filteredOptions"
127
+ [optionLabel]="optionLabel"
128
+ [optionValue]="optionValue"
129
+ [optionDisabled]="optionDisabled"
130
+ [group]="group"
131
+ [optionGroupLabel]="optionGroupLabel"
132
+ [optionGroupChildren]="optionGroupChildren"
133
+ [showClear]="showClear"
134
+ [lazy]="lazy"
135
+ scrollHeight="250px"
136
+ (onBlur)="onInputBlur($event)"
137
+ (onClick)="onInputClick($event)"
138
+ (onChange)="onInputChange($event)"
139
+ (onFilter)="onInputFilter($event)"
140
+ [style]="{'width':widthField}"
141
+ [panelStyle]="{ width: widthField, overflow: 'auto' }"
142
+ styleClass="inputs"
143
+ >
144
+
145
+ <ng-template
146
+ *ngIf="showAddButton"
147
+ pTemplate="footer"
148
+ >
149
+ <p-divider></p-divider>
150
+ <div class="flex flex-wrap card-container p-1">
151
+ <div class="flex justify-content-center">
152
+ <button
153
+ pButton
154
+ label="Incluir"
155
+ pTooltip="Clique aqui para incluir um novo registro"
156
+ tooltipPosition="bottom"
157
+ icon="pi pi-plus"
158
+ class="p-button-rounded p-button-success mr-2"
159
+ (click)="addClick($event)"
160
+ ></button>
161
+ </div>
162
+ </div>
163
+ </ng-template>
164
+
165
+ <ng-template
166
+ let-selectedItem
167
+ pTemplate="item"
168
+ *ngIf="itemTemplate"
169
+ >
170
+ <ng-container
171
+ [ngTemplateOutlet]="itemTemplate"
172
+ [ngTemplateOutletContext]="{ $implicit: selectedItem }"
173
+ >
174
+ </ng-container>
175
+ </ng-template>
176
+
177
+
178
+ <ng-template
179
+ let-item
180
+ pTemplate="selectedItem"
181
+ *ngIf="selectedItemTemplate"
182
+ >
183
+ <ng-container
184
+ [ngTemplateOutlet]="selectedItemTemplate"
185
+ [ngTemplateOutletContext]="{ $implicit: item }"
186
+ >
187
+
188
+ </ng-container>
189
+ </ng-template>
190
+
191
+ </p-dropdown>
192
+
193
+ <kv-error [hasError]="hasControlError()">{{ erroMessage() }}</kv-error>
194
+ </span>
195
+ <ng-content></ng-content>
196
+ `,
197
+ standalone: true,
198
+ imports: [KeevoComponentsModule, ReactiveFormsModule, FormsModule, PrimeNgModule, LabelModule, kvErrorModule]
199
+ }]
200
+ }], propDecorators: { formGroup: [{
201
+ type: Input
202
+ }], formControlName: [{
203
+ type: Input
204
+ }], dropDowValue: [{
205
+ type: Input
206
+ }], itemTemplate: [{
207
+ type: Input
208
+ }], selectedItemTemplate: [{
209
+ type: Input
210
+ }] } });
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtZHJvcGRvd24tbmV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2FwaS9iYXNlLWNvbXBvbmVudHMvYmFzZS1jb21wb25lbnQtZHJvcGRvd24tbmV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQ2pFLE9BQU8sRUFBYSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7QUEyRm5FLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxxQkFBcUI7SUFTdEQsUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLFlBQVk7WUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ3ZDLENBQUM7O3FIQVpRLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHNSQXZGdkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBbUZULDJEQUVTLHFCQUFxQiw4QkFBRSxtQkFBbUIsc0lBQUUsV0FBVyxzUEFBRSxhQUFhLDRoRUFBRSxXQUFXLHNJQUFFLGFBQWE7MkZBRW5HLHdCQUF3QjtrQkF6RnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW1GVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsYUFBYSxDQUFDO2lCQUNoSDs4QkFHWSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhc2VDb21wb25lbnREcm9wRG93biB9IGZyb20gXCIuL2Jhc2UtY29tcG9uZW50LWRyb3Bkb3duXCJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEtlZXZvQ29tcG9uZW50c01vZHVsZSB9IGZyb20gXCIuLi8uLi9rZWV2by1jb21wb25lbnRzLm1vZHVsZVwiO1xuaW1wb3J0IHsgUHJpbWVOZ01vZHVsZSB9IGZyb20gXCIuLi9tb2R1bGVzL3ByaW1lbmcubW9kdWxlXCI7XG5pbXBvcnQgeyBMYWJlbE1vZHVsZSB9IGZyb20gXCIuLi8uLi9sYWJlbC9sYWJlbC5tb2R1bGVcIjtcbmltcG9ydCB7IGt2RXJyb3JNb2R1bGUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9lcnJvci9rdmVycm9yLm1vZHVsZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1iYXNlLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxzcGFuPlxuICAgICAgPGt2LWxhYmVsXG4gICAgICAgIFtjb21wb25lbnRJZF09XCJjb21wb25lbnRJZFwiXG4gICAgICAgIFtsYWJlbF09XCJsYWJlbFwiXG4gICAgICAvPlxuICAgICAgPHAtZHJvcGRvd25cbiAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgW2NsYXNzXT1cImJhc2VJbnB1dENsYXNzXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2ZpbHRlcl09XCJmaWx0ZXJcIlxuICAgICAgICBbaW5wdXRJZF09XCJjb21wb25lbnRJZFwiXG4gICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICBbb3B0aW9uc109XCJmaWx0ZXJlZE9wdGlvbnNcIlxuICAgICAgICBbb3B0aW9uTGFiZWxdPVwib3B0aW9uTGFiZWxcIlxuICAgICAgICBbb3B0aW9uVmFsdWVdPVwib3B0aW9uVmFsdWVcIlxuICAgICAgICBbb3B0aW9uRGlzYWJsZWRdPVwib3B0aW9uRGlzYWJsZWRcIlxuICAgICAgICBbZ3JvdXBdPVwiZ3JvdXBcIlxuICAgICAgICBbb3B0aW9uR3JvdXBMYWJlbF09XCJvcHRpb25Hcm91cExhYmVsXCJcbiAgICAgICAgW29wdGlvbkdyb3VwQ2hpbGRyZW5dPVwib3B0aW9uR3JvdXBDaGlsZHJlblwiXG4gICAgICAgIFtzaG93Q2xlYXJdPVwic2hvd0NsZWFyXCJcbiAgICAgICAgW2xhenldPVwibGF6eVwiXG4gICAgICAgIHNjcm9sbEhlaWdodD1cIjI1MHB4XCJcbiAgICAgICAgKG9uQmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgKG9uQ2xpY2spPVwib25JbnB1dENsaWNrKCRldmVudClcIlxuICAgICAgICAob25DaGFuZ2UpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKG9uRmlsdGVyKT1cIm9uSW5wdXRGaWx0ZXIoJGV2ZW50KVwiXG4gICAgICAgIFtzdHlsZV09XCJ7J3dpZHRoJzp3aWR0aEZpZWxkfVwiXG4gICAgICAgIFtwYW5lbFN0eWxlXT1cInsgd2lkdGg6IHdpZHRoRmllbGQsIG92ZXJmbG93OiAnYXV0bycgfVwiXG4gICAgICAgIHN0eWxlQ2xhc3M9XCJpbnB1dHNcIlxuICAgICAgPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICpuZ0lmPVwic2hvd0FkZEJ1dHRvblwiXG4gICAgICAgICAgcFRlbXBsYXRlPVwiZm9vdGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwLWRpdmlkZXI+PC9wLWRpdmlkZXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC13cmFwIGNhcmQtY29udGFpbmVyIHAtMVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgcEJ1dHRvblxuICAgICAgICAgICAgICAgIGxhYmVsPVwiSW5jbHVpclwiXG4gICAgICAgICAgICAgICAgcFRvb2x0aXA9XCJDbGlxdWUgYXF1aSBwYXJhIGluY2x1aXIgdW0gbm92byByZWdpc3Ryb1wiXG4gICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICBpY29uPVwicGkgcGktcGx1c1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXN1Y2Nlc3MgbXItMlwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZENsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBsZXQtc2VsZWN0ZWRJdGVtXG4gICAgICAgICAgcFRlbXBsYXRlPVwiaXRlbVwiXG4gICAgICAgICAgKm5nSWY9XCJpdGVtVGVtcGxhdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogc2VsZWN0ZWRJdGVtIH1cIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgIGxldC1pdGVtXG4gICAgICAgICAgcFRlbXBsYXRlPVwic2VsZWN0ZWRJdGVtXCJcbiAgICAgICAgICAqbmdJZj1cInNlbGVjdGVkSXRlbVRlbXBsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlbGVjdGVkSXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICA+XG5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPC9wLWRyb3Bkb3duPlxuXG4gICAgICA8a3YtZXJyb3IgW2hhc0Vycm9yXT1cImhhc0NvbnRyb2xFcnJvcigpXCI+e3sgZXJyb01lc3NhZ2UoKSB9fTwva3YtZXJyb3I+XG4gICAgPC9zcGFuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0tlZXZvQ29tcG9uZW50c01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUsIFByaW1lTmdNb2R1bGUsIExhYmVsTW9kdWxlLCBrdkVycm9yTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBCYXNlQ29tcG9uZW50RHJvcGRvd25OZXcgZXh0ZW5kcyBCYXNlQ29tcG9uZW50RHJvcERvd24ge1xuXG4gICAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSE6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGRyb3BEb3dWYWx1ZSE6IGFueTtcbiAgICBASW5wdXQoKSBpdGVtVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkSXRlbVRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kcm9wRG93VmFsdWUpXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5kcm9wRG93VmFsdWU7XG4gICAgfVxuXG59Il19
@@ -0,0 +1,161 @@
1
+ import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import { BaseComponentInput } from './base-component-input';
4
+ import { ObjectService } from '../services/object.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../services/component.service";
7
+ import * as i2 from "primeng/dynamicdialog";
8
+ export class BaseComponentDropDown extends BaseComponentInput {
9
+ constructor(componentService, dialogService) {
10
+ super(componentService);
11
+ this.dialogService = dialogService;
12
+ this.filter = true;
13
+ this.lazy = false;
14
+ this.showAddButton = false;
15
+ this.showClear = true;
16
+ this.onAddClick = new EventEmitter();
17
+ this.onClick = new EventEmitter();
18
+ this.onSelectionChange = new EventEmitter();
19
+ this.onSelectionValue = new EventEmitter();
20
+ this.requestComplete = new EventEmitter();
21
+ this.registerOnTouched(() => { });
22
+ }
23
+ ngOnInit() {
24
+ super.ngOnInit();
25
+ this.setPlaceHolder('Selecione um valor');
26
+ if (!this.lazy)
27
+ this.carregarCombo();
28
+ }
29
+ addClick(event) {
30
+ this.onAddClick.emit(event);
31
+ }
32
+ carregarCombo(filtro) {
33
+ if (filtro) {
34
+ this.carregarComboObs(this.listarCombo(filtro));
35
+ }
36
+ else {
37
+ this.carregarComboObs(this.listar());
38
+ }
39
+ }
40
+ carregarComboObs(obs) {
41
+ if (obs) {
42
+ obs
43
+ .subscribe({
44
+ next: (data) => {
45
+ this.options = data;
46
+ this.filteredOptions = data;
47
+ this.requestComplete.emit(true);
48
+ },
49
+ error: (error) => {
50
+ console.log(error);
51
+ },
52
+ });
53
+ }
54
+ }
55
+ filterOptions(field, value) {
56
+ if (this.options) {
57
+ let lista = ObjectService.filterObject(this.options, field, value);
58
+ if (lista?.length > 0) {
59
+ of(lista).subscribe((opts) => {
60
+ this.filteredOptions = opts;
61
+ });
62
+ }
63
+ else
64
+ this.filteredOptions = [];
65
+ }
66
+ }
67
+ listar() { }
68
+ listarCombo(value) { }
69
+ openDialog(componentType, width, height) {
70
+ const ref = this.dialogService.open(componentType, {
71
+ width: width || '70%',
72
+ height: height,
73
+ closable: false,
74
+ maximizable: true,
75
+ data: { popup: true },
76
+ });
77
+ ref.onClose.subscribe((id) => {
78
+ if (id) {
79
+ this.listar().subscribe((data) => {
80
+ this.options = data;
81
+ this.filteredOptions = data;
82
+ if (id)
83
+ this.formControl?.setValue(id);
84
+ });
85
+ }
86
+ });
87
+ }
88
+ onInputChange(event) {
89
+ this.onSelectionValue.emit(event);
90
+ if (this.formControl) {
91
+ const controlName = this.getName(this.formControl);
92
+ if (controlName) {
93
+ let currentItem = ObjectService.findObject(this.options, controlName, event.value);
94
+ this.onSelectionChange.emit(currentItem);
95
+ }
96
+ }
97
+ }
98
+ onInputClick(event) {
99
+ this.onClick.emit(event);
100
+ }
101
+ onInputFilter(event) {
102
+ if (event) {
103
+ if (event.filter) {
104
+ if (event.filter.length > 2) {
105
+ this.carregarCombo({ termoPesquisa: event.filter });
106
+ }
107
+ }
108
+ }
109
+ }
110
+ writeValue(value) {
111
+ if (this.lazy && value) {
112
+ this.carregarCombo({ id: value });
113
+ }
114
+ this.value = value;
115
+ }
116
+ }
117
+ BaseComponentDropDown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentDropDown, deps: [{ token: i1.ComponentService }, { token: i2.DialogService }], target: i0.ɵɵFactoryTarget.Component });
118
+ BaseComponentDropDown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BaseComponentDropDown, selector: "ng-component", inputs: { filteredOptions: "filteredOptions", options: "options", optionLabel: "optionLabel", optionValue: "optionValue", optionDisabled: "optionDisabled", group: "group", optionGroupLabel: "optionGroupLabel", optionGroupChildren: "optionGroupChildren", filter: "filter", lazy: "lazy", showAddButton: "showAddButton", showClear: "showClear", widthField: "widthField" }, outputs: { onAddClick: "onAddClick", onClick: "onClick", onSelectionChange: "onSelectionChange", onSelectionValue: "onSelectionValue", requestComplete: "requestComplete" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentDropDown, decorators: [{
120
+ type: Component,
121
+ args: [{
122
+ template: '',
123
+ }]
124
+ }], ctorParameters: function () { return [{ type: i1.ComponentService }, { type: i2.DialogService }]; }, propDecorators: { filteredOptions: [{
125
+ type: Input
126
+ }], options: [{
127
+ type: Input
128
+ }], optionLabel: [{
129
+ type: Input
130
+ }], optionValue: [{
131
+ type: Input
132
+ }], optionDisabled: [{
133
+ type: Input
134
+ }], group: [{
135
+ type: Input
136
+ }], optionGroupLabel: [{
137
+ type: Input
138
+ }], optionGroupChildren: [{
139
+ type: Input
140
+ }], filter: [{
141
+ type: Input
142
+ }], lazy: [{
143
+ type: Input
144
+ }], showAddButton: [{
145
+ type: Input
146
+ }], showClear: [{
147
+ type: Input
148
+ }], widthField: [{
149
+ type: Input
150
+ }], onAddClick: [{
151
+ type: Output
152
+ }], onClick: [{
153
+ type: Output
154
+ }], onSelectionChange: [{
155
+ type: Output
156
+ }], onSelectionValue: [{
157
+ type: Output
158
+ }], requestComplete: [{
159
+ type: Output
160
+ }] } });
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1kcm9wZG93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBTTNELE1BQU0sT0FBZ0IscUJBQXNCLFNBQVEsa0JBQXVCO0lBeUJ6RSxZQUNFLGdCQUFrQyxFQUMxQixhQUE0QjtRQUVwQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUZoQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWY3QixXQUFNLEdBQVksSUFBSSxDQUFDO1FBQ3ZCLFNBQUksR0FBWSxLQUFLLENBQUM7UUFFdEIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsY0FBUyxHQUFZLElBQUksQ0FBQztRQUd6QixlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkQsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hELHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELHFCQUFnQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pELG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFPaEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFUSxR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LFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7bUlBR1UsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudElucHV0IH0gZnJvbSAnLi9iYXNlLWNvbXBvbmVudC1pbnB1dCc7XG5pbXBvcnQgeyBDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29tcG9uZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JqZWN0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29iamVjdC5zZXJ2aWNlJztcbmltcG9ydCB7IGZpbHRyb0NvbWJvIH0gZnJvbSAnLi4vY29tcG9uZW50cy9kcm9wZG93bi9maWx0cm8uY29tYm8nO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ29tcG9uZW50RHJvcERvd24gZXh0ZW5kcyBCYXNlQ29tcG9uZW50SW5wdXQ8YW55PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgZmlsdGVyZWRPcHRpb25zITogYW55W107XG4gIEBJbnB1dCgpIG9wdGlvbnMhOiBhbnlbXTtcbiAgQElucHV0KCkgb3B0aW9uTGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG9wdGlvblZhbHVlITogc3RyaW5nO1xuICBASW5wdXQoKSBvcHRpb25EaXNhYmxlZCE6IHN0cmluZztcblxuICBASW5wdXQoKSBncm91cCE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG9wdGlvbkdyb3VwTGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG9wdGlvbkdyb3VwQ2hpbGRyZW4hOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgZmlsdGVyOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbGF6eTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNob3dBZGRCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd0NsZWFyOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgd2lkdGhGaWVsZD86IHN0cmluZztcblxuICBAT3V0cHV0KCkgb25BZGRDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uU2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uU2VsZWN0aW9uVmFsdWU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcmVxdWVzdENvbXBsZXRlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb21wb25lbnRTZXJ2aWNlOiBDb21wb25lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZVxuICApIHtcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlKTtcbiAgICB0aGlzLnJlZ2lzdGVyT25Ub3VjaGVkKCgpID0+IHsgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuc2V0UGxhY2VIb2xkZXIoJ1NlbGVjaW9uZSB1bSB2YWxvcicpO1xuXG4gICAgaWYgKCF0aGlzLmxhenkpIHRoaXMuY2FycmVnYXJDb21ibygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZENsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMub25BZGRDbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBjYXJyZWdhckNvbWJvKGZpbHRybz86IGZpbHRyb0NvbWJvKTogdm9pZCB7XG4gICAgaWYgKGZpbHRybykge1xuICAgICAgdGhpcy5jYXJyZWdhckNvbWJvT2JzKHRoaXMubGlzdGFyQ29tYm8oZmlsdHJvKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5jYXJyZWdhckNvbWJvT2JzKHRoaXMubGlzdGFyKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2FycmVnYXJDb21ib09icyhvYnM6IE9ic2VydmFibGU8YW55Pikge1xuICAgIGlmIChvYnMpIHtcbiAgICAgIG9ic1xuICAgICAgICAuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBkYXRhO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBkYXRhO1xuICAgICAgICAgICAgdGhpcy5yZXF1ZXN0Q29tcGxldGUuZW1pdCh0cnVlKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXJPcHRpb25zKGZpZWxkOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcHRpb25zKSB7XG4gICAgICBsZXQgbGlzdGEgPSBPYmplY3RTZXJ2aWNlLmZpbHRlck9iamVjdCh0aGlzLm9wdGlvbnMsIGZpZWxkLCB2YWx1ZSk7XG4gICAgICBpZiAobGlzdGE/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgb2YobGlzdGEpLnN1YnNjcmliZSgob3B0czogYW55W10pID0+IHtcbiAgICAgICAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IG9wdHM7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW107XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGxpc3RhcigpOiBhbnkgeyB9XG4gIHByb3RlY3RlZCBsaXN0YXJDb21ibyh2YWx1ZTogYW55KTogYW55IHsgfVxuXG4gIHByb3RlY3RlZCBvcGVuRGlhbG9nKFxuICAgIGNvbXBvbmVudFR5cGU6IFR5cGU8YW55PixcbiAgICB3aWR0aD86IHN0cmluZyxcbiAgICBoZWlnaHQ/OiBzdHJpbmdcbiAgKSB7XG4gICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLm9wZW4oY29tcG9uZW50VHlwZSwge1xuICAgICAgd2lkdGg6IHdpZHRoIHx8ICc3MCUnLFxuICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICBjbG9zYWJsZTogZmFsc2UsXG4gICAgICBtYXhpbWl6YWJsZTogdHJ1ZSxcbiAgICAgIGRhdGE6IHsgcG9wdXA6IHRydWUgfSxcbiAgICB9KTtcblxuICAgIHJlZi5vbkNsb3NlLnN1YnNjcmliZSgoaWQ6IGFueSkgPT4ge1xuICAgICAgaWYgKGlkKSB7XG4gICAgICAgIHRoaXMubGlzdGFyKCkuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLm9wdGlvbnMgPSBkYXRhO1xuICAgICAgICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gZGF0YTtcbiAgICAgICAgICBpZiAoaWQpIHRoaXMuZm9ybUNvbnRyb2w/LnNldFZhbHVlKGlkKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25JbnB1dENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vblNlbGVjdGlvblZhbHVlLmVtaXQoZXZlbnQpO1xuXG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2xOYW1lID0gdGhpcy5nZXROYW1lKHRoaXMuZm9ybUNvbnRyb2wgYXMgRm9ybUNvbnRyb2wpO1xuICAgICAgaWYgKGNvbnRyb2xOYW1lKSB7XG4gICAgICAgIGxldCBjdXJyZW50SXRlbSA9IE9iamVjdFNlcnZpY2UuZmluZE9iamVjdChcbiAgICAgICAgICB0aGlzLm9wdGlvbnMsXG4gICAgICAgICAgY29udHJvbE5hbWUsXG4gICAgICAgICAgZXZlbnQudmFsdWVcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5lbWl0KGN1cnJlbnRJdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbklucHV0Q2xpY2soZXZlbnQ6IGFueSkge1xuICAgIHRoaXMub25DbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uSW5wdXRGaWx0ZXIoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudCkge1xuICAgICAgaWYgKGV2ZW50LmZpbHRlcikge1xuICAgICAgICBpZiAoZXZlbnQuZmlsdGVyLmxlbmd0aCA+IDIpIHtcbiAgICAgICAgICB0aGlzLmNhcnJlZ2FyQ29tYm8oeyB0ZXJtb1Blc3F1aXNhOiBldmVudC5maWx0ZXIgfSBhcyBmaWx0cm9Db21ibyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sYXp5ICYmIHZhbHVlKSB7XG4gICAgICB0aGlzLmNhcnJlZ2FyQ29tYm8oeyBpZDogdmFsdWUgfSBhcyBmaWx0cm9Db21ibyk7XG4gICAgfVxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,94 @@
1
+ import { Component, ContentChildren, EventEmitter, Input, Output, ViewChildren } from "@angular/core";
2
+ import { BaseComponent } from './base-component';
3
+ import { ErrorComponent } from '../components/error/error.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services/component.service";
6
+ export class BaseComponentInput extends BaseComponent {
7
+ constructor(componentService) {
8
+ super();
9
+ this.componentService = componentService;
10
+ this.hasError = false;
11
+ this.placeholder = '';
12
+ this.onBlur = new EventEmitter();
13
+ this.onInput = new EventEmitter();
14
+ this.onClose = new EventEmitter();
15
+ }
16
+ get baseInputClass() {
17
+ return `${this.hasError ? 'ng-invalid ng-dirty' : ''} !important`;
18
+ }
19
+ erroMessage() {
20
+ if (!this.formControl?.errors)
21
+ return;
22
+ let message = '';
23
+ if (this.formControl.errors) {
24
+ const objErrors = this.formControl.errors;
25
+ if (objErrors.erroMessage)
26
+ message = objErrors.erroMessage;
27
+ }
28
+ return message;
29
+ }
30
+ getName(control) {
31
+ return Object.entries(control.parent?.controls ?? []).find(([_, value]) => value === control)?.[0] ?? null;
32
+ }
33
+ hasControlError() {
34
+ if (!this.formControl)
35
+ return false;
36
+ return (this.formControl.dirty || this.formControl.touched) && this.formControl.errors !== null;
37
+ }
38
+ ngAfterViewInit() {
39
+ this.viewErrors.forEach(c => {
40
+ c.emitError.subscribe(res => {
41
+ this.hasError = res;
42
+ this.componentService.changeDetectorRef.detectChanges();
43
+ });
44
+ });
45
+ }
46
+ ngAfterContentInit() {
47
+ this.contentErrors.forEach(c => {
48
+ c.emitError.subscribe(res => {
49
+ this.hasError = res;
50
+ });
51
+ });
52
+ }
53
+ ngOnInit() {
54
+ this.formControl = this.componentService.getFormControl();
55
+ }
56
+ onInputBlur(event) {
57
+ if (this.onTouched)
58
+ this.onTouched();
59
+ this.onBlur.emit(event);
60
+ }
61
+ onInputClose(event) {
62
+ this.onClose.emit(event);
63
+ }
64
+ onInputInput(event) {
65
+ this.onInput.emit(event);
66
+ }
67
+ setPlaceHolder(p) {
68
+ if (!this.placeholder)
69
+ this.placeholder = p;
70
+ }
71
+ }
72
+ BaseComponentInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentInput, deps: [{ token: i1.ComponentService }], target: i0.ɵɵFactoryTarget.Component });
73
+ BaseComponentInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: BaseComponentInput, selector: "ng-component", inputs: { placeholder: "placeholder" }, outputs: { onBlur: "onBlur", onInput: "onInput", onClose: "onClose" }, queries: [{ propertyName: "contentErrors", predicate: ErrorComponent }], viewQueries: [{ propertyName: "viewErrors", predicate: ErrorComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: BaseComponentInput, decorators: [{
75
+ type: Component,
76
+ args: [{
77
+ template: '',
78
+ }]
79
+ }], ctorParameters: function () { return [{ type: i1.ComponentService }]; }, propDecorators: { placeholder: [{
80
+ type: Input
81
+ }], onBlur: [{
82
+ type: Output
83
+ }], onInput: [{
84
+ type: Output
85
+ }], onClose: [{
86
+ type: Output
87
+ }], viewErrors: [{
88
+ type: ViewChildren,
89
+ args: [ErrorComponent]
90
+ }], contentErrors: [{
91
+ type: ContentChildren,
92
+ args: [ErrorComponent]
93
+ }] } });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQtaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL2Jhc2UtY29tcG9uZW50cy9iYXNlLWNvbXBvbmVudC1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBS3JFLE1BQU0sT0FBZ0Isa0JBQXNCLFNBQVEsYUFBZ0I7SUFjbEUsWUFBK0IsZ0JBQWtDO1FBQy9ELEtBQUssRUFBRSxDQUFDO1FBRHFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFYdkQsYUFBUSxHQUF3QixLQUFLLENBQUM7UUFFdkMsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFFeEIsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9DLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFPMUQsQ0FBQztJQUVELElBQVcsY0FBYztRQUN2QixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTTtZQUFFLE9BQU87UUFFdEMsSUFBSSxPQUFPLEdBQVcsRUFBRSxDQUFDO1FBRXpCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFD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ImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50JztcblxuaW1wb3J0IHsgQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbXBvbmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9lcnJvci9lcnJvci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQ29tcG9uZW50SW5wdXQ8VD4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBwcm90ZWN0ZWQgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgaGFzRXJyb3I6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG5cbiAgQE91dHB1dCgpIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbklucHV0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uQ2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGRyZW4oRXJyb3JDb21wb25lbnQpIHZpZXdFcnJvcnMhOiBRdWVyeUxpc3Q8RXJyb3JDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKEVycm9yQ29tcG9uZW50KSBjb250ZW50RXJyb3JzITogUXVlcnlMaXN0PEVycm9yQ29tcG9uZW50PjtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgY29tcG9uZW50U2VydmljZTogQ29tcG9uZW50U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJhc2VJbnB1dENsYXNzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuaGFzRXJyb3IgPyAnbmctaW52YWxpZCBuZy1kaXJ0eScgOiAnJ30gIWltcG9ydGFudGA7XG4gIH1cblxuICBlcnJvTWVzc2FnZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5mb3JtQ29udHJvbD8uZXJyb3JzKSByZXR1cm47XG5cbiAgICBsZXQgbWVzc2FnZTogc3RyaW5nID0gJyc7XG5cbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbC5lcnJvcnMpIHtcbiAgICAgIGNvbnN0IG9iakVycm9ycyA9IHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzIGFzIGFueTtcbiAgICAgIGlmIChvYmpFcnJvcnMuZXJyb01lc3NhZ2UpIG1lc3NhZ2UgPSBvYmpFcnJvcnMuZXJyb01lc3NhZ2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH1cblxuICBnZXROYW1lKGNvbnRyb2w6IEZvcm1Db250cm9sKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGNvbnRyb2wucGFyZW50Py5jb250cm9scyA/PyBbXSkuZmluZCgoW18sIHZhbHVlXSkgPT4gdmFsdWUgPT09IGNvbnRyb2wpPy5bMF0gPz8gbnVsbDtcbiAgfVxuXG4gIGhhc0NvbnRyb2xFcnJvcigpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2wpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gKHRoaXMuZm9ybUNvbnRyb2wuZGlydHkgfHwgdGhpcy5mb3JtQ29udHJvbC50b3VjaGVkKSAmJiB0aGlzLmZvcm1Db250cm9sLmVycm9ycyAhPT0gbnVsbDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdFcnJvcnMuZm9yRWFjaChjID0+IHtcbiAgICAgIGMuZW1pdEVycm9yLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICB0aGlzLmhhc0Vycm9yID0gcmVzO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2UuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5jb250ZW50RXJyb3JzLmZvckVhY2goYyA9PiB7XG4gICAgICBjLmVtaXRFcnJvci5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgdGhpcy5oYXNFcnJvciA9IHJlcztcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtQ29udHJvbCA9IHRoaXMuY29tcG9uZW50U2VydmljZS5nZXRGb3JtQ29udHJvbCgpO1xuICB9XG5cbiAgb25JbnB1dEJsdXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgaWYgKHRoaXMub25Ub3VjaGVkKVxuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcblxuICAgIHRoaXMub25CbHVyLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25JbnB1dENsb3NlKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMub25DbG9zZS5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uSW5wdXRJbnB1dChldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLm9uSW5wdXQuZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0UGxhY2VIb2xkZXIocDogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLnBsYWNlaG9sZGVyKSB0aGlzLnBsYWNlaG9sZGVyID0gcDtcbiAgfVxufVxuIl19