@sankhyalabs/sankhyablocks 8.16.0-dev.1 → 8.16.0-dev.100

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 (425) hide show
  1. package/dist/cjs/ClientSideExporterProvider-5fff8770.js +372 -0
  2. package/dist/cjs/{ConfigStorage-942ce74b.js → ConfigStorage-df09fb78.js} +3 -2
  3. package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-1afdb18e.js} +231 -79
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/ISave-c76e2c51.js +397 -0
  7. package/dist/cjs/{SnkFormConfigManager-1b13bacd.js → SnkFormConfigManager-45a8d7b7.js} +77 -21
  8. package/dist/cjs/{SnkMessageBuilder-722b104e.js → SnkMessageBuilder-bae64d0d.js} +7 -3
  9. package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-1687ac0a.js} +1 -1
  10. package/dist/cjs/{constants-35ddd366.js → constants-77c1b8bd.js} +10 -0
  11. package/dist/cjs/{dataunit-fetcher-620b29a1.js → dataunit-fetcher-4a5d491a.js} +220 -168
  12. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  13. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-40d3f752.js} +56 -2
  14. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  15. package/dist/cjs/index-f9e81701.js +16 -32
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +155 -0
  18. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  19. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_7.cjs.entry.js} +201 -44
  20. package/dist/cjs/snk-application.cjs.entry.js +468 -74
  21. package/dist/cjs/snk-attach.cjs.entry.js +49 -37
  22. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
  23. package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
  24. package/dist/cjs/snk-crud.cjs.entry.js +29 -23
  25. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  26. package/dist/cjs/{snk-data-unit-82dea87e.js → snk-data-unit-4b510d6e.js} +69 -35
  27. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  28. package/dist/cjs/snk-detail-view.cjs.entry.js +18 -19
  29. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1438 -0
  32. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  35. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
  37. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  38. package/dist/cjs/snk-grid.cjs.entry.js +96 -28
  39. package/dist/cjs/{snk-guides-viewer-05a1ba27.js → snk-guides-viewer-e8e5f7b4.js} +34 -19
  40. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -12
  41. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  42. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  43. package/dist/cjs/snk-pesquisa.cjs.entry.js +110 -31
  44. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-simple-crud.cjs.entry.js +119 -115
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +72 -40
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-7e19882d.js} +1 -1
  50. package/dist/collection/collection-manifest.json +16 -31
  51. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  52. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  53. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  54. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  55. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  56. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  57. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  58. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  59. package/dist/collection/components/snk-application/snk-application.css +36 -0
  60. package/dist/collection/components/snk-application/snk-application.js +447 -67
  61. package/dist/collection/components/snk-attach/snk-attach.js +25 -16
  62. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  63. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -5
  64. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  65. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  66. package/dist/collection/components/snk-crud/snk-crud.js +185 -14
  67. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
  68. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +28 -5
  69. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  70. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +74 -8
  71. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  72. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  73. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  74. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
  75. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  76. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  77. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  78. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  79. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  80. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  81. package/dist/collection/components/snk-data-unit/snk-data-unit.js +84 -33
  82. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  83. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  84. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  85. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  90. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  91. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  92. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  93. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  94. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  95. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  96. package/dist/collection/components/snk-form/snk-form.js +2 -2
  97. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +75 -19
  98. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  99. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  100. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  101. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  102. package/dist/collection/components/snk-grid/snk-grid.js +199 -13
  103. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  104. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  105. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  106. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  107. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  108. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  109. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  110. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  111. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  112. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  114. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  115. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +174 -32
  116. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  117. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  118. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  119. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +219 -36
  120. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  121. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  122. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  123. package/dist/collection/components/snk-taskbar/snk-taskbar.js +112 -38
  124. package/dist/collection/lib/@types/index.js +5 -0
  125. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  126. package/dist/collection/lib/configs/ConfigStorage.js +1 -0
  127. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  128. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -102
  129. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -28
  130. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -24
  131. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  132. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  133. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  134. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  135. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  136. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  137. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  138. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  139. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  140. package/dist/collection/lib/index.js +1 -0
  141. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -1
  142. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  143. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  144. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  145. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  146. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  147. package/dist/collection/lib/utils/constants.js +10 -0
  148. package/dist/collection/sw.js +46 -0
  149. package/dist/components/ConfigStorage.js +1 -0
  150. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +176 -33
  151. package/dist/components/DataFetcher.js +232 -80
  152. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  153. package/dist/components/ISave.js +391 -1
  154. package/dist/components/SnkFormConfigManager.js +75 -19
  155. package/dist/components/SnkMessageBuilder.js +7 -3
  156. package/dist/components/constants.js +11 -1
  157. package/dist/components/dataunit-fetcher.js +238 -183
  158. package/dist/components/form-config-fetcher.js +55 -1
  159. package/dist/components/index.d.ts +5 -0
  160. package/dist/components/index.js +5 -0
  161. package/dist/components/pesquisa-grid.d.ts +11 -0
  162. package/dist/components/pesquisa-grid.js +6 -0
  163. package/dist/components/pesquisa-grid2.js +102 -0
  164. package/dist/components/pesquisa-tree.d.ts +11 -0
  165. package/dist/components/pesquisa-tree.js +6 -0
  166. package/dist/components/pesquisa-tree2.js +91 -0
  167. package/dist/components/snk-actions-button2.js +44 -40
  168. package/dist/components/snk-application2.js +491 -72
  169. package/dist/components/snk-attach2.js +61 -55
  170. package/dist/components/snk-config-options2.js +6 -4
  171. package/dist/components/snk-configurator2.js +23 -3
  172. package/dist/components/snk-crud.js +107 -75
  173. package/dist/components/snk-data-exporter2.js +37 -23
  174. package/dist/components/snk-data-unit2.js +71 -73
  175. package/dist/components/snk-detail-view2.js +145 -113
  176. package/dist/components/snk-exporter-email-sender2.js +1 -1
  177. package/dist/components/snk-filter-bar2.js +68 -34
  178. package/dist/components/snk-filter-binary-select.js +1 -1
  179. package/dist/components/snk-filter-checkbox-list.js +1 -1
  180. package/dist/components/snk-filter-item2.js +10 -4
  181. package/dist/components/snk-filter-modal.js +4 -2
  182. package/dist/components/snk-filter-number.js +1 -1
  183. package/dist/components/snk-filter-search.js +18 -5
  184. package/dist/components/snk-filter-text.js +2 -1
  185. package/dist/components/snk-form-config2.js +35 -10
  186. package/dist/components/snk-form.js +2 -2
  187. package/dist/components/snk-grid-config2.js +3 -1
  188. package/dist/components/snk-grid2.js +92 -18
  189. package/dist/components/snk-layout-form-config.d.ts +11 -0
  190. package/dist/components/snk-layout-form-config.js +6 -0
  191. package/dist/components/snk-layout-form-config2.js +73 -0
  192. package/dist/components/snk-personalized-filter-editor.js +4 -4
  193. package/dist/components/snk-pesquisa2.js +125 -33
  194. package/dist/components/snk-print-selector.js +1 -1
  195. package/dist/components/snk-simple-bar2.js +1 -1
  196. package/dist/components/snk-simple-crud2.js +116 -113
  197. package/dist/components/snk-simple-form-config.d.ts +11 -0
  198. package/dist/components/snk-simple-form-config.js +6 -0
  199. package/dist/components/snk-simple-form-config2.js +121 -0
  200. package/dist/components/snk-tab-config2.js +1 -1
  201. package/dist/components/snk-taskbar2.js +72 -40
  202. package/dist/components/snk-view-representation.d.ts +11 -0
  203. package/dist/components/snk-view-representation.js +6 -0
  204. package/dist/components/snk-view-representation2.js +41 -0
  205. package/dist/components/teste-pesquisa.js +13 -1
  206. package/dist/esm/ClientSideExporterProvider-da9935ed.js +361 -0
  207. package/dist/esm/{ConfigStorage-86187da3.js → ConfigStorage-71e6766f.js} +3 -2
  208. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-88e56266.js} +232 -80
  209. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  210. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  211. package/dist/esm/ISave-5efafc97.js +394 -0
  212. package/dist/esm/{SnkFormConfigManager-d4554df9.js → SnkFormConfigManager-be490a33.js} +77 -21
  213. package/dist/esm/{SnkMessageBuilder-89925609.js → SnkMessageBuilder-6fff4a4c.js} +7 -3
  214. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-3510520e.js} +1 -1
  215. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  216. package/dist/esm/{dataunit-fetcher-3fbf9d12.js → dataunit-fetcher-1d02ecfc.js} +222 -167
  217. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  218. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-fa208a6c.js} +56 -2
  219. package/dist/esm/index-a7d3d3f1.js +16 -32
  220. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  221. package/dist/esm/loader.js +1 -1
  222. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  223. package/dist/esm/sankhyablocks.js +1 -1
  224. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_7.entry.js} +201 -47
  225. package/dist/esm/snk-application.entry.js +469 -75
  226. package/dist/esm/snk-attach.entry.js +50 -38
  227. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  228. package/dist/esm/snk-configurator.entry.js +10 -3
  229. package/dist/esm/snk-crud.entry.js +29 -23
  230. package/dist/esm/snk-data-exporter.entry.js +38 -30
  231. package/dist/esm/{snk-data-unit-8f98b45f.js → snk-data-unit-7d0ce406.js} +69 -35
  232. package/dist/esm/snk-data-unit.entry.js +5 -5
  233. package/dist/esm/snk-detail-view.entry.js +18 -19
  234. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  235. package/dist/esm/snk-field-config.entry.js +1 -1
  236. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  237. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  238. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  239. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  240. package/dist/esm/snk-filter-number.entry.js +1 -1
  241. package/dist/esm/snk-filter-search.entry.js +18 -5
  242. package/dist/esm/snk-filter-text.entry.js +2 -1
  243. package/dist/esm/snk-grid.entry.js +91 -23
  244. package/dist/esm/{snk-guides-viewer-aee2cafe.js → snk-guides-viewer-c44b3839.js} +34 -19
  245. package/dist/esm/snk-guides-viewer.entry.js +11 -12
  246. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  247. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  248. package/dist/esm/snk-pesquisa.entry.js +110 -31
  249. package/dist/esm/snk-print-selector.entry.js +1 -1
  250. package/dist/esm/snk-simple-bar.entry.js +1 -1
  251. package/dist/esm/snk-simple-crud.entry.js +105 -101
  252. package/dist/esm/snk-tab-config.entry.js +1 -1
  253. package/dist/esm/snk-taskbar.entry.js +73 -41
  254. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-d2353c64.js} +1 -1
  255. package/dist/sankhyablocks/p-00796b12.entry.js +1 -0
  256. package/dist/sankhyablocks/{p-aff76a53.js → p-03b68a74.js} +2 -2
  257. package/dist/sankhyablocks/p-092078e3.entry.js +1 -0
  258. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  259. package/dist/sankhyablocks/{p-a1d72395.entry.js → p-165cde3b.entry.js} +1 -1
  260. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  261. package/dist/sankhyablocks/p-17425c72.js +1 -0
  262. package/dist/sankhyablocks/p-23736d75.js +1 -0
  263. package/dist/sankhyablocks/p-35f85998.entry.js +1 -0
  264. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  265. package/dist/sankhyablocks/p-38e3ffda.entry.js +1 -0
  266. package/dist/sankhyablocks/p-3b190fb1.entry.js +1 -0
  267. package/dist/sankhyablocks/{p-7e7a7473.js → p-3fc82614.js} +1 -1
  268. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  269. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  270. package/dist/sankhyablocks/{p-eae7a817.entry.js → p-490b75b5.entry.js} +1 -1
  271. package/dist/sankhyablocks/p-4ad638be.js +1 -0
  272. package/dist/sankhyablocks/p-5503e89f.entry.js +1 -0
  273. package/dist/sankhyablocks/p-5cc206bb.entry.js +1 -0
  274. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  275. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  276. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  277. package/dist/sankhyablocks/p-601b252b.js +26 -0
  278. package/dist/sankhyablocks/p-6293ded9.entry.js +11 -0
  279. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  280. package/dist/sankhyablocks/p-6e0a5314.js +1 -0
  281. package/dist/sankhyablocks/{p-913a9979.js → p-73285a8a.js} +1 -1
  282. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  283. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  284. package/dist/sankhyablocks/p-893b9483.entry.js +1 -0
  285. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  286. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  287. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  288. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  289. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  290. package/dist/sankhyablocks/p-92778d5a.js +1 -0
  291. package/dist/sankhyablocks/p-a8be1d67.js +60 -0
  292. package/dist/sankhyablocks/p-a962a3e4.entry.js +1 -0
  293. package/dist/sankhyablocks/p-b2a2a83e.entry.js +1 -0
  294. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  295. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  296. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  297. package/dist/sankhyablocks/p-d9fdb018.entry.js +1 -0
  298. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  299. package/dist/sankhyablocks/p-ef6f0a1b.entry.js +1 -0
  300. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  301. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  302. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  303. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  304. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  305. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  306. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  307. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  308. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  309. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  310. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  311. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  312. package/dist/types/components/snk-crud/snk-crud.d.ts +34 -0
  313. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
  314. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +15 -0
  315. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  316. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  317. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  318. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  319. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  320. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  321. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  322. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +7 -0
  323. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  324. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  325. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  326. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  327. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +9 -4
  328. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  329. package/dist/types/components/snk-grid/snk-grid.d.ts +33 -0
  330. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  331. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  332. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  333. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  334. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  335. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  336. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
  337. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +35 -3
  338. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  339. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  340. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  341. package/dist/types/components.d.ts +514 -16
  342. package/dist/types/lib/@types/index.d.ts +4 -0
  343. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  344. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  345. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  346. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  347. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  348. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  349. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  350. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  351. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  352. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  353. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  354. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  355. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  356. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  357. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  358. package/dist/types/lib/index.d.ts +1 -0
  359. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  360. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  361. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  362. package/dist/types/lib/utils/constants.d.ts +8 -0
  363. package/package.json +4 -3
  364. package/react/components.d.ts +5 -0
  365. package/react/components.js +5 -0
  366. package/react/components.js.map +1 -1
  367. package/dist/cjs/IExporterProvider-c78cb1b8.js +0 -230
  368. package/dist/cjs/ISave-e91b70a7.js +0 -9
  369. package/dist/cjs/pesquisa-fetcher-680e198f.js +0 -166
  370. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  371. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  372. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  373. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  374. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  375. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  376. package/dist/components/pesquisa-fetcher.js +0 -164
  377. package/dist/esm/IExporterProvider-343272b3.js +0 -221
  378. package/dist/esm/ISave-d8c8bc59.js +0 -9
  379. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  380. package/dist/esm/snk-config-options.entry.js +0 -235
  381. package/dist/esm/snk-filter-bar.entry.js +0 -710
  382. package/dist/esm/snk-filter-item.entry.js +0 -308
  383. package/dist/esm/snk-filter-list.entry.js +0 -148
  384. package/dist/esm/snk-filter-modal.entry.js +0 -245
  385. package/dist/esm/snk-form.entry.js +0 -139
  386. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  387. package/dist/sankhyablocks/p-0d91b10f.entry.js +0 -1
  388. package/dist/sankhyablocks/p-14a08904.entry.js +0 -1
  389. package/dist/sankhyablocks/p-21749402.js +0 -1
  390. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  391. package/dist/sankhyablocks/p-26394a01.entry.js +0 -1
  392. package/dist/sankhyablocks/p-2d649237.entry.js +0 -1
  393. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  394. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  395. package/dist/sankhyablocks/p-44767378.entry.js +0 -1
  396. package/dist/sankhyablocks/p-47b60deb.entry.js +0 -1
  397. package/dist/sankhyablocks/p-4f72727a.entry.js +0 -1
  398. package/dist/sankhyablocks/p-550fee49.entry.js +0 -1
  399. package/dist/sankhyablocks/p-5539ecb4.entry.js +0 -1
  400. package/dist/sankhyablocks/p-672302c3.js +0 -60
  401. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  402. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  403. package/dist/sankhyablocks/p-7a337364.js +0 -1
  404. package/dist/sankhyablocks/p-829d4045.js +0 -1
  405. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  406. package/dist/sankhyablocks/p-8a5910a7.entry.js +0 -1
  407. package/dist/sankhyablocks/p-8cc64963.entry.js +0 -1
  408. package/dist/sankhyablocks/p-8fc470e5.entry.js +0 -1
  409. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  410. package/dist/sankhyablocks/p-9863d682.js +0 -1
  411. package/dist/sankhyablocks/p-9e99a92a.js +0 -1
  412. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  413. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  414. package/dist/sankhyablocks/p-be603a24.js +0 -1
  415. package/dist/sankhyablocks/p-c2495304.js +0 -1
  416. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  417. package/dist/sankhyablocks/p-d09feef1.js +0 -1
  418. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  419. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  420. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  421. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  422. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  423. package/dist/sankhyablocks/p-e95b3b93.entry.js +0 -11
  424. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  425. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -1,12 +1,11 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { UserInterface, StringUtils, ApplicationContext, ObjectUtils, DataType, JSUtils, FloatingManager, ElementIDUtils } from '@sankhyalabs/core';
2
+ import { StringUtils, ApplicationContext, ObjectUtils, DataType, UserInterface, JSUtils, FloatingManager, KeyboardManager, ElementIDUtils } from '@sankhyalabs/core';
3
3
  import { CSSVarsUtils } from '@sankhyalabs/ezui/dist/collection/utils';
4
4
  import { V as VIEW_MODE, S as SIMPLE_CRUD_MODE } from './constants.js';
5
- import { T as TaskbarElement, d as defineCustomElement$2 } from './snk-taskbar2.js';
5
+ import { T as TaskbarElement, d as defineCustomElement$3 } from './snk-taskbar2.js';
6
6
  import './DataFetcher.js';
7
- import './pesquisa-fetcher.js';
8
- import { C as CommonsExporter, S as SnkMultiSelectionListDataSource, T as TaskbarProcessor, R as RmPrecisionCustomValueFormatter, b as buildFieldSearch, o as openFieldSearch, a as CrudUtils } from './IExporterProvider.js';
9
- import { D as DataExporterOption, P as PresentationMode } from './ISave.js';
7
+ import { P as PresentationMode } from './ISave.js';
8
+ import { S as SnkMultiSelectionListDataSource, T as TaskbarProcessor, R as RmPrecisionCustomValueFormatter, c as ContinuousInsertUtils, b as buildFieldSearch, o as openFieldSearch, a as CrudUtils, d as ClientSideExporterProvider } from './ContinuousInsertUtils.js';
10
9
  import '@sankhyalabs/ezui/dist/collection/utils/constants';
11
10
  import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
12
11
  import { I as InMemoryLoader } from './dataunit-fetcher.js';
@@ -14,79 +13,23 @@ import './filter-item-type.enum.js';
14
13
  import { F as FormConfigFetcher } from './form-config-fetcher.js';
15
14
  import { C as ConfigStorage } from './ConfigStorage.js';
16
15
  import { S as SnkFormConfigManager } from './SnkFormConfigManager.js';
17
- import { g as getSelectedIDs, d as defineCustomElement$9 } from './snk-data-unit2.js';
18
16
  import { s as store } from './index2.js';
19
- import { d as defineCustomElement$d } from './snk-actions-button2.js';
20
- import { d as defineCustomElement$c } from './snk-config-options2.js';
17
+ import { d as defineCustomElement$c } from './snk-actions-button2.js';
21
18
  import { d as defineCustomElement$b } from './snk-configurator2.js';
22
19
  import { d as defineCustomElement$a } from './snk-data-exporter2.js';
20
+ import { d as defineCustomElement$9 } from './snk-data-unit2.js';
23
21
  import { d as defineCustomElement$8 } from './snk-exporter-email-sender2.js';
24
- import { d as defineCustomElement$7 } from './snk-field-config2.js';
25
- import { d as defineCustomElement$6 } from './snk-form-config2.js';
26
- import { d as defineCustomElement$5 } from './snk-grid-config2.js';
27
- import { d as defineCustomElement$4 } from './snk-select-box2.js';
28
- import { d as defineCustomElement$3 } from './snk-tab-config2.js';
22
+ import { d as defineCustomElement$7 } from './snk-grid-config2.js';
23
+ import { d as defineCustomElement$6 } from './snk-layout-form-config2.js';
24
+ import { d as defineCustomElement$5 } from './snk-select-box2.js';
25
+ import { d as defineCustomElement$4 } from './snk-simple-form-config2.js';
26
+ import { d as defineCustomElement$2 } from './snk-view-representation2.js';
29
27
  import { d as defineCustomElement$1 } from './taskbar-actions-button2.js';
30
28
 
31
29
  const REGULAR_DEFAULT_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER", "MORE_OPTIONS"];
32
30
  const REGULAR_SELECTED_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER", "CLONE", "REMOVE", "DIVIDER", "MORE_OPTIONS"];
33
31
 
34
- class ClientSideExporterProvider extends CommonsExporter {
35
- getSelectedNumber() {
36
- return this.dataUnit.getSelectionInfo().length;
37
- }
38
- getTotalRecords() {
39
- var _a, _b, _c;
40
- const { total } = ((_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.getPaginationInfo()) || {};
41
- return total !== null && total !== void 0 ? total : (_c = (_b = this.dataUnit) === null || _b === void 0 ? void 0 : _b.records) === null || _c === void 0 ? void 0 : _c.length;
42
- }
43
- getSelectedIDs() {
44
- return getSelectedIDs(this.dataUnit);
45
- }
46
- getRecordID() {
47
- var _a, _b, _c;
48
- return (_c = (_b = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.records) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.__record__id__;
49
- }
50
- async getRecords() {
51
- if (this.dataUnit.records.length === 0) {
52
- return Promise.resolve([]);
53
- }
54
- const selectionInfo = this.dataUnit.getSelectionInfo();
55
- const records = selectionInfo.isEmpty() || selectionInfo.isAllRecords() ? await selectionInfo.getAllRecords() : selectionInfo.records;
56
- return Promise.resolve(records == undefined ? [] : records);
57
- }
58
- getHiddenOptions() {
59
- return [
60
- DataExporterOption.EXPORT_BY_EMAIL,
61
- DataExporterOption.EXPORT_PDF_TO_EMAIL,
62
- DataExporterOption.EXPORT_XLS_TO_EMAIL,
63
- DataExporterOption.EXPORT_PAGE_TO_PDF,
64
- DataExporterOption.EXPORT_PAGE_TO_XLS
65
- ];
66
- }
67
- formatValue(record, column) {
68
- const { id, descriptionFrom } = column;
69
- const value = record[descriptionFrom || id];
70
- if (value == undefined) {
71
- return "";
72
- }
73
- if (descriptionFrom != undefined) {
74
- return value.label;
75
- }
76
- const fieldDescriptor = this.dataUnit.getField(id);
77
- if (fieldDescriptor.userInterface === UserInterface.SEARCH) {
78
- return value.value;
79
- }
80
- if (column.customFormatter) {
81
- const ezGridColumn = this.getColumnsState().find(columnState => column.id === columnState.name);
82
- const formattedValue = column.customFormatter.format(value, ezGridColumn, record.__record__id__);
83
- return formattedValue;
84
- }
85
- return this.dataUnit.getFormattedValue(id, value);
86
- }
87
- }
88
-
89
- const snkSimpleCrudCss = ".sc-snk-simple-crud-h{display:flex;height:100%;width:100%;--snk-simple-crud-grid--min-height:300px}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:auto 1fr;row-gap:12px;height:100%;width:100%}.simple-crud__container-section.sc-snk-simple-crud{flex-wrap:unset;flex-direction:column}.simple-crud__form--hidden.sc-snk-simple-crud{display:none}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;--ez-grid--min-height:var(--snk-simple-crud-grid--min-height)}ez-form.sc-snk-simple-crud{min-height:300px}";
32
+ const snkSimpleCrudCss = ".sc-snk-simple-crud-h{display:flex;height:100%;width:100%;--snk-simple-crud-grid--min-height:300px}.simple-crud__container.sc-snk-simple-crud{display:grid;grid-template-rows:auto 1fr;height:100%;width:100%}.simple-crud__container-section.sc-snk-simple-crud{flex-wrap:unset;flex-direction:column}.simple-crud__form--hidden.sc-snk-simple-crud{display:none}ez-grid.sc-snk-simple-crud{--ez-grid__container--shadow:none;--ez-grid__container--shadow--outline:none;--ez-grid--min-height:var(--snk-simple-crud-grid--min-height)}ez-form.sc-snk-simple-crud{min-height:300px}";
90
33
 
91
34
  const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
92
35
  constructor() {
@@ -104,18 +47,19 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
104
47
  this._customEditors = new Map();
105
48
  this._customRenders = new Map();
106
49
  this._taskbarProcessor = new TaskbarProcessor({
107
- "snkSimpleCrudTaskbar.form_regular": this.getButtons(false, [TaskbarElement.GRID_MODE]),
50
+ "snkSimpleCrudTaskbar.form_regular": this.getButtons(false, [TaskbarElement.GRID_MODE], true),
108
51
  "snkSimpleCrudTaskbar.grid_regular": this.getButtons(false, [TaskbarElement.DATA_EXPORTER, TaskbarElement.FORM_MODE]),
109
- "snkSimpleCrudTaskbar.form_selected": this.getButtons(true, [TaskbarElement.GRID_MODE]),
52
+ "snkSimpleCrudTaskbar.form_selected": this.getButtons(true, [TaskbarElement.GRID_MODE], true),
110
53
  "snkSimpleCrudTaskbar.grid_selected": this.getButtons(true, [TaskbarElement.DATA_EXPORTER, TaskbarElement.FORM_MODE]),
111
- "snkSimpleCrudTaskbar.finish_edition": ["CANCEL", "SAVE"]
54
+ "snkSimpleCrudTaskbar.finish_edition": this.getFinishEditionButtonsCallback.bind(this)
112
55
  });
113
56
  this._showPopUpGridConfig = false;
114
- this._showFormConfig = false;
115
57
  this._currentViewMode = VIEW_MODE.GRID;
116
58
  this._config = undefined;
117
59
  this._fieldToGetFocus = undefined;
118
60
  this._customContainerId = `SNK-SIMPLE-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
61
+ this.enableLockManagerLoadingComp = false;
62
+ this.enableLockManagerTaskbarClick = false;
119
63
  this.dataState = undefined;
120
64
  this.dataUnit = undefined;
121
65
  this.entityName = undefined;
@@ -124,10 +68,12 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
124
68
  this.formConfig = undefined;
125
69
  this._formFields = [];
126
70
  this._fieldsProps = new Map();
71
+ this.enableContinuousInsert = false;
127
72
  this.multipleSelection = undefined;
128
73
  this.useCancelConfirm = true;
129
74
  this.pageSize = 150;
130
75
  this.resourceID = undefined;
76
+ this.enableGridInsert = false;
131
77
  this.taskbarManager = undefined;
132
78
  this.messagesBuilder = undefined;
133
79
  this.useEnterLikeTab = false;
@@ -138,7 +84,10 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
138
84
  this.formLegacyConfigName = undefined;
139
85
  this.ignoreReadOnlyFormFields = false;
140
86
  this.autoFocus = true;
87
+ this.domainMessagesBuilder = undefined;
88
+ this.layoutFormConfig = false;
141
89
  this.autoLoad = undefined;
90
+ this.outlineMode = false;
142
91
  }
143
92
  /**
144
93
  * Registra um editor customizado para campos da grade e formulário.
@@ -196,8 +145,19 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
196
145
  newCustomFieldProps.set(fieldName, Object.assign(Object.assign({}, currentProps), { [propName]: value }));
197
146
  this._fieldsProps = newCustomFieldProps;
198
147
  }
199
- getButtons(selected, extraButtons) {
200
- return this.addConfigButton(this.resolveInMemoryBtns(selected ? REGULAR_SELECTED_BTNS : REGULAR_DEFAULT_BTNS)
148
+ getFinishEditionButtonsCallback() {
149
+ const btns = ["CANCEL", "SAVE"];
150
+ if (this.enableGridInsert && this._currentViewMode !== VIEW_MODE.ATTACHMENT) {
151
+ btns.push(this._currentViewMode === VIEW_MODE.GRID ? TaskbarElement.FORM_MODE : TaskbarElement.GRID_MODE);
152
+ }
153
+ return btns;
154
+ }
155
+ getButtons(selected, extraButtons, removeRefresh) {
156
+ let btnList = selected ? REGULAR_SELECTED_BTNS : REGULAR_DEFAULT_BTNS;
157
+ if (removeRefresh) {
158
+ btnList = btnList.filter(item => item !== TaskbarElement.REFRESH);
159
+ }
160
+ return this.addConfigButton(this.resolveInMemoryBtns(btnList)
201
161
  .concat(extraButtons));
202
162
  }
203
163
  addConfigButton(buttons) {
@@ -316,15 +276,9 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
316
276
  });
317
277
  }
318
278
  async openFormConfig() {
319
- var _a, _b;
320
- //No momento não daremos suporte para configuraçao de formulário quando houver legacy config
321
- if (this.formLegacyConfigName) {
322
- const title = (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage("snkSimpleCrud.formConfigUnavaliable.title", undefined);
323
- const message = (_b = this.messagesBuilder) === null || _b === void 0 ? void 0 : _b.getMessage("snkSimpleCrud.formConfigUnavaliable.message", undefined);
324
- await this.application.alert(title, message);
325
- return;
279
+ if (this.formLegacyConfigName || this.configName) {
280
+ await this._snkSimpleFormConfig.show();
326
281
  }
327
- this._showFormConfig = true;
328
282
  }
329
283
  addGridLegacyConfigName() {
330
284
  if (this.gridLegacyConfigName && this.configName) {
@@ -354,12 +308,12 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
354
308
  formConfigIsLoaded() {
355
309
  return this.formConfig != undefined || this._formConfigAlreadyLoaded;
356
310
  }
357
- async loadFormConfig(forceLoad = false) {
311
+ async loadFormConfig(forceLoad = false, forceSetNewConfig = false) {
358
312
  if (this.configName === undefined) {
359
313
  return;
360
314
  }
361
315
  if (this._formConfigManager == undefined) {
362
- this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID());
316
+ this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID(), undefined, this.dataUnit);
363
317
  this._formConfigManager.setConfig(this.formConfig);
364
318
  }
365
319
  if (this.formConfigIsLoaded() && !forceLoad) {
@@ -369,7 +323,7 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
369
323
  let loadedLegacyConfig = await this._formConfigFetcher.fetchLegacyConfigurableForm(this.formLegacyConfigName);
370
324
  if (loadedLegacyConfig != undefined) {
371
325
  this._formConfigManager.setConfig(loadedLegacyConfig);
372
- this.setFormConfig(loadedLegacyConfig);
326
+ this.setFormConfig(loadedLegacyConfig, forceSetNewConfig);
373
327
  return;
374
328
  }
375
329
  this.setFormConfig(await this._formConfigManager.loadConfig());
@@ -400,9 +354,14 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
400
354
  this.onModeChange();
401
355
  this.configDatasource();
402
356
  this._rmPrecisionCustomValueFormatter = new RmPrecisionCustomValueFormatter();
357
+ this._continuousInsertUtils = new ContinuousInsertUtils(this.application, this.resolveResourceID(), this.configName);
358
+ if (this.enableGridInsert) {
359
+ this._continuousInsertUtils.getConfig().then(value => this.enableContinuousInsert = value);
360
+ }
403
361
  }
404
362
  componentDidLoad() {
405
363
  CSSVarsUtils.applyVarsGrid(this._element, this._grid);
364
+ this.initKeyboardManager();
406
365
  }
407
366
  setCustomRenders() {
408
367
  if (!this._grid) {
@@ -634,6 +593,9 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
634
593
  const options = filteredFields.map(field => ({ value: field.name, label: field.label }));
635
594
  return Promise.resolve(options);
636
595
  }
596
+ isGridInsertActive() {
597
+ return this.enableGridInsert && this.dataUnit.hasNewRecord();
598
+ }
637
599
  getActionsList() {
638
600
  var _a, _b;
639
601
  const hardList = [{
@@ -645,11 +607,21 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
645
607
  ? this.getColumnSearch(actionButton, item)
646
608
  : this.getFieldSearch(actionButton, item)
647
609
  }];
610
+ if (this.enableGridInsert) {
611
+ hardList.push(this._continuousInsertUtils.actionContinuousInsert(this.enableContinuousInsert, () => {
612
+ this.enableContinuousInsert = !this.enableContinuousInsert;
613
+ this._continuousInsertUtils.handleSaveConfig(this.enableContinuousInsert);
614
+ }));
615
+ }
616
+ if (this.isGridInsertActive())
617
+ return hardList;
648
618
  if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
649
619
  const taskbarID = this.getTopTaskBarId();
650
620
  return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, this.configName, this.dataState, this.actionsList));
651
621
  }
652
- return hardList.concat(this.actionsList);
622
+ if (this.actionsList)
623
+ return hardList.concat(this.actionsList);
624
+ return hardList;
653
625
  }
654
626
  getTopTaskBarId() {
655
627
  var _a;
@@ -694,9 +666,11 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
694
666
  window.removeEventListener("keydown", this._keyDownHandler);
695
667
  }
696
668
  gridConfigChangeHandler(evt) {
669
+ evt.stopPropagation();
670
+ if (!this.configName)
671
+ return;
697
672
  const config = evt.detail;
698
673
  ConfigStorage.saveGridConfig(config, this.configName, this.resolveResourceID());
699
- evt.stopPropagation();
700
674
  }
701
675
  modalConfigChangeHandler(evt) {
702
676
  const config = evt.detail;
@@ -733,9 +707,6 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
733
707
  closeGridConfig() {
734
708
  this._showPopUpGridConfig = false;
735
709
  }
736
- closeFormConfig() {
737
- this._showFormConfig = false;
738
- }
739
710
  getPageSize() {
740
711
  if (this.mode === SIMPLE_CRUD_MODE.IN_MEMORY) {
741
712
  return 0;
@@ -745,38 +716,69 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
745
716
  }
746
717
  return this.pageSize;
747
718
  }
748
- //No momento não daremos suporte para configuração de formulário quando houver formLegacyConfigName
749
- handleShowFormConfig() {
750
- return this._showFormConfig && !this.formLegacyConfigName;
751
- }
752
719
  resolveResourceID() {
753
720
  return StringUtils.isEmpty(this.resourceID) ? this._resourceID : this.resourceID;
754
721
  }
755
722
  getFormConfig() {
756
- var _a, _b;
757
- const configFromManager = (_a = this._formConfigManager) === null || _a === void 0 ? void 0 : _a.getConfig((_b = this.dataState) === null || _b === void 0 ? void 0 : _b.insertionMode, this.dataUnit, this.ignoreReadOnlyFormFields);
723
+ var _a;
724
+ const configFromManager = (_a = this._formConfigManager) === null || _a === void 0 ? void 0 : _a.getConfig(this.dataUnit, this.ignoreReadOnlyFormFields);
758
725
  if (!this.configName && !configFromManager) {
759
726
  return this.formConfig;
760
727
  }
761
728
  return configFromManager;
762
729
  }
763
730
  updateFormConfig() {
764
- const newConfig = Object.assign(Object.assign({}, this.formConfig), { fields: this.dataUnit.metadata.fields });
731
+ let newConfig = this.formConfig;
732
+ if (this.formLegacyConfigName == undefined) {
733
+ newConfig = Object.assign(Object.assign({}, this.formConfig), { fields: this.dataUnit.metadata.fields });
734
+ }
765
735
  this.setFormConfig(newConfig, true);
766
736
  if (this._formConfigManager == undefined) {
767
737
  this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID());
768
738
  }
769
739
  this._formConfigManager.setConfig(this.formConfig);
770
740
  }
741
+ handleDataUnitOnInsertionMode() {
742
+ if (this.enableGridInsert)
743
+ return;
744
+ this.goToView(VIEW_MODE.FORM);
745
+ }
746
+ async initKeyboardManager() {
747
+ var _a;
748
+ const keyboardManager = new KeyboardManager();
749
+ const dataUnit = this.dataUnit || await ((_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.getDataUnit());
750
+ if (dataUnit == undefined) {
751
+ return;
752
+ }
753
+ keyboardManager
754
+ .bind("F7", () => dataUnit.saveData(), { description: "Salva os dados.", element: this._element })
755
+ .bind("F8", dataUnit.addRecord.bind(dataUnit), { description: "Adiciona um novo registro.", element: this._element })
756
+ .bind("F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado.", element: this._element })
757
+ .bind("Escape", () => {
758
+ if (dataUnit.isDirty()) {
759
+ dataUnit.cancelEdition();
760
+ }
761
+ }, {
762
+ debounceTime: 1000,
763
+ description: "Cancela uma ação.", element: this._element
764
+ });
765
+ }
766
+ async handleFormConfigSaved() {
767
+ await this.loadFormConfig(true, true);
768
+ }
769
+ renderTaskbarContent() {
770
+ var _a;
771
+ return (h("snk-taskbar", { class: this._currentViewMode === VIEW_MODE.FORM && `ez-box ${this.outlineMode ? 'ez-box--outline' : 'ez-box--shadow-xsmall'} ez-padding--small`, dataUnit: this.dataUnit, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-element-id": "grid_left", messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, actionsList: this.getActionsList(), disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, "data-exporter-store-key": this.getDataExporterStoreKey(), slot: "leftButtons", presentationMode: PresentationMode.SECONDARY }, h("slot", { name: "TASKBAR_CUSTOM_ELEMENTS" })));
772
+ }
771
773
  /* istanbul ignore next */
772
774
  render() {
773
775
  var _a;
774
776
  if (this.dataUnit == undefined) {
775
777
  return;
776
778
  }
777
- return (h("snk-data-unit", { ref: ref => this._snkDataUnit = ref, class: "simple-crud__container", dataUnit: this.dataUnit, useCancelConfirm: this.useCancelConfirm, onDataStateChange: evt => this.onDataStateChange(evt), onCancelEdition: this.handleCancelEdit.bind(this), pageSize: this.getPageSize(), onInsertionMode: () => this.goToView(VIEW_MODE.FORM), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail), ignoreSaveMessage: this._currentViewMode === VIEW_MODE.GRID, onMessagesBuilderUpdated: evt => this.messagesBuilder = evt.detail, onDataUnitFieldsHidded: this.updateFormConfig.bind(this) }, h("header", null, h("slot", { name: "snkSimpleCrudHeader" })), h("section", { class: "ez-box ez-box--shadow simple-crud__container-section" }, h("snk-taskbar", { class: "ez-box ez-box--shadow ez-padding--medium", dataUnit: this.dataUnit, primaryButton: ((_a = this.dataState) === null || _a === void 0 ? void 0 : _a.isDirty) ? "SAVE" : "INSERT", "data-element-id": "grid_left", messagesBuilder: this.messagesBuilder, buttons: this._taskbarProcessor.buttons, actionsList: this.getActionsList(), disabledButtons: this._taskbarProcessor.disabledButtons, customButtons: this._taskbarProcessor.customButtons, "data-exporter-store-key": this.getDataExporterStoreKey(), slot: "leftButtons", presentationMode: PresentationMode.SECONDARY }, h("slot", { name: "TASKBAR_CUSTOM_ELEMENTS" })), h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("ez-grid", { class: "ez-margin-bottom--large", ref: ref => this._grid = ref, dataUnit: this.dataUnit, config: this.gridConfig, "no-header": true, multipleSelection: this.multipleSelection, onEzDoubleClick: () => this.goToView(VIEW_MODE.FORM), onConfigChange: evt => this.gridConfigChangeHandler(evt), columnfilterDataSource: this.dataUnit.name && this.dataUnit.name.includes(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME)
779
+ return (h("snk-data-unit", { ref: ref => this._snkDataUnit = ref, class: "simple-crud__container", dataUnit: this.dataUnit, useCancelConfirm: this.useCancelConfirm, onDataStateChange: evt => this.onDataStateChange(evt), onCancelEdition: this.handleCancelEdit.bind(this), pageSize: this.getPageSize(), onInsertionMode: this.handleDataUnitOnInsertionMode.bind(this), onDataUnitReady: (evt) => this.dataUnitReady.emit(evt.detail), ignoreSaveMessage: this._currentViewMode === VIEW_MODE.GRID, onMessagesBuilderUpdated: evt => this.messagesBuilder = evt.detail, onDataUnitFieldsHidded: this.updateFormConfig.bind(this), domainMessagesBuilder: this.domainMessagesBuilder }, h("header", null, h("slot", { name: "snkSimpleCrudHeader" })), h("section", { class: `ez-box ${this.outlineMode ? 'ez-box--outline' : 'ez-box--shadow'} simple-crud__container-section` }, h("ez-view-stack", { ref: (ref) => this._viewStack = ref, "data-element-id": "simple-crud" }, h("stack-item", null, h("ez-grid", { class: "ez-margin-bottom--large", ref: ref => this._grid = ref, dataUnit: this.dataUnit, config: this.gridConfig, "no-header": true, multipleSelection: this.multipleSelection, onEzDoubleClick: () => this.goToView(VIEW_MODE.FORM), onConfigChange: evt => this.gridConfigChangeHandler(evt), columnfilterDataSource: this.dataUnit.name && this.dataUnit.name.includes(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME)
778
780
  ? undefined
779
- : this._multiSelectionListDataSource, useEnterLikeTab: this.useEnterLikeTab, autoFocus: this.autoFocus }, h("div", { slot: "footer" }, h("slot", { name: "snkSimpleCrudFooter" })))), h("stack-item", null, h("ez-form", { ref: (ref) => this._form = ref, class: `ez-margin-top--large ${this.handleShowFormConfig() ? "simple-crud__form--hidden" : ""}`, dataUnit: this.dataUnit, config: this.getFormConfig(), fieldToFocus: this._fieldToGetFocus, onEzFormSetFields: (evt) => this.handleFormSetFields(evt.detail), onEzFormRequestClearFieldToFocus: this.clearFieldToFocusHandler.bind(this) }), this.handleShowFormConfig() && h("snk-form-config", { messagesBuilder: this.messagesBuilder, dataUnit: this.dataUnit, configManager: this._formConfigManager, onConfigClose: () => this.closeFormConfig() })), this.messagesBuilder && h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.goToView(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showConfiguratorButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this.resolveResourceID(), customContainerId: this._customContainerId })), h("div", { id: `${this._customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }))), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._showPopUpGridConfig, 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.resolveResourceID() }))));
781
+ : this._multiSelectionListDataSource, useEnterLikeTab: this.useEnterLikeTab, autoFocus: this.autoFocus, enableGridInsert: this.enableGridInsert, enableContinuousInsert: this.enableContinuousInsert, enableLockManagerTaskbarClick: this.enableLockManagerTaskbarClick, enableLockManagerLoadingComp: this.enableLockManagerLoadingComp, outlineMode: this.outlineMode }, this.renderTaskbarContent(), h("div", { slot: "footer" }, h("slot", { name: "snkSimpleCrudFooter" })))), h("stack-item", null, this.renderTaskbarContent(), h("ez-form", { ref: (ref) => this._form = ref, class: `ez-margin-top--large`, dataUnit: this.dataUnit, config: this.getFormConfig(), fieldToFocus: this._fieldToGetFocus, onEzFormSetFields: (evt) => this.handleFormSetFields(evt.detail), onEzFormRequestClearFieldToFocus: this.clearFieldToFocusHandler.bind(this) }), h("snk-simple-form-config", { ref: (ref) => this._snkSimpleFormConfig = ref, dataUnit: this.dataUnit, onSnkConfigSaved: this.handleFormConfigSaved.bind(this), configName: (_a = this.formLegacyConfigName) !== null && _a !== void 0 ? _a : this.configName })), this.messagesBuilder && h("snk-configurator", { ref: (ref) => this._snkConfigurator = ref, viewMode: this._currentViewMode, messagesBuilder: this.messagesBuilder, onConfigSelected: (evt) => this.goToView(evt.detail), onOpenConfig: (evt) => this.openConfig(evt.detail), showActionButtons: this.showConfiguratorButtons, onSave: evt => this.handleConfiguratorEvent(evt, 'SAVE'), onCancel: evt => this.handleConfiguratorEvent(evt, 'CANCEL'), resourceID: this.resolveResourceID(), customContainerId: this._customContainerId, layoutFormConfig: this.layoutFormConfig })), h("div", { id: `${this._customContainerId}` }, h("slot", { name: "SnkConfigContainerSlot" }))), h("ez-modal", { modalSize: "small", closeEsc: false, closeOutsideClick: false, opened: this._showPopUpGridConfig, 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.resolveResourceID() }))));
780
782
  }
781
783
  get _element() { return this; }
782
784
  static get watchers() { return {
@@ -789,16 +791,20 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
789
791
  }; }
790
792
  static get style() { return snkSimpleCrudCss; }
791
793
  }, [6, "snk-simple-crud", {
794
+ "enableLockManagerLoadingComp": [4, "enable-lock-manager-loading-comp"],
795
+ "enableLockManagerTaskbarClick": [4, "enable-lock-manager-taskbar-click"],
792
796
  "dataState": [16],
793
797
  "dataUnit": [16],
794
798
  "entityName": [1, "entity-name"],
795
799
  "mode": [2],
796
800
  "gridConfig": [1040],
797
801
  "formConfig": [1040],
802
+ "enableContinuousInsert": [1028, "enable-continuous-insert"],
798
803
  "multipleSelection": [4, "multiple-selection"],
799
804
  "useCancelConfirm": [4, "use-cancel-confirm"],
800
805
  "pageSize": [2, "page-size"],
801
806
  "resourceID": [1, "resource-i-d"],
807
+ "enableGridInsert": [4, "enable-grid-insert"],
802
808
  "taskbarManager": [16],
803
809
  "messagesBuilder": [1040],
804
810
  "useEnterLikeTab": [4, "use-enter-like-tab"],
@@ -809,9 +815,11 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
809
815
  "formLegacyConfigName": [1, "form-legacy-config-name"],
810
816
  "ignoreReadOnlyFormFields": [4, "ignore-read-only-form-fields"],
811
817
  "autoFocus": [4, "auto-focus"],
818
+ "domainMessagesBuilder": [1, "domain-messages-builder"],
819
+ "layoutFormConfig": [4, "layout-form-config"],
812
820
  "autoLoad": [4, "auto-load"],
821
+ "outlineMode": [4, "outline-mode"],
813
822
  "_showPopUpGridConfig": [32],
814
- "_showFormConfig": [32],
815
823
  "_currentViewMode": [32],
816
824
  "_config": [32],
817
825
  "_fieldToGetFocus": [32],
@@ -835,7 +843,7 @@ function defineCustomElement() {
835
843
  if (typeof customElements === "undefined") {
836
844
  return;
837
845
  }
838
- const components = ["snk-simple-crud", "snk-actions-button", "snk-config-options", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-field-config", "snk-form-config", "snk-grid-config", "snk-select-box", "snk-tab-config", "snk-taskbar", "taskbar-actions-button"];
846
+ const components = ["snk-simple-crud", "snk-actions-button", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-grid-config", "snk-layout-form-config", "snk-select-box", "snk-simple-form-config", "snk-taskbar", "snk-view-representation", "taskbar-actions-button"];
839
847
  components.forEach(tagName => { switch (tagName) {
840
848
  case "snk-simple-crud":
841
849
  if (!customElements.get(tagName)) {
@@ -843,11 +851,6 @@ function defineCustomElement() {
843
851
  }
844
852
  break;
845
853
  case "snk-actions-button":
846
- if (!customElements.get(tagName)) {
847
- defineCustomElement$d();
848
- }
849
- break;
850
- case "snk-config-options":
851
854
  if (!customElements.get(tagName)) {
852
855
  defineCustomElement$c();
853
856
  }
@@ -872,32 +875,32 @@ function defineCustomElement() {
872
875
  defineCustomElement$8();
873
876
  }
874
877
  break;
875
- case "snk-field-config":
878
+ case "snk-grid-config":
876
879
  if (!customElements.get(tagName)) {
877
880
  defineCustomElement$7();
878
881
  }
879
882
  break;
880
- case "snk-form-config":
883
+ case "snk-layout-form-config":
881
884
  if (!customElements.get(tagName)) {
882
885
  defineCustomElement$6();
883
886
  }
884
887
  break;
885
- case "snk-grid-config":
888
+ case "snk-select-box":
886
889
  if (!customElements.get(tagName)) {
887
890
  defineCustomElement$5();
888
891
  }
889
892
  break;
890
- case "snk-select-box":
893
+ case "snk-simple-form-config":
891
894
  if (!customElements.get(tagName)) {
892
895
  defineCustomElement$4();
893
896
  }
894
897
  break;
895
- case "snk-tab-config":
898
+ case "snk-taskbar":
896
899
  if (!customElements.get(tagName)) {
897
900
  defineCustomElement$3();
898
901
  }
899
902
  break;
900
- case "snk-taskbar":
903
+ case "snk-view-representation":
901
904
  if (!customElements.get(tagName)) {
902
905
  defineCustomElement$2();
903
906
  }
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface SnkSimpleFormConfig extends Components.SnkSimpleFormConfig, HTMLElement {}
4
+ export const SnkSimpleFormConfig: {
5
+ prototype: SnkSimpleFormConfig;
6
+ new (): SnkSimpleFormConfig;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,6 @@
1
+ import { S as SnkSimpleFormConfig$1, d as defineCustomElement$1 } from './snk-simple-form-config2.js';
2
+
3
+ const SnkSimpleFormConfig = SnkSimpleFormConfig$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { SnkSimpleFormConfig, defineCustomElement };
@@ -0,0 +1,121 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import './DataFetcher.js';
3
+ import './ISave.js';
4
+ import '@sankhyalabs/core';
5
+ import '@sankhyalabs/ezui/dist/collection/utils/constants';
6
+ import '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
7
+ import './dataunit-fetcher.js';
8
+ import './filter-item-type.enum.js';
9
+ import { F as FormConfigFetcher } from './form-config-fetcher.js';
10
+ import './constants.js';
11
+
12
+ const snkSimpleFormConfigCss = ":host{display:block}.config-container{display:flex;flex-direction:column;align-items:center;justify-content:space-between}.config-lists{margin-bottom:12px}.config-actions{display:flex;flex-direction:row;justify-content:flex-end;width:100%;gap:12px}";
13
+
14
+ const SnkSimpleFormConfig = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
15
+ constructor() {
16
+ super();
17
+ this.__registerHost();
18
+ this.snkConfigSaved = createEvent(this, "snkConfigSaved", 7);
19
+ this._formConfigFetcher = new FormConfigFetcher();
20
+ this.fieldsToSave = [];
21
+ this.dataUnit = undefined;
22
+ this.configName = undefined;
23
+ this.avaliableFields = [];
24
+ this.selectedFields = [];
25
+ }
26
+ /**
27
+ * Responsável por abrir o configurador.
28
+ */
29
+ async show() {
30
+ var _a;
31
+ await ((_a = this.ezDoubleListRef) === null || _a === void 0 ? void 0 : _a.resetSelectedLists());
32
+ await this.initializeFormConfig();
33
+ this.ezPopupRef.opened = true;
34
+ }
35
+ ;
36
+ async initializeFormConfig() {
37
+ if (!this.configName)
38
+ return;
39
+ const allFields = this.getAllVisibleFieldsFromDataUnit();
40
+ const displayedFieldNameList = await this.getConfig();
41
+ //Quando não retorna dados, é por quê não existe configuração do usuário salva.
42
+ if (displayedFieldNameList.length === 0) {
43
+ this.avaliableFields = [];
44
+ this.selectedFields = [...allFields];
45
+ this.fieldsToSave = [...this.selectedFields];
46
+ return;
47
+ }
48
+ const selectedFieldsAux = this.sortDisplayedFields(displayedFieldNameList, allFields);
49
+ const avaliableFieldsAux = allFields.filter(field => !displayedFieldNameList.includes(field.id));
50
+ this.avaliableFields = [...avaliableFieldsAux];
51
+ this.selectedFields = [...selectedFieldsAux];
52
+ this.fieldsToSave = [...this.selectedFields];
53
+ }
54
+ async getConfig() {
55
+ const fieldList = await this._formConfigFetcher.fetchSimpleFormConfig(this.configName);
56
+ return [...this.removeDuplicates(fieldList)];
57
+ }
58
+ removeDuplicates(strings) {
59
+ return strings.filter((item, index) => strings.indexOf(item) === index);
60
+ }
61
+ sortDisplayedFields(displayedFieldNameList, allFields) {
62
+ const selectedFieldsAux = [];
63
+ //É preciso garantir a ordem na qual os campos vieram na resposta do fetchSimpleFormConfig.
64
+ displayedFieldNameList.forEach(fieldName => {
65
+ const field = allFields.find(field => field.id === fieldName);
66
+ if (!field)
67
+ return;
68
+ selectedFieldsAux.push(field);
69
+ });
70
+ return selectedFieldsAux;
71
+ }
72
+ getAllVisibleFieldsFromDataUnit() {
73
+ var _a, _b, _c;
74
+ const visibleFields = ((_c = (_b = (_a = this.dataUnit) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.fields) !== null && _c !== void 0 ? _c : []).filter(field => field.visible);
75
+ return visibleFields.map(field => {
76
+ return { id: field.name, label: field.label };
77
+ });
78
+ }
79
+ close() {
80
+ this.ezPopupRef.opened = false;
81
+ }
82
+ async handleResetConfigs() {
83
+ await this._formConfigFetcher.restoreFormConfig(this.configName);
84
+ await this.initializeFormConfig();
85
+ await this.handleSave();
86
+ }
87
+ handleCancel() {
88
+ this.close();
89
+ }
90
+ async handleSave() {
91
+ const saveList = this.fieldsToSave.map(field => field.id);
92
+ await this._formConfigFetcher.saveSimpleFormConfig(this.configName, saveList);
93
+ this.close();
94
+ this.snkConfigSaved.emit();
95
+ }
96
+ render() {
97
+ return (h("ez-popup", { ref: (ref) => this.ezPopupRef = ref, heightMode: 'auto', size: 'auto', ezTitle: 'Configurar formul\u00E1rio' }, h("div", { class: 'config-container' }, h("div", { class: 'config-lists' }, h("ez-double-list", { ref: (ref) => this.ezDoubleListRef = ref, leftList: this.avaliableFields, leftTitle: 'Campos disponíveis', rightList: this.selectedFields, rightTitle: 'Campos selecionados', onEzRightListChanged: ({ detail }) => this.fieldsToSave = [...detail], entityLabel: 'campo', entityLabelPlural: 'campos' })), h("div", { class: 'config-actions' }, h("ez-button", { label: 'Restaurar', onClick: this.handleResetConfigs.bind(this), size: 'small' }), h("ez-button", { label: 'Cancelar', onClick: this.handleCancel.bind(this), size: 'small' }), h("ez-button", { label: 'Salvar', class: 'ez-button--primary', onClick: this.handleSave.bind(this), size: 'small' })))));
98
+ }
99
+ static get style() { return snkSimpleFormConfigCss; }
100
+ }, [0, "snk-simple-form-config", {
101
+ "dataUnit": [16],
102
+ "configName": [1, "config-name"],
103
+ "avaliableFields": [32],
104
+ "selectedFields": [32],
105
+ "show": [64]
106
+ }]);
107
+ function defineCustomElement() {
108
+ if (typeof customElements === "undefined") {
109
+ return;
110
+ }
111
+ const components = ["snk-simple-form-config"];
112
+ components.forEach(tagName => { switch (tagName) {
113
+ case "snk-simple-form-config":
114
+ if (!customElements.get(tagName)) {
115
+ customElements.define(tagName, SnkSimpleFormConfig);
116
+ }
117
+ break;
118
+ } });
119
+ }
120
+
121
+ export { SnkSimpleFormConfig as S, defineCustomElement as d };
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, h, Host, Fragment } from '@stencil/core/internal/client';
2
2
  import { ApplicationContext, ElementIDUtils } from '@sankhyalabs/core';
3
- import { C as CONFIG_EVENTS, b as CONFIG_SORTABLE_EVENTS, K as KEY_EVENTS, d as TYPE_ACTIONS, c as TAB_NAMES } from './constants.js';
3
+ import { C as CONFIG_EVENTS, c as CONFIG_SORTABLE_EVENTS, K as KEY_EVENTS, e as TYPE_ACTIONS, d as TAB_NAMES } from './constants.js';
4
4
 
5
5
  class AbstractEvent {
6
6