@sankhyalabs/sankhyablocks 8.16.0-dev.10 → 8.16.0-dev.101

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 (422) hide show
  1. package/dist/cjs/ClientSideExporterProvider-5fff8770.js +372 -0
  2. package/dist/cjs/{ConfigStorage-a343e418.js → ConfigStorage-df09fb78.js} +2 -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-166cbd1f.js → SnkFormConfigManager-45a8d7b7.js} +75 -17
  8. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-bae64d0d.js} +6 -2
  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-688d3f05.js → dataunit-fetcher-4a5d491a.js} +220 -173
  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 +469 -78
  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 +41 -52
  25. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  26. package/dist/cjs/{snk-data-unit-8fa7917a.js → snk-data-unit-4b510d6e.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 +17 -17
  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-9c682034.js → snk-guides-viewer-e8e5f7b4.js} +27 -17
  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 -113
  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 +448 -71
  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 +147 -44
  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 +27 -3
  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 +52 -6
  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 +53 -29
  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 +73 -15
  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 +202 -34
  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/LayoutFormConfig.js +25 -0
  127. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  128. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  129. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -24
  130. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  131. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  132. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  133. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  134. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  135. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  136. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  137. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  138. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  139. package/dist/collection/lib/index.js +1 -0
  140. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  141. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  142. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  143. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  144. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  145. package/dist/collection/lib/utils/constants.js +10 -0
  146. package/dist/collection/sw.js +46 -0
  147. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +176 -33
  148. package/dist/components/DataFetcher.js +232 -80
  149. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  150. package/dist/components/ISave.js +391 -1
  151. package/dist/components/SnkFormConfigManager.js +73 -15
  152. package/dist/components/SnkMessageBuilder.js +6 -2
  153. package/dist/components/constants.js +11 -1
  154. package/dist/components/dataunit-fetcher.js +238 -188
  155. package/dist/components/form-config-fetcher.js +55 -1
  156. package/dist/components/index.d.ts +5 -0
  157. package/dist/components/index.js +5 -0
  158. package/dist/components/pesquisa-grid.d.ts +11 -0
  159. package/dist/components/pesquisa-grid.js +6 -0
  160. package/dist/components/pesquisa-grid2.js +102 -0
  161. package/dist/components/pesquisa-tree.d.ts +11 -0
  162. package/dist/components/pesquisa-tree.js +6 -0
  163. package/dist/components/pesquisa-tree2.js +91 -0
  164. package/dist/components/snk-actions-button2.js +44 -40
  165. package/dist/components/snk-application2.js +492 -76
  166. package/dist/components/snk-attach2.js +61 -55
  167. package/dist/components/snk-config-options2.js +6 -4
  168. package/dist/components/snk-configurator2.js +23 -3
  169. package/dist/components/snk-crud.js +118 -105
  170. package/dist/components/snk-data-exporter2.js +37 -23
  171. package/dist/components/snk-data-unit2.js +56 -69
  172. package/dist/components/snk-detail-view2.js +136 -109
  173. package/dist/components/snk-exporter-email-sender2.js +1 -1
  174. package/dist/components/snk-filter-bar2.js +68 -34
  175. package/dist/components/snk-filter-binary-select.js +1 -1
  176. package/dist/components/snk-filter-checkbox-list.js +1 -1
  177. package/dist/components/snk-filter-item2.js +10 -4
  178. package/dist/components/snk-filter-modal.js +4 -2
  179. package/dist/components/snk-filter-number.js +1 -1
  180. package/dist/components/snk-filter-search.js +18 -5
  181. package/dist/components/snk-filter-text.js +2 -1
  182. package/dist/components/snk-form-config2.js +35 -10
  183. package/dist/components/snk-form.js +2 -2
  184. package/dist/components/snk-grid-config2.js +3 -1
  185. package/dist/components/snk-grid2.js +92 -18
  186. package/dist/components/snk-layout-form-config.d.ts +11 -0
  187. package/dist/components/snk-layout-form-config.js +6 -0
  188. package/dist/components/snk-layout-form-config2.js +73 -0
  189. package/dist/components/snk-personalized-filter-editor.js +4 -4
  190. package/dist/components/snk-pesquisa2.js +125 -33
  191. package/dist/components/snk-print-selector.js +1 -1
  192. package/dist/components/snk-simple-bar2.js +1 -1
  193. package/dist/components/snk-simple-crud2.js +115 -111
  194. package/dist/components/snk-simple-form-config.d.ts +11 -0
  195. package/dist/components/snk-simple-form-config.js +6 -0
  196. package/dist/components/snk-simple-form-config2.js +121 -0
  197. package/dist/components/snk-tab-config2.js +1 -1
  198. package/dist/components/snk-taskbar2.js +72 -40
  199. package/dist/components/snk-view-representation.d.ts +11 -0
  200. package/dist/components/snk-view-representation.js +6 -0
  201. package/dist/components/snk-view-representation2.js +41 -0
  202. package/dist/components/teste-pesquisa.js +13 -1
  203. package/dist/esm/ClientSideExporterProvider-da9935ed.js +361 -0
  204. package/dist/esm/{ConfigStorage-3806514e.js → ConfigStorage-71e6766f.js} +2 -2
  205. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-88e56266.js} +232 -80
  206. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  207. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  208. package/dist/esm/ISave-5efafc97.js +394 -0
  209. package/dist/esm/{SnkFormConfigManager-31b24066.js → SnkFormConfigManager-be490a33.js} +75 -17
  210. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-6fff4a4c.js} +6 -2
  211. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-3510520e.js} +1 -1
  212. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  213. package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-1d02ecfc.js} +222 -172
  214. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  215. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-fa208a6c.js} +56 -2
  216. package/dist/esm/index-a7d3d3f1.js +16 -32
  217. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  218. package/dist/esm/loader.js +1 -1
  219. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  220. package/dist/esm/sankhyablocks.js +1 -1
  221. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_7.entry.js} +201 -47
  222. package/dist/esm/snk-application.entry.js +470 -79
  223. package/dist/esm/snk-attach.entry.js +50 -38
  224. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  225. package/dist/esm/snk-configurator.entry.js +10 -3
  226. package/dist/esm/snk-crud.entry.js +42 -53
  227. package/dist/esm/snk-data-exporter.entry.js +38 -30
  228. package/dist/esm/{snk-data-unit-f5cbe64b.js → snk-data-unit-7d0ce406.js} +55 -31
  229. package/dist/esm/snk-data-unit.entry.js +5 -5
  230. package/dist/esm/snk-detail-view.entry.js +17 -17
  231. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  232. package/dist/esm/snk-field-config.entry.js +1 -1
  233. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  234. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  235. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  236. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  237. package/dist/esm/snk-filter-number.entry.js +1 -1
  238. package/dist/esm/snk-filter-search.entry.js +18 -5
  239. package/dist/esm/snk-filter-text.entry.js +2 -1
  240. package/dist/esm/snk-grid.entry.js +91 -23
  241. package/dist/esm/{snk-guides-viewer-8f6960a2.js → snk-guides-viewer-c44b3839.js} +27 -17
  242. package/dist/esm/snk-guides-viewer.entry.js +11 -12
  243. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  244. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  245. package/dist/esm/snk-pesquisa.entry.js +110 -31
  246. package/dist/esm/snk-print-selector.entry.js +1 -1
  247. package/dist/esm/snk-simple-bar.entry.js +1 -1
  248. package/dist/esm/snk-simple-crud.entry.js +105 -99
  249. package/dist/esm/snk-tab-config.entry.js +1 -1
  250. package/dist/esm/snk-taskbar.entry.js +73 -41
  251. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-d2353c64.js} +1 -1
  252. package/dist/sankhyablocks/p-00796b12.entry.js +1 -0
  253. package/dist/sankhyablocks/{p-52920496.js → p-03b68a74.js} +1 -1
  254. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  255. package/dist/sankhyablocks/{p-47db7e88.entry.js → p-165cde3b.entry.js} +1 -1
  256. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  257. package/dist/sankhyablocks/p-17425c72.js +1 -0
  258. package/dist/sankhyablocks/p-23736d75.js +1 -0
  259. package/dist/sankhyablocks/p-35f85998.entry.js +1 -0
  260. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  261. package/dist/sankhyablocks/p-38e3ffda.entry.js +1 -0
  262. package/dist/sankhyablocks/p-3b190fb1.entry.js +1 -0
  263. package/dist/sankhyablocks/{p-7e7a7473.js → p-3fc82614.js} +1 -1
  264. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  265. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  266. package/dist/sankhyablocks/{p-2c68b3ae.entry.js → p-490b75b5.entry.js} +1 -1
  267. package/dist/sankhyablocks/p-4ad638be.js +1 -0
  268. package/dist/sankhyablocks/p-5503e89f.entry.js +1 -0
  269. package/dist/sankhyablocks/p-5cc206bb.entry.js +1 -0
  270. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  271. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  272. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  273. package/dist/sankhyablocks/p-601b252b.js +26 -0
  274. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  275. package/dist/sankhyablocks/p-6e0a5314.js +1 -0
  276. package/dist/sankhyablocks/{p-913a9979.js → p-73285a8a.js} +1 -1
  277. package/dist/sankhyablocks/p-754559b9.entry.js +11 -0
  278. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  279. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  280. package/dist/sankhyablocks/p-835128f5.entry.js +1 -0
  281. package/dist/sankhyablocks/p-893b9483.entry.js +1 -0
  282. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  283. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  284. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  285. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  286. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  287. package/dist/sankhyablocks/p-92778d5a.js +1 -0
  288. package/dist/sankhyablocks/p-a8be1d67.js +60 -0
  289. package/dist/sankhyablocks/p-a962a3e4.entry.js +1 -0
  290. package/dist/sankhyablocks/p-b2a2a83e.entry.js +1 -0
  291. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  292. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  293. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  294. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  295. package/dist/sankhyablocks/p-ef6f0a1b.entry.js +1 -0
  296. package/dist/sankhyablocks/p-f7dd5655.entry.js +1 -0
  297. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  298. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  299. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  300. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  301. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  302. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  303. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  304. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  305. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  306. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  307. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  308. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  309. package/dist/types/components/snk-crud/snk-crud.d.ts +26 -0
  310. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
  311. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +10 -0
  312. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  313. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  314. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  315. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  316. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  317. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  318. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  319. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -0
  320. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  321. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  322. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  323. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  324. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  325. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  326. package/dist/types/components/snk-grid/snk-grid.d.ts +33 -0
  327. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  328. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  329. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  330. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  331. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  332. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  333. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
  334. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +32 -3
  335. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  336. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  337. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  338. package/dist/types/components.d.ts +473 -16
  339. package/dist/types/lib/@types/index.d.ts +4 -0
  340. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  341. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  342. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  343. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  344. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  345. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  346. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  347. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  348. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  349. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  350. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  351. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  352. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  353. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  354. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  355. package/dist/types/lib/index.d.ts +1 -0
  356. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  357. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  358. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  359. package/dist/types/lib/utils/constants.d.ts +8 -0
  360. package/package.json +4 -3
  361. package/react/components.d.ts +5 -0
  362. package/react/components.js +5 -0
  363. package/react/components.js.map +1 -1
  364. package/dist/cjs/IExporterProvider-597949f9.js +0 -230
  365. package/dist/cjs/ISave-e91b70a7.js +0 -9
  366. package/dist/cjs/pesquisa-fetcher-680e198f.js +0 -166
  367. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  368. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  369. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  370. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  371. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  372. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  373. package/dist/components/pesquisa-fetcher.js +0 -164
  374. package/dist/esm/IExporterProvider-63a188b6.js +0 -221
  375. package/dist/esm/ISave-d8c8bc59.js +0 -9
  376. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  377. package/dist/esm/snk-config-options.entry.js +0 -235
  378. package/dist/esm/snk-filter-bar.entry.js +0 -710
  379. package/dist/esm/snk-filter-item.entry.js +0 -308
  380. package/dist/esm/snk-filter-list.entry.js +0 -148
  381. package/dist/esm/snk-filter-modal.entry.js +0 -245
  382. package/dist/esm/snk-form.entry.js +0 -139
  383. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  384. package/dist/sankhyablocks/p-17def7cd.js +0 -1
  385. package/dist/sankhyablocks/p-21749402.js +0 -1
  386. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  387. package/dist/sankhyablocks/p-28ee0972.js +0 -1
  388. package/dist/sankhyablocks/p-2a408684.js +0 -1
  389. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  390. package/dist/sankhyablocks/p-3a212712.js +0 -1
  391. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  392. package/dist/sankhyablocks/p-450c60e4.entry.js +0 -1
  393. package/dist/sankhyablocks/p-4e5e1313.entry.js +0 -1
  394. package/dist/sankhyablocks/p-62ba211a.entry.js +0 -1
  395. package/dist/sankhyablocks/p-6bb2f3e9.entry.js +0 -1
  396. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  397. package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
  398. package/dist/sankhyablocks/p-7619bdb1.entry.js +0 -11
  399. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  400. package/dist/sankhyablocks/p-7a85fd49.entry.js +0 -1
  401. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  402. package/dist/sankhyablocks/p-80042dc6.entry.js +0 -1
  403. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  404. package/dist/sankhyablocks/p-8c59edd7.entry.js +0 -1
  405. package/dist/sankhyablocks/p-9606509c.entry.js +0 -1
  406. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  407. package/dist/sankhyablocks/p-9863d682.js +0 -1
  408. package/dist/sankhyablocks/p-ae93d46a.entry.js +0 -1
  409. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  410. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  411. package/dist/sankhyablocks/p-c2495304.js +0 -1
  412. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  413. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  414. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  415. package/dist/sankhyablocks/p-d6e26ea8.entry.js +0 -1
  416. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  417. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  418. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  419. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  420. package/dist/sankhyablocks/p-f4450320.entry.js +0 -1
  421. package/dist/sankhyablocks/p-fe79f83a.js +0 -60
  422. 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;
@@ -139,7 +85,9 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
139
85
  this.ignoreReadOnlyFormFields = false;
140
86
  this.autoFocus = true;
141
87
  this.domainMessagesBuilder = undefined;
88
+ this.layoutFormConfig = false;
142
89
  this.autoLoad = undefined;
90
+ this.outlineMode = false;
143
91
  }
144
92
  /**
145
93
  * Registra um editor customizado para campos da grade e formulário.
@@ -197,8 +145,19 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
197
145
  newCustomFieldProps.set(fieldName, Object.assign(Object.assign({}, currentProps), { [propName]: value }));
198
146
  this._fieldsProps = newCustomFieldProps;
199
147
  }
200
- getButtons(selected, extraButtons) {
201
- 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)
202
161
  .concat(extraButtons));
203
162
  }
204
163
  addConfigButton(buttons) {
@@ -317,15 +276,9 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
317
276
  });
318
277
  }
319
278
  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;
279
+ if (this.formLegacyConfigName || this.configName) {
280
+ await this._snkSimpleFormConfig.show();
327
281
  }
328
- this._showFormConfig = true;
329
282
  }
330
283
  addGridLegacyConfigName() {
331
284
  if (this.gridLegacyConfigName && this.configName) {
@@ -355,12 +308,12 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
355
308
  formConfigIsLoaded() {
356
309
  return this.formConfig != undefined || this._formConfigAlreadyLoaded;
357
310
  }
358
- async loadFormConfig(forceLoad = false) {
311
+ async loadFormConfig(forceLoad = false, forceSetNewConfig = false) {
359
312
  if (this.configName === undefined) {
360
313
  return;
361
314
  }
362
315
  if (this._formConfigManager == undefined) {
363
- this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID());
316
+ this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID(), undefined, this.dataUnit);
364
317
  this._formConfigManager.setConfig(this.formConfig);
365
318
  }
366
319
  if (this.formConfigIsLoaded() && !forceLoad) {
@@ -370,7 +323,7 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
370
323
  let loadedLegacyConfig = await this._formConfigFetcher.fetchLegacyConfigurableForm(this.formLegacyConfigName);
371
324
  if (loadedLegacyConfig != undefined) {
372
325
  this._formConfigManager.setConfig(loadedLegacyConfig);
373
- this.setFormConfig(loadedLegacyConfig);
326
+ this.setFormConfig(loadedLegacyConfig, forceSetNewConfig);
374
327
  return;
375
328
  }
376
329
  this.setFormConfig(await this._formConfigManager.loadConfig());
@@ -401,9 +354,14 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
401
354
  this.onModeChange();
402
355
  this.configDatasource();
403
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
+ }
404
361
  }
405
362
  componentDidLoad() {
406
363
  CSSVarsUtils.applyVarsGrid(this._element, this._grid);
364
+ this.initKeyboardManager();
407
365
  }
408
366
  setCustomRenders() {
409
367
  if (!this._grid) {
@@ -635,6 +593,9 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
635
593
  const options = filteredFields.map(field => ({ value: field.name, label: field.label }));
636
594
  return Promise.resolve(options);
637
595
  }
596
+ isGridInsertActive() {
597
+ return this.enableGridInsert && this.dataUnit.hasNewRecord();
598
+ }
638
599
  getActionsList() {
639
600
  var _a, _b;
640
601
  const hardList = [{
@@ -646,11 +607,21 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
646
607
  ? this.getColumnSearch(actionButton, item)
647
608
  : this.getFieldSearch(actionButton, item)
648
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;
649
618
  if (this.taskbarManager != undefined && this.taskbarManager.getMoreOptions != undefined) {
650
619
  const taskbarID = this.getTopTaskBarId();
651
620
  return hardList.concat(this.taskbarManager.getMoreOptions(taskbarID, this.configName, this.dataState, this.actionsList));
652
621
  }
653
- return hardList.concat(this.actionsList);
622
+ if (this.actionsList)
623
+ return hardList.concat(this.actionsList);
624
+ return hardList;
654
625
  }
655
626
  getTopTaskBarId() {
656
627
  var _a;
@@ -692,12 +663,16 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
692
663
  window.addEventListener("keydown", this._keyDownHandler, { capture: true });
693
664
  }
694
665
  disconnectedCallback() {
666
+ var _a;
695
667
  window.removeEventListener("keydown", this._keyDownHandler);
668
+ (_a = this._keyboardManager) === null || _a === void 0 ? void 0 : _a.unbindAllShortcutKeys();
696
669
  }
697
670
  gridConfigChangeHandler(evt) {
671
+ evt.stopPropagation();
672
+ if (!this.configName)
673
+ return;
698
674
  const config = evt.detail;
699
675
  ConfigStorage.saveGridConfig(config, this.configName, this.resolveResourceID());
700
- evt.stopPropagation();
701
676
  }
702
677
  modalConfigChangeHandler(evt) {
703
678
  const config = evt.detail;
@@ -734,9 +709,6 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
734
709
  closeGridConfig() {
735
710
  this._showPopUpGridConfig = false;
736
711
  }
737
- closeFormConfig() {
738
- this._showFormConfig = false;
739
- }
740
712
  getPageSize() {
741
713
  if (this.mode === SIMPLE_CRUD_MODE.IN_MEMORY) {
742
714
  return 0;
@@ -746,10 +718,6 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
746
718
  }
747
719
  return this.pageSize;
748
720
  }
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
721
  resolveResourceID() {
754
722
  return StringUtils.isEmpty(this.resourceID) ? this._resourceID : this.resourceID;
755
723
  }
@@ -762,22 +730,58 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
762
730
  return configFromManager;
763
731
  }
764
732
  updateFormConfig() {
765
- const newConfig = Object.assign(Object.assign({}, this.formConfig), { fields: this.dataUnit.metadata.fields });
733
+ let newConfig = this.formConfig;
734
+ if (this.formLegacyConfigName == undefined) {
735
+ newConfig = Object.assign(Object.assign({}, this.formConfig), { fields: this.dataUnit.metadata.fields });
736
+ }
766
737
  this.setFormConfig(newConfig, true);
767
738
  if (this._formConfigManager == undefined) {
768
739
  this._formConfigManager = new SnkFormConfigManager(this.configName, this.resolveResourceID());
769
740
  }
770
741
  this._formConfigManager.setConfig(this.formConfig);
771
742
  }
743
+ handleDataUnitOnInsertionMode() {
744
+ if (this.enableGridInsert)
745
+ return;
746
+ this.goToView(VIEW_MODE.FORM);
747
+ }
748
+ async initKeyboardManager() {
749
+ var _a;
750
+ this._keyboardManager = new KeyboardManager({ propagate: false, element: this._element });
751
+ const dataUnit = this.dataUnit || await ((_a = this._snkDataUnit) === null || _a === void 0 ? void 0 : _a.getDataUnit());
752
+ if (dataUnit == undefined) {
753
+ return;
754
+ }
755
+ this._keyboardManager
756
+ .bind("F7", () => dataUnit.saveData(), { description: "Salva os dados.", element: this._element })
757
+ .bind("F8", dataUnit.addRecord.bind(dataUnit), { description: "Adiciona um novo registro.", element: this._element })
758
+ .bind("F9", dataUnit.removeSelectedRecords.bind(dataUnit), { description: "Remove o registro selecionado.", element: this._element })
759
+ .bind("Escape", () => {
760
+ if (dataUnit.isDirty()) {
761
+ dataUnit.cancelEdition();
762
+ }
763
+ }, {
764
+ debounceTime: 1000,
765
+ description: "Cancela uma ação.",
766
+ element: this._element
767
+ });
768
+ }
769
+ async handleFormConfigSaved() {
770
+ await this.loadFormConfig(true, true);
771
+ }
772
+ renderTaskbarContent() {
773
+ var _a;
774
+ 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" })));
775
+ }
772
776
  /* istanbul ignore next */
773
777
  render() {
774
778
  var _a;
775
779
  if (this.dataUnit == undefined) {
776
780
  return;
777
781
  }
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)
782
+ 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
783
  ? 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() }))));
784
+ : 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() }))));
781
785
  }
782
786
  get _element() { return this; }
783
787
  static get watchers() { return {
@@ -790,16 +794,20 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
790
794
  }; }
791
795
  static get style() { return snkSimpleCrudCss; }
792
796
  }, [6, "snk-simple-crud", {
797
+ "enableLockManagerLoadingComp": [4, "enable-lock-manager-loading-comp"],
798
+ "enableLockManagerTaskbarClick": [4, "enable-lock-manager-taskbar-click"],
793
799
  "dataState": [16],
794
800
  "dataUnit": [16],
795
801
  "entityName": [1, "entity-name"],
796
802
  "mode": [2],
797
803
  "gridConfig": [1040],
798
804
  "formConfig": [1040],
805
+ "enableContinuousInsert": [1028, "enable-continuous-insert"],
799
806
  "multipleSelection": [4, "multiple-selection"],
800
807
  "useCancelConfirm": [4, "use-cancel-confirm"],
801
808
  "pageSize": [2, "page-size"],
802
809
  "resourceID": [1, "resource-i-d"],
810
+ "enableGridInsert": [4, "enable-grid-insert"],
803
811
  "taskbarManager": [16],
804
812
  "messagesBuilder": [1040],
805
813
  "useEnterLikeTab": [4, "use-enter-like-tab"],
@@ -811,9 +819,10 @@ const SnkSimpleCrud = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
811
819
  "ignoreReadOnlyFormFields": [4, "ignore-read-only-form-fields"],
812
820
  "autoFocus": [4, "auto-focus"],
813
821
  "domainMessagesBuilder": [1, "domain-messages-builder"],
822
+ "layoutFormConfig": [4, "layout-form-config"],
814
823
  "autoLoad": [4, "auto-load"],
824
+ "outlineMode": [4, "outline-mode"],
815
825
  "_showPopUpGridConfig": [32],
816
- "_showFormConfig": [32],
817
826
  "_currentViewMode": [32],
818
827
  "_config": [32],
819
828
  "_fieldToGetFocus": [32],
@@ -837,7 +846,7 @@ function defineCustomElement() {
837
846
  if (typeof customElements === "undefined") {
838
847
  return;
839
848
  }
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"];
849
+ 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"];
841
850
  components.forEach(tagName => { switch (tagName) {
842
851
  case "snk-simple-crud":
843
852
  if (!customElements.get(tagName)) {
@@ -845,11 +854,6 @@ function defineCustomElement() {
845
854
  }
846
855
  break;
847
856
  case "snk-actions-button":
848
- if (!customElements.get(tagName)) {
849
- defineCustomElement$d();
850
- }
851
- break;
852
- case "snk-config-options":
853
857
  if (!customElements.get(tagName)) {
854
858
  defineCustomElement$c();
855
859
  }
@@ -874,32 +878,32 @@ function defineCustomElement() {
874
878
  defineCustomElement$8();
875
879
  }
876
880
  break;
877
- case "snk-field-config":
881
+ case "snk-grid-config":
878
882
  if (!customElements.get(tagName)) {
879
883
  defineCustomElement$7();
880
884
  }
881
885
  break;
882
- case "snk-form-config":
886
+ case "snk-layout-form-config":
883
887
  if (!customElements.get(tagName)) {
884
888
  defineCustomElement$6();
885
889
  }
886
890
  break;
887
- case "snk-grid-config":
891
+ case "snk-select-box":
888
892
  if (!customElements.get(tagName)) {
889
893
  defineCustomElement$5();
890
894
  }
891
895
  break;
892
- case "snk-select-box":
896
+ case "snk-simple-form-config":
893
897
  if (!customElements.get(tagName)) {
894
898
  defineCustomElement$4();
895
899
  }
896
900
  break;
897
- case "snk-tab-config":
901
+ case "snk-taskbar":
898
902
  if (!customElements.get(tagName)) {
899
903
  defineCustomElement$3();
900
904
  }
901
905
  break;
902
- case "snk-taskbar":
906
+ case "snk-view-representation":
903
907
  if (!customElements.get(tagName)) {
904
908
  defineCustomElement$2();
905
909
  }
@@ -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