@sankhyalabs/sankhyablocks 8.16.0-dev.8 → 8.16.0-dev.80

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 (361) hide show
  1. package/dist/cjs/{ConfigStorage-a343e418.js → ConfigStorage-d024aec8.js} +2 -2
  2. package/dist/cjs/{IExporterProvider-597949f9.js → ContinuousInsertUtils-c27b439e.js} +66 -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-c11d8468.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/{constants-35ddd366.js → constants-241934b3.js} +9 -0
  9. package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-8291ac21.js} +239 -43
  10. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  11. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-90126e4c.js} +42 -2
  12. package/dist/cjs/index-f9e81701.js +16 -32
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/pesquisa-fetcher-5c583c93.js +365 -0
  15. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +156 -0
  16. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  17. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_5.cjs.entry.js} +138 -42
  18. package/dist/cjs/snk-application.cjs.entry.js +293 -69
  19. package/dist/cjs/snk-attach.cjs.entry.js +47 -34
  20. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +399 -13
  21. package/dist/cjs/snk-configurator.cjs.entry.js +2 -2
  22. package/dist/cjs/snk-crud.cjs.entry.js +23 -9
  23. package/dist/cjs/snk-data-exporter.cjs.entry.js +35 -23
  24. package/dist/cjs/{snk-data-unit-04df81bf.js → snk-data-unit-d75e6220.js} +54 -32
  25. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  26. package/dist/cjs/snk-detail-view.cjs.entry.js +13 -13
  27. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  28. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  29. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1436 -0
  30. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  32. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  33. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  34. package/dist/cjs/snk-grid.cjs.entry.js +89 -24
  35. package/dist/cjs/{snk-guides-viewer-bdc41281.js → snk-guides-viewer-bff0d27d.js} +30 -14
  36. package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -9
  37. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  38. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  39. package/dist/cjs/snk-pesquisa.cjs.entry.js +111 -31
  40. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  41. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  42. package/dist/cjs/snk-simple-crud.cjs.entry.js +102 -45
  43. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  44. package/dist/cjs/snk-taskbar.cjs.entry.js +70 -38
  45. package/dist/collection/collection-manifest.json +14 -31
  46. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  47. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  48. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  49. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  50. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  51. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  52. package/dist/collection/components/snk-application/snk-application.css +36 -0
  53. package/dist/collection/components/snk-application/snk-application.js +315 -64
  54. package/dist/collection/components/snk-attach/snk-attach.js +25 -16
  55. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  56. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -4
  57. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  58. package/dist/collection/components/snk-crud/snk-crud.js +122 -3
  59. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +3 -3
  60. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  61. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +72 -6
  62. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  63. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +13 -7
  64. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  65. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +1 -1
  66. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +1 -1
  67. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  68. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +3 -5
  69. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  70. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  71. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  72. package/dist/collection/components/snk-data-unit/snk-data-unit.js +52 -30
  73. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  74. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  75. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  76. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  77. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  78. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  79. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +5 -1
  80. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  81. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  82. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +1 -1
  83. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +118 -28
  84. package/dist/collection/components/snk-form/snk-form.js +2 -2
  85. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  86. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  87. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  88. package/dist/collection/components/snk-grid/snk-grid.css +2 -0
  89. package/dist/collection/components/snk-grid/snk-grid.js +170 -11
  90. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  91. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  92. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  93. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  94. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  95. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  96. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  97. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +174 -32
  98. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  99. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  100. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  101. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +164 -35
  102. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  103. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  104. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  105. package/dist/collection/components/snk-taskbar/snk-taskbar.js +112 -38
  106. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  107. package/dist/collection/lib/dataUnit/InMemoryLoader.js +2 -4
  108. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +34 -9
  109. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +29 -21
  110. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  111. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  112. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  113. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  114. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +17 -9
  115. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +45 -5
  116. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  117. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +107 -7
  118. package/dist/collection/lib/index.js +1 -0
  119. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -1
  120. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  121. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  122. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  123. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  124. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  125. package/dist/collection/lib/utils/constants.js +9 -0
  126. package/dist/collection/sw.js +46 -0
  127. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +67 -23
  128. package/dist/components/DataFetcher.js +217 -77
  129. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  130. package/dist/components/ISave.js +362 -1
  131. package/dist/components/SnkFormConfigManager.js +73 -15
  132. package/dist/components/SnkMessageBuilder.js +7 -3
  133. package/dist/components/constants.js +10 -1
  134. package/dist/components/dataunit-fetcher.js +238 -40
  135. package/dist/components/form-config-fetcher.js +41 -1
  136. package/dist/components/index.d.ts +3 -0
  137. package/dist/components/index.js +3 -0
  138. package/dist/components/pesquisa-grid.d.ts +11 -0
  139. package/dist/components/pesquisa-grid.js +6 -0
  140. package/dist/components/pesquisa-grid2.js +102 -0
  141. package/dist/components/pesquisa-tree.d.ts +11 -0
  142. package/dist/components/pesquisa-tree.js +6 -0
  143. package/dist/components/pesquisa-tree2.js +91 -0
  144. package/dist/components/snk-actions-button2.js +44 -40
  145. package/dist/components/snk-application2.js +312 -68
  146. package/dist/components/snk-attach2.js +54 -60
  147. package/dist/components/snk-config-options2.js +1 -1
  148. package/dist/components/snk-configurator2.js +1 -1
  149. package/dist/components/snk-crud.js +83 -59
  150. package/dist/components/snk-data-exporter2.js +28 -17
  151. package/dist/components/snk-data-unit2.js +55 -70
  152. package/dist/components/snk-detail-view2.js +115 -106
  153. package/dist/components/snk-exporter-email-sender2.js +1 -1
  154. package/dist/components/snk-filter-bar2.js +64 -30
  155. package/dist/components/snk-filter-binary-select.js +1 -1
  156. package/dist/components/snk-filter-checkbox-list.js +1 -1
  157. package/dist/components/snk-filter-item2.js +5 -1
  158. package/dist/components/snk-filter-modal.js +4 -2
  159. package/dist/components/snk-filter-text.js +2 -1
  160. package/dist/components/snk-form-config2.js +35 -10
  161. package/dist/components/snk-form.js +2 -2
  162. package/dist/components/snk-grid-config2.js +1 -1
  163. package/dist/components/snk-grid2.js +86 -16
  164. package/dist/components/snk-personalized-filter-editor.js +4 -4
  165. package/dist/components/snk-pesquisa2.js +125 -33
  166. package/dist/components/snk-print-selector.js +1 -1
  167. package/dist/components/snk-simple-bar2.js +1 -1
  168. package/dist/components/snk-simple-crud2.js +108 -65
  169. package/dist/components/snk-simple-form-config.d.ts +11 -0
  170. package/dist/components/snk-simple-form-config.js +6 -0
  171. package/dist/components/snk-simple-form-config2.js +121 -0
  172. package/dist/components/snk-tab-config2.js +1 -1
  173. package/dist/components/snk-taskbar2.js +72 -40
  174. package/dist/components/teste-pesquisa.js +13 -1
  175. package/dist/esm/{ConfigStorage-3806514e.js → ConfigStorage-373bb440.js} +2 -2
  176. package/dist/esm/{IExporterProvider-63a188b6.js → ContinuousInsertUtils-6bf78c5e.js} +67 -25
  177. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-5221b992.js} +217 -77
  178. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  179. package/dist/esm/{SnkFormConfigManager-31b24066.js → SnkFormConfigManager-5022f87f.js} +75 -17
  180. package/dist/esm/{SnkMessageBuilder-89925609.js → SnkMessageBuilder-6fff4a4c.js} +7 -3
  181. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-e32fe8a4.js} +1 -1
  182. package/dist/esm/{constants-8457af36.js → constants-75abb876.js} +10 -1
  183. package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-5247a708.js} +239 -41
  184. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  185. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-126e2471.js} +42 -2
  186. package/dist/esm/index-a7d3d3f1.js +16 -32
  187. package/dist/esm/loader.js +1 -1
  188. package/dist/esm/pesquisa-fetcher-4284f2a3.js +362 -0
  189. package/dist/esm/pesquisa-grid_2.entry.js +151 -0
  190. package/dist/esm/sankhyablocks.js +1 -1
  191. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_5.entry.js} +139 -44
  192. package/dist/esm/snk-application.entry.js +295 -71
  193. package/dist/esm/snk-attach.entry.js +47 -34
  194. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +399 -15
  195. package/dist/esm/snk-configurator.entry.js +2 -2
  196. package/dist/esm/snk-crud.entry.js +23 -9
  197. package/dist/esm/snk-data-exporter.entry.js +35 -23
  198. package/dist/esm/{snk-data-unit-8eec78bd.js → snk-data-unit-bfd10c71.js} +54 -32
  199. package/dist/esm/snk-data-unit.entry.js +5 -5
  200. package/dist/esm/snk-detail-view.entry.js +13 -13
  201. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  202. package/dist/esm/snk-field-config.entry.js +1 -1
  203. package/dist/esm/snk-filter-bar_4.entry.js +1429 -0
  204. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  205. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  206. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  207. package/dist/esm/snk-filter-text.entry.js +2 -1
  208. package/dist/esm/snk-grid.entry.js +84 -19
  209. package/dist/esm/{snk-guides-viewer-dda0fede.js → snk-guides-viewer-454ebc07.js} +30 -14
  210. package/dist/esm/snk-guides-viewer.entry.js +9 -9
  211. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  212. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  213. package/dist/esm/snk-pesquisa.entry.js +111 -31
  214. package/dist/esm/snk-print-selector.entry.js +1 -1
  215. package/dist/esm/snk-simple-bar.entry.js +1 -1
  216. package/dist/esm/snk-simple-crud.entry.js +99 -42
  217. package/dist/esm/snk-tab-config.entry.js +1 -1
  218. package/dist/esm/snk-taskbar.entry.js +71 -39
  219. package/dist/sankhyablocks/p-03e6825e.js +1 -0
  220. package/dist/sankhyablocks/p-1435701f.js +26 -0
  221. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  222. package/dist/sankhyablocks/p-17425c72.js +1 -0
  223. package/dist/sankhyablocks/{p-52920496.js → p-19dc71e9.js} +1 -1
  224. package/dist/sankhyablocks/{p-47db7e88.entry.js → p-1cf39cfd.entry.js} +1 -1
  225. package/dist/sankhyablocks/{p-b0ef4383.js → p-1d19a5b0.js} +1 -1
  226. package/dist/sankhyablocks/p-23736d75.js +1 -0
  227. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-23cd6abf.entry.js} +1 -1
  228. package/dist/sankhyablocks/p-28ca3908.entry.js +1 -0
  229. package/dist/sankhyablocks/{p-95df461f.entry.js → p-2953c481.entry.js} +1 -1
  230. package/dist/sankhyablocks/p-38179225.js +60 -0
  231. package/dist/sankhyablocks/p-3ba431c9.js +1 -0
  232. package/dist/sankhyablocks/p-41c3bee5.js +6 -0
  233. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  234. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  235. package/dist/sankhyablocks/p-478ab2b6.js +1 -0
  236. package/dist/sankhyablocks/{p-7663f597.entry.js → p-4c9adf1c.entry.js} +1 -1
  237. package/dist/sankhyablocks/p-50bf8dbc.entry.js +1 -0
  238. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  239. package/dist/sankhyablocks/p-643b2aaa.entry.js +1 -0
  240. package/dist/sankhyablocks/p-655bdd60.js +1 -0
  241. package/dist/sankhyablocks/p-6fc8bfa2.entry.js +1 -0
  242. package/dist/sankhyablocks/p-73b037a8.entry.js +1 -0
  243. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  244. package/dist/sankhyablocks/{p-2c68b3ae.entry.js → p-82ee6dc3.entry.js} +1 -1
  245. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  246. package/dist/sankhyablocks/p-8ad7c8bc.entry.js +1 -0
  247. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  248. package/dist/sankhyablocks/p-91e34755.entry.js +1 -0
  249. package/dist/sankhyablocks/p-9a99c67b.entry.js +1 -0
  250. package/dist/sankhyablocks/p-a04f38aa.entry.js +1 -0
  251. package/dist/sankhyablocks/p-ae26e8d0.entry.js +1 -0
  252. package/dist/sankhyablocks/p-bd234604.entry.js +1 -0
  253. package/dist/sankhyablocks/p-c021a3a9.entry.js +1 -0
  254. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  255. package/dist/sankhyablocks/p-d62228fb.js +1 -0
  256. package/dist/sankhyablocks/p-d9bb48c4.entry.js +11 -0
  257. package/dist/sankhyablocks/p-edbe8e15.entry.js +1 -0
  258. package/dist/sankhyablocks/{p-913a9979.js → p-f0b9303b.js} +1 -1
  259. package/dist/sankhyablocks/p-f8db6795.entry.js +1 -0
  260. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  261. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  262. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  263. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  264. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  265. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  266. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  267. package/dist/types/components/snk-application/snk-application.d.ts +38 -14
  268. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  269. package/dist/types/components/snk-crud/snk-crud.d.ts +21 -0
  270. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +15 -0
  271. package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +1 -0
  272. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  273. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  274. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  275. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -0
  276. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  277. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  278. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  279. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  280. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  281. package/dist/types/components/snk-grid/snk-grid.d.ts +28 -0
  282. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  283. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  284. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  285. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
  286. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +27 -3
  287. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  288. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  289. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  290. package/dist/types/components.d.ts +388 -14
  291. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +12 -2
  292. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  293. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  294. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  295. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  296. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  297. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  298. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  299. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +1 -1
  300. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +8 -2
  301. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  302. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +17 -1
  303. package/dist/types/lib/index.d.ts +1 -0
  304. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  305. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  306. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  307. package/dist/types/lib/utils/constants.d.ts +7 -0
  308. package/package.json +4 -3
  309. package/react/components.d.ts +3 -0
  310. package/react/components.js +3 -0
  311. package/react/components.js.map +1 -1
  312. package/dist/cjs/pesquisa-fetcher-680e198f.js +0 -166
  313. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  314. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  315. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  316. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  317. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  318. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  319. package/dist/components/pesquisa-fetcher.js +0 -164
  320. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  321. package/dist/esm/snk-config-options.entry.js +0 -235
  322. package/dist/esm/snk-filter-bar.entry.js +0 -710
  323. package/dist/esm/snk-filter-item.entry.js +0 -308
  324. package/dist/esm/snk-filter-list.entry.js +0 -148
  325. package/dist/esm/snk-filter-modal.entry.js +0 -245
  326. package/dist/esm/snk-form.entry.js +0 -139
  327. package/dist/sankhyablocks/p-045eae4d.entry.js +0 -11
  328. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  329. package/dist/sankhyablocks/p-2a408684.js +0 -1
  330. package/dist/sankhyablocks/p-3a212712.js +0 -1
  331. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  332. package/dist/sankhyablocks/p-450c60e4.entry.js +0 -1
  333. package/dist/sankhyablocks/p-4e5e1313.entry.js +0 -1
  334. package/dist/sankhyablocks/p-547eeac8.entry.js +0 -1
  335. package/dist/sankhyablocks/p-62ba211a.entry.js +0 -1
  336. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  337. package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
  338. package/dist/sankhyablocks/p-75e674ed.entry.js +0 -1
  339. package/dist/sankhyablocks/p-7a337364.js +0 -1
  340. package/dist/sankhyablocks/p-7a85fd49.entry.js +0 -1
  341. package/dist/sankhyablocks/p-7b08d0f8.entry.js +0 -1
  342. package/dist/sankhyablocks/p-80042dc6.entry.js +0 -1
  343. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  344. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  345. package/dist/sankhyablocks/p-9863d682.js +0 -1
  346. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  347. package/dist/sankhyablocks/p-b05d8893.entry.js +0 -1
  348. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  349. package/dist/sankhyablocks/p-c1d57831.entry.js +0 -1
  350. package/dist/sankhyablocks/p-c2495304.js +0 -1
  351. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  352. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  353. package/dist/sankhyablocks/p-d6e26ea8.entry.js +0 -1
  354. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  355. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  356. package/dist/sankhyablocks/p-e549f7d1.js +0 -1
  357. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  358. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  359. package/dist/sankhyablocks/p-fa4d8cb4.js +0 -1
  360. package/dist/sankhyablocks/p-fe79f83a.js +0 -60
  361. 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) => {
@@ -181,10 +211,24 @@ export class SnkGrid {
181
211
  this._gridConfig = config;
182
212
  CrudUtils.assertDefaultSorting(this._gridConfig, this._dataUnit);
183
213
  }
214
+ fixColumNameCharset(columnName) {
215
+ try {
216
+ return decodeURIComponent(escape(columnName));
217
+ }
218
+ catch (e) {
219
+ return columnName;
220
+ }
221
+ }
222
+ normalizeGridConfig(config) {
223
+ if (!config)
224
+ return config;
225
+ const columnsMapped = config.columns.map(column => (Object.assign(Object.assign({}, column), { name: this.fixColumNameCharset(column.name) })));
226
+ return Object.assign(Object.assign({}, config), { columns: columnsMapped });
227
+ }
184
228
  loadConfig() {
185
229
  ConfigStorage.loadGridConfig(this.configName, this.resourceID)
186
230
  .then((config) => {
187
- this.setGridConfig(config);
231
+ this.setGridConfig(this.normalizeGridConfig(config));
188
232
  })
189
233
  .catch((error) => {
190
234
  console.warn(error);
@@ -196,12 +240,12 @@ export class SnkGrid {
196
240
  }
197
241
  }
198
242
  gridConfigChangeHandler(evt) {
199
- const config = evt.detail;
243
+ const config = this.normalizeGridConfig(evt.detail);
200
244
  ConfigStorage.saveGridConfig(config, this.configName, this.resourceID);
201
245
  evt.stopPropagation();
202
246
  }
203
247
  modalConfigChangeHandler(evt) {
204
- const config = evt.detail;
248
+ const config = this.normalizeGridConfig(evt.detail);
205
249
  this._grid.setColumnsState(config.columns)
206
250
  .then(() => {
207
251
  this.setGridConfig(config);
@@ -293,10 +337,15 @@ export class SnkGrid {
293
337
  this._rmPrecisionCustomValueFormatter = new RmPrecisionCustomValueFormatter();
294
338
  this.addGridLegacyConfigName();
295
339
  this.loadConfig();
340
+ this._continuousInsertUtils = new ContinuousInsertUtils(this._application, this.resourceID, this.configName);
341
+ if (this.enableGridInsert) {
342
+ this._continuousInsertUtils.getConfig().then(value => this._enableContinuousInsert = value);
343
+ }
296
344
  }
297
345
  componentDidRender() {
346
+ var _a, _b;
298
347
  this._rmPrecisionCustomValueFormatter.setGrid(this._grid);
299
- this.loadGridCustomFormatters(this._dataUnit.metadata.fields);
348
+ this.loadGridCustomFormatters((_b = (_a = this._dataUnit) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.fields);
300
349
  this.setCustomRenders();
301
350
  this.setCustomEditors();
302
351
  }
@@ -309,7 +358,7 @@ export class SnkGrid {
309
358
  const disabledButtons = [];
310
359
  if ((_a = this._dataState) === null || _a === void 0 ? void 0 : _a.selectionInfo) {
311
360
  if (this._dataState.selectionInfo.length > 1) {
312
- disabledButtons.push(TaskbarElement.CLONE, "ATTACH");
361
+ disabledButtons.push(TaskbarElement.CLONE, "ATTACH", TaskbarElement.UPDATE);
313
362
  }
314
363
  if (this._dataState.selectionInfo.isAllRecords()) {
315
364
  disabledButtons.push("REMOVE");
@@ -394,6 +443,14 @@ export class SnkGrid {
394
443
  eagerInitialize: true,
395
444
  itemBuilder: (actionButton, item) => this.getColumnSearch(actionButton, item)
396
445
  }];
446
+ if (this.enableGridInsert) {
447
+ hardList.push(this._continuousInsertUtils.actionContinuousInsert(this._enableContinuousInsert, () => {
448
+ this._enableContinuousInsert = !this._enableContinuousInsert;
449
+ this._continuousInsertUtils.handleSaveConfig(this._enableContinuousInsert);
450
+ }));
451
+ }
452
+ if (this.isGridInsertActive())
453
+ return hardList;
397
454
  if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
398
455
  const taskbarID = this.getTopTaskBarId();
399
456
  return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, this.configName, this._dataState, this.actionsList));
@@ -411,12 +468,20 @@ export class SnkGrid {
411
468
  }
412
469
  this._showSnkFilterBar = true;
413
470
  }
471
+ getGridHeaderButtons() {
472
+ if (this.isGridInsertActive())
473
+ return TaskbarElement.MORE_OPTIONS;
474
+ return this._headerTaskbarProcessor.buttons;
475
+ }
476
+ isGridInsertActive() {
477
+ return this.enableGridInsert && this._dataUnit.hasNewRecord();
478
+ }
414
479
  render() {
415
480
  if (!this._dataUnit) {
416
481
  return undefined;
417
482
  }
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 }))));
483
+ 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 &&
484
+ 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
485
  }
421
486
  static get is() { return "snk-grid"; }
422
487
  static get encapsulation() { return "scoped"; }
@@ -453,6 +518,42 @@ export class SnkGrid {
453
518
  },
454
519
  "defaultValue": "new SnkMultiSelectionListDataSource()"
455
520
  },
521
+ "enableLockManagerLoadingComp": {
522
+ "type": "boolean",
523
+ "mutable": false,
524
+ "complexType": {
525
+ "original": "boolean",
526
+ "resolved": "boolean",
527
+ "references": {}
528
+ },
529
+ "required": false,
530
+ "optional": true,
531
+ "docs": {
532
+ "tags": [],
533
+ "text": "Define se o componente deve usar o LockManager para controle de carregamento da aplica\u00E7\u00E3o"
534
+ },
535
+ "attribute": "enable-lock-manager-loading-comp",
536
+ "reflect": false,
537
+ "defaultValue": "false"
538
+ },
539
+ "enableLockManagerTaskbarClick": {
540
+ "type": "boolean",
541
+ "mutable": false,
542
+ "complexType": {
543
+ "original": "boolean",
544
+ "resolved": "boolean",
545
+ "references": {}
546
+ },
547
+ "required": false,
548
+ "optional": true,
549
+ "docs": {
550
+ "tags": [],
551
+ "text": "Ativa o gerenciamento de locks na grade pela Taskbar."
552
+ },
553
+ "attribute": "enable-lock-manager-taskbar-click",
554
+ "reflect": false,
555
+ "defaultValue": "false"
556
+ },
456
557
  "configName": {
457
558
  "type": "string",
458
559
  "mutable": false,
@@ -862,6 +963,42 @@ export class SnkGrid {
862
963
  "attribute": "auto-focus",
863
964
  "reflect": false,
864
965
  "defaultValue": "true"
966
+ },
967
+ "enableGridInsert": {
968
+ "type": "boolean",
969
+ "mutable": false,
970
+ "complexType": {
971
+ "original": "boolean",
972
+ "resolved": "boolean",
973
+ "references": {}
974
+ },
975
+ "required": false,
976
+ "optional": true,
977
+ "docs": {
978
+ "tags": [],
979
+ "text": "Ativa inser\u00E7\u00E3o de registros no modo grade."
980
+ },
981
+ "attribute": "enable-grid-insert",
982
+ "reflect": false,
983
+ "defaultValue": "false"
984
+ },
985
+ "outlineMode": {
986
+ "type": "boolean",
987
+ "mutable": false,
988
+ "complexType": {
989
+ "original": "boolean",
990
+ "resolved": "boolean",
991
+ "references": {}
992
+ },
993
+ "required": false,
994
+ "optional": true,
995
+ "docs": {
996
+ "tags": [],
997
+ "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)"
998
+ },
999
+ "attribute": "outline-mode",
1000
+ "reflect": false,
1001
+ "defaultValue": "false"
865
1002
  }
866
1003
  };
867
1004
  }
@@ -871,7 +1008,8 @@ export class SnkGrid {
871
1008
  "_dataState": {},
872
1009
  "_gridConfig": {},
873
1010
  "_popUpGridConfig": {},
874
- "_showSnkFilterBar": {}
1011
+ "_showSnkFilterBar": {},
1012
+ "_enableContinuousInsert": {}
875
1013
  };
876
1014
  }
877
1015
  static get events() {
@@ -909,6 +1047,18 @@ export class SnkGrid {
909
1047
  }
910
1048
  static get methods() {
911
1049
  return {
1050
+ "reloadConfig": {
1051
+ "complexType": {
1052
+ "signature": "() => Promise<void>",
1053
+ "parameters": [],
1054
+ "references": {},
1055
+ "return": "Promise<void>"
1056
+ },
1057
+ "docs": {
1058
+ "text": "",
1059
+ "tags": []
1060
+ }
1061
+ },
912
1062
  "showConfig": {
913
1063
  "complexType": {
914
1064
  "signature": "() => Promise<void>",
@@ -1143,4 +1293,13 @@ export class SnkGrid {
1143
1293
  "methodName": "handleGridLegacyConfigName"
1144
1294
  }];
1145
1295
  }
1296
+ static get listeners() {
1297
+ return [{
1298
+ "name": "click",
1299
+ "method": "handleClick",
1300
+ "target": undefined,
1301
+ "capture": true,
1302
+ "passive": false
1303
+ }];
1304
+ }
1146
1305
  }
@@ -53,7 +53,7 @@
53
53
  /*@doc Define o raio da borda da barra de rolagem do componente.*/
54
54
  --snk-grid-config__scrollbar--border-radius: var(--border--radius-small, 6px);
55
55
  /*@doc Define a largura da barra de rolagem do componente.*/
56
- --snk-grid-config__scrollbar--width: var(--space--medium, 12px);
56
+ --snk-grid-config__scrollbar--width: var(--space--small, 6px);
57
57
 
58
58
  display: grid;
59
59
  grid-template-rows: auto 1fr auto;
@@ -0,0 +1,9 @@
1
+ :host {
2
+ background: var(--background--xlight, #FFF);
3
+ overflow-x: auto;
4
+ }
5
+
6
+ ez-grid {
7
+ --ez-grid__container--shadow: none;
8
+ --ez-grid__header--shadow:none;
9
+ }