@sankhyalabs/sankhyablocks 8.16.0-dev.7 → 8.16.0-dev.71

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 (336) hide show
  1. package/dist/cjs/{ConfigStorage-a343e418.js → ConfigStorage-d024aec8.js} +2 -2
  2. package/dist/cjs/{IExporterProvider-597949f9.js → ContinuousInsertUtils-54d44192.js} +65 -23
  3. package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-65879b2c.js} +216 -76
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/{SnkFormConfigManager-166cbd1f.js → SnkFormConfigManager-07f747be.js} +75 -17
  6. package/dist/cjs/{SnkMessageBuilder-722b104e.js → SnkMessageBuilder-bae64d0d.js} +7 -3
  7. package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-8480751c.js} +1 -1
  8. package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-8ea97d88.js} +48 -20
  9. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  10. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-90126e4c.js} +42 -2
  11. package/dist/cjs/index-f9e81701.js +16 -32
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/cjs/{pesquisa-fetcher-680e198f.js → pesquisa-fetcher-f3454c23.js} +185 -2
  14. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +133 -0
  15. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  16. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_5.cjs.entry.js} +136 -40
  17. package/dist/cjs/snk-application.cjs.entry.js +248 -69
  18. package/dist/cjs/snk-attach.cjs.entry.js +46 -33
  19. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +398 -12
  20. package/dist/cjs/snk-crud.cjs.entry.js +22 -8
  21. package/dist/cjs/snk-data-exporter.cjs.entry.js +34 -22
  22. package/dist/cjs/{snk-data-unit-04df81bf.js → snk-data-unit-72ef8777.js} +54 -32
  23. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  24. package/dist/cjs/snk-detail-view.cjs.entry.js +12 -12
  25. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  26. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1436 -0
  27. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  28. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  29. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  30. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  31. package/dist/cjs/snk-grid.cjs.entry.js +71 -21
  32. package/dist/cjs/{snk-guides-viewer-bdc41281.js → snk-guides-viewer-b20b0cfd.js} +29 -13
  33. package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
  34. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  35. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  36. package/dist/cjs/snk-pesquisa.cjs.entry.js +123 -31
  37. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  38. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  39. package/dist/cjs/snk-simple-crud.cjs.entry.js +101 -45
  40. package/dist/cjs/snk-taskbar.cjs.entry.js +64 -38
  41. package/dist/collection/collection-manifest.json +14 -31
  42. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  43. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  44. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  45. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  46. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  47. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  48. package/dist/collection/components/snk-application/snk-application.css +34 -0
  49. package/dist/collection/components/snk-application/snk-application.js +235 -64
  50. package/dist/collection/components/snk-attach/snk-attach.js +25 -16
  51. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  52. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -4
  53. package/dist/collection/components/snk-crud/snk-crud.js +122 -3
  54. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +3 -3
  55. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  56. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +72 -6
  57. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  58. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +13 -7
  59. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  60. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +1 -1
  61. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +1 -1
  62. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  63. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +3 -5
  64. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  65. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  66. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  67. package/dist/collection/components/snk-data-unit/snk-data-unit.js +52 -30
  68. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  69. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  70. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  71. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  72. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  73. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  74. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +5 -1
  75. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  76. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  77. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -1
  78. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +118 -28
  79. package/dist/collection/components/snk-form/snk-form.js +2 -2
  80. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  81. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  82. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  83. package/dist/collection/components/snk-grid/snk-grid.css +2 -0
  84. package/dist/collection/components/snk-grid/snk-grid.js +153 -8
  85. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +10 -0
  86. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +190 -0
  87. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +25 -0
  88. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +179 -0
  89. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +89 -0
  90. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +24 -5
  91. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +186 -32
  92. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  93. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  94. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  95. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +160 -50
  96. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  97. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  98. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  99. package/dist/collection/components/snk-taskbar/snk-taskbar.js +106 -38
  100. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  101. package/dist/collection/lib/dataUnit/InMemoryLoader.js +2 -4
  102. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +34 -9
  103. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +29 -21
  104. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  105. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +2 -2
  106. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +9 -2
  107. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +45 -5
  108. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  109. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +98 -4
  110. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -1
  111. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  112. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  113. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  114. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  115. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  116. package/dist/collection/sw.js +46 -0
  117. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +66 -23
  118. package/dist/components/DataFetcher.js +217 -77
  119. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  120. package/dist/components/ISave.js +346 -1
  121. package/dist/components/SnkFormConfigManager.js +73 -15
  122. package/dist/components/SnkMessageBuilder.js +7 -3
  123. package/dist/components/dataunit-fetcher.js +47 -17
  124. package/dist/components/form-config-fetcher.js +41 -1
  125. package/dist/components/index.d.ts +3 -0
  126. package/dist/components/index.js +3 -0
  127. package/dist/components/pesquisa-grid.d.ts +11 -0
  128. package/dist/components/pesquisa-grid.js +6 -0
  129. package/dist/components/pesquisa-grid2.js +86 -0
  130. package/dist/components/pesquisa-tree.d.ts +11 -0
  131. package/dist/components/pesquisa-tree.js +6 -0
  132. package/dist/components/pesquisa-tree2.js +82 -0
  133. package/dist/components/snk-actions-button2.js +43 -40
  134. package/dist/components/snk-application2.js +264 -68
  135. package/dist/components/snk-attach2.js +54 -60
  136. package/dist/components/snk-crud.js +83 -59
  137. package/dist/components/snk-data-exporter2.js +28 -17
  138. package/dist/components/snk-data-unit2.js +55 -70
  139. package/dist/components/snk-detail-view2.js +114 -105
  140. package/dist/components/snk-exporter-email-sender2.js +1 -1
  141. package/dist/components/snk-filter-bar2.js +64 -30
  142. package/dist/components/snk-filter-binary-select.js +1 -1
  143. package/dist/components/snk-filter-checkbox-list.js +1 -1
  144. package/dist/components/snk-filter-item2.js +5 -1
  145. package/dist/components/snk-filter-modal.js +4 -2
  146. package/dist/components/snk-filter-text.js +2 -1
  147. package/dist/components/snk-form-config2.js +34 -9
  148. package/dist/components/snk-form.js +2 -2
  149. package/dist/components/snk-grid2.js +68 -13
  150. package/dist/components/snk-personalized-filter-editor.js +4 -4
  151. package/dist/components/snk-pesquisa2.js +136 -33
  152. package/dist/components/snk-print-selector.js +1 -1
  153. package/dist/components/snk-simple-bar2.js +1 -1
  154. package/dist/components/snk-simple-crud2.js +108 -66
  155. package/dist/components/snk-simple-form-config.d.ts +11 -0
  156. package/dist/components/snk-simple-form-config.js +6 -0
  157. package/dist/components/snk-simple-form-config2.js +120 -0
  158. package/dist/components/snk-taskbar2.js +66 -40
  159. package/dist/components/teste-pesquisa.js +13 -1
  160. package/dist/esm/{ConfigStorage-3806514e.js → ConfigStorage-373bb440.js} +2 -2
  161. package/dist/esm/{IExporterProvider-63a188b6.js → ContinuousInsertUtils-25e7bd9a.js} +66 -25
  162. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-5221b992.js} +217 -77
  163. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  164. package/dist/esm/{SnkFormConfigManager-31b24066.js → SnkFormConfigManager-1ff928fa.js} +75 -17
  165. package/dist/esm/{SnkMessageBuilder-89925609.js → SnkMessageBuilder-6fff4a4c.js} +7 -3
  166. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-e32fe8a4.js} +1 -1
  167. package/dist/esm/{constants-8457af36.js → constants-7302ee87.js} +1 -1
  168. package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-8dd93d8b.js} +48 -18
  169. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  170. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-126e2471.js} +42 -2
  171. package/dist/esm/index-a7d3d3f1.js +16 -32
  172. package/dist/esm/loader.js +1 -1
  173. package/dist/{components/pesquisa-fetcher.js → esm/pesquisa-fetcher-0af41f09.js} +186 -4
  174. package/dist/esm/pesquisa-grid_2.entry.js +128 -0
  175. package/dist/esm/sankhyablocks.js +1 -1
  176. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_5.entry.js} +138 -43
  177. package/dist/esm/snk-application.entry.js +250 -71
  178. package/dist/esm/snk-attach.entry.js +47 -34
  179. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +399 -15
  180. package/dist/esm/snk-configurator.entry.js +1 -1
  181. package/dist/esm/snk-crud.entry.js +23 -9
  182. package/dist/esm/snk-data-exporter.entry.js +35 -23
  183. package/dist/esm/{snk-data-unit-8eec78bd.js → snk-data-unit-11a49fc3.js} +54 -32
  184. package/dist/esm/snk-data-unit.entry.js +5 -5
  185. package/dist/esm/snk-detail-view.entry.js +13 -13
  186. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  187. package/dist/esm/snk-field-config.entry.js +1 -1
  188. package/dist/esm/snk-filter-bar_4.entry.js +1429 -0
  189. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  190. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  191. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  192. package/dist/esm/snk-filter-text.entry.js +2 -1
  193. package/dist/esm/snk-grid.entry.js +66 -16
  194. package/dist/esm/{snk-guides-viewer-dda0fede.js → snk-guides-viewer-94918cf7.js} +30 -14
  195. package/dist/esm/snk-guides-viewer.entry.js +9 -9
  196. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  197. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  198. package/dist/esm/snk-pesquisa.entry.js +123 -31
  199. package/dist/esm/snk-print-selector.entry.js +1 -1
  200. package/dist/esm/snk-simple-bar.entry.js +1 -1
  201. package/dist/esm/snk-simple-crud.entry.js +99 -43
  202. package/dist/esm/snk-tab-config.entry.js +1 -1
  203. package/dist/esm/snk-taskbar.entry.js +65 -39
  204. package/dist/sankhyablocks/p-09067bee.entry.js +1 -0
  205. package/dist/sankhyablocks/p-0d86c004.entry.js +1 -0
  206. package/dist/sankhyablocks/p-1435701f.js +26 -0
  207. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  208. package/dist/sankhyablocks/p-16cc8640.entry.js +11 -0
  209. package/dist/sankhyablocks/p-17425c72.js +1 -0
  210. package/dist/sankhyablocks/{p-52920496.js → p-19dc71e9.js} +1 -1
  211. package/dist/sankhyablocks/p-1a91d1f3.entry.js +1 -0
  212. package/dist/sankhyablocks/{p-47db7e88.entry.js → p-1cf39cfd.entry.js} +1 -1
  213. package/dist/sankhyablocks/p-23736d75.js +1 -0
  214. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-2d3f9482.entry.js} +1 -1
  215. package/dist/sankhyablocks/p-3150ad41.js +1 -0
  216. package/dist/sankhyablocks/{p-c1d57831.entry.js → p-3a3d4055.entry.js} +1 -1
  217. package/dist/sankhyablocks/{p-7663f597.entry.js → p-41793e17.entry.js} +1 -1
  218. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  219. package/dist/sankhyablocks/p-469384a2.entry.js +1 -0
  220. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  221. package/dist/sankhyablocks/p-471785a1.entry.js +1 -0
  222. package/dist/sankhyablocks/p-4ca8e061.entry.js +1 -0
  223. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  224. package/dist/sankhyablocks/p-60e4db34.js +1 -0
  225. package/dist/sankhyablocks/p-618a29ed.entry.js +1 -0
  226. package/dist/sankhyablocks/p-619aeac8.entry.js +1 -0
  227. package/dist/sankhyablocks/p-68134a67.entry.js +1 -0
  228. package/dist/sankhyablocks/p-798386c7.js +6 -0
  229. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  230. package/dist/sankhyablocks/{p-2c68b3ae.entry.js → p-82ee6dc3.entry.js} +1 -1
  231. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  232. package/dist/sankhyablocks/p-8a1ee5b5.js +1 -0
  233. package/dist/sankhyablocks/{p-95df461f.entry.js → p-8b4fc28f.entry.js} +1 -1
  234. package/dist/sankhyablocks/p-8bd86610.entry.js +1 -0
  235. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  236. package/dist/sankhyablocks/{p-b0ef4383.js → p-95ce311a.js} +1 -1
  237. package/dist/sankhyablocks/p-a3803d7c.entry.js +1 -0
  238. package/dist/sankhyablocks/p-aaef93e8.js +1 -0
  239. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  240. package/dist/sankhyablocks/p-d62228fb.js +1 -0
  241. package/dist/sankhyablocks/p-d92d4f91.entry.js +1 -0
  242. package/dist/sankhyablocks/p-ddefbbc7.js +60 -0
  243. package/dist/sankhyablocks/p-edbe8e15.entry.js +1 -0
  244. package/dist/sankhyablocks/{p-913a9979.js → p-f0b9303b.js} +1 -1
  245. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  246. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  247. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  248. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  249. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  250. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  251. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  252. package/dist/types/components/snk-application/snk-application.d.ts +28 -14
  253. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  254. package/dist/types/components/snk-crud/snk-crud.d.ts +21 -0
  255. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +15 -0
  256. package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +1 -0
  257. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  258. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  259. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  260. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -0
  261. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  262. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  263. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  264. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  265. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  266. package/dist/types/components/snk-grid/snk-grid.d.ts +26 -0
  267. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +38 -0
  268. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +29 -0
  269. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +19 -0
  270. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +36 -1
  271. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +27 -7
  272. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  273. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  274. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  275. package/dist/types/components.d.ts +372 -15
  276. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +12 -2
  277. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  278. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  279. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +1 -1
  280. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +8 -2
  281. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  282. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +10 -1
  283. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  284. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  285. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  286. package/package.json +4 -3
  287. package/react/components.d.ts +3 -0
  288. package/react/components.js +3 -0
  289. package/react/components.js.map +1 -1
  290. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  291. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  292. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  293. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  294. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  295. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  296. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  297. package/dist/esm/snk-config-options.entry.js +0 -235
  298. package/dist/esm/snk-filter-bar.entry.js +0 -710
  299. package/dist/esm/snk-filter-item.entry.js +0 -308
  300. package/dist/esm/snk-filter-list.entry.js +0 -148
  301. package/dist/esm/snk-filter-modal.entry.js +0 -245
  302. package/dist/esm/snk-form.entry.js +0 -139
  303. package/dist/sankhyablocks/p-045eae4d.entry.js +0 -11
  304. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  305. package/dist/sankhyablocks/p-2a408684.js +0 -1
  306. package/dist/sankhyablocks/p-3a212712.js +0 -1
  307. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  308. package/dist/sankhyablocks/p-450c60e4.entry.js +0 -1
  309. package/dist/sankhyablocks/p-46d38387.entry.js +0 -1
  310. package/dist/sankhyablocks/p-4e5e1313.entry.js +0 -1
  311. package/dist/sankhyablocks/p-547eeac8.entry.js +0 -1
  312. package/dist/sankhyablocks/p-62ba211a.entry.js +0 -1
  313. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  314. package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
  315. package/dist/sankhyablocks/p-75e674ed.entry.js +0 -1
  316. package/dist/sankhyablocks/p-7a337364.js +0 -1
  317. package/dist/sankhyablocks/p-7a85fd49.entry.js +0 -1
  318. package/dist/sankhyablocks/p-7b08d0f8.entry.js +0 -1
  319. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  320. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  321. package/dist/sankhyablocks/p-9863d682.js +0 -1
  322. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  323. package/dist/sankhyablocks/p-b05d8893.entry.js +0 -1
  324. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  325. package/dist/sankhyablocks/p-c2495304.js +0 -1
  326. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  327. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  328. package/dist/sankhyablocks/p-d6e26ea8.entry.js +0 -1
  329. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  330. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  331. package/dist/sankhyablocks/p-e549f7d1.js +0 -1
  332. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  333. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  334. package/dist/sankhyablocks/p-fa4d8cb4.js +0 -1
  335. package/dist/sankhyablocks/p-fe79f83a.js +0 -60
  336. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -1,11 +1,13 @@
1
1
  import { ConfigStorage } from '../../lib/configs/ConfigStorage';
2
2
  import { ObjectUtils, StringUtils } from "@sankhyalabs/core";
3
3
  import { FormConfigFetcher } from "../../lib/http/data-fetcher/fetchers/form-config-fetcher";
4
+ import { TAB_NAMES } from "../../lib/utils/constants";
4
5
  export class SnkFormConfigManager {
5
- constructor(configName, resourceID, onConfigChange) {
6
+ constructor(configName, resourceID, onConfigChange, dataUnit) {
6
7
  this._resourceID = resourceID;
7
8
  this._configName = configName;
8
9
  this._onConfigChange = onConfigChange;
10
+ this._dataUnit = dataUnit;
9
11
  }
10
12
  addFormLegacyConfig(legacyConfigName) {
11
13
  if (this._configName) {
@@ -16,6 +18,7 @@ export class SnkFormConfigManager {
16
18
  return new Promise(resolve => {
17
19
  ConfigStorage.loadFormConfig(this._configName, this._resourceID)
18
20
  .then((config) => {
21
+ config = this.buildFormMetadataUITabs(config);
19
22
  this.setConfig(config);
20
23
  resolve(config);
21
24
  })
@@ -24,6 +27,10 @@ export class SnkFormConfigManager {
24
27
  });
25
28
  });
26
29
  }
30
+ getEmptyConfig() {
31
+ const config = this.buildFormMetadataUITabs({ fields: [], emptyConfig: true }, true);
32
+ return config;
33
+ }
27
34
  saveConfig(config) {
28
35
  const configToSave = ObjectUtils.copy(config);
29
36
  return new Promise(accept => {
@@ -67,28 +74,41 @@ export class SnkFormConfigManager {
67
74
  }
68
75
  return updatingCardConfig;
69
76
  }
70
- getFieldsList(dataUnit, descriptionFilter) {
77
+ hasConfig(config) {
78
+ var _a;
79
+ const currentConfig = config !== null && config !== void 0 ? config : this._config;
80
+ if (currentConfig && ((_a = currentConfig.fields) === null || _a === void 0 ? void 0 : _a.length)) {
81
+ return true;
82
+ }
83
+ return false;
84
+ }
85
+ getFieldsList(descriptionFilter, forceEmptyConfig = false) {
71
86
  var _a;
72
87
  const fields = (_a = this._config) === null || _a === void 0 ? void 0 : _a.fields;
73
- if (fields != undefined && fields.length > 0) {
74
- return fields.map(({ label, name, readOnly, visible, required }) => {
88
+ const hasConfig = this.hasConfig();
89
+ if (hasConfig && !forceEmptyConfig) {
90
+ return fields.map(({ label, name, readOnly, visible, required, tab, group }) => {
91
+ var _a;
75
92
  if (label == undefined) {
76
- const currentField = dataUnit.getField(name);
77
- return Object.assign(Object.assign({}, currentField), { name: name !== null && name !== void 0 ? name : currentField.name, readOnly: readOnly !== null && readOnly !== void 0 ? readOnly : currentField.readOnly, visible: visible !== null && visible !== void 0 ? visible : currentField.visible, required: required !== null && required !== void 0 ? required : currentField.required });
93
+ const currentField = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.getField(name);
94
+ if (!currentField)
95
+ return;
96
+ return Object.assign(Object.assign({}, currentField), { name: name !== null && name !== void 0 ? name : currentField.name, readOnly: readOnly !== null && readOnly !== void 0 ? readOnly : currentField.readOnly, visible: visible !== null && visible !== void 0 ? visible : currentField.visible, required: required !== null && required !== void 0 ? required : currentField.required, tab: tab, group: group });
78
97
  }
79
- return { name, label, readOnly, visible, required };
98
+ return { name, label, readOnly, visible, required, tab, group };
80
99
  })
81
100
  .filter(field => this.isFieldVisible(field, descriptionFilter));
82
101
  }
83
- if (dataUnit != undefined) {
84
- return dataUnit.metadata.fields
85
- .filter(field => this.isFieldVisible(field, descriptionFilter))
86
- .map(({ label, name, readOnly }) => { return { label, name, readOnly }; });
102
+ if (!this._dataUnit) {
103
+ return [];
87
104
  }
88
- return [];
105
+ const filteredFields = this._dataUnit.metadata.fields
106
+ .filter(field => this.isFieldVisible(field, descriptionFilter))
107
+ .map(({ label, name, readOnly, visible, required, properties }) => ({ label, name, readOnly, visible, required, tab: properties === null || properties === void 0 ? void 0 : properties.UITabName }));
108
+ return filteredFields;
89
109
  }
90
110
  isFieldVisible(field, descriptionFilter) {
91
- if (field.visible === false) {
111
+ if (field === undefined || field.visible === false) {
92
112
  return false;
93
113
  }
94
114
  if (descriptionFilter == undefined) {
@@ -98,8 +118,8 @@ export class SnkFormConfigManager {
98
118
  const normalizedFilter = StringUtils.replaceAccentuatedCharsLower(descriptionFilter.toLocaleLowerCase());
99
119
  return normalizedText.includes(normalizedFilter);
100
120
  }
101
- getFormConfig(dataUnit, ignoreReadOnlyFormFields) {
102
- let fields = this.getFieldsList(dataUnit);
121
+ getFormConfig(dataUnit, ignoreReadOnlyFormFields, forceEmptyConfig = false) {
122
+ let fields = this.getFieldsList(undefined, forceEmptyConfig);
103
123
  if (ignoreReadOnlyFormFields) {
104
124
  fields = fields.filter(field => {
105
125
  if (dataUnit) {
@@ -152,4 +172,42 @@ export class SnkFormConfigManager {
152
172
  async fetchDefaultConfig() {
153
173
  return this.getFormConfigFetcher().fetchDefaultConfig(this._configName, this._resourceID);
154
174
  }
175
+ parseObjectList(object) {
176
+ if (!object) {
177
+ return [];
178
+ }
179
+ return Array.isArray(object) ? object : [object];
180
+ }
181
+ buildFormMetadataUITabs(config, forceEmptyConfig = false) {
182
+ var _a;
183
+ const hasConfig = this.hasConfig(config);
184
+ if (!forceEmptyConfig && (!this._dataUnit || hasConfig)) {
185
+ return config;
186
+ }
187
+ config = this.getFormConfig(this._dataUnit, false, true);
188
+ config.tabs = this.parseObjectList(config.tabs);
189
+ config.emptyConfig = false;
190
+ config.defaultConfiguration = true;
191
+ const fields = this._dataUnit.metadata.fields;
192
+ for (const currentField of fields) {
193
+ const field = config.fields.find(field => field.name === currentField.name);
194
+ const uiTabName = (_a = currentField.properties) === null || _a === void 0 ? void 0 : _a.UITabName;
195
+ if (!uiTabName || uiTabName === TAB_NAMES.main) {
196
+ continue;
197
+ }
198
+ const haveTab = config.tabs.some((tab) => tab.label === uiTabName);
199
+ if (!haveTab) {
200
+ config.tabs.push({
201
+ label: uiTabName,
202
+ name: uiTabName,
203
+ order: 0,
204
+ visible: true,
205
+ });
206
+ }
207
+ if (field) {
208
+ field.tab = uiTabName;
209
+ }
210
+ }
211
+ return config;
212
+ }
155
213
  }
@@ -44,6 +44,11 @@
44
44
  background-color: var(--snk-form-config--background-color);
45
45
  }
46
46
 
47
+ div:focus-visible,
48
+ div:focus {
49
+ outline: none;
50
+ }
51
+
47
52
  .form-config__header-container {
48
53
  /*private*/
49
54
  display: flex;
@@ -58,7 +63,7 @@
58
63
  .form-config__hide-content {
59
64
  /*private*/
60
65
  display: none;
61
- }
66
+ }
62
67
 
63
68
  ez-icon .left-icon {
64
69
  /*public*/
@@ -229,9 +234,9 @@ ez-collapsible-box{
229
234
  /*private*/
230
235
  left: calc(100% / 1 * -1);
231
236
  }
232
-
237
+
233
238
  .form-config__field-config--selected:nth-child(3n+3) .ez-flex.form-config__config-options {
234
239
  /*private*/
235
240
  left: calc(100% / 1 * -2);
236
241
  }
237
- }
242
+ }
@@ -38,6 +38,7 @@ export class SnkFormConfig {
38
38
  this.dataUnit = undefined;
39
39
  this.configManager = undefined;
40
40
  this.messagesBuilder = undefined;
41
+ this.ignoreReadOnlyFormFields = undefined;
41
42
  }
42
43
  observeConfigManager() {
43
44
  this.loadConfig(this._sortableTimer);
@@ -67,7 +68,7 @@ export class SnkFormConfig {
67
68
  }
68
69
  }
69
70
  getConfig() {
70
- let config = this.configManager.getConfig(this.dataUnit);
71
+ let config = this.configManager.getConfig(this.dataUnit, this.ignoreReadOnlyFormFields);
71
72
  if (config.fields && config.fields.length === 0) {
72
73
  config = undefined;
73
74
  }
@@ -192,7 +193,12 @@ export class SnkFormConfig {
192
193
  this._optionFormConfigChanged = false;
193
194
  this.configManager.saveConfig(this.buildConfigToSave())
194
195
  .then(savedConfig => {
196
+ var _a;
195
197
  ApplicationUtils.info(this.getMessage("snkFormConfig.info.successfullyConfigSaved"), { iconName: "check" });
198
+ const userOption = (_a = this._formConfigOptions) === null || _a === void 0 ? void 0 : _a.find((config) => {
199
+ return config.origin === UserConfigType.USER;
200
+ });
201
+ this.setFormConfig(userOption);
196
202
  this.configChange.emit(savedConfig);
197
203
  });
198
204
  }
@@ -529,9 +535,12 @@ export class SnkFormConfig {
529
535
  switch (this._optionFormConfigSelected.origin) {
530
536
  case UserConfigType.DEFAULT:
531
537
  config = await this.configManager.fetchDefaultConfig();
538
+ if (!config) {
539
+ config = this.configManager.getEmptyConfig();
540
+ }
532
541
  break;
533
- case UserConfigType.DEFAULT:
534
- config = await this.configManager.fetchDefaultConfig();
542
+ default:
543
+ config = this.getConfig();
535
544
  break;
536
545
  }
537
546
  if (config != undefined) {
@@ -670,7 +679,7 @@ export class SnkFormConfig {
670
679
  }
671
680
  }
672
681
  getLayoutFormConfig() {
673
- var _a, _b;
682
+ var _a, _b, _c;
674
683
  if (((_a = this._formConfig) === null || _a === void 0 ? void 0 : _a.fields) == undefined) {
675
684
  return;
676
685
  }
@@ -683,7 +692,11 @@ export class SnkFormConfig {
683
692
  if (hasField == undefined) {
684
693
  fields.push(field);
685
694
  const fieldMD = this.dataUnit.getField(field.name);
686
- if (fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.visible) {
695
+ /**
696
+ * Quando um campo é ocultado pelo dev, mas queremos manter ele na config precisamos fazer essa tratativa.
697
+ */
698
+ const visibleOnConfig = ((_b = fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.properties) === null || _b === void 0 ? void 0 : _b.visibleOnConfig) === true && (fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.visible) === false;
699
+ if ((fieldMD === null || fieldMD === void 0 ? void 0 : fieldMD.visible) || visibleOnConfig) {
687
700
  if (field.label == undefined || field.label === "") {
688
701
  field.label = fieldMD.label;
689
702
  }
@@ -699,7 +712,7 @@ export class SnkFormConfig {
699
712
  visible = configTabs[0].visible;
700
713
  }
701
714
  }
702
- const tabLabel = ((_b = field.tab) === null || _b === void 0 ? void 0 : _b.label) || field.tab;
715
+ const tabLabel = ((_c = field.tab) === null || _c === void 0 ? void 0 : _c.label) || field.tab;
703
716
  if (visible !== null) {
704
717
  tab = { tab: tabLabel, groups: [], visible };
705
718
  }
@@ -734,6 +747,9 @@ export class SnkFormConfig {
734
747
  if (layoutFormConfig == undefined) {
735
748
  layoutFormConfig = [];
736
749
  }
750
+ if (this._formConfig.defaultConfiguration) {
751
+ return layoutFormConfig;
752
+ }
737
753
  return this._formConfig.tabs.map((tab) => {
738
754
  return layoutFormConfig.find(config => { var _a, _b; return ((_a = tab.label) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === ((_b = config.tab) === null || _b === void 0 ? void 0 : _b.toLowerCase()); })
739
755
  || { tab: tab.label, groups: [], visible: tab.visible };
@@ -781,8 +797,16 @@ export class SnkFormConfig {
781
797
  for (const field of this._formConfig.fields) {
782
798
  fieldsFormConfig.push(field);
783
799
  }
784
- const listFieldsAvailable = fieldsMetadata.filter(({ name: _nameFieldMetadado, visible: _visibleMetadado }) => _visibleMetadado === true
785
- && fieldsFormConfig.some(({ name: _nameFieldForm }) => _nameFieldForm === _nameFieldMetadado) === false);
800
+ const listFieldsAvailable = fieldsMetadata.filter(({ name: _nameFieldMetadado, visible: _visibleMetadado, properties }) => {
801
+ const hasCfg = fieldsFormConfig.some(({ name: _nameFieldForm }) => _nameFieldForm === _nameFieldMetadado);
802
+ /**
803
+ * Quando a visibilidade de um campo é alterada pelo dataunit, mas o desenvolvedor deseja que o mesmo continue
804
+ * sendo apresentado no configurador, precisamos fazer essa tratativa, verificando se o campo não tem configuração
805
+ */
806
+ if (!hasCfg && properties.visibleOnConfig === true && !_visibleMetadado)
807
+ return properties.visibleOnConfig;
808
+ return _visibleMetadado === true && hasCfg === false;
809
+ });
786
810
  this._fieldsAvailable = listFieldsAvailable;
787
811
  this._listEnabledFields = listFieldsAvailable;
788
812
  if (((_b = this._filterFieldsAvailable) === null || _b === void 0 ? void 0 : _b.value) != undefined) {
@@ -1055,6 +1079,23 @@ export class SnkFormConfig {
1055
1079
  "tags": [],
1056
1080
  "text": "Respons\u00E1vel por flexibilizar e padronizar o uso de mensagens nos blocos de constru\u00E7\u00E3o."
1057
1081
  }
1082
+ },
1083
+ "ignoreReadOnlyFormFields": {
1084
+ "type": "boolean",
1085
+ "mutable": false,
1086
+ "complexType": {
1087
+ "original": "boolean",
1088
+ "resolved": "boolean",
1089
+ "references": {}
1090
+ },
1091
+ "required": false,
1092
+ "optional": true,
1093
+ "docs": {
1094
+ "tags": [],
1095
+ "text": "Ignora os campos \"somente leitura\" no modo de inser\u00E7\u00E3o."
1096
+ },
1097
+ "attribute": "ignore-read-only-form-fields",
1098
+ "reflect": false
1058
1099
  }
1059
1100
  };
1060
1101
  }
@@ -1,11 +1,13 @@
1
1
  :host {
2
2
  --snk-grid-min-height: 300px;
3
+ --snk-grid-padding: var(--space--small);
3
4
  }
4
5
 
5
6
  .snk-grid__container {
6
7
  display: flex;
7
8
  height: 100%;
8
9
  width: 100%;
10
+ padding: var(--snk-grid-padding);
9
11
  }
10
12
 
11
13
  .snk-grid__header {
@@ -1,4 +1,4 @@
1
- import { h, Fragment } from '@stencil/core';
1
+ import { h, Fragment, } from '@stencil/core';
2
2
  import { Action as DUAction, ApplicationContext, ElementIDUtils, StringUtils } from '@sankhyalabs/core';
3
3
  import { TaskbarElement } from '../snk-taskbar/elements/taskbar-elements';
4
4
  import { ConfigStorage } from '../../lib/configs/ConfigStorage';
@@ -11,6 +11,7 @@ import { buildFieldSearch, openFieldSearch } from '../snk-taskbar/subcomponents/
11
11
  import { CrudUtils } from '../../lib';
12
12
  import RmPrecisionCustomValueFormatter from '../../lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter';
13
13
  import ServerSideExporterProvider from '../snk-data-exporter/providers/ServerSideExporterProvider';
14
+ import { ContinuousInsertUtils } from '../../lib/utils/ContinuousInsertUtils';
14
15
  export class SnkGrid {
15
16
  constructor() {
16
17
  this._customEditors = new Map();
@@ -19,7 +20,7 @@ export class SnkGrid {
19
20
  "snkGridTopTaskbar.regular": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
20
21
  "snkGridTopTaskbar.regular.secondary": ["FORM_MODE", "CONFIGURATOR", "INSERT"],
21
22
  "snkGridTopTaskbar.regular.singleTaskbar": [],
22
- "snkGridTopTaskbar.finish_edition": ["CANCEL", "SAVE"],
23
+ "snkGridTopTaskbar.finish_edition": ["CANCEL", "SAVE", this.handleAddFormMode()],
23
24
  "snkGridTopTaskbar.finish_edition.secondary": [],
24
25
  "snkGridTopTaskbar.finish_edition.singleTaskbar": [],
25
26
  });
@@ -32,7 +33,7 @@ export class SnkGrid {
32
33
  "snkGridHeaderTaskbar.singleTaskbar.selected": ["UPDATE", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "ATTACH", "FORM_MODE", "CONFIGURATOR", "REFRESH", "DATA_EXPORTER", "ACTIONS_BUTTON"],
33
34
  "snkGridHeaderTaskbar.singleTaskbar.detail.unselected": ["INSERT", "FORM_MODE", "CONFIGURATOR", "REFRESH", "MORE_OPTIONS"],
34
35
  "snkGridHeaderTaskbar.singleTaskbar.detail.selected": ["UPDATE", "ATTACH", "CLONE", "REMOVE", "MORE_OPTIONS", "DIVIDER", "FORM_MODE", "CONFIGURATOR", "REFRESH"],
35
- "snkGridHeaderTaskbar.singleTaskbar.finish_edition": ["CANCEL", "SAVE"]
36
+ "snkGridHeaderTaskbar.singleTaskbar.finish_edition": ["CANCEL", "SAVE", this.handleAddFormMode()]
36
37
  });
37
38
  this.dataUnitInterceptor = {
38
39
  interceptAction: async (action) => {
@@ -47,7 +48,10 @@ export class SnkGrid {
47
48
  this._gridConfig = undefined;
48
49
  this._popUpGridConfig = false;
49
50
  this._showSnkFilterBar = true;
51
+ this._enableContinuousInsert = false;
50
52
  this.columnFilterDataSource = new SnkMultiSelectionListDataSource();
53
+ this.enableLockManagerLoadingComp = false;
54
+ this.enableLockManagerTaskbarClick = false;
51
55
  this.configName = undefined;
52
56
  this.filterBarTitle = undefined;
53
57
  this.resourceID = undefined;
@@ -70,6 +74,11 @@ export class SnkGrid {
70
74
  this.filterBarLegacyConfigName = undefined;
71
75
  this.autoLoad = undefined;
72
76
  this.autoFocus = true;
77
+ this.enableGridInsert = false;
78
+ this.outlineMode = false;
79
+ }
80
+ reloadConfig() {
81
+ this.loadConfig();
73
82
  }
74
83
  /**
75
84
  * Exibe a janela de configurações da grade.
@@ -156,6 +165,24 @@ export class SnkGrid {
156
165
  async setFocus() {
157
166
  this._grid.setFocus();
158
167
  }
168
+ async handleClick(event) {
169
+ var _a;
170
+ if (this.hasToBlockEvent(event)) {
171
+ event.preventDefault();
172
+ event.stopPropagation();
173
+ if (!await this._dataUnit.cancelEdition())
174
+ return;
175
+ const newEvent = new event.constructor(event.type, event);
176
+ (_a = event.target) === null || _a === void 0 ? void 0 : _a.dispatchEvent(newEvent);
177
+ }
178
+ if (this._grid && !this._grid.contains(event.target)) {
179
+ this._grid.stopEdit();
180
+ }
181
+ }
182
+ hasToBlockEvent(event) {
183
+ var _a;
184
+ return ((_a = this._snkFilterBar) === null || _a === void 0 ? void 0 : _a.contains(event.target)) && this.enableGridInsert && this._dataUnit.hasNewRecord();
185
+ }
159
186
  async handleGridLegacyConfigName(newLegacyConfig, oldLegacyConfig) {
160
187
  if (!newLegacyConfig) {
161
188
  return;
@@ -166,6 +193,9 @@ export class SnkGrid {
166
193
  this.addGridLegacyConfigName();
167
194
  this.loadConfig();
168
195
  }
196
+ handleAddFormMode() {
197
+ return this.enableGridInsert ? TaskbarElement.FORM_MODE : "";
198
+ }
169
199
  openGridConfig() {
170
200
  this._grid.getColumnsState()
171
201
  .then((gridColumns) => {
@@ -293,10 +323,15 @@ export class SnkGrid {
293
323
  this._rmPrecisionCustomValueFormatter = new RmPrecisionCustomValueFormatter();
294
324
  this.addGridLegacyConfigName();
295
325
  this.loadConfig();
326
+ this._continuousInsertUtils = new ContinuousInsertUtils(this._application, this.resourceID, this.configName);
327
+ if (this.enableGridInsert) {
328
+ this._continuousInsertUtils.getConfig().then(value => this._enableContinuousInsert = value);
329
+ }
296
330
  }
297
331
  componentDidRender() {
332
+ var _a, _b;
298
333
  this._rmPrecisionCustomValueFormatter.setGrid(this._grid);
299
- this.loadGridCustomFormatters(this._dataUnit.metadata.fields);
334
+ this.loadGridCustomFormatters((_b = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.fields);
300
335
  this.setCustomRenders();
301
336
  this.setCustomEditors();
302
337
  }
@@ -309,7 +344,7 @@ export class SnkGrid {
309
344
  const disabledButtons = [];
310
345
  if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) {
311
346
  if (this._dataState.selectionInfo.length > 1) {
312
- disabledButtons.push(TaskbarElement.CLONE, "ATTACH");
347
+ disabledButtons.push(TaskbarElement.CLONE, "ATTACH", TaskbarElement.UPDATE);
313
348
  }
314
349
  if (this._dataState.selectionInfo.isAllRecords()) {
315
350
  disabledButtons.push("REMOVE");
@@ -394,6 +429,14 @@ export class SnkGrid {
394
429
  eagerInitialize: true,
395
430
  itemBuilder: (actionButton, item) => this.getColumnSearch(actionButton, item)
396
431
  }];
432
+ if (this.enableGridInsert) {
433
+ hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, () => {
434
+ this._enableContinuousInsert = !this._enableContinuousInsert;
435
+ this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert);
436
+ }));
437
+ }
438
+ if (this.isGridInsertActive())
439
+ return hardList;
397
440
  if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
398
441
  const taskbarID = this.getTopTaskBarId();
399
442
  return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, this.configName, this._dataState, this.actionsList));
@@ -411,12 +454,20 @@ export class SnkGrid {
411
454
  }
412
455
  this._showSnkFilterBar = true;
413
456
  }
457
+ getGridHeaderButtons() {
458
+ if (this.isGridInsertActive())
459
+ return TaskbarElement.MORE_OPTIONS;
460
+ return this._headerTaskbarProcessor.buttons;
461
+ }
462
+ isGridInsertActive() {
463
+ return this.enableGridInsert && this._dataUnit.hasNewRecord();
464
+ }
414
465
  render() {
415
466
  if (!this._dataUnit) {
416
467
  return undefined;
417
468
  }
418
- return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--medium" }, this._showSnkFilterBar &&
419
- 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 }), 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", "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' }, 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 }, h("snk-taskbar", { id: 'teste', dataUnit: this._dataUnit, configName: this.configName, messagesBuilder: this.messagesBuilder, "data-element-id": "grid_left", buttons: this._headerTaskbarProcessor.buttons, 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 }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => 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 }))));
469
+ return (h("div", { class: "snk-grid__container ez-flex ez-flex--column ez-flex-item--auto ez-padding--large" }, h("div", { class: "snk-grid__header ez-margin-bottom--extra-small" }, this._showSnkFilterBar &&
470
+ 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", "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' }, 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 }, 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 }, h("slot", { name: this.gridHeaderCustomSlotId }))), h("div", { class: "ez-col ez-col--sd-12" }, h("slot", { name: "SnkGridFooter" })), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._popUpGridConfig, onEzCloseModal: () => 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 }))));
420
471
  }
421
472
  static get is() { return "snk-grid"; }
422
473
  static get encapsulation() { return "scoped"; }
@@ -453,6 +504,42 @@ export class SnkGrid {
453
504
  },
454
505
  "defaultValue": "new SnkMultiSelectionListDataSource()"
455
506
  },
507
+ "enableLockManagerLoadingComp": {
508
+ "type": "boolean",
509
+ "mutable": false,
510
+ "complexType": {
511
+ "original": "boolean",
512
+ "resolved": "boolean",
513
+ "references": {}
514
+ },
515
+ "required": false,
516
+ "optional": true,
517
+ "docs": {
518
+ "tags": [],
519
+ "text": "Define se o componente deve usar o LockManager para controle de carregamento da aplica\u00E7\u00E3o"
520
+ },
521
+ "attribute": "enable-lock-manager-loading-comp",
522
+ "reflect": false,
523
+ "defaultValue": "false"
524
+ },
525
+ "enableLockManagerTaskbarClick": {
526
+ "type": "boolean",
527
+ "mutable": false,
528
+ "complexType": {
529
+ "original": "boolean",
530
+ "resolved": "boolean",
531
+ "references": {}
532
+ },
533
+ "required": false,
534
+ "optional": true,
535
+ "docs": {
536
+ "tags": [],
537
+ "text": "Ativa o gerenciamento de locks na grade pela Taskbar."
538
+ },
539
+ "attribute": "enable-lock-manager-taskbar-click",
540
+ "reflect": false,
541
+ "defaultValue": "false"
542
+ },
456
543
  "configName": {
457
544
  "type": "string",
458
545
  "mutable": false,
@@ -862,6 +949,42 @@ export class SnkGrid {
862
949
  "attribute": "auto-focus",
863
950
  "reflect": false,
864
951
  "defaultValue": "true"
952
+ },
953
+ "enableGridInsert": {
954
+ "type": "boolean",
955
+ "mutable": false,
956
+ "complexType": {
957
+ "original": "boolean",
958
+ "resolved": "boolean",
959
+ "references": {}
960
+ },
961
+ "required": false,
962
+ "optional": true,
963
+ "docs": {
964
+ "tags": [],
965
+ "text": "Ativa inser\u00E7\u00E3o de registros no modo grade."
966
+ },
967
+ "attribute": "enable-grid-insert",
968
+ "reflect": false,
969
+ "defaultValue": "false"
970
+ },
971
+ "outlineMode": {
972
+ "type": "boolean",
973
+ "mutable": false,
974
+ "complexType": {
975
+ "original": "boolean",
976
+ "resolved": "boolean",
977
+ "references": {}
978
+ },
979
+ "required": false,
980
+ "optional": true,
981
+ "docs": {
982
+ "tags": [],
983
+ "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)"
984
+ },
985
+ "attribute": "outline-mode",
986
+ "reflect": false,
987
+ "defaultValue": "false"
865
988
  }
866
989
  };
867
990
  }
@@ -871,7 +994,8 @@ export class SnkGrid {
871
994
  "_dataState": {},
872
995
  "_gridConfig": {},
873
996
  "_popUpGridConfig": {},
874
- "_showSnkFilterBar": {}
997
+ "_showSnkFilterBar": {},
998
+ "_enableContinuousInsert": {}
875
999
  };
876
1000
  }
877
1001
  static get events() {
@@ -909,6 +1033,18 @@ export class SnkGrid {
909
1033
  }
910
1034
  static get methods() {
911
1035
  return {
1036
+ "reloadConfig": {
1037
+ "complexType": {
1038
+ "signature": "() => Promise<void>",
1039
+ "parameters": [],
1040
+ "references": {},
1041
+ "return": "Promise<void>"
1042
+ },
1043
+ "docs": {
1044
+ "text": "",
1045
+ "tags": []
1046
+ }
1047
+ },
912
1048
  "showConfig": {
913
1049
  "complexType": {
914
1050
  "signature": "() => Promise<void>",
@@ -1143,4 +1279,13 @@ export class SnkGrid {
1143
1279
  "methodName": "handleGridLegacyConfigName"
1144
1280
  }];
1145
1281
  }
1282
+ static get listeners() {
1283
+ return [{
1284
+ "name": "click",
1285
+ "method": "handleClick",
1286
+ "target": undefined,
1287
+ "capture": true,
1288
+ "passive": false
1289
+ }];
1290
+ }
1146
1291
  }
@@ -0,0 +1,10 @@
1
+ :host {
2
+ height: 100vh;
3
+ background: var(--background--xlight, #FFF);
4
+ overflow-x: auto;
5
+ }
6
+
7
+ ez-grid {
8
+ --ez-grid__container--shadow: none;
9
+ --ez-grid__header--shadow:none;
10
+ }