@sankhyalabs/sankhyablocks 8.16.0-dev.9 → 8.16.0-dev.91

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 (385) hide show
  1. package/dist/cjs/{IExporterProvider-597949f9.js → ClientSideExporterProvider-2f5f350c.js} +136 -24
  2. package/dist/cjs/{ConfigStorage-a343e418.js → ConfigStorage-d024aec8.js} +2 -2
  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/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/{SnkFormConfigManager-166cbd1f.js → SnkFormConfigManager-c11d8468.js} +75 -17
  7. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-bae64d0d.js} +6 -2
  8. package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-8480751c.js} +1 -1
  9. package/dist/cjs/{constants-35ddd366.js → constants-241934b3.js} +9 -0
  10. package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-449d51a3.js} +214 -168
  11. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  12. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-90126e4c.js} +42 -2
  13. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  14. package/dist/cjs/index-f9e81701.js +16 -32
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/pesquisa-fetcher-5c583c93.js +365 -0
  17. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +156 -0
  18. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  19. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_5.cjs.entry.js} +139 -43
  20. package/dist/cjs/snk-application.cjs.entry.js +301 -70
  21. package/dist/cjs/snk-attach.cjs.entry.js +49 -36
  22. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +399 -13
  23. package/dist/cjs/snk-configurator.cjs.entry.js +2 -2
  24. package/dist/cjs/snk-crud.cjs.entry.js +26 -22
  25. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -29
  26. package/dist/cjs/{snk-data-unit-8fa7917a.js → snk-data-unit-bbd384bf.js} +55 -31
  27. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  28. package/dist/cjs/snk-detail-view.cjs.entry.js +15 -15
  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 +1437 -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-text.cjs.entry.js +2 -1
  37. package/dist/cjs/snk-grid.cjs.entry.js +96 -27
  38. package/dist/cjs/{snk-guides-viewer-bdc41281.js → snk-guides-viewer-5396062f.js} +32 -16
  39. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -11
  40. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  41. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  42. package/dist/cjs/snk-pesquisa.cjs.entry.js +111 -31
  43. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  44. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-crud.cjs.entry.js +115 -112
  46. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  47. package/dist/cjs/snk-taskbar.cjs.entry.js +72 -40
  48. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-7e19882d.js} +1 -1
  49. package/dist/collection/collection-manifest.json +14 -31
  50. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  51. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  52. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  53. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  54. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  55. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  56. package/dist/collection/components/snk-application/snk-application.css +36 -0
  57. package/dist/collection/components/snk-application/snk-application.js +323 -65
  58. package/dist/collection/components/snk-attach/snk-attach.js +25 -16
  59. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  60. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -5
  61. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  62. package/dist/collection/components/snk-crud/snk-crud.js +147 -14
  63. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +3 -3
  64. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  65. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +72 -6
  66. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  67. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  68. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  69. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +1 -1
  70. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  71. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  72. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  73. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  74. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  75. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  76. package/dist/collection/components/snk-data-unit/snk-data-unit.js +53 -29
  77. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  78. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  79. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  80. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  81. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  82. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  83. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  84. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  85. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +9 -4
  86. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  87. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  88. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  89. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  90. package/dist/collection/components/snk-form/snk-form.js +2 -2
  91. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  92. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  93. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  94. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  95. package/dist/collection/components/snk-grid/snk-grid.js +199 -13
  96. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  97. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  98. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  99. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  100. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  101. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  102. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  103. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +174 -32
  104. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  105. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  106. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  107. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +180 -34
  108. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  109. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  110. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  111. package/dist/collection/components/snk-taskbar/snk-taskbar.js +112 -38
  112. package/dist/collection/lib/@types/index.js +5 -0
  113. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  114. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  115. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  116. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +29 -21
  117. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  118. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  119. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  120. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  121. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +17 -9
  122. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  123. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +45 -5
  124. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  125. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +107 -7
  126. package/dist/collection/lib/index.js +1 -0
  127. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  128. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  129. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  130. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  131. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  132. package/dist/collection/lib/utils/constants.js +9 -0
  133. package/dist/collection/sw.js +46 -0
  134. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +136 -24
  135. package/dist/components/DataFetcher.js +217 -77
  136. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  137. package/dist/components/ISave.js +367 -1
  138. package/dist/components/SnkFormConfigManager.js +73 -15
  139. package/dist/components/SnkMessageBuilder.js +6 -2
  140. package/dist/components/constants.js +10 -1
  141. package/dist/components/dataunit-fetcher.js +232 -183
  142. package/dist/components/form-config-fetcher.js +41 -1
  143. package/dist/components/index.d.ts +3 -0
  144. package/dist/components/index.js +3 -0
  145. package/dist/components/pesquisa-grid.d.ts +11 -0
  146. package/dist/components/pesquisa-grid.js +6 -0
  147. package/dist/components/pesquisa-grid2.js +102 -0
  148. package/dist/components/pesquisa-tree.d.ts +11 -0
  149. package/dist/components/pesquisa-tree.js +6 -0
  150. package/dist/components/pesquisa-tree2.js +91 -0
  151. package/dist/components/snk-actions-button2.js +44 -40
  152. package/dist/components/snk-application2.js +320 -69
  153. package/dist/components/snk-attach2.js +55 -61
  154. package/dist/components/snk-config-options2.js +1 -1
  155. package/dist/components/snk-configurator2.js +1 -1
  156. package/dist/components/snk-crud.js +86 -71
  157. package/dist/components/snk-data-exporter2.js +37 -23
  158. package/dist/components/snk-data-unit2.js +56 -69
  159. package/dist/components/snk-detail-view2.js +115 -106
  160. package/dist/components/snk-exporter-email-sender2.js +1 -1
  161. package/dist/components/snk-filter-bar2.js +68 -34
  162. package/dist/components/snk-filter-binary-select.js +1 -1
  163. package/dist/components/snk-filter-checkbox-list.js +1 -1
  164. package/dist/components/snk-filter-item2.js +9 -4
  165. package/dist/components/snk-filter-modal.js +4 -2
  166. package/dist/components/snk-filter-number.js +1 -1
  167. package/dist/components/snk-filter-text.js +2 -1
  168. package/dist/components/snk-form-config2.js +35 -10
  169. package/dist/components/snk-form.js +2 -2
  170. package/dist/components/snk-grid-config2.js +1 -1
  171. package/dist/components/snk-grid2.js +92 -18
  172. package/dist/components/snk-personalized-filter-editor.js +4 -4
  173. package/dist/components/snk-pesquisa2.js +125 -33
  174. package/dist/components/snk-print-selector.js +1 -1
  175. package/dist/components/snk-simple-bar2.js +1 -1
  176. package/dist/components/snk-simple-crud2.js +107 -120
  177. package/dist/components/snk-simple-form-config.d.ts +11 -0
  178. package/dist/components/snk-simple-form-config.js +6 -0
  179. package/dist/components/snk-simple-form-config2.js +121 -0
  180. package/dist/components/snk-tab-config2.js +1 -1
  181. package/dist/components/snk-taskbar2.js +72 -40
  182. package/dist/components/teste-pesquisa.js +13 -1
  183. package/dist/esm/{IExporterProvider-63a188b6.js → ClientSideExporterProvider-3537805a.js} +136 -26
  184. package/dist/esm/{ConfigStorage-3806514e.js → ConfigStorage-373bb440.js} +2 -2
  185. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-5221b992.js} +217 -77
  186. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  187. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  188. package/dist/esm/{SnkFormConfigManager-31b24066.js → SnkFormConfigManager-5022f87f.js} +75 -17
  189. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-6fff4a4c.js} +6 -2
  190. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-e32fe8a4.js} +1 -1
  191. package/dist/esm/{constants-8457af36.js → constants-75abb876.js} +10 -1
  192. package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-91b094f2.js} +216 -167
  193. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  194. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-126e2471.js} +42 -2
  195. package/dist/esm/index-a7d3d3f1.js +16 -32
  196. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  197. package/dist/esm/loader.js +1 -1
  198. package/dist/esm/pesquisa-fetcher-4284f2a3.js +362 -0
  199. package/dist/esm/pesquisa-grid_2.entry.js +151 -0
  200. package/dist/esm/sankhyablocks.js +1 -1
  201. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_5.entry.js} +140 -45
  202. package/dist/esm/snk-application.entry.js +303 -72
  203. package/dist/esm/snk-attach.entry.js +50 -37
  204. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +399 -15
  205. package/dist/esm/snk-configurator.entry.js +2 -2
  206. package/dist/esm/snk-crud.entry.js +26 -22
  207. package/dist/esm/snk-data-exporter.entry.js +38 -29
  208. package/dist/esm/{snk-data-unit-f5cbe64b.js → snk-data-unit-b03bb5cf.js} +55 -31
  209. package/dist/esm/snk-data-unit.entry.js +5 -5
  210. package/dist/esm/snk-detail-view.entry.js +15 -15
  211. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  212. package/dist/esm/snk-field-config.entry.js +1 -1
  213. package/dist/esm/snk-filter-bar_4.entry.js +1430 -0
  214. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  215. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  216. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  217. package/dist/esm/snk-filter-number.entry.js +1 -1
  218. package/dist/esm/snk-filter-text.entry.js +2 -1
  219. package/dist/esm/snk-grid.entry.js +91 -22
  220. package/dist/esm/{snk-guides-viewer-dda0fede.js → snk-guides-viewer-749d027c.js} +32 -16
  221. package/dist/esm/snk-guides-viewer.entry.js +11 -11
  222. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  223. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  224. package/dist/esm/snk-pesquisa.entry.js +111 -31
  225. package/dist/esm/snk-print-selector.entry.js +1 -1
  226. package/dist/esm/snk-simple-bar.entry.js +1 -1
  227. package/dist/esm/snk-simple-crud.entry.js +101 -98
  228. package/dist/esm/snk-tab-config.entry.js +1 -1
  229. package/dist/esm/snk-taskbar.entry.js +73 -41
  230. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-d2353c64.js} +1 -1
  231. package/dist/sankhyablocks/p-0ce56d43.entry.js +1 -0
  232. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  233. package/dist/sankhyablocks/p-13391b3d.entry.js +1 -0
  234. package/dist/sankhyablocks/p-1435701f.js +26 -0
  235. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  236. package/dist/sankhyablocks/p-17425c72.js +1 -0
  237. package/dist/sankhyablocks/{p-52920496.js → p-19dc71e9.js} +1 -1
  238. package/dist/sankhyablocks/{p-47db7e88.entry.js → p-1cf39cfd.entry.js} +1 -1
  239. package/dist/sankhyablocks/{p-b0ef4383.js → p-1d19a5b0.js} +1 -1
  240. package/dist/sankhyablocks/p-23736d75.js +1 -0
  241. package/dist/sankhyablocks/p-23b47a92.js +1 -0
  242. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-23cd6abf.entry.js} +1 -1
  243. package/dist/sankhyablocks/{p-95df461f.entry.js → p-2953c481.entry.js} +1 -1
  244. package/dist/sankhyablocks/p-3653374d.js +60 -0
  245. package/dist/sankhyablocks/p-389ba782.entry.js +1 -0
  246. package/dist/sankhyablocks/p-3ba431c9.js +1 -0
  247. package/dist/sankhyablocks/{p-7e7a7473.js → p-3fc82614.js} +1 -1
  248. package/dist/sankhyablocks/p-41c3bee5.js +6 -0
  249. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  250. package/dist/sankhyablocks/p-44efbeed.entry.js +1 -0
  251. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  252. package/dist/sankhyablocks/p-4be6e0e7.entry.js +1 -0
  253. package/dist/sankhyablocks/{p-7663f597.entry.js → p-4c9adf1c.entry.js} +1 -1
  254. package/dist/sankhyablocks/p-4d87cd45.entry.js +1 -0
  255. package/dist/sankhyablocks/p-4fa79d68.entry.js +1 -0
  256. package/dist/sankhyablocks/p-5dd7f4c7.js +1 -0
  257. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  258. package/dist/sankhyablocks/p-6234bda8.entry.js +1 -0
  259. package/dist/sankhyablocks/p-647f9830.entry.js +11 -0
  260. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  261. package/dist/sankhyablocks/p-7b87d1a8.js +1 -0
  262. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  263. package/dist/sankhyablocks/{p-2c68b3ae.entry.js → p-82ee6dc3.entry.js} +1 -1
  264. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  265. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  266. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  267. package/dist/sankhyablocks/p-a962a3e4.entry.js +1 -0
  268. package/dist/sankhyablocks/p-ad5e4f9d.entry.js +1 -0
  269. package/dist/sankhyablocks/p-b2de1bcc.entry.js +1 -0
  270. package/dist/sankhyablocks/p-c021a3a9.entry.js +1 -0
  271. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  272. package/dist/sankhyablocks/p-ca316523.entry.js +1 -0
  273. package/dist/sankhyablocks/p-d62228fb.js +1 -0
  274. package/dist/sankhyablocks/p-ee53b000.entry.js +1 -0
  275. package/dist/sankhyablocks/{p-913a9979.js → p-f0b9303b.js} +1 -1
  276. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  277. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  278. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  279. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  280. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  281. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  282. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  283. package/dist/types/components/snk-application/snk-application.d.ts +38 -14
  284. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  285. package/dist/types/components/snk-crud/snk-crud.d.ts +26 -0
  286. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +15 -0
  287. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  288. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  289. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +2 -1
  290. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  291. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  292. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  293. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  294. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -0
  295. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  296. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  297. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  298. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  299. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  300. package/dist/types/components/snk-grid/snk-grid.d.ts +33 -0
  301. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  302. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  303. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  304. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
  305. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +27 -3
  306. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  307. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  308. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  309. package/dist/types/components.d.ts +407 -15
  310. package/dist/types/lib/@types/index.d.ts +4 -0
  311. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  312. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  313. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  314. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  315. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  316. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  317. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  318. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  319. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  320. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  321. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  322. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +8 -2
  323. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  324. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +17 -1
  325. package/dist/types/lib/index.d.ts +1 -0
  326. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  327. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  328. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  329. package/dist/types/lib/utils/constants.d.ts +7 -0
  330. package/package.json +4 -3
  331. package/react/components.d.ts +3 -0
  332. package/react/components.js +3 -0
  333. package/react/components.js.map +1 -1
  334. package/dist/cjs/pesquisa-fetcher-680e198f.js +0 -166
  335. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  336. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  337. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  338. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  339. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  340. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  341. package/dist/components/pesquisa-fetcher.js +0 -164
  342. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  343. package/dist/esm/snk-config-options.entry.js +0 -235
  344. package/dist/esm/snk-filter-bar.entry.js +0 -710
  345. package/dist/esm/snk-filter-item.entry.js +0 -308
  346. package/dist/esm/snk-filter-list.entry.js +0 -148
  347. package/dist/esm/snk-filter-modal.entry.js +0 -245
  348. package/dist/esm/snk-form.entry.js +0 -139
  349. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  350. package/dist/sankhyablocks/p-17def7cd.js +0 -1
  351. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  352. package/dist/sankhyablocks/p-2a408684.js +0 -1
  353. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  354. package/dist/sankhyablocks/p-3a212712.js +0 -1
  355. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  356. package/dist/sankhyablocks/p-450c60e4.entry.js +0 -1
  357. package/dist/sankhyablocks/p-4e5e1313.entry.js +0 -1
  358. package/dist/sankhyablocks/p-62ba211a.entry.js +0 -1
  359. package/dist/sankhyablocks/p-6bb2f3e9.entry.js +0 -1
  360. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  361. package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
  362. package/dist/sankhyablocks/p-75e674ed.entry.js +0 -1
  363. package/dist/sankhyablocks/p-7619bdb1.entry.js +0 -11
  364. package/dist/sankhyablocks/p-7a85fd49.entry.js +0 -1
  365. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  366. package/dist/sankhyablocks/p-80042dc6.entry.js +0 -1
  367. package/dist/sankhyablocks/p-871aa14e.entry.js +0 -1
  368. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  369. package/dist/sankhyablocks/p-8c59edd7.entry.js +0 -1
  370. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  371. package/dist/sankhyablocks/p-9863d682.js +0 -1
  372. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  373. package/dist/sankhyablocks/p-b05d8893.entry.js +0 -1
  374. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  375. package/dist/sankhyablocks/p-c2495304.js +0 -1
  376. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  377. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  378. package/dist/sankhyablocks/p-d6e26ea8.entry.js +0 -1
  379. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  380. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  381. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  382. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  383. package/dist/sankhyablocks/p-fa4d8cb4.js +0 -1
  384. package/dist/sankhyablocks/p-fe79f83a.js +0 -60
  385. 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
5
  import { T as TaskbarElement, d as defineCustomElement$2 } 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,21 @@ 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';
21
- import { d as defineCustomElement$b } from './snk-configurator2.js';
22
- import { d as defineCustomElement$a } from './snk-data-exporter2.js';
23
- 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';
17
+ import { d as defineCustomElement$a } from './snk-actions-button2.js';
18
+ import { d as defineCustomElement$9 } from './snk-configurator2.js';
19
+ import { d as defineCustomElement$8 } from './snk-data-exporter2.js';
20
+ import { d as defineCustomElement$7 } from './snk-data-unit2.js';
21
+ import { d as defineCustomElement$6 } from './snk-exporter-email-sender2.js';
26
22
  import { d as defineCustomElement$5 } from './snk-grid-config2.js';
27
23
  import { d as defineCustomElement$4 } from './snk-select-box2.js';
28
- import { d as defineCustomElement$3 } from './snk-tab-config2.js';
24
+ import { d as defineCustomElement$3 } from './snk-simple-form-config2.js';
29
25
  import { d as defineCustomElement$1 } from './taskbar-actions-button2.js';
30
26
 
31
27
  const REGULAR_DEFAULT_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER", "MORE_OPTIONS"];
32
28
  const REGULAR_SELECTED_BTNS = ["INSERT", "REFRESH", "PREVIOUS", "NEXT", "DIVIDER", "CLONE", "REMOVE", "DIVIDER", "MORE_OPTIONS"];
33
29
 
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}";
30
+ 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
31
 
91
32
  const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
92
33
  constructor() {
@@ -104,18 +45,19 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
104
45
  this._customEditors = new Map();
105
46
  this._customRenders = new Map();
106
47
  this._taskbarProcessor = new TaskbarProcessor({
107
- "snkSimpleCrudTaskbar.form_regular": this.getButtons(false, [TaskbarElement.GRID_MODE]),
48
+ "snkSimpleCrudTaskbar.form_regular": this.getButtons(false, [TaskbarElement.GRID_MODE], true),
108
49
  "snkSimpleCrudTaskbar.grid_regular": this.getButtons(false, [TaskbarElement.DATA_EXPORTER, TaskbarElement.FORM_MODE]),
109
- "snkSimpleCrudTaskbar.form_selected": this.getButtons(true, [TaskbarElement.GRID_MODE]),
50
+ "snkSimpleCrudTaskbar.form_selected": this.getButtons(true, [TaskbarElement.GRID_MODE], true),
110
51
  "snkSimpleCrudTaskbar.grid_selected": this.getButtons(true, [TaskbarElement.DATA_EXPORTER, TaskbarElement.FORM_MODE]),
111
- "snkSimpleCrudTaskbar.finish_edition": ["CANCEL", "SAVE"]
52
+ "snkSimpleCrudTaskbar.finish_edition": this.getFinishEditionButtonsCallback.bind(this)
112
53
  });
113
54
  this._showPopUpGridConfig = false;
114
- this._showFormConfig = false;
115
55
  this._currentViewMode = VIEW_MODE.GRID;
116
56
  this._config = undefined;
117
57
  this._fieldToGetFocus = undefined;
118
58
  this._customContainerId = `SNK-SIMPLE-CRUD-CUSTOM-CONTAINER-${StringUtils.generateUUID()}`;
59
+ this.enableLockManagerLoadingComp = false;
60
+ this.enableLockManagerTaskbarClick = false;
119
61
  this.dataState = undefined;
120
62
  this.dataUnit = undefined;
121
63
  this.entityName = undefined;
@@ -124,10 +66,12 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
124
66
  this.formConfig = undefined;
125
67
  this._formFields = [];
126
68
  this._fieldsProps = new Map();
69
+ this.enableContinuousInsert = false;
127
70
  this.multipleSelection = undefined;
128
71
  this.useCancelConfirm = true;
129
72
  this.pageSize = 150;
130
73
  this.resourceID = undefined;
74
+ this.enableGridInsert = false;
131
75
  this.taskbarManager = undefined;
132
76
  this.messagesBuilder = undefined;
133
77
  this.useEnterLikeTab = false;
@@ -140,6 +84,7 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
140
84
  this.autoFocus = true;
141
85
  this.domainMessagesBuilder = undefined;
142
86
  this.autoLoad = undefined;
87
+ this.outlineMode = false;
143
88
  }
144
89
  /**
145
90
  * Registra um editor customizado para campos da grade e formulário.
@@ -197,8 +142,19 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
197
142
  newCustomFieldProps.set(fieldName, Object.assign(Object.assign({}, currentProps), { [propName]: value }));
198
143
  this._fieldsProps = newCustomFieldProps;
199
144
  }
200
- getButtons(selected, extraButtons) {
201
- return this.addConfigButton(this.resolveInMemoryBtns(selected ? REGULAR_SELECTED_BTNS : REGULAR_DEFAULT_BTNS)
145
+ getFinishEditionButtonsCallback() {
146
+ const btns = ["CANCEL", "SAVE"];
147
+ if (this.enableGridInsert && this._currentViewMode !== VIEW_MODE.ATTACHMENT) {
148
+ btns.push(this._currentViewMode === VIEW_MODE.GRID ? TaskbarElement.FORM_MODE : TaskbarElement.GRID_MODE);
149
+ }
150
+ return btns;
151
+ }
152
+ getButtons(selected, extraButtons, removeRefresh) {
153
+ let btnList = selected ? REGULAR_SELECTED_BTNS : REGULAR_DEFAULT_BTNS;
154
+ if (removeRefresh) {
155
+ btnList = btnList.filter(item => item !== TaskbarElement.REFRESH);
156
+ }
157
+ return this.addConfigButton(this.resolveInMemoryBtns(btnList)
202
158
  .concat(extraButtons));
203
159
  }
204
160
  addConfigButton(buttons) {
@@ -317,15 +273,9 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
317
273
  });
318
274
  }
319
275
  async openFormConfig() {
320
- var _a, _b;
321
- //No momento não daremos suporte para configuraçao de formulário quando houver legacy config
322
- if (this.formLegacyConfigName) {
323
- const title = (_a = this.messagesBuilder) === null || _a === void 0 ? void 0 : _a.getMessage("snkSimpleCrud.formConfigUnavaliable.title", undefined);
324
- const message = (_b = this.messagesBuilder) === null || _b === void 0 ? void 0 : _b.getMessage("snkSimpleCrud.formConfigUnavaliable.message", undefined);
325
- await this.application.alert(title, message);
326
- return;
276
+ if (this.formLegacyConfigName || this.configName) {
277
+ await this._snkSimpleFormConfig.show();
327
278
  }
328
- this._showFormConfig = true;
329
279
  }
330
280
  addGridLegacyConfigName() {
331
281
  if (this.gridLegacyConfigName && this.configName) {
@@ -355,12 +305,12 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
355
305
  formConfigIsLoaded() {
356
306
  return this.formConfig != undefined || this._formConfigAlreadyLoaded;
357
307
  }
358
- async loadFormConfig(forceLoad = false) {
308
+ async loadFormConfig(forceLoad = false, forceSetNewConfig = false) {
359
309
  if (this.configName === undefined) {
360
310
  return;
361
311
  }
362
312
  if (this._formConfigManager == undefined) {
363
- this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID());
313
+ this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID(), undefined, this.dataUnit);
364
314
  this._formConfigManager.setConfig(this.formConfig);
365
315
  }
366
316
  if (this.formConfigIsLoaded() && !forceLoad) {
@@ -370,7 +320,7 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
370
320
  let loadedLegacyConfig = await this._formConfigFetcher.fetchLegacyConfigurableForm(this.formLegacyConfigName);
371
321
  if (loadedLegacyConfig != undefined) {
372
322
  this._formConfigManager.setConfig(loadedLegacyConfig);
373
- this.setFormConfig(loadedLegacyConfig);
323
+ this.setFormConfig(loadedLegacyConfig, forceSetNewConfig);
374
324
  return;
375
325
  }
376
326
  this.setFormConfig(await this._formConfigManager.loadConfig());
@@ -401,9 +351,14 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
401
351
  this.onModeChange();
402
352
  this.configDatasource();
403
353
  this._rmPrecisionCustomValueFormatter = new RmPrecisionCustomValueFormatter();
354
+ this._continuousInsertUtils = new ContinuousInsertUtils(this.application, this.resolveResourceID(), this.configName);
355
+ if (this.enableGridInsert) {
356
+ this._continuousInsertUtils.getConfig().then(value => this.enableContinuousInsert = value);
357
+ }
404
358
  }
405
359
  componentDidLoad() {
406
360
  CSSVarsUtils.applyVarsGrid(this._element, this._grid);
361
+ this.initKeyboardManager();
407
362
  }
408
363
  setCustomRenders() {
409
364
  if (!this._grid) {
@@ -635,6 +590,9 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
635
590
  const options = filteredFields.map(field => ({ value: field.name, label: field.label }));
636
591
  return Promise.resolve(options);
637
592
  }
593
+ isGridInsertActive() {
594
+ return this.enableGridInsert && this.dataUnit.hasNewRecord();
595
+ }
638
596
  getActionsList() {
639
597
  var _a, _b;
640
598
  const hardList = [{
@@ -646,11 +604,21 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
646
604
  ? this.getColumnSearch(actionButton, item)
647
605
  : this.getFieldSearch(actionButton, item)
648
606
  }];
607
+ if (this.enableGridInsert) {
608
+ hardList.push(this._continuousInsertUtils.actionContinuousInsert(this.enableContinuousInsert, () => {
609
+ this.enableContinuousInsert = !this.enableContinuousInsert;
610
+ this._continuousInsertUtils.handleSaveConfig(this.enableContinuousInsert);
611
+ }));
612
+ }
613
+ if (this.isGridInsertActive())
614
+ return hardList;
649
615
  if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
650
616
  const taskbarID = this.getTopTaskBarId();
651
617
  return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, this.configName, this.dataState, this.actionsList));
652
618
  }
653
- return hardList.concat(this.actionsList);
619
+ if (this.actionsList)
620
+ return hardList.concat(this.actionsList);
621
+ return hardList;
654
622
  }
655
623
  getTopTaskBarId() {
656
624
  var _a;
@@ -695,9 +663,11 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
695
663
  window.removeEventListener("keydown", this._keyDownHandler);
696
664
  }
697
665
  gridConfigChangeHandler(evt) {
666
+ evt.stopPropagation();
667
+ if (!this.configName)
668
+ return;
698
669
  const config = evt.detail;
699
670
  ConfigStorage.saveGridConfig(config, this.configName, this.resolveResourceID());
700
- evt.stopPropagation();
701
671
  }
702
672
  modalConfigChangeHandler(evt) {
703
673
  const config = evt.detail;
@@ -734,9 +704,6 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
734
704
  closeGridConfig() {
735
705
  this._showPopUpGridConfig = false;
736
706
  }
737
- closeFormConfig() {
738
- this._showFormConfig = false;
739
- }
740
707
  getPageSize() {
741
708
  if (this.mode === SIMPLE_CRUD_MODE.IN_MEMORY) {
742
709
  return 0;
@@ -746,10 +713,6 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
746
713
  }
747
714
  return this.pageSize;
748
715
  }
749
- //No momento não daremos suporte para configuração de formulário quando houver formLegacyConfigName
750
- handleShowFormConfig() {
751
- return this._showFormConfig && !this.formLegacyConfigName;
752
- }
753
716
  resolveResourceID() {
754
717
  return StringUtils.isEmpty(this.resourceID) ? this._resourceID : this.resourceID;
755
718
  }
@@ -762,22 +725,57 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
762
725
  return configFromManager;
763
726
  }
764
727
  updateFormConfig() {
765
- const newConfig = Object.assign(Object.assign({}, this.formConfig), { fields: this.dataUnit.metadata.fields });
728
+ let newConfig = this.formConfig;
729
+ if (this.formLegacyConfigName == undefined) {
730
+ newConfig = Object.assign(Object.assign({}, this.formConfig), { fields: this.dataUnit.metadata.fields });
731
+ }
766
732
  this.setFormConfig(newConfig, true);
767
733
  if (this._formConfigManager == undefined) {
768
734
  this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID());
769
735
  }
770
736
  this._formConfigManager.setConfig(this.formConfig);
771
737
  }
738
+ handleDataUnitOnInsertionMode() {
739
+ if (this.enableGridInsert)
740
+ return;
741
+ this.goToView(VIEW_MODE.FORM);
742
+ }
743
+ async initKeyboardManager() {
744
+ var _a;
745
+ const keyboardManager = new KeyboardManager();
746
+ const dataUnit = this.dataUnit || await ((_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.getDataUnit());
747
+ if (dataUnit == undefined) {
748
+ return;
749
+ }
750
+ keyboardManager
751
+ .bind("F7", () => dataUnit.saveData(), { description: "Salva os dados.", element: this._element })
752
+ .bind("F8", dataUnit.addRecord.bind(dataUnit), { description: "Adiciona um novo registro.", element: this._element })
753
+ .bind("F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado.", element: this._element })
754
+ .bind("Escape", () => {
755
+ if (dataUnit.isDirty()) {
756
+ dataUnit.cancelEdition();
757
+ }
758
+ }, {
759
+ debounceTime: 1000,
760
+ description: "Cancela uma ação.", element: this._element
761
+ });
762
+ }
763
+ async handleFormConfigSaved() {
764
+ await this.loadFormConfig(true, true);
765
+ }
766
+ renderTaskbarContent() {
767
+ var _a;
768
+ 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" })));
769
+ }
772
770
  /* istanbul ignore next */
773
771
  render() {
774
772
  var _a;
775
773
  if (this.dataUnit == undefined) {
776
774
  return;
777
775
  }
778
- 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), domainMessagesBuilder: this.domainMessagesBuilder }, 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)
776
+ 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)
779
777
  ? undefined
780
- : 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() }))));
778
+ : 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 })), 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
779
  }
782
780
  get _element() { return this; }
783
781
  static get watchers() { return {
@@ -790,16 +788,20 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
790
788
  }; }
791
789
  static get style() { return snkSimpleCrudCss; }
792
790
  }, [6, "snk-simple-crud", {
791
+ "enableLockManagerLoadingComp": [4, "enable-lock-manager-loading-comp"],
792
+ "enableLockManagerTaskbarClick": [4, "enable-lock-manager-taskbar-click"],
793
793
  "dataState": [16],
794
794
  "dataUnit": [16],
795
795
  "entityName": [1, "entity-name"],
796
796
  "mode": [2],
797
797
  "gridConfig": [1040],
798
798
  "formConfig": [1040],
799
+ "enableContinuousInsert": [1028, "enable-continuous-insert"],
799
800
  "multipleSelection": [4, "multiple-selection"],
800
801
  "useCancelConfirm": [4, "use-cancel-confirm"],
801
802
  "pageSize": [2, "page-size"],
802
803
  "resourceID": [1, "resource-i-d"],
804
+ "enableGridInsert": [4, "enable-grid-insert"],
803
805
  "taskbarManager": [16],
804
806
  "messagesBuilder": [1040],
805
807
  "useEnterLikeTab": [4, "use-enter-like-tab"],
@@ -812,8 +814,8 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
812
814
  "autoFocus": [4, "auto-focus"],
813
815
  "domainMessagesBuilder": [1, "domain-messages-builder"],
814
816
  "autoLoad": [4, "auto-load"],
817
+ "outlineMode": [4, "outline-mode"],
815
818
  "_showPopUpGridConfig": [32],
816
- "_showFormConfig": [32],
817
819
  "_currentViewMode": [32],
818
820
  "_config": [32],
819
821
  "_fieldToGetFocus": [32],
@@ -837,7 +839,7 @@ function defineCustomElement() {
837
839
  if (typeof customElements === "undefined") {
838
840
  return;
839
841
  }
840
- 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"];
842
+ const components = ["snk-simple-crud", "snk-actions-button", "snk-configurator", "snk-data-exporter", "snk-data-unit", "snk-exporter-email-sender", "snk-grid-config", "snk-select-box", "snk-simple-form-config", "snk-taskbar", "taskbar-actions-button"];
841
843
  components.forEach(tagName => { switch (tagName) {
842
844
  case "snk-simple-crud":
843
845
  if (!customElements.get(tagName)) {
@@ -845,41 +847,26 @@ function defineCustomElement() {
845
847
  }
846
848
  break;
847
849
  case "snk-actions-button":
848
- if (!customElements.get(tagName)) {
849
- defineCustomElement$d();
850
- }
851
- break;
852
- case "snk-config-options":
853
- if (!customElements.get(tagName)) {
854
- defineCustomElement$c();
855
- }
856
- break;
857
- case "snk-configurator":
858
- if (!customElements.get(tagName)) {
859
- defineCustomElement$b();
860
- }
861
- break;
862
- case "snk-data-exporter":
863
850
  if (!customElements.get(tagName)) {
864
851
  defineCustomElement$a();
865
852
  }
866
853
  break;
867
- case "snk-data-unit":
854
+ case "snk-configurator":
868
855
  if (!customElements.get(tagName)) {
869
856
  defineCustomElement$9();
870
857
  }
871
858
  break;
872
- case "snk-exporter-email-sender":
859
+ case "snk-data-exporter":
873
860
  if (!customElements.get(tagName)) {
874
861
  defineCustomElement$8();
875
862
  }
876
863
  break;
877
- case "snk-field-config":
864
+ case "snk-data-unit":
878
865
  if (!customElements.get(tagName)) {
879
866
  defineCustomElement$7();
880
867
  }
881
868
  break;
882
- case "snk-form-config":
869
+ case "snk-exporter-email-sender":
883
870
  if (!customElements.get(tagName)) {
884
871
  defineCustomElement$6();
885
872
  }
@@ -894,7 +881,7 @@ function defineCustomElement() {
894
881
  defineCustomElement$4();
895
882
  }
896
883
  break;
897
- case "snk-tab-config":
884
+ case "snk-simple-form-config":
898
885
  if (!customElements.get(tagName)) {
899
886
  defineCustomElement$3();
900
887
  }
@@ -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