@sankhyalabs/sankhyablocks 9.2.0-dev.2 → 9.2.0-dev.21

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 (236) hide show
  1. package/dist/cjs/{ConfigStorage-1931defc.js → ConfigStorage-8b6def32.js} +2 -2
  2. package/dist/cjs/{DataFetcher-ad9fb3bb.js → DataFetcher-2c37b6a1.js} +52 -1
  3. package/dist/cjs/{ISave-18ffb73e.js → ISave-b22b3cf0.js} +1 -1
  4. package/dist/cjs/{SnkFormConfigManager-65e5288e.js → SnkFormConfigManager-477a27de.js} +2 -2
  5. package/dist/cjs/{ClientSideExporterProvider-994f6e26.js → SnkMultiSelectionListDataSource-b7ab26ba.js} +82 -79
  6. package/dist/cjs/{auth-fetcher-afbe69ab.js → auth-fetcher-78a90b36.js} +1 -1
  7. package/dist/cjs/{dataunit-fetcher-c7253b02.js → dataunit-fetcher-877944a9.js} +1 -1
  8. package/dist/cjs/filter-validate-6993f6f2.js +30 -0
  9. package/dist/cjs/{form-config-fetcher-f6e66d64.js → form-config-fetcher-dee08eb4.js} +1 -1
  10. package/dist/cjs/{index-0ad2baeb.js → index-13d05f03.js} +21 -5
  11. package/dist/cjs/index-1cf293c1.js +8 -8
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +4 -4
  14. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  15. package/dist/cjs/snk-actions-button_8.cjs.entry.js +5 -5
  16. package/dist/cjs/snk-application.cjs.entry.js +6 -9
  17. package/dist/cjs/snk-attach.cjs.entry.js +7 -7
  18. package/dist/cjs/snk-crud.cjs.entry.js +7 -7
  19. package/dist/cjs/snk-data-exporter.cjs.entry.js +5 -5
  20. package/dist/cjs/{snk-data-unit-448fce74.js → snk-data-unit-0cfa7622.js} +14 -4
  21. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -3
  22. package/dist/cjs/snk-detail-view.cjs.entry.js +9 -9
  23. package/dist/cjs/snk-entity-list.cjs.entry.js +10 -3
  24. package/dist/cjs/snk-expression-group_2.cjs.entry.js +1 -1
  25. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +189 -115
  26. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +23 -2
  27. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +20 -2
  28. package/dist/cjs/snk-filter-detail.cjs.entry.js +25 -8
  29. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +9 -14
  30. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +16 -3
  31. package/dist/cjs/snk-filter-number.cjs.entry.js +34 -3
  32. package/dist/cjs/snk-filter-period.cjs.entry.js +59 -14
  33. package/dist/cjs/snk-filter-search.cjs.entry.js +14 -3
  34. package/dist/cjs/snk-filter-text.cjs.entry.js +18 -1
  35. package/dist/cjs/snk-form_2.cjs.entry.js +31 -5
  36. package/dist/cjs/snk-grid.cjs.entry.js +158 -66
  37. package/dist/cjs/{snk-guides-viewer-c23ed218.js → snk-guides-viewer-38277265.js} +6 -6
  38. package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
  39. package/dist/cjs/snk-personalized-filter.cjs.entry.js +14 -6
  40. package/dist/cjs/snk-pesquisa.cjs.entry.js +4 -4
  41. package/dist/cjs/snk-simple-bar.cjs.entry.js +5 -5
  42. package/dist/cjs/snk-simple-crud.cjs.entry.js +60 -23
  43. package/dist/cjs/snk-taskbar.cjs.entry.js +2 -2
  44. package/dist/cjs/{taskbar-elements-3b74cd21.js → taskbar-elements-fb5d1e08.js} +1 -1
  45. package/dist/collection/components/snk-application/snk-application.js +0 -2
  46. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +4 -1
  47. package/dist/collection/components/snk-data-unit/snk-data-unit.js +174 -29
  48. package/dist/collection/components/snk-entity-list/snk-entity-list.js +28 -4
  49. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +72 -2
  50. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +73 -2
  51. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +51 -5
  52. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +83 -3
  53. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-period.js +118 -27
  54. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +49 -5
  55. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +71 -1
  56. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +62 -11
  57. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +70 -8
  58. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +0 -4
  59. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +112 -16
  60. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +8 -16
  61. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +315 -114
  62. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
  63. package/dist/collection/components/snk-filter-bar/utils/filter-validate.js +24 -0
  64. package/dist/collection/components/snk-form/snk-form.js +133 -22
  65. package/dist/collection/components/snk-grid/snk-grid.js +488 -133
  66. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +83 -21
  67. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +80 -14
  68. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +9 -9
  69. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +414 -119
  70. package/dist/collection/components/snk-taskbar/snk-taskbar.js +102 -36
  71. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +1 -0
  72. package/dist/collection/lib/http/data-fetcher/custom-xhr-override.js +39 -0
  73. package/dist/collection/lib/message/resources/en-us/snk-filter-bar.msg.js +1 -0
  74. package/dist/collection/lib/message/resources/en-us/snk-grid.msg.js +4 -0
  75. package/dist/collection/lib/message/resources/es-es/snk-filter-bar.msg.js +1 -0
  76. package/dist/collection/lib/message/resources/es-es/snk-grid.msg.js +4 -0
  77. package/dist/collection/lib/message/resources/pt-br/snk-filter-bar.msg.js +1 -0
  78. package/dist/collection/lib/message/resources/pt-br/snk-grid.msg.js +4 -0
  79. package/dist/components/ContinuousInsertUtils.js +4 -1
  80. package/dist/components/DataFetcher.js +52 -1
  81. package/dist/components/index2.js +21 -5
  82. package/dist/components/snk-application2.js +0 -3
  83. package/dist/components/snk-crud.js +62 -44
  84. package/dist/components/snk-data-unit2.js +12 -2
  85. package/dist/components/snk-detail-view2.js +89 -56
  86. package/dist/components/snk-entity-list.js +11 -3
  87. package/dist/components/snk-filter-bar2.js +103 -108
  88. package/dist/components/snk-filter-binary-select.js +27 -3
  89. package/dist/components/snk-filter-checkbox-list.js +24 -3
  90. package/dist/components/snk-filter-detail2.js +28 -9
  91. package/dist/components/snk-filter-item2.js +70 -8
  92. package/dist/components/snk-filter-modal-item2.js +7 -12
  93. package/dist/components/snk-filter-modal.js +1 -325
  94. package/dist/components/snk-filter-modal2.js +391 -0
  95. package/dist/components/snk-filter-multi-select.js +19 -4
  96. package/dist/components/snk-filter-number.js +38 -4
  97. package/dist/components/snk-filter-period.js +64 -16
  98. package/dist/components/snk-filter-search.js +17 -4
  99. package/dist/components/snk-filter-text.js +22 -2
  100. package/dist/components/snk-form.js +29 -2
  101. package/dist/components/snk-grid2.js +188 -75
  102. package/dist/components/snk-personalized-filter2.js +10 -2
  103. package/dist/components/snk-simple-bar2.js +5 -5
  104. package/dist/components/snk-simple-crud2.js +45 -8
  105. package/dist/esm/{ConfigStorage-b5a1dba3.js → ConfigStorage-22eace3a.js} +2 -2
  106. package/dist/esm/{DataFetcher-6f6de657.js → DataFetcher-f6b2961a.js} +52 -1
  107. package/dist/esm/{ISave-7ecdca20.js → ISave-6b7b0423.js} +1 -1
  108. package/dist/esm/{SnkFormConfigManager-34fc1dc7.js → SnkFormConfigManager-968b97e7.js} +2 -2
  109. package/dist/esm/{ClientSideExporterProvider-7c2781f4.js → SnkMultiSelectionListDataSource-1136c4e7.js} +87 -84
  110. package/dist/esm/{auth-fetcher-7332a9a9.js → auth-fetcher-cf39e42b.js} +1 -1
  111. package/dist/esm/{dataunit-fetcher-f21cbad0.js → dataunit-fetcher-6314b19d.js} +1 -1
  112. package/dist/esm/filter-validate-d765d450.js +27 -0
  113. package/dist/esm/{form-config-fetcher-6ab4e805.js → form-config-fetcher-bc6f0f1f.js} +1 -1
  114. package/dist/esm/{index-b72af127.js → index-446f9341.js} +21 -5
  115. package/dist/esm/index-479e1293.js +8 -8
  116. package/dist/esm/loader.js +1 -1
  117. package/dist/esm/pesquisa-grid_2.entry.js +4 -4
  118. package/dist/esm/sankhyablocks.js +1 -1
  119. package/dist/esm/snk-actions-button_8.entry.js +5 -5
  120. package/dist/esm/snk-application.entry.js +6 -9
  121. package/dist/esm/snk-attach.entry.js +7 -7
  122. package/dist/esm/snk-crud.entry.js +7 -7
  123. package/dist/esm/snk-data-exporter.entry.js +5 -5
  124. package/dist/esm/{snk-data-unit-b7e6e7a6.js → snk-data-unit-4acf4781.js} +14 -4
  125. package/dist/esm/snk-data-unit.entry.js +3 -3
  126. package/dist/esm/snk-detail-view.entry.js +9 -9
  127. package/dist/esm/snk-entity-list.entry.js +10 -3
  128. package/dist/esm/snk-expression-group_2.entry.js +1 -1
  129. package/dist/esm/snk-filter-bar_4.entry.js +190 -116
  130. package/dist/esm/snk-filter-binary-select.entry.js +23 -2
  131. package/dist/esm/snk-filter-checkbox-list.entry.js +20 -2
  132. package/dist/esm/snk-filter-detail.entry.js +25 -8
  133. package/dist/esm/snk-filter-modal-item.entry.js +9 -14
  134. package/dist/esm/snk-filter-multi-select.entry.js +16 -3
  135. package/dist/esm/snk-filter-number.entry.js +34 -3
  136. package/dist/esm/snk-filter-period.entry.js +59 -14
  137. package/dist/esm/snk-filter-search.entry.js +14 -3
  138. package/dist/esm/snk-filter-text.entry.js +18 -1
  139. package/dist/esm/snk-form_2.entry.js +31 -5
  140. package/dist/esm/snk-grid.entry.js +152 -60
  141. package/dist/esm/{snk-guides-viewer-fbfece85.js → snk-guides-viewer-19cb7f1f.js} +6 -6
  142. package/dist/esm/snk-guides-viewer.entry.js +9 -9
  143. package/dist/esm/snk-personalized-filter.entry.js +14 -6
  144. package/dist/esm/snk-pesquisa.entry.js +4 -4
  145. package/dist/esm/snk-simple-bar.entry.js +5 -5
  146. package/dist/esm/snk-simple-crud.entry.js +55 -18
  147. package/dist/esm/snk-taskbar.entry.js +2 -2
  148. package/dist/esm/{taskbar-elements-171476d4.js → taskbar-elements-faaf5d8f.js} +1 -1
  149. package/dist/sankhyablocks/p-093f58fa.entry.js +1 -0
  150. package/dist/sankhyablocks/{p-0e495575.js → p-0a317e81.js} +1 -1
  151. package/dist/sankhyablocks/{p-ad2ae575.entry.js → p-0e1f0344.entry.js} +1 -1
  152. package/dist/sankhyablocks/{p-8d1508aa.entry.js → p-16c1c209.entry.js} +1 -1
  153. package/dist/sankhyablocks/p-29cacaf3.entry.js +1 -0
  154. package/dist/sankhyablocks/{p-eb0616d3.entry.js → p-32450ea2.entry.js} +1 -1
  155. package/dist/sankhyablocks/{p-b49281be.entry.js → p-3c29939c.entry.js} +1 -1
  156. package/dist/sankhyablocks/p-3ed04f0d.entry.js +1 -0
  157. package/dist/sankhyablocks/{p-4872dc3a.entry.js → p-44c5ec49.entry.js} +1 -1
  158. package/dist/sankhyablocks/p-49ddc27a.entry.js +1 -0
  159. package/dist/sankhyablocks/p-4c763b10.entry.js +1 -0
  160. package/dist/sankhyablocks/p-4eeb06fc.js +1 -0
  161. package/dist/sankhyablocks/p-505172c8.entry.js +1 -0
  162. package/dist/sankhyablocks/p-55798617.js +1 -0
  163. package/dist/sankhyablocks/p-658f67a5.js +1 -0
  164. package/dist/sankhyablocks/{p-158adf33.entry.js → p-701b024c.entry.js} +1 -1
  165. package/dist/sankhyablocks/p-72a9285d.entry.js +1 -0
  166. package/dist/sankhyablocks/p-7f7fe6c4.entry.js +1 -0
  167. package/dist/sankhyablocks/p-88b7bc09.js +1 -0
  168. package/dist/sankhyablocks/{p-c6331595.js → p-8d256def.js} +1 -1
  169. package/dist/sankhyablocks/p-8f37b75b.entry.js +1 -0
  170. package/dist/sankhyablocks/{p-b35574b5.js → p-9062d640.js} +1 -1
  171. package/dist/sankhyablocks/{p-72c8c847.entry.js → p-95c71f5e.entry.js} +1 -1
  172. package/dist/sankhyablocks/p-96d45943.entry.js +1 -0
  173. package/dist/sankhyablocks/{p-eacff4b7.entry.js → p-b2d7f4cd.entry.js} +1 -1
  174. package/dist/sankhyablocks/{p-6a015ba2.js → p-b7f5caf6.js} +1 -1
  175. package/dist/sankhyablocks/p-b9200e77.entry.js +11 -0
  176. package/dist/sankhyablocks/{p-7de79adf.js → p-b987e15d.js} +1 -1
  177. package/dist/sankhyablocks/{p-ba4979b4.js → p-bf017a1f.js} +1 -1
  178. package/dist/sankhyablocks/{p-735a1175.entry.js → p-c3dbf441.entry.js} +1 -1
  179. package/dist/sankhyablocks/{p-3dba3468.js → p-c71dcb2d.js} +1 -1
  180. package/dist/sankhyablocks/{p-5e282b33.entry.js → p-c95f20d9.entry.js} +1 -1
  181. package/dist/sankhyablocks/p-c98e2085.js +1 -0
  182. package/dist/sankhyablocks/p-cb4343c4.entry.js +1 -0
  183. package/dist/sankhyablocks/p-d03ae54e.entry.js +1 -0
  184. package/dist/sankhyablocks/p-d235314c.entry.js +1 -0
  185. package/dist/sankhyablocks/p-d75a732c.js +1 -0
  186. package/dist/sankhyablocks/{p-f39b0ebe.entry.js → p-df7979fd.entry.js} +1 -1
  187. package/dist/sankhyablocks/p-e258de96.entry.js +1 -0
  188. package/dist/sankhyablocks/{p-d377aa7a.entry.js → p-f8e87cf1.entry.js} +1 -1
  189. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  190. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +46 -3
  191. package/dist/types/components/snk-entity-list/snk-entity-list.d.ts +8 -4
  192. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.d.ts +12 -0
  193. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.d.ts +12 -0
  194. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.d.ts +12 -4
  195. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-number.d.ts +16 -4
  196. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-period.d.ts +17 -3
  197. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +10 -2
  198. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-text.d.ts +12 -0
  199. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +8 -3
  200. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +27 -4
  201. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +17 -3
  202. package/dist/types/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.d.ts +2 -3
  203. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +60 -30
  204. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +4 -2
  205. package/dist/types/components/snk-filter-bar/utils/filter-validate.d.ts +11 -0
  206. package/dist/types/components/snk-form/snk-form.d.ts +29 -4
  207. package/dist/types/components/snk-grid/snk-grid.d.ts +132 -58
  208. package/dist/types/components/snk-personalized-filter/snk-personalized-filter.d.ts +53 -5
  209. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +44 -6
  210. package/dist/types/components/snk-simple-bar/snk-simple-bar.d.ts +15 -15
  211. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +100 -43
  212. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +23 -21
  213. package/dist/types/components.d.ts +771 -255
  214. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  215. package/package.json +4 -3
  216. package/dist/collection/lib/licenses/sankhyalicense.module.js +0 -1
  217. package/dist/sankhyablocks/p-012208e0.entry.js +0 -1
  218. package/dist/sankhyablocks/p-07b14811.entry.js +0 -1
  219. package/dist/sankhyablocks/p-0dac8fef.js +0 -1
  220. package/dist/sankhyablocks/p-1210500e.js +0 -1
  221. package/dist/sankhyablocks/p-16fc4acd.js +0 -1
  222. package/dist/sankhyablocks/p-25209340.entry.js +0 -1
  223. package/dist/sankhyablocks/p-295b83ae.entry.js +0 -1
  224. package/dist/sankhyablocks/p-398cdd67.entry.js +0 -1
  225. package/dist/sankhyablocks/p-4e63ffed.entry.js +0 -1
  226. package/dist/sankhyablocks/p-5bab470d.entry.js +0 -1
  227. package/dist/sankhyablocks/p-5c7af8a9.entry.js +0 -1
  228. package/dist/sankhyablocks/p-81769310.entry.js +0 -11
  229. package/dist/sankhyablocks/p-9fd87bfd.entry.js +0 -1
  230. package/dist/sankhyablocks/p-a349689a.js +0 -1
  231. package/dist/sankhyablocks/p-a76e6d51.entry.js +0 -1
  232. package/dist/sankhyablocks/p-a86eee47.entry.js +0 -1
  233. package/dist/sankhyablocks/p-c6a8a8bc.entry.js +0 -1
  234. package/dist/sankhyablocks/p-c9e6d720.js +0 -1
  235. package/dist/sankhyablocks/p-dff65083.entry.js +0 -1
  236. package/dist/sankhyablocks/p-fa18530e.entry.js +0 -1
@@ -1,49 +1,53 @@
1
- import { h, Fragment, } from '@stencil/core';
2
- import { Action as DUAction, ApplicationContext, ElementIDUtils, StringUtils, KeyboardManager } from '@sankhyalabs/core';
3
- import { TaskbarElement } from '../snk-taskbar/elements/taskbar-elements';
4
- import { ConfigStorage } from '../../lib/configs/ConfigStorage';
5
- import { ExporterStrategy, PresentationMode } from '../../lib/@types';
6
- import TaskbarProcessor from '../snk-taskbar/processor/taskbar-processor';
7
- import store from "../../lib/store";
8
- import SnkMultiSelectionListDataSource from './filtercolumn/SnkMultiSelectionListDataSource';
1
+ import { ApplicationContext, Action as DUAction, ElementIDUtils, KeyboardManager, StringUtils } from '@sankhyalabs/core';
9
2
  import { SelectionMode } from '@sankhyalabs/core/dist/dataunit/DataUnit';
3
+ import { buildFieldSearch } from '@sankhyalabs/ezui/dist/collection/utils';
4
+ import { Fragment, h, } from '@stencil/core';
10
5
  import { CrudUtils } from '../../lib';
6
+ import { ExporterStrategy, PresentationMode } from '../../lib/@types';
7
+ import { ConfigStorage } from '../../lib/configs/ConfigStorage';
11
8
  import RmPrecisionCustomValueFormatter from '../../lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter';
12
- import ServerSideExporterProvider from '../snk-data-exporter/providers/ServerSideExporterProvider';
9
+ import store from "../../lib/store";
13
10
  import { ContinuousInsertUtils } from '../../lib/utils/ContinuousInsertUtils';
14
11
  import ClientSideExporterProvider from '../snk-data-exporter/providers/ClientSideExporterProvider';
15
- import { buildFieldSearch } from '@sankhyalabs/ezui/dist/collection/utils';
12
+ import ServerSideExporterProvider from '../snk-data-exporter/providers/ServerSideExporterProvider';
13
+ import { validateFilters } from '../snk-filter-bar/utils/filter-validate';
14
+ import { TaskbarElement } from '../snk-taskbar/elements/taskbar-elements';
15
+ import TaskbarProcessor from '../snk-taskbar/processor/taskbar-processor';
16
+ import SnkMultiSelectionListDataSource from './filtercolumn/SnkMultiSelectionListDataSource';
16
17
  export class SnkGrid {
17
18
  constructor() {
18
19
  this._customEditors = new Map();
19
20
  this._customRenders = new Map();
20
21
  this._keyboardManager = new KeyboardManager();
21
22
  this._topTaskbarProcessor = new TaskbarProcessor({
22
- "snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
23
- "snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
24
- "snkGridTopTaskbar.regular.singleTaskbar": [],
25
- "snkGridTopTaskbar.finish_edition": ["CANCEL", "SAVE", this.handleAddFormMode()],
26
- "snkGridTopTaskbar.finish_edition.secondary": [],
27
- "snkGridTopTaskbar.finish_edition.singleTaskbar": [],
23
+ 'snkGridTopTaskbar.regular': ['FORM_MODE', 'CONFIGURATOR', 'INSERT'],
24
+ 'snkGridTopTaskbar.regular.secondary': ['FORM_MODE', 'CONFIGURATOR', 'INSERT'],
25
+ 'snkGridTopTaskbar.regular.singleTaskbar': [],
26
+ 'snkGridTopTaskbar.finish_edition': ['CANCEL', 'SAVE', this.handleAddFormMode()],
27
+ 'snkGridTopTaskbar.finish_edition.secondary': [],
28
+ 'snkGridTopTaskbar.finish_edition.singleTaskbar': [],
28
29
  });
29
30
  this._headerTaskbarProcessor = new TaskbarProcessor({
30
- "snkGridHeaderTaskbar.unselected": ["REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON", "MORE_OPTIONS"],
31
- "snkGridHeaderTaskbar.selected": this.getGridHeaderSelectedBtns(),
32
- "snkGridHeaderTaskbar.detail.unselected": ["REFRESH", "MORE_OPTIONS"],
33
- "snkGridHeaderTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "REFRESH"],
34
- "snkGridHeaderTaskbar.singleTaskbar.unselected": ["INSERT", "FORM_MODE", "CONFIGURATOR", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON", "MORE_OPTIONS"],
35
- "snkGridHeaderTaskbar.singleTaskbar.selected": ["UPDATE", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "ATTACH", "FORM_MODE", "CONFIGURATOR", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON"],
36
- "snkGridHeaderTaskbar.singleTaskbar.detail.unselected": ["INSERT", "FORM_MODE", "CONFIGURATOR", "REFRESH", "MORE_OPTIONS"],
37
- "snkGridHeaderTaskbar.singleTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "FORM_MODE", "CONFIGURATOR", "REFRESH"],
38
- "snkGridHeaderTaskbar.singleTaskbar.finish_edition": ["CANCEL", "SAVE", this.handleAddFormMode()]
31
+ 'snkGridHeaderTaskbar.unselected': ['REFRESH', 'DATA_EXPORTER', 'ACTIONS_BUTTON', 'MORE_OPTIONS'],
32
+ 'snkGridHeaderTaskbar.selected': this.getGridHeaderSelectedBtns(),
33
+ 'snkGridHeaderTaskbar.detail.unselected': ['REFRESH', 'MORE_OPTIONS'],
34
+ 'snkGridHeaderTaskbar.detail.selected': ['UPDATE', 'ATTACH', 'CLONE', 'REMOVE', 'MORE_OPTIONS', 'DIVIDER', 'REFRESH'],
35
+ 'snkGridHeaderTaskbar.singleTaskbar.unselected': ['INSERT', 'FORM_MODE', 'CONFIGURATOR', 'REFRESH', 'DATA_EXPORTER', 'ACTIONS_BUTTON', 'MORE_OPTIONS'],
36
+ 'snkGridHeaderTaskbar.singleTaskbar.selected': ['UPDATE', 'CLONE', 'REMOVE', 'MORE_OPTIONS', 'DIVIDER', 'ATTACH', 'FORM_MODE', 'CONFIGURATOR', 'REFRESH', 'DATA_EXPORTER', 'ACTIONS_BUTTON'],
37
+ 'snkGridHeaderTaskbar.singleTaskbar.detail.unselected': ['INSERT', 'FORM_MODE', 'CONFIGURATOR', 'REFRESH', 'MORE_OPTIONS'],
38
+ 'snkGridHeaderTaskbar.singleTaskbar.detail.selected': ['UPDATE', 'ATTACH', 'CLONE', 'REMOVE', 'MORE_OPTIONS', 'DIVIDER', 'FORM_MODE', 'CONFIGURATOR', 'REFRESH'],
39
+ 'snkGridHeaderTaskbar.singleTaskbar.finish_edition': ['CANCEL', 'SAVE', this.handleAddFormMode()],
39
40
  });
40
41
  this.dataUnitInterceptor = {
41
42
  interceptAction: async (action) => {
42
43
  if (action.type === DUAction.METADATA_LOADED) {
43
44
  return await this.interceptMetadataLoaded(action);
44
45
  }
46
+ if (action.type === DUAction.LOADING_DATA) {
47
+ return await this.interceptLoadData(action);
48
+ }
45
49
  return action;
46
- }
50
+ },
47
51
  };
48
52
  this._dataUnit = undefined;
49
53
  this._dataState = undefined;
@@ -84,23 +88,36 @@ export class SnkGrid {
84
88
  this.multipleEditionEnabled = true;
85
89
  this.paginationCounterMode = 'auto';
86
90
  this.suppressCheckboxColumn = undefined;
91
+ this.suppressFilterColumn = false;
87
92
  this.compact = undefined;
93
+ this.filterCustomConfig = undefined;
94
+ this.filterCustomConfigInterceptor = undefined;
88
95
  }
89
96
  getGridHeaderSelectedBtns() {
90
97
  const btns = [
91
98
  TaskbarElement.UPDATE, TaskbarElement.CLONE, TaskbarElement.REMOVE,
92
99
  TaskbarElement.MORE_OPTIONS, TaskbarElement.DIVIDER, TaskbarElement.ATTACH, TaskbarElement.FORM_MODE,
93
- TaskbarElement.CONFIGURATOR, TaskbarElement.REFRESH, TaskbarElement.DATA_EXPORTER, TaskbarElement.ACTIONS_BUTTON
100
+ TaskbarElement.CONFIGURATOR, TaskbarElement.REFRESH, TaskbarElement.DATA_EXPORTER, TaskbarElement.ACTIONS_BUTTON,
94
101
  ];
95
102
  if (this.multipleEditionEnabled)
96
103
  btns.unshift(TaskbarElement.UPDATE_MULTIPLE);
97
104
  return btns;
98
105
  }
106
+ async refreshColumnFilterDataSource() {
107
+ await this._grid.refreshColumnFilterDataSource();
108
+ }
109
+ /**
110
+ * Recarrega a configuração da grade.
111
+ * @description Este método força o recarregamento da configuração da grade a partir do `ConfigStorage`. A operação é assíncrona, mas o método não aguarda sua conclusão.
112
+ */
99
113
  reloadConfig() {
100
114
  this.loadConfig();
101
115
  }
102
116
  /**
103
117
  * Exibe a janela de configurações da grade.
118
+ * @async
119
+ * @description Este método abre o pop-up de configuração de colunas da grade, permitindo ao usuário ajustar a visibilidade, ordem e largura das colunas.
120
+ * @returns {Promise<void>} Uma promessa que é resolvida quando a janela de configuração é exibida.
104
121
  */
105
122
  async showConfig() {
106
123
  if (this._grid == undefined) {
@@ -110,6 +127,9 @@ export class SnkGrid {
110
127
  }
111
128
  /**
112
129
  * Fecha a janela de configurações da grade.
130
+ * @async
131
+ * @description Este método fecha o pop-up de configuração de colunas da grade.
132
+ * @returns {Promise<void>} Uma promessa que é resolvida quando a janela de configuração é fechada.
113
133
  */
114
134
  async hideConfig() {
115
135
  if (this._grid == undefined) {
@@ -118,26 +138,42 @@ export class SnkGrid {
118
138
  this.closeGridConfig();
119
139
  }
120
140
  /**
121
- * Atribui o valor da configuração da grade.
141
+ * Define a configuração da grade.
142
+ * @async
143
+ * @description Aplica uma nova configuração de colunas e ordenação à grade.
144
+ * @param {IGridConfig} config O objeto de configuração a ser aplicado na grade.
145
+ * @returns {Promise<void>} Uma promessa que é resolvida quando a configuração é aplicada.
122
146
  */
123
147
  async setConfig(config) {
124
148
  this.setGridConfig(config);
125
149
  }
126
150
  /**
127
- * Faz o recarregamento da filter-bar da grade buscando o state no servidor.
151
+ * Recarrega a barra de filtros da grade, buscando o estado do servidor.
152
+ * @async
153
+ * @description Força o recarregamento da barra de filtros, atualizando suas configurações e filtros a partir do servidor.
154
+ * @returns {Promise<void>} Uma promessa que é resolvida quando a barra de filtros é recarregada.
128
155
  */
129
156
  async reloadFilterBar() {
130
157
  var _a;
131
158
  (_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.reload();
132
159
  }
133
160
  /**
134
- * Retorna o elemento da filter-bar da grade.
161
+ * Retorna o elemento da barra de filtros da grade.
162
+ * @async
163
+ * @description Este método permite acessar o elemento da barra de filtros, que pode ser útil para manipulações adicionais ou para obter o estado atual dos filtros aplicados.
164
+ * @returns {Promise<HTMLSnkFilterBarElement>} O elemento da barra de filtros.
135
165
  */
136
166
  async getFilterBar() {
137
167
  return this._snkFilterBar;
138
168
  }
139
169
  /**
140
- * Registra um editor customizado para campos da grade e formulário
170
+ * Registra um editor customizado para um campo da grade ou formulário.
171
+ * @async
172
+ * @description Adiciona um componente de edição personalizado para um campo específico. Este editor será usado tanto na edição em linha na grade quanto em formulários de detalhe.
173
+ * @param {string} fieldName O nome do campo que receberá o editor customizado.
174
+ * @param {ICustomEditor} customEditor A instância do editor customizado.
175
+ * @param {string} [detailContext] O contexto de detalhe onde o editor será aplicado (opcional).
176
+ * @returns {Promise<void>} Uma promessa que é resolvida quando o editor é registrado.
141
177
  */
142
178
  async addCustomEditor(fieldName, customEditor, detailContext) {
143
179
  if (this._grid) {
@@ -149,7 +185,13 @@ export class SnkGrid {
149
185
  this._customEditors = newCustomEditors;
150
186
  }
151
187
  /**
152
- * Registra um render customizado para colunas da grid.
188
+ * Registra um renderizador customizado para uma coluna da grade.
189
+ * @async
190
+ * @description Adiciona um componente de renderização personalizado para uma coluna específica, permitindo a exibição de conteúdo customizado nas células.
191
+ * @param {string} fieldName O nome do campo (coluna) que receberá o renderizador customizado.
192
+ * @param {ICustomRender} customRender A instância do renderizador customizado.
193
+ * @param {string} [detailContext] O contexto de detalhe onde o renderizador será aplicado (opcional).
194
+ * @returns {Promise<void>} Uma promessa que é resolvida quando o renderizador é registrado.
153
195
  */
154
196
  async addGridCustomRender(fieldName, customRender, detailContext) {
155
197
  if (this._grid) {
@@ -161,19 +203,31 @@ export class SnkGrid {
161
203
  this._customRenders = newCustomRenders;
162
204
  }
163
205
  /**
164
- * Registra um formatador de valores para uma coluna da grid.
206
+ * Registra um formatador de valor customizado para uma coluna da grade.
207
+ * @async
208
+ * @description Adiciona uma função de formatação personalizada para os valores de uma coluna específica, afetando como os dados são exibidos.
209
+ * @param {string} columnName O nome da coluna que receberá o formatador.
210
+ * @param {ICustomFormatter} customFormatter A instância do formatador de valor.
211
+ * @returns {Promise<void>} Uma promessa que é resolvida quando o formatador é registrado.
165
212
  */
166
213
  async addCustomValueFormatter(columnName, customFormatter) {
167
214
  this._grid.addCustomValueFormatter(columnName, customFormatter);
168
215
  }
169
216
  /**
170
- * Remove o formatador de valores de uma coluna da grid.
217
+ * Remove um formatador de valor customizado de uma coluna da grade.
218
+ * @async
219
+ * @description Remove uma função de formatação personalizada previamente registrada para uma coluna.
220
+ * @param {string} columnName O nome da coluna da qual o formatador será removido.
221
+ * @returns {Promise<void>} Uma promessa que é resolvida quando o formatador é removido.
171
222
  */
172
223
  async removeCustomValueFormatter(columnName) {
173
224
  this._grid.removeCustomValueFormatter(columnName);
174
225
  }
175
226
  /**
176
227
  * Atribui o foco para a grade.
228
+ * @async
229
+ * @description Move o foco do navegador para o componente da grade, permitindo a navegação por teclado.
230
+ * @returns {Promise<void>} Uma promessa que é resolvida quando o foco é atribuído.
177
231
  */
178
232
  async setFocus() {
179
233
  this._grid.setFocus();
@@ -207,7 +261,7 @@ export class SnkGrid {
207
261
  this.loadConfig();
208
262
  }
209
263
  handleAddFormMode() {
210
- return this.enableGridInsert ? TaskbarElement.FORM_MODE : "";
264
+ return this.enableGridInsert ? TaskbarElement.FORM_MODE : '';
211
265
  }
212
266
  openGridConfig() {
213
267
  this._grid.getColumnsState()
@@ -251,6 +305,17 @@ export class SnkGrid {
251
305
  ConfigStorage.addGridLegacyConfig(this.configName, this.gridLegacyConfigName);
252
306
  }
253
307
  }
308
+ hasCalculatedFields(columnNames) {
309
+ let hasCalculatedFields = false;
310
+ columnNames.forEach(name => {
311
+ var _a;
312
+ const field = this._dataUnit.getField(name);
313
+ if (((_a = field.properties) === null || _a === void 0 ? void 0 : _a.calculated) === 'true') {
314
+ hasCalculatedFields = true;
315
+ }
316
+ });
317
+ return hasCalculatedFields;
318
+ }
254
319
  gridConfigChangeHandler(evt) {
255
320
  const config = this.normalizeGridConfig(evt.detail);
256
321
  ConfigStorage.saveGridConfig(config, this.configName, this.resourceID);
@@ -266,11 +331,25 @@ export class SnkGrid {
266
331
  });
267
332
  evt.stopPropagation();
268
333
  }
334
+ async hasToForceClientSideExporter() {
335
+ if (!this._grid) {
336
+ return false;
337
+ }
338
+ const filters = await this._grid.getAppliedColumnFilters();
339
+ const columnNames = filters.map(filter => filter.name.replace('FILTRO_COLUNA_', ''));
340
+ return this.hasCalculatedFields(columnNames);
341
+ }
269
342
  async dataExporterProviderStore() {
270
- const dataExporterProvider = this.strategyExporter === ExporterStrategy.SERVER_SIDE
271
- ? new ServerSideExporterProvider(this._dataUnit, this._grid)
272
- : new ClientSideExporterProvider(this._dataUnit, this._grid);
273
- store.set("exporterProviders", Object.assign(Object.assign({}, store.get("exporterProviders")), { [this.configName]: dataExporterProvider }));
343
+ /**
344
+ * O ServerSideExporterProvider do SankhyaOm não suporta a filtragem de campos calculados.
345
+ * Por esse motivo, precisamos verificar os filtros aplicados no momento e recriar o dataExporterProvider conforme necessário.
346
+ * Se houver campos calculados, forçamos o uso do clientSide, caso contrário é seguido o fluxo padrão.
347
+ */
348
+ const forceClientSide = await this.hasToForceClientSideExporter();
349
+ const dataExporterProvider = (forceClientSide || this.strategyExporter === ExporterStrategy.CLIENT_SIDE)
350
+ ? new ClientSideExporterProvider(this._dataUnit, this._grid)
351
+ : new ServerSideExporterProvider(this._dataUnit, this._grid);
352
+ store.set('exporterProviders', Object.assign(Object.assign({}, store.get('exporterProviders')), { [this.configName]: dataExporterProvider }));
274
353
  }
275
354
  addElementID() {
276
355
  const dataInfo = { dataUnit: this._dataUnit };
@@ -291,6 +370,17 @@ export class SnkGrid {
291
370
  this.loadGridCustomFormatters(action.payload.fields);
292
371
  return action;
293
372
  }
373
+ async interceptLoadData(action) {
374
+ var _a;
375
+ const hasInvalidFilters = !validateFilters((_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.filterConfig);
376
+ if (hasInvalidFilters) {
377
+ const errorTitle = this.messagesBuilder.getMessage("snkGrid.requiredFiltersNotFilled.title", {});
378
+ const errorMessage = this.messagesBuilder.getMessage("snkGrid.requiredFiltersNotFilled.message", {});
379
+ await this._application.error(errorTitle, errorMessage);
380
+ return;
381
+ }
382
+ return action;
383
+ }
294
384
  finishLoading() {
295
385
  this._dataUnit.addInterceptor(this.dataUnitInterceptor);
296
386
  CrudUtils.assertDefaultSorting(this._gridConfig, this._dataUnit);
@@ -319,15 +409,15 @@ export class SnkGrid {
319
409
  }
320
410
  }
321
411
  componentWillLoad() {
322
- this._application = ApplicationContext.getContextValue("__SNK__APPLICATION__");
412
+ this._application = ApplicationContext.getContextValue('__SNK__APPLICATION__');
323
413
  //TODO: substituir pelo metodo nativo closest
324
414
  let parent = this._element.parentElement;
325
415
  while (parent) {
326
- if (parent.tagName.toUpperCase() === "SNK-DATA-UNIT") {
416
+ if (parent.tagName.toUpperCase() === 'SNK-DATA-UNIT') {
327
417
  this._snkDataUnit = parent;
328
418
  this._dataUnit = this._snkDataUnit.dataUnit;
329
419
  if (!this._dataUnit) {
330
- this._snkDataUnit.addEventListener("dataUnitReady", (evt) => {
420
+ this._snkDataUnit.addEventListener('dataUnitReady', (evt) => {
331
421
  this._dataUnit = evt.detail;
332
422
  this.finishLoading();
333
423
  });
@@ -337,8 +427,8 @@ export class SnkGrid {
337
427
  }
338
428
  if (!this.messagesBuilder)
339
429
  this.messagesBuilder = this._snkDataUnit.messagesBuilder;
340
- this._snkDataUnit.addEventListener("dataStateChange", this.handleDataStateChange.bind(this));
341
- this._snkDataUnit.addEventListener("cancelEdition", () => {
430
+ this._snkDataUnit.addEventListener('dataStateChange', this.handleDataStateChange.bind(this));
431
+ this._snkDataUnit.addEventListener('cancelEdition', () => {
342
432
  var _a;
343
433
  if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.recordsIsEmpty) {
344
434
  this._dataUnit.clearSelection();
@@ -401,23 +491,23 @@ export class SnkGrid {
401
491
  var _a, _b;
402
492
  const hasSelectedRecord = this._dataState && !!((_a = this._dataState.selectionInfo) === null || _a === void 0 ? void 0 : _a.length);
403
493
  const taskbarIdPrefixLookup = {
404
- primary: this.isDetail ? "snkGridHeaderTaskbar.detail" : "snkGridHeaderTaskbar",
405
- secondary: this.isDetail ? "snkGridHeaderTaskbar.detail" : "snkGridHeaderTaskbar",
406
- singleTaskbar: this.isDetail ? "snkGridHeaderTaskbar.singleTaskbar.detail" : "snkGridHeaderTaskbar.singleTaskbar"
494
+ primary: this.isDetail ? 'snkGridHeaderTaskbar.detail' : 'snkGridHeaderTaskbar',
495
+ secondary: this.isDetail ? 'snkGridHeaderTaskbar.detail' : 'snkGridHeaderTaskbar',
496
+ singleTaskbar: this.isDetail ? 'snkGridHeaderTaskbar.singleTaskbar.detail' : 'snkGridHeaderTaskbar.singleTaskbar',
407
497
  };
408
498
  const taskbarIdPrefix = taskbarIdPrefixLookup[this.presentationMode];
409
499
  let headerTaskbarId = hasSelectedRecord ? `${taskbarIdPrefix}.selected` : `${taskbarIdPrefix}.unselected`;
410
500
  if (((_b = this._dataState) === null || _b === void 0 ? void 0 : _b.isDirty) && this.presentationMode === PresentationMode.SINGLE_TASKBAR) {
411
- headerTaskbarId = "snkGridHeaderTaskbar.singleTaskbar.finish_edition";
501
+ headerTaskbarId = 'snkGridHeaderTaskbar.singleTaskbar.finish_edition';
412
502
  }
413
503
  return headerTaskbarId;
414
504
  }
415
505
  getTopTaskBarId() {
416
506
  var _a;
417
507
  const suffixLookup = {
418
- primary: "",
419
- secondary: ".secondary",
420
- singleTaskbar: ".singleTaskbar"
508
+ primary: '',
509
+ secondary: '.secondary',
510
+ singleTaskbar: '.singleTaskbar',
421
511
  };
422
512
  const sufix = suffixLookup[this.presentationMode];
423
513
  if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.isDirty) {
@@ -427,9 +517,9 @@ export class SnkGrid {
427
517
  }
428
518
  getPrimaryButton() {
429
519
  const primaryButtonLookup = {
430
- primary: "INSERT",
431
- secondary: "",
432
- singleTaskbar: "INSERT"
520
+ primary: 'INSERT',
521
+ secondary: '',
522
+ singleTaskbar: 'INSERT',
433
523
  };
434
524
  return primaryButtonLookup[this.presentationMode];
435
525
  }
@@ -469,10 +559,10 @@ export class SnkGrid {
469
559
  getActionsSettingsList() {
470
560
  const hardList = [{
471
561
  value: StringUtils.generateUUID(),
472
- label: this.messagesBuilder.getMessage("snkGrid.findColumn", {}),
562
+ label: this.messagesBuilder.getMessage('snkGrid.findColumn', {}),
473
563
  disableCloseOnSelect: true,
474
564
  eagerInitialize: true,
475
- itemBuilder: (_, item) => this.getColumnSearch(item)
565
+ itemBuilder: (_, item) => this.getColumnSearch(item),
476
566
  }];
477
567
  return hardList;
478
568
  }
@@ -500,7 +590,9 @@ export class SnkGrid {
500
590
  return undefined;
501
591
  }
502
592
  return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large ez-box--no-outline", tabindex: "0" }, h("div", { class: "snk-grid__header ez-margin-bottom--extra-small" }, this._showSnkFilterBar &&
503
- h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium ez-padding-top--extra-small", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none', actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? "snk-grid-container__without-shadow " : "") + "snk-grid__table", "data-element-id": "embedded", dataUnit: this._dataUnit, key: "grid-" + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => { this.gridConfigChangeHandler(evt); }, onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableContinuousInsert: this._enableContinuousInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, outlineMode: this.outlineMode, useSearchColumn: this.useSearchColumn, suppressHorizontalScroll: this.suppressHorizontalScroll, paginationCounterMode: this.paginationCounterMode, suppressCheckboxColumn: this.suppressCheckboxColumn, compact: this.compact }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this.getGridHeaderButtons(), presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId, actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12 snk-grid-container__footer" }, h("slot", { name: "SnkGridFooter" })), h("ez-popup", { size: "medium", heightMode: "auto", useHeader: false, opened: this._popUpGridConfig, onEzClosePopup: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
593
+ h(Fragment, null, h("snk-filter-bar", { ref: (ref) => this._snkFilterBar = ref, title: this.filterBarTitle, dataUnit: this._dataUnit, "data-element-id": "gridFilter", class: "snk-grid__filter-bar ez-align--top", configName: this.configName, messagesBuilder: this.messagesBuilder, resourceID: this.resourceID, onConfigUpdated: evt => this.handleFilterConfigUpdated(evt.detail), disablePersonalizedFilter: this.disablePersonalizedFilter, filterBarLegacyConfigName: this.filterBarLegacyConfigName, autoLoad: this.autoLoad, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, filterCustomConfig: this.filterCustomConfig, filterCustomConfigInterceptor: this.filterCustomConfigInterceptor }), h("hr", { class: "ez-divider-vertical ez-divider--dark ez-margin-left--medium snk-grid__header-divider" })), h("snk-taskbar", { class: "ez-padding-left--medium ez-padding-top--extra-small", "data-element-id": "grid_top", key: "topTaskbar", configName: this.configName, dataUnit: this._dataUnit, messagesBuilder: this.messagesBuilder, buttons: this._topTaskbarProcessor.buttons, disabledButtons: this._topTaskbarProcessor.disabledButtons, customButtons: this._topTaskbarProcessor.customButtons, primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.topTaskbarCustomSlotId, overflowStrategy: 'none', actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.topTaskbarCustomSlotId }))), h("ez-grid", { ref: ref => this._grid = ref, class: (this.presentationMode === PresentationMode.SECONDARY ? 'snk-grid-container__without-shadow ' : '') + 'snk-grid__table', "data-element-id": "embedded", dataUnit: this._dataUnit, key: 'grid-' + this._snkDataUnit.entityName, config: this._gridConfig, onConfigChange: (evt) => {
594
+ this.gridConfigChangeHandler(evt);
595
+ }, onEzColumnFilterChanged: async () => await this.dataExporterProviderStore(), onEzDoubleClick: (evt) => this.gridDoubleClick.emit(evt.detail), statusResolver: this.statusResolver, multipleSelection: this.multipleSelection, columnfilterDataSource: this.columnFilterDataSource, selectionToastConfig: this.selectionToastConfig, useEnterLikeTab: this.useEnterLikeTab, recordsValidator: this.recordsValidator, canEdit: this.canEdit, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableContinuousInsert: this._enableContinuousInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, outlineMode: this.outlineMode, useSearchColumn: this.useSearchColumn, suppressHorizontalScroll: this.suppressHorizontalScroll, paginationCounterMode: this.paginationCounterMode, suppressCheckboxColumn: this.suppressCheckboxColumn, suppressFilterColumn: this.suppressFilterColumn, compact: this.compact }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this.getGridHeaderButtons(), presentationMode: this.presentationMode, disabledButtons: this._headerTaskbarProcessor.disabledButtons, customButtons: this._headerTaskbarProcessor.customButtons, slot: "leftButtons", actionsList: this.getActionsList(), primaryButton: this.getPrimaryButton(), resourceID: this.resourceID, customContainerId: this.taskbarCustomContainerId, customSlotId: this.gridHeaderCustomSlotId, actionsSettingsList: this.getActionsSettingsList() }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12 snk-grid-container__footer" }, h("slot", { name: "SnkGridFooter" })), h("ez-popup", { size: "medium", heightMode: "auto", useHeader: false, opened: this._popUpGridConfig, onEzClosePopup: () => this.closeGridConfig() }, h("snk-grid-config", { ref: ref => this._snkGridConfig = ref, config: this._gridConfig, "data-element-id": this._element.getAttribute(ElementIDUtils.DATA_ELEMENT_ID_ATTRIBUTE_NAME), selectedIndex: 0, configName: this.configName, onConfigChange: (evt) => this.modalConfigChangeHandler(evt), onConfigCancel: () => this.closeGridConfig(), resourceID: this.resourceID }))));
504
596
  }
505
597
  static get is() { return "snk-grid"; }
506
598
  static get encapsulation() { return "scoped"; }
@@ -533,7 +625,7 @@ export class SnkGrid {
533
625
  "optional": false,
534
626
  "docs": {
535
627
  "tags": [],
536
- "text": ""
628
+ "text": "Define o data source para o filtro de colunas."
537
629
  },
538
630
  "defaultValue": "new SnkMultiSelectionListDataSource()"
539
631
  },
@@ -549,7 +641,7 @@ export class SnkGrid {
549
641
  "optional": true,
550
642
  "docs": {
551
643
  "tags": [],
552
- "text": "Define se o componente deve usar o LockManager para controle de carregamento da aplica\u00E7\u00E3o"
644
+ "text": "Define se o componente deve usar o LockManager para controle de carregamento da aplica\u00E7\u00E3o."
553
645
  },
554
646
  "attribute": "enable-lock-manager-loading-comp",
555
647
  "reflect": false,
@@ -585,7 +677,7 @@ export class SnkGrid {
585
677
  "optional": false,
586
678
  "docs": {
587
679
  "tags": [],
588
- "text": "Nome usado para salvar/recuperar a configura\u00E7\u00E3o."
680
+ "text": "Nome usado para salvar e recuperar a configura\u00E7\u00E3o da grade."
589
681
  },
590
682
  "attribute": "config-name",
591
683
  "reflect": false
@@ -602,7 +694,7 @@ export class SnkGrid {
602
694
  "optional": false,
603
695
  "docs": {
604
696
  "tags": [],
605
- "text": "T\u00EDtulo que ser\u00E1 apresentado na barra de filtros"
697
+ "text": "T\u00EDtulo que ser\u00E1 apresentado na barra de filtros."
606
698
  },
607
699
  "attribute": "filter-bar-title",
608
700
  "reflect": false
@@ -619,7 +711,7 @@ export class SnkGrid {
619
711
  "optional": false,
620
712
  "docs": {
621
713
  "tags": [],
622
- "text": "Identificador de recursos como configura\u00E7\u00F5es e acesso."
714
+ "text": "Identificador de recursos, como configura\u00E7\u00F5es e permiss\u00F5es de acesso."
623
715
  },
624
716
  "attribute": "resource-i-d",
625
717
  "reflect": false
@@ -641,7 +733,7 @@ export class SnkGrid {
641
733
  "optional": false,
642
734
  "docs": {
643
735
  "tags": [],
644
- "text": "Configura\u00E7\u00E3o da sele\u00E7\u00E3o de grade no toast."
736
+ "text": "Configura\u00E7\u00E3o do toast de sele\u00E7\u00E3o da grade."
645
737
  }
646
738
  },
647
739
  "actionsList": {
@@ -664,7 +756,7 @@ export class SnkGrid {
664
756
  "optional": false,
665
757
  "docs": {
666
758
  "tags": [],
667
- "text": "Lista de a\u00E7\u00F5es que devem ser usadas no bot\u00E3o \"Mais op\u00E7\u00F5es\" do componente snk-taskbar."
759
+ "text": "Lista de a\u00E7\u00F5es que devem ser usadas no bot\u00E3o \"Mais op\u00E7\u00F5es\" do `snk-taskbar`."
668
760
  }
669
761
  },
670
762
  "isDetail": {
@@ -679,7 +771,7 @@ export class SnkGrid {
679
771
  "optional": false,
680
772
  "docs": {
681
773
  "tags": [],
682
- "text": "Determina se a grade est\u00E1 vinculada a um detalhe."
774
+ "text": "Determina se a grade est\u00E1 vinculada a um detalhe de outra tela."
683
775
  },
684
776
  "attribute": "is-detail",
685
777
  "reflect": false
@@ -701,7 +793,7 @@ export class SnkGrid {
701
793
  "optional": false,
702
794
  "docs": {
703
795
  "tags": [],
704
- "text": "Gerenciador das barras de tarefas. \u00C9 poss\u00EDvel determinar bot\u00F5es espec\u00EDficos\nou mesmo gerenciar o estado dos bot\u00F5es."
796
+ "text": "Gerenciador das barras de tarefas. Permite determinar bot\u00F5es espec\u00EDficos\nou gerenciar o estado dos bot\u00F5es."
705
797
  }
706
798
  },
707
799
  "statusResolver": {
@@ -724,8 +816,11 @@ export class SnkGrid {
724
816
  "required": false,
725
817
  "optional": false,
726
818
  "docs": {
727
- "tags": [],
728
- "text": "Configura\u00E7\u00E3o do valor da coluna de status.\nExemplo: '{ \"RECDESP\": { \"-1\" : \"#BD0025\", \"1\" : \"#157A00\" } }'"
819
+ "tags": [{
820
+ "name": "example",
821
+ "text": "```json\n'{ \"RECDESP\": { \"-1\" : \"#BD0025\", \"1\" : \"#157A00\" } }'\n```"
822
+ }],
823
+ "text": "Define a configura\u00E7\u00E3o de cores para a coluna de status."
729
824
  }
730
825
  },
731
826
  "multipleSelection": {
@@ -740,7 +835,7 @@ export class SnkGrid {
740
835
  "optional": false,
741
836
  "docs": {
742
837
  "tags": [],
743
- "text": "Determina se pode haver mais de uma linha selecionada."
838
+ "text": "Determina se a sele\u00E7\u00E3o de m\u00FAltiplas linhas \u00E9 permitida."
744
839
  },
745
840
  "attribute": "multiple-selection",
746
841
  "reflect": false
@@ -762,7 +857,7 @@ export class SnkGrid {
762
857
  "optional": false,
763
858
  "docs": {
764
859
  "tags": [],
765
- "text": "Altera o modo de apresenta\u00E7\u00E3o dos bot\u00F5es do snk-taskbar."
860
+ "text": "Altera o modo de apresenta\u00E7\u00E3o dos bot\u00F5es do `snk-taskbar`."
766
861
  },
767
862
  "attribute": "presentation-mode",
768
863
  "reflect": false,
@@ -800,7 +895,7 @@ export class SnkGrid {
800
895
  "optional": false,
801
896
  "docs": {
802
897
  "tags": [],
803
- "text": "Quando verdadeiro, o ENTER far\u00E1 a navega\u00E7\u00E3o como se fosse a tecla TAB na grade."
898
+ "text": "Quando `true`, a tecla ENTER navega entre as c\u00E9lulas como a tecla TAB."
804
899
  },
805
900
  "attribute": "use-enter-like-tab",
806
901
  "reflect": false,
@@ -823,7 +918,7 @@ export class SnkGrid {
823
918
  "optional": false,
824
919
  "docs": {
825
920
  "tags": [],
826
- "text": "Validador respons\u00E1vel por checar a integridade das informa\u00E7\u00F5es do registro."
921
+ "text": "Validador respons\u00E1vel por verificar a integridade dos dados de um registro."
827
922
  }
828
923
  },
829
924
  "canEdit": {
@@ -838,7 +933,7 @@ export class SnkGrid {
838
933
  "optional": false,
839
934
  "docs": {
840
935
  "tags": [],
841
- "text": "Define se a edi\u00E7\u00E3o est\u00E1 habilitada na grid."
936
+ "text": "Define se a edi\u00E7\u00E3o de dados na grade est\u00E1 habilitada."
842
937
  },
843
938
  "attribute": "can-edit",
844
939
  "reflect": false,
@@ -856,7 +951,7 @@ export class SnkGrid {
856
951
  "optional": false,
857
952
  "docs": {
858
953
  "tags": [],
859
- "text": "Define o identificador do container de elementos customizados da Taskbar."
954
+ "text": "Define o identificador do cont\u00EAiner de elementos customizados da `Taskbar`."
860
955
  },
861
956
  "attribute": "taskbar-custom-container-id",
862
957
  "reflect": false
@@ -873,7 +968,7 @@ export class SnkGrid {
873
968
  "optional": false,
874
969
  "docs": {
875
970
  "tags": [],
876
- "text": "Nome do slot de elementos customizados da Taskbar do cabe\u00E7alho da grade."
971
+ "text": "Define o nome do slot para elementos customizados na `Taskbar` do cabe\u00E7alho da grade."
877
972
  },
878
973
  "attribute": "grid-header-custom-slot-id",
879
974
  "reflect": false,
@@ -891,7 +986,7 @@ export class SnkGrid {
891
986
  "optional": false,
892
987
  "docs": {
893
988
  "tags": [],
894
- "text": "Nome do slot de elementos customizados da Taskbar principal do componente."
989
+ "text": "Define o nome do slot para elementos customizados na `Taskbar` principal do componente."
895
990
  },
896
991
  "attribute": "top-taskbar-custom-slot-id",
897
992
  "reflect": false,
@@ -909,7 +1004,7 @@ export class SnkGrid {
909
1004
  "optional": false,
910
1005
  "docs": {
911
1006
  "tags": [],
912
- "text": "Desabilita a apresenta\u00E7\u00E3o da op\u00E7\u00E3o de filtros personalizados na filter bar (chip de filtros)\ne no modal lateral de filtros (container de filtros personalizados)."
1007
+ "text": "Desabilita a apresenta\u00E7\u00E3o da op\u00E7\u00E3o de filtros personalizados na barra de filtros (chip de filtros)\ne no modal lateral de filtros (cont\u00EAiner de filtros personalizados)."
913
1008
  },
914
1009
  "attribute": "disable-personalized-filter",
915
1010
  "reflect": false
@@ -926,7 +1021,7 @@ export class SnkGrid {
926
1021
  "optional": false,
927
1022
  "docs": {
928
1023
  "tags": [],
929
- "text": "Chave da configura\u00E7\u00E3o legado da grade."
1024
+ "text": "Chave da configura\u00E7\u00E3o legada da grade."
930
1025
  },
931
1026
  "attribute": "grid-legacy-config-name",
932
1027
  "reflect": false
@@ -943,7 +1038,7 @@ export class SnkGrid {
943
1038
  "optional": false,
944
1039
  "docs": {
945
1040
  "tags": [],
946
- "text": "Chave da configura\u00E7\u00E3o legado da barra de filtros."
1041
+ "text": "Chave da configura\u00E7\u00E3o legada da barra de filtros."
947
1042
  },
948
1043
  "attribute": "filter-bar-legacy-config-name",
949
1044
  "reflect": false
@@ -960,7 +1055,7 @@ export class SnkGrid {
960
1055
  "optional": true,
961
1056
  "docs": {
962
1057
  "tags": [],
963
- "text": "Define se a carga dos dados ser\u00E1 feita assim que o componente for carregado."
1058
+ "text": "Define se os dados ser\u00E3o carregados automaticamente na inicializa\u00E7\u00E3o do componente."
964
1059
  },
965
1060
  "attribute": "auto-load",
966
1061
  "reflect": false
@@ -977,7 +1072,7 @@ export class SnkGrid {
977
1072
  "optional": true,
978
1073
  "docs": {
979
1074
  "tags": [],
980
- "text": "Define se a grid ser\u00E1 focada ao ser carregada."
1075
+ "text": "Define se a grade receber\u00E1 o foco automaticamente ao ser carregada."
981
1076
  },
982
1077
  "attribute": "auto-focus",
983
1078
  "reflect": false,
@@ -995,7 +1090,7 @@ export class SnkGrid {
995
1090
  "optional": true,
996
1091
  "docs": {
997
1092
  "tags": [],
998
- "text": "Ativa inser\u00E7\u00E3o de registros no modo grade."
1093
+ "text": "Habilita a inser\u00E7\u00E3o de registros diretamente na grade."
999
1094
  },
1000
1095
  "attribute": "enable-grid-insert",
1001
1096
  "reflect": false,
@@ -1013,7 +1108,7 @@ export class SnkGrid {
1013
1108
  "optional": true,
1014
1109
  "docs": {
1015
1110
  "tags": [],
1016
- "text": "Altera visualmente as sombras e bordas do componente\nQuando false, aplica o padr\u00E3o de sombras ao componente (Utilizar quando for o elemento principal do layout)\nQuando true, aplica o padr\u00E3o de outline ao componente (Utilizar quando estiver contido em outro elemento como um painel ou pop-up)"
1111
+ "text": "Altera a apar\u00EAncia das bordas e sombras do componente.\nSe `false`, aplica o padr\u00E3o de sombras (ideal para o elemento principal do layout).\nSe `true`, aplica um contorno (ideal para quando o componente est\u00E1 dentro de outro, como um painel ou pop-up)."
1017
1112
  },
1018
1113
  "attribute": "outline-mode",
1019
1114
  "reflect": false,
@@ -1031,7 +1126,7 @@ export class SnkGrid {
1031
1126
  "optional": false,
1032
1127
  "docs": {
1033
1128
  "tags": [],
1034
- "text": "Define se a grade deve suprimir o scroll horizontal."
1129
+ "text": "Define se a grade deve suprimir a barra de rolagem horizontal."
1035
1130
  },
1036
1131
  "attribute": "suppress-horizontal-scroll",
1037
1132
  "reflect": false,
@@ -1054,7 +1149,7 @@ export class SnkGrid {
1054
1149
  "optional": false,
1055
1150
  "docs": {
1056
1151
  "tags": [],
1057
- "text": "Modo de exporta\u00E7\u00E3o dos dados."
1152
+ "text": "Define o modo de exporta\u00E7\u00E3o dos dados."
1058
1153
  },
1059
1154
  "attribute": "strategy-exporter",
1060
1155
  "reflect": false,
@@ -1072,7 +1167,7 @@ export class SnkGrid {
1072
1167
  "optional": false,
1073
1168
  "docs": {
1074
1169
  "tags": [],
1075
- "text": "Define se a grade deve exibir um buscador de coluna com uso do Ctrl+F"
1170
+ "text": "Define se a grade deve exibir um buscador de colunas ao pressionar `Ctrl+F`."
1076
1171
  },
1077
1172
  "attribute": "use-search-column",
1078
1173
  "reflect": false,
@@ -1090,7 +1185,7 @@ export class SnkGrid {
1090
1185
  "optional": false,
1091
1186
  "docs": {
1092
1187
  "tags": [],
1093
- "text": "Habilita a edi\u00E7\u00E3o de m\u00FAltiplos registros simult\u00E2neos."
1188
+ "text": "Habilita a edi\u00E7\u00E3o de m\u00FAltiplos registros simultaneamente."
1094
1189
  },
1095
1190
  "attribute": "multiple-edition-enabled",
1096
1191
  "reflect": false,
@@ -1108,7 +1203,7 @@ export class SnkGrid {
1108
1203
  "optional": true,
1109
1204
  "docs": {
1110
1205
  "tags": [],
1111
- "text": "Define se a grid ser\u00E1 focada ao ser carregada."
1206
+ "text": "Define o modo de exibi\u00E7\u00E3o do contador de pagina\u00E7\u00E3o."
1112
1207
  },
1113
1208
  "attribute": "pagination-counter-mode",
1114
1209
  "reflect": false,
@@ -1126,11 +1221,29 @@ export class SnkGrid {
1126
1221
  "optional": false,
1127
1222
  "docs": {
1128
1223
  "tags": [],
1129
- "text": "Informa se a coluna de chechbox deve ser suprimida"
1224
+ "text": "Informa se a coluna de checkbox deve ser suprimida."
1130
1225
  },
1131
1226
  "attribute": "suppress-checkbox-column",
1132
1227
  "reflect": false
1133
1228
  },
1229
+ "suppressFilterColumn": {
1230
+ "type": "boolean",
1231
+ "mutable": true,
1232
+ "complexType": {
1233
+ "original": "boolean",
1234
+ "resolved": "boolean",
1235
+ "references": {}
1236
+ },
1237
+ "required": false,
1238
+ "optional": true,
1239
+ "docs": {
1240
+ "tags": [],
1241
+ "text": "Informa se a grade deve suprimir o filtro de coluna."
1242
+ },
1243
+ "attribute": "suppress-filter-column",
1244
+ "reflect": false,
1245
+ "defaultValue": "false"
1246
+ },
1134
1247
  "compact": {
1135
1248
  "type": "boolean",
1136
1249
  "mutable": false,
@@ -1143,10 +1256,71 @@ export class SnkGrid {
1143
1256
  "optional": false,
1144
1257
  "docs": {
1145
1258
  "tags": [],
1146
- "text": "Define se a grade deve ser exibida em modo compacto"
1259
+ "text": "Define se a grade deve ser exibida em modo compacto."
1147
1260
  },
1148
1261
  "attribute": "compact",
1149
1262
  "reflect": false
1263
+ },
1264
+ "filterCustomConfig": {
1265
+ "type": "unknown",
1266
+ "mutable": false,
1267
+ "complexType": {
1268
+ "original": "Array<SnkFilterItemConfig>",
1269
+ "resolved": "SnkFilterItemConfig[]",
1270
+ "references": {
1271
+ "Array": {
1272
+ "location": "global"
1273
+ },
1274
+ "SnkFilterItemConfig": {
1275
+ "location": "import",
1276
+ "path": "../snk-filter-bar/filter-item/snk-filter-item"
1277
+ }
1278
+ }
1279
+ },
1280
+ "required": false,
1281
+ "optional": true,
1282
+ "docs": {
1283
+ "tags": [{
1284
+ "name": "description",
1285
+ "text": "Configura\u00E7\u00E3o customizada dos filtros."
1286
+ }, {
1287
+ "name": "param",
1288
+ "text": "config - Lista de configura\u00E7\u00F5es de filtros."
1289
+ }],
1290
+ "text": ""
1291
+ }
1292
+ },
1293
+ "filterCustomConfigInterceptor": {
1294
+ "type": "unknown",
1295
+ "mutable": false,
1296
+ "complexType": {
1297
+ "original": "(config: Array<SnkFilterItemConfig>) => Array<SnkFilterItemConfig>",
1298
+ "resolved": "(config: SnkFilterItemConfig[]) => SnkFilterItemConfig[]",
1299
+ "references": {
1300
+ "Array": {
1301
+ "location": "global"
1302
+ },
1303
+ "SnkFilterItemConfig": {
1304
+ "location": "import",
1305
+ "path": "../snk-filter-bar/filter-item/snk-filter-item"
1306
+ }
1307
+ }
1308
+ },
1309
+ "required": false,
1310
+ "optional": true,
1311
+ "docs": {
1312
+ "tags": [{
1313
+ "name": "description",
1314
+ "text": "Intercepta a configura\u00E7\u00E3o dos filtros antes de serem aplicadas."
1315
+ }, {
1316
+ "name": "param",
1317
+ "text": "config - Lista de configura\u00E7\u00F5es de filtros."
1318
+ }, {
1319
+ "name": "returns",
1320
+ "text": "Retorna a lista de configura\u00E7\u00F5es de filtros."
1321
+ }],
1322
+ "text": ""
1323
+ }
1150
1324
  }
1151
1325
  };
1152
1326
  }
@@ -1168,8 +1342,14 @@ export class SnkGrid {
1168
1342
  "cancelable": true,
1169
1343
  "composed": true,
1170
1344
  "docs": {
1171
- "tags": [],
1172
- "text": "Emitido sempre que houver click de bot\u00E3o ou a\u00E7\u00E3o."
1345
+ "tags": [{
1346
+ "name": "description",
1347
+ "text": "Este evento \u00E9 acionado quando o usu\u00E1rio clica em um bot\u00E3o de a\u00E7\u00E3o ou item de menu na grade, permitindo a execu\u00E7\u00E3o de a\u00E7\u00F5es espec\u00EDficas."
1348
+ }, {
1349
+ "name": "param",
1350
+ "text": "detail - O identificador da a\u00E7\u00E3o clicada, que pode ser usado para determinar qual a\u00E7\u00E3o executar."
1351
+ }],
1352
+ "text": "Emitido ao clicar em um bot\u00E3o de a\u00E7\u00E3o ou item de menu."
1173
1353
  },
1174
1354
  "complexType": {
1175
1355
  "original": "string",
@@ -1183,8 +1363,14 @@ export class SnkGrid {
1183
1363
  "cancelable": true,
1184
1364
  "composed": true,
1185
1365
  "docs": {
1186
- "tags": [],
1187
- "text": "Emitido sempre que houver duplo click na grade."
1366
+ "tags": [{
1367
+ "name": "description",
1368
+ "text": "Este evento \u00E9 acionado quando o usu\u00E1rio clica duas vezes em uma linha da grade, permitindo a\u00E7\u00F5es como edi\u00E7\u00E3o r\u00E1pida ou visualiza\u00E7\u00E3o de detalhes."
1369
+ }, {
1370
+ "name": "param",
1371
+ "text": "detail - Detalhes do evento, contendo a linha clicada."
1372
+ }],
1373
+ "text": "Emitido ao realizar um duplo clique em uma linha da grade."
1188
1374
  },
1189
1375
  "complexType": {
1190
1376
  "original": "any",
@@ -1210,11 +1396,15 @@ export class SnkGrid {
1210
1396
  }
1211
1397
  static get methods() {
1212
1398
  return {
1213
- "reloadConfig": {
1399
+ "refreshColumnFilterDataSource": {
1214
1400
  "complexType": {
1215
1401
  "signature": "() => Promise<void>",
1216
1402
  "parameters": [],
1217
- "references": {},
1403
+ "references": {
1404
+ "Promise": {
1405
+ "location": "global"
1406
+ }
1407
+ },
1218
1408
  "return": "Promise<void>"
1219
1409
  },
1220
1410
  "docs": {
@@ -1222,6 +1412,21 @@ export class SnkGrid {
1222
1412
  "tags": []
1223
1413
  }
1224
1414
  },
1415
+ "reloadConfig": {
1416
+ "complexType": {
1417
+ "signature": "() => Promise<void>",
1418
+ "parameters": [],
1419
+ "references": {},
1420
+ "return": "Promise<void>"
1421
+ },
1422
+ "docs": {
1423
+ "text": "Recarrega a configura\u00E7\u00E3o da grade.",
1424
+ "tags": [{
1425
+ "name": "description",
1426
+ "text": "Este m\u00E9todo for\u00E7a o recarregamento da configura\u00E7\u00E3o da grade a partir do `ConfigStorage`. A opera\u00E7\u00E3o \u00E9 ass\u00EDncrona, mas o m\u00E9todo n\u00E3o aguarda sua conclus\u00E3o."
1427
+ }]
1428
+ }
1429
+ },
1225
1430
  "showConfig": {
1226
1431
  "complexType": {
1227
1432
  "signature": "() => Promise<void>",
@@ -1235,7 +1440,16 @@ export class SnkGrid {
1235
1440
  },
1236
1441
  "docs": {
1237
1442
  "text": "Exibe a janela de configura\u00E7\u00F5es da grade.",
1238
- "tags": []
1443
+ "tags": [{
1444
+ "name": "async",
1445
+ "text": undefined
1446
+ }, {
1447
+ "name": "description",
1448
+ "text": "Este m\u00E9todo abre o pop-up de configura\u00E7\u00E3o de colunas da grade, permitindo ao usu\u00E1rio ajustar a visibilidade, ordem e largura das colunas."
1449
+ }, {
1450
+ "name": "returns",
1451
+ "text": "Uma promessa que \u00E9 resolvida quando a janela de configura\u00E7\u00E3o \u00E9 exibida."
1452
+ }]
1239
1453
  }
1240
1454
  },
1241
1455
  "hideConfig": {
@@ -1251,15 +1465,27 @@ export class SnkGrid {
1251
1465
  },
1252
1466
  "docs": {
1253
1467
  "text": "Fecha a janela de configura\u00E7\u00F5es da grade.",
1254
- "tags": []
1468
+ "tags": [{
1469
+ "name": "async",
1470
+ "text": undefined
1471
+ }, {
1472
+ "name": "description",
1473
+ "text": "Este m\u00E9todo fecha o pop-up de configura\u00E7\u00E3o de colunas da grade."
1474
+ }, {
1475
+ "name": "returns",
1476
+ "text": "Uma promessa que \u00E9 resolvida quando a janela de configura\u00E7\u00E3o \u00E9 fechada."
1477
+ }]
1255
1478
  }
1256
1479
  },
1257
1480
  "setConfig": {
1258
1481
  "complexType": {
1259
1482
  "signature": "(config: IGridConfig) => Promise<void>",
1260
1483
  "parameters": [{
1261
- "tags": [],
1262
- "text": ""
1484
+ "tags": [{
1485
+ "name": "param",
1486
+ "text": "config O objeto de configura\u00E7\u00E3o a ser aplicado na grade."
1487
+ }],
1488
+ "text": "O objeto de configura\u00E7\u00E3o a ser aplicado na grade."
1263
1489
  }],
1264
1490
  "references": {
1265
1491
  "Promise": {
@@ -1273,8 +1499,20 @@ export class SnkGrid {
1273
1499
  "return": "Promise<void>"
1274
1500
  },
1275
1501
  "docs": {
1276
- "text": "Atribui o valor da configura\u00E7\u00E3o da grade.",
1277
- "tags": []
1502
+ "text": "Define a configura\u00E7\u00E3o da grade.",
1503
+ "tags": [{
1504
+ "name": "async",
1505
+ "text": undefined
1506
+ }, {
1507
+ "name": "description",
1508
+ "text": "Aplica uma nova configura\u00E7\u00E3o de colunas e ordena\u00E7\u00E3o \u00E0 grade."
1509
+ }, {
1510
+ "name": "param",
1511
+ "text": "config O objeto de configura\u00E7\u00E3o a ser aplicado na grade."
1512
+ }, {
1513
+ "name": "returns",
1514
+ "text": "Uma promessa que \u00E9 resolvida quando a configura\u00E7\u00E3o \u00E9 aplicada."
1515
+ }]
1278
1516
  }
1279
1517
  },
1280
1518
  "reloadFilterBar": {
@@ -1289,8 +1527,17 @@ export class SnkGrid {
1289
1527
  "return": "Promise<void>"
1290
1528
  },
1291
1529
  "docs": {
1292
- "text": "Faz o recarregamento da filter-bar da grade buscando o state no servidor.",
1293
- "tags": []
1530
+ "text": "Recarrega a barra de filtros da grade, buscando o estado do servidor.",
1531
+ "tags": [{
1532
+ "name": "async",
1533
+ "text": undefined
1534
+ }, {
1535
+ "name": "description",
1536
+ "text": "For\u00E7a o recarregamento da barra de filtros, atualizando suas configura\u00E7\u00F5es e filtros a partir do servidor."
1537
+ }, {
1538
+ "name": "returns",
1539
+ "text": "Uma promessa que \u00E9 resolvida quando a barra de filtros \u00E9 recarregada."
1540
+ }]
1294
1541
  }
1295
1542
  },
1296
1543
  "getFilterBar": {
@@ -1308,22 +1555,40 @@ export class SnkGrid {
1308
1555
  "return": "Promise<HTMLSnkFilterBarElement>"
1309
1556
  },
1310
1557
  "docs": {
1311
- "text": "Retorna o elemento da filter-bar da grade.",
1312
- "tags": []
1558
+ "text": "Retorna o elemento da barra de filtros da grade.",
1559
+ "tags": [{
1560
+ "name": "async",
1561
+ "text": undefined
1562
+ }, {
1563
+ "name": "description",
1564
+ "text": "Este m\u00E9todo permite acessar o elemento da barra de filtros, que pode ser \u00FAtil para manipula\u00E7\u00F5es adicionais ou para obter o estado atual dos filtros aplicados."
1565
+ }, {
1566
+ "name": "returns",
1567
+ "text": "O elemento da barra de filtros."
1568
+ }]
1313
1569
  }
1314
1570
  },
1315
1571
  "addCustomEditor": {
1316
1572
  "complexType": {
1317
1573
  "signature": "(fieldName: string, customEditor: ICustomEditor, detailContext?: string) => Promise<void>",
1318
1574
  "parameters": [{
1319
- "tags": [],
1320
- "text": ""
1575
+ "tags": [{
1576
+ "name": "param",
1577
+ "text": "fieldName O nome do campo que receber\u00E1 o editor customizado."
1578
+ }],
1579
+ "text": "O nome do campo que receber\u00E1 o editor customizado."
1321
1580
  }, {
1322
- "tags": [],
1323
- "text": ""
1581
+ "tags": [{
1582
+ "name": "param",
1583
+ "text": "customEditor A inst\u00E2ncia do editor customizado."
1584
+ }],
1585
+ "text": "A inst\u00E2ncia do editor customizado."
1324
1586
  }, {
1325
- "tags": [],
1326
- "text": ""
1587
+ "tags": [{
1588
+ "name": "param",
1589
+ "text": "detailContext O contexto de detalhe onde o editor ser\u00E1 aplicado (opcional)."
1590
+ }],
1591
+ "text": "O contexto de detalhe onde o editor ser\u00E1 aplicado (opcional)."
1327
1592
  }],
1328
1593
  "references": {
1329
1594
  "Promise": {
@@ -1337,22 +1602,49 @@ export class SnkGrid {
1337
1602
  "return": "Promise<void>"
1338
1603
  },
1339
1604
  "docs": {
1340
- "text": "Registra um editor customizado para campos da grade e formul\u00E1rio",
1341
- "tags": []
1605
+ "text": "Registra um editor customizado para um campo da grade ou formul\u00E1rio.",
1606
+ "tags": [{
1607
+ "name": "async",
1608
+ "text": undefined
1609
+ }, {
1610
+ "name": "description",
1611
+ "text": "Adiciona um componente de edi\u00E7\u00E3o personalizado para um campo espec\u00EDfico. Este editor ser\u00E1 usado tanto na edi\u00E7\u00E3o em linha na grade quanto em formul\u00E1rios de detalhe."
1612
+ }, {
1613
+ "name": "param",
1614
+ "text": "fieldName O nome do campo que receber\u00E1 o editor customizado."
1615
+ }, {
1616
+ "name": "param",
1617
+ "text": "customEditor A inst\u00E2ncia do editor customizado."
1618
+ }, {
1619
+ "name": "param",
1620
+ "text": "detailContext O contexto de detalhe onde o editor ser\u00E1 aplicado (opcional)."
1621
+ }, {
1622
+ "name": "returns",
1623
+ "text": "Uma promessa que \u00E9 resolvida quando o editor \u00E9 registrado."
1624
+ }]
1342
1625
  }
1343
1626
  },
1344
1627
  "addGridCustomRender": {
1345
1628
  "complexType": {
1346
1629
  "signature": "(fieldName: string, customRender: ICustomRender, detailContext?: string) => Promise<void>",
1347
1630
  "parameters": [{
1348
- "tags": [],
1349
- "text": ""
1631
+ "tags": [{
1632
+ "name": "param",
1633
+ "text": "fieldName O nome do campo (coluna) que receber\u00E1 o renderizador customizado."
1634
+ }],
1635
+ "text": "O nome do campo (coluna) que receber\u00E1 o renderizador customizado."
1350
1636
  }, {
1351
- "tags": [],
1352
- "text": ""
1637
+ "tags": [{
1638
+ "name": "param",
1639
+ "text": "customRender A inst\u00E2ncia do renderizador customizado."
1640
+ }],
1641
+ "text": "A inst\u00E2ncia do renderizador customizado."
1353
1642
  }, {
1354
- "tags": [],
1355
- "text": ""
1643
+ "tags": [{
1644
+ "name": "param",
1645
+ "text": "detailContext O contexto de detalhe onde o renderizador ser\u00E1 aplicado (opcional)."
1646
+ }],
1647
+ "text": "O contexto de detalhe onde o renderizador ser\u00E1 aplicado (opcional)."
1356
1648
  }],
1357
1649
  "references": {
1358
1650
  "Promise": {
@@ -1366,19 +1658,43 @@ export class SnkGrid {
1366
1658
  "return": "Promise<void>"
1367
1659
  },
1368
1660
  "docs": {
1369
- "text": "Registra um render customizado para colunas da grid.",
1370
- "tags": []
1661
+ "text": "Registra um renderizador customizado para uma coluna da grade.",
1662
+ "tags": [{
1663
+ "name": "async",
1664
+ "text": undefined
1665
+ }, {
1666
+ "name": "description",
1667
+ "text": "Adiciona um componente de renderiza\u00E7\u00E3o personalizado para uma coluna espec\u00EDfica, permitindo a exibi\u00E7\u00E3o de conte\u00FAdo customizado nas c\u00E9lulas."
1668
+ }, {
1669
+ "name": "param",
1670
+ "text": "fieldName O nome do campo (coluna) que receber\u00E1 o renderizador customizado."
1671
+ }, {
1672
+ "name": "param",
1673
+ "text": "customRender A inst\u00E2ncia do renderizador customizado."
1674
+ }, {
1675
+ "name": "param",
1676
+ "text": "detailContext O contexto de detalhe onde o renderizador ser\u00E1 aplicado (opcional)."
1677
+ }, {
1678
+ "name": "returns",
1679
+ "text": "Uma promessa que \u00E9 resolvida quando o renderizador \u00E9 registrado."
1680
+ }]
1371
1681
  }
1372
1682
  },
1373
1683
  "addCustomValueFormatter": {
1374
1684
  "complexType": {
1375
1685
  "signature": "(columnName: string, customFormatter: ICustomFormatter) => Promise<void>",
1376
1686
  "parameters": [{
1377
- "tags": [],
1378
- "text": ""
1687
+ "tags": [{
1688
+ "name": "param",
1689
+ "text": "columnName O nome da coluna que receber\u00E1 o formatador."
1690
+ }],
1691
+ "text": "O nome da coluna que receber\u00E1 o formatador."
1379
1692
  }, {
1380
- "tags": [],
1381
- "text": ""
1693
+ "tags": [{
1694
+ "name": "param",
1695
+ "text": "customFormatter A inst\u00E2ncia do formatador de valor."
1696
+ }],
1697
+ "text": "A inst\u00E2ncia do formatador de valor."
1382
1698
  }],
1383
1699
  "references": {
1384
1700
  "Promise": {
@@ -1392,16 +1708,34 @@ export class SnkGrid {
1392
1708
  "return": "Promise<void>"
1393
1709
  },
1394
1710
  "docs": {
1395
- "text": "Registra um formatador de valores para uma coluna da grid.",
1396
- "tags": []
1711
+ "text": "Registra um formatador de valor customizado para uma coluna da grade.",
1712
+ "tags": [{
1713
+ "name": "async",
1714
+ "text": undefined
1715
+ }, {
1716
+ "name": "description",
1717
+ "text": "Adiciona uma fun\u00E7\u00E3o de formata\u00E7\u00E3o personalizada para os valores de uma coluna espec\u00EDfica, afetando como os dados s\u00E3o exibidos."
1718
+ }, {
1719
+ "name": "param",
1720
+ "text": "columnName O nome da coluna que receber\u00E1 o formatador."
1721
+ }, {
1722
+ "name": "param",
1723
+ "text": "customFormatter A inst\u00E2ncia do formatador de valor."
1724
+ }, {
1725
+ "name": "returns",
1726
+ "text": "Uma promessa que \u00E9 resolvida quando o formatador \u00E9 registrado."
1727
+ }]
1397
1728
  }
1398
1729
  },
1399
1730
  "removeCustomValueFormatter": {
1400
1731
  "complexType": {
1401
1732
  "signature": "(columnName: string) => Promise<void>",
1402
1733
  "parameters": [{
1403
- "tags": [],
1404
- "text": ""
1734
+ "tags": [{
1735
+ "name": "param",
1736
+ "text": "columnName O nome da coluna da qual o formatador ser\u00E1 removido."
1737
+ }],
1738
+ "text": "O nome da coluna da qual o formatador ser\u00E1 removido."
1405
1739
  }],
1406
1740
  "references": {
1407
1741
  "Promise": {
@@ -1411,8 +1745,20 @@ export class SnkGrid {
1411
1745
  "return": "Promise<void>"
1412
1746
  },
1413
1747
  "docs": {
1414
- "text": "Remove o formatador de valores de uma coluna da grid.",
1415
- "tags": []
1748
+ "text": "Remove um formatador de valor customizado de uma coluna da grade.",
1749
+ "tags": [{
1750
+ "name": "async",
1751
+ "text": undefined
1752
+ }, {
1753
+ "name": "description",
1754
+ "text": "Remove uma fun\u00E7\u00E3o de formata\u00E7\u00E3o personalizada previamente registrada para uma coluna."
1755
+ }, {
1756
+ "name": "param",
1757
+ "text": "columnName O nome da coluna da qual o formatador ser\u00E1 removido."
1758
+ }, {
1759
+ "name": "returns",
1760
+ "text": "Uma promessa que \u00E9 resolvida quando o formatador \u00E9 removido."
1761
+ }]
1416
1762
  }
1417
1763
  },
1418
1764
  "setFocus": {
@@ -1428,7 +1774,16 @@ export class SnkGrid {
1428
1774
  },
1429
1775
  "docs": {
1430
1776
  "text": "Atribui o foco para a grade.",
1431
- "tags": []
1777
+ "tags": [{
1778
+ "name": "async",
1779
+ "text": undefined
1780
+ }, {
1781
+ "name": "description",
1782
+ "text": "Move o foco do navegador para o componente da grade, permitindo a navega\u00E7\u00E3o por teclado."
1783
+ }, {
1784
+ "name": "returns",
1785
+ "text": "Uma promessa que \u00E9 resolvida quando o foco \u00E9 atribu\u00EDdo."
1786
+ }]
1432
1787
  }
1433
1788
  }
1434
1789
  };