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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (425) hide show
  1. package/dist/cjs/ClientSideExporterProvider-5fff8770.js +372 -0
  2. package/dist/cjs/{ConfigStorage-942ce74b.js → ConfigStorage-df09fb78.js} +3 -2
  3. package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-1afdb18e.js} +231 -79
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/ISave-c76e2c51.js +397 -0
  7. package/dist/cjs/{SnkFormConfigManager-1b13bacd.js → SnkFormConfigManager-45a8d7b7.js} +77 -21
  8. package/dist/cjs/{SnkMessageBuilder-722b104e.js → SnkMessageBuilder-bae64d0d.js} +7 -3
  9. package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-1687ac0a.js} +1 -1
  10. package/dist/cjs/{constants-35ddd366.js → constants-77c1b8bd.js} +10 -0
  11. package/dist/cjs/{dataunit-fetcher-620b29a1.js → dataunit-fetcher-4a5d491a.js} +220 -168
  12. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  13. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-40d3f752.js} +56 -2
  14. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  15. package/dist/cjs/index-f9e81701.js +16 -32
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +155 -0
  18. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  19. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_7.cjs.entry.js} +201 -44
  20. package/dist/cjs/snk-application.cjs.entry.js +468 -74
  21. package/dist/cjs/snk-attach.cjs.entry.js +49 -37
  22. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
  23. package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
  24. package/dist/cjs/snk-crud.cjs.entry.js +29 -23
  25. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  26. package/dist/cjs/{snk-data-unit-82dea87e.js → snk-data-unit-4b510d6e.js} +69 -35
  27. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  28. package/dist/cjs/snk-detail-view.cjs.entry.js +18 -19
  29. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1438 -0
  32. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  35. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
  37. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  38. package/dist/cjs/snk-grid.cjs.entry.js +96 -28
  39. package/dist/cjs/{snk-guides-viewer-05a1ba27.js → snk-guides-viewer-e8e5f7b4.js} +34 -19
  40. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -12
  41. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  42. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  43. package/dist/cjs/snk-pesquisa.cjs.entry.js +110 -31
  44. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-simple-crud.cjs.entry.js +119 -115
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +72 -40
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-7e19882d.js} +1 -1
  50. package/dist/collection/collection-manifest.json +16 -31
  51. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  52. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  53. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  54. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  55. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  56. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  57. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  58. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  59. package/dist/collection/components/snk-application/snk-application.css +36 -0
  60. package/dist/collection/components/snk-application/snk-application.js +447 -67
  61. package/dist/collection/components/snk-attach/snk-attach.js +25 -16
  62. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  63. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -5
  64. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  65. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  66. package/dist/collection/components/snk-crud/snk-crud.js +185 -14
  67. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
  68. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +28 -5
  69. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  70. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +74 -8
  71. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  72. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  73. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  74. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
  75. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  76. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  77. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  78. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  79. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  80. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  81. package/dist/collection/components/snk-data-unit/snk-data-unit.js +84 -33
  82. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  83. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  84. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  85. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  90. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  91. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  92. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  93. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  94. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  95. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  96. package/dist/collection/components/snk-form/snk-form.js +2 -2
  97. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +75 -19
  98. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  99. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  100. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  101. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  102. package/dist/collection/components/snk-grid/snk-grid.js +199 -13
  103. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  104. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  105. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  106. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  107. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  108. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  109. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  110. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  111. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  112. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  114. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  115. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +174 -32
  116. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  117. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  118. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  119. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +219 -36
  120. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  121. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  122. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  123. package/dist/collection/components/snk-taskbar/snk-taskbar.js +112 -38
  124. package/dist/collection/lib/@types/index.js +5 -0
  125. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  126. package/dist/collection/lib/configs/ConfigStorage.js +1 -0
  127. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  128. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -102
  129. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -28
  130. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -24
  131. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  132. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  133. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  134. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  135. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  136. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  137. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  138. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  139. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  140. package/dist/collection/lib/index.js +1 -0
  141. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +1 -1
  142. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  143. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  144. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  145. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  146. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  147. package/dist/collection/lib/utils/constants.js +10 -0
  148. package/dist/collection/sw.js +46 -0
  149. package/dist/components/ConfigStorage.js +1 -0
  150. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +176 -33
  151. package/dist/components/DataFetcher.js +232 -80
  152. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  153. package/dist/components/ISave.js +391 -1
  154. package/dist/components/SnkFormConfigManager.js +75 -19
  155. package/dist/components/SnkMessageBuilder.js +7 -3
  156. package/dist/components/constants.js +11 -1
  157. package/dist/components/dataunit-fetcher.js +238 -183
  158. package/dist/components/form-config-fetcher.js +55 -1
  159. package/dist/components/index.d.ts +5 -0
  160. package/dist/components/index.js +5 -0
  161. package/dist/components/pesquisa-grid.d.ts +11 -0
  162. package/dist/components/pesquisa-grid.js +6 -0
  163. package/dist/components/pesquisa-grid2.js +102 -0
  164. package/dist/components/pesquisa-tree.d.ts +11 -0
  165. package/dist/components/pesquisa-tree.js +6 -0
  166. package/dist/components/pesquisa-tree2.js +91 -0
  167. package/dist/components/snk-actions-button2.js +44 -40
  168. package/dist/components/snk-application2.js +491 -72
  169. package/dist/components/snk-attach2.js +61 -55
  170. package/dist/components/snk-config-options2.js +6 -4
  171. package/dist/components/snk-configurator2.js +23 -3
  172. package/dist/components/snk-crud.js +107 -75
  173. package/dist/components/snk-data-exporter2.js +37 -23
  174. package/dist/components/snk-data-unit2.js +71 -73
  175. package/dist/components/snk-detail-view2.js +145 -113
  176. package/dist/components/snk-exporter-email-sender2.js +1 -1
  177. package/dist/components/snk-filter-bar2.js +68 -34
  178. package/dist/components/snk-filter-binary-select.js +1 -1
  179. package/dist/components/snk-filter-checkbox-list.js +1 -1
  180. package/dist/components/snk-filter-item2.js +10 -4
  181. package/dist/components/snk-filter-modal.js +4 -2
  182. package/dist/components/snk-filter-number.js +1 -1
  183. package/dist/components/snk-filter-search.js +18 -5
  184. package/dist/components/snk-filter-text.js +2 -1
  185. package/dist/components/snk-form-config2.js +35 -10
  186. package/dist/components/snk-form.js +2 -2
  187. package/dist/components/snk-grid-config2.js +3 -1
  188. package/dist/components/snk-grid2.js +92 -18
  189. package/dist/components/snk-layout-form-config.d.ts +11 -0
  190. package/dist/components/snk-layout-form-config.js +6 -0
  191. package/dist/components/snk-layout-form-config2.js +73 -0
  192. package/dist/components/snk-personalized-filter-editor.js +4 -4
  193. package/dist/components/snk-pesquisa2.js +125 -33
  194. package/dist/components/snk-print-selector.js +1 -1
  195. package/dist/components/snk-simple-bar2.js +1 -1
  196. package/dist/components/snk-simple-crud2.js +116 -113
  197. package/dist/components/snk-simple-form-config.d.ts +11 -0
  198. package/dist/components/snk-simple-form-config.js +6 -0
  199. package/dist/components/snk-simple-form-config2.js +121 -0
  200. package/dist/components/snk-tab-config2.js +1 -1
  201. package/dist/components/snk-taskbar2.js +72 -40
  202. package/dist/components/snk-view-representation.d.ts +11 -0
  203. package/dist/components/snk-view-representation.js +6 -0
  204. package/dist/components/snk-view-representation2.js +41 -0
  205. package/dist/components/teste-pesquisa.js +13 -1
  206. package/dist/esm/ClientSideExporterProvider-da9935ed.js +361 -0
  207. package/dist/esm/{ConfigStorage-86187da3.js → ConfigStorage-71e6766f.js} +3 -2
  208. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-88e56266.js} +232 -80
  209. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  210. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  211. package/dist/esm/ISave-5efafc97.js +394 -0
  212. package/dist/esm/{SnkFormConfigManager-d4554df9.js → SnkFormConfigManager-be490a33.js} +77 -21
  213. package/dist/esm/{SnkMessageBuilder-89925609.js → SnkMessageBuilder-6fff4a4c.js} +7 -3
  214. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-3510520e.js} +1 -1
  215. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  216. package/dist/esm/{dataunit-fetcher-3fbf9d12.js → dataunit-fetcher-1d02ecfc.js} +222 -167
  217. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  218. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-fa208a6c.js} +56 -2
  219. package/dist/esm/index-a7d3d3f1.js +16 -32
  220. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  221. package/dist/esm/loader.js +1 -1
  222. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  223. package/dist/esm/sankhyablocks.js +1 -1
  224. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_7.entry.js} +201 -47
  225. package/dist/esm/snk-application.entry.js +469 -75
  226. package/dist/esm/snk-attach.entry.js +50 -38
  227. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  228. package/dist/esm/snk-configurator.entry.js +10 -3
  229. package/dist/esm/snk-crud.entry.js +29 -23
  230. package/dist/esm/snk-data-exporter.entry.js +38 -30
  231. package/dist/esm/{snk-data-unit-8f98b45f.js → snk-data-unit-7d0ce406.js} +69 -35
  232. package/dist/esm/snk-data-unit.entry.js +5 -5
  233. package/dist/esm/snk-detail-view.entry.js +18 -19
  234. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  235. package/dist/esm/snk-field-config.entry.js +1 -1
  236. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  237. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  238. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  239. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  240. package/dist/esm/snk-filter-number.entry.js +1 -1
  241. package/dist/esm/snk-filter-search.entry.js +18 -5
  242. package/dist/esm/snk-filter-text.entry.js +2 -1
  243. package/dist/esm/snk-grid.entry.js +91 -23
  244. package/dist/esm/{snk-guides-viewer-aee2cafe.js → snk-guides-viewer-c44b3839.js} +34 -19
  245. package/dist/esm/snk-guides-viewer.entry.js +11 -12
  246. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  247. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  248. package/dist/esm/snk-pesquisa.entry.js +110 -31
  249. package/dist/esm/snk-print-selector.entry.js +1 -1
  250. package/dist/esm/snk-simple-bar.entry.js +1 -1
  251. package/dist/esm/snk-simple-crud.entry.js +105 -101
  252. package/dist/esm/snk-tab-config.entry.js +1 -1
  253. package/dist/esm/snk-taskbar.entry.js +73 -41
  254. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-d2353c64.js} +1 -1
  255. package/dist/sankhyablocks/p-00796b12.entry.js +1 -0
  256. package/dist/sankhyablocks/{p-aff76a53.js → p-03b68a74.js} +2 -2
  257. package/dist/sankhyablocks/p-092078e3.entry.js +1 -0
  258. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  259. package/dist/sankhyablocks/{p-a1d72395.entry.js → p-165cde3b.entry.js} +1 -1
  260. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  261. package/dist/sankhyablocks/p-17425c72.js +1 -0
  262. package/dist/sankhyablocks/p-23736d75.js +1 -0
  263. package/dist/sankhyablocks/p-35f85998.entry.js +1 -0
  264. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  265. package/dist/sankhyablocks/p-38e3ffda.entry.js +1 -0
  266. package/dist/sankhyablocks/p-3b190fb1.entry.js +1 -0
  267. package/dist/sankhyablocks/{p-7e7a7473.js → p-3fc82614.js} +1 -1
  268. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  269. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  270. package/dist/sankhyablocks/{p-eae7a817.entry.js → p-490b75b5.entry.js} +1 -1
  271. package/dist/sankhyablocks/p-4ad638be.js +1 -0
  272. package/dist/sankhyablocks/p-5503e89f.entry.js +1 -0
  273. package/dist/sankhyablocks/p-5cc206bb.entry.js +1 -0
  274. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  275. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  276. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  277. package/dist/sankhyablocks/p-601b252b.js +26 -0
  278. package/dist/sankhyablocks/p-6293ded9.entry.js +11 -0
  279. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  280. package/dist/sankhyablocks/p-6e0a5314.js +1 -0
  281. package/dist/sankhyablocks/{p-913a9979.js → p-73285a8a.js} +1 -1
  282. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  283. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  284. package/dist/sankhyablocks/p-893b9483.entry.js +1 -0
  285. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  286. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  287. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  288. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  289. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  290. package/dist/sankhyablocks/p-92778d5a.js +1 -0
  291. package/dist/sankhyablocks/p-a8be1d67.js +60 -0
  292. package/dist/sankhyablocks/p-a962a3e4.entry.js +1 -0
  293. package/dist/sankhyablocks/p-b2a2a83e.entry.js +1 -0
  294. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  295. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  296. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  297. package/dist/sankhyablocks/p-d9fdb018.entry.js +1 -0
  298. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  299. package/dist/sankhyablocks/p-ef6f0a1b.entry.js +1 -0
  300. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  301. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  302. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  303. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  304. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  305. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  306. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  307. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  308. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  309. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  310. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  311. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  312. package/dist/types/components/snk-crud/snk-crud.d.ts +34 -0
  313. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +5 -0
  314. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +15 -0
  315. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  316. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  317. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  318. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  319. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  320. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  321. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  322. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +7 -0
  323. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  324. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  325. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  326. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  327. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +9 -4
  328. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  329. package/dist/types/components/snk-grid/snk-grid.d.ts +33 -0
  330. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  331. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  332. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  333. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  334. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  335. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  336. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
  337. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +35 -3
  338. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  339. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  340. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  341. package/dist/types/components.d.ts +514 -16
  342. package/dist/types/lib/@types/index.d.ts +4 -0
  343. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  344. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  345. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  346. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  347. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  348. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  349. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  350. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  351. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  352. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  353. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  354. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  355. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  356. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  357. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  358. package/dist/types/lib/index.d.ts +1 -0
  359. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  360. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  361. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  362. package/dist/types/lib/utils/constants.d.ts +8 -0
  363. package/package.json +4 -3
  364. package/react/components.d.ts +5 -0
  365. package/react/components.js +5 -0
  366. package/react/components.js.map +1 -1
  367. package/dist/cjs/IExporterProvider-c78cb1b8.js +0 -230
  368. package/dist/cjs/ISave-e91b70a7.js +0 -9
  369. package/dist/cjs/pesquisa-fetcher-680e198f.js +0 -166
  370. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  371. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  372. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  373. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  374. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  375. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  376. package/dist/components/pesquisa-fetcher.js +0 -164
  377. package/dist/esm/IExporterProvider-343272b3.js +0 -221
  378. package/dist/esm/ISave-d8c8bc59.js +0 -9
  379. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  380. package/dist/esm/snk-config-options.entry.js +0 -235
  381. package/dist/esm/snk-filter-bar.entry.js +0 -710
  382. package/dist/esm/snk-filter-item.entry.js +0 -308
  383. package/dist/esm/snk-filter-list.entry.js +0 -148
  384. package/dist/esm/snk-filter-modal.entry.js +0 -245
  385. package/dist/esm/snk-form.entry.js +0 -139
  386. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  387. package/dist/sankhyablocks/p-0d91b10f.entry.js +0 -1
  388. package/dist/sankhyablocks/p-14a08904.entry.js +0 -1
  389. package/dist/sankhyablocks/p-21749402.js +0 -1
  390. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  391. package/dist/sankhyablocks/p-26394a01.entry.js +0 -1
  392. package/dist/sankhyablocks/p-2d649237.entry.js +0 -1
  393. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  394. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  395. package/dist/sankhyablocks/p-44767378.entry.js +0 -1
  396. package/dist/sankhyablocks/p-47b60deb.entry.js +0 -1
  397. package/dist/sankhyablocks/p-4f72727a.entry.js +0 -1
  398. package/dist/sankhyablocks/p-550fee49.entry.js +0 -1
  399. package/dist/sankhyablocks/p-5539ecb4.entry.js +0 -1
  400. package/dist/sankhyablocks/p-672302c3.js +0 -60
  401. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  402. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  403. package/dist/sankhyablocks/p-7a337364.js +0 -1
  404. package/dist/sankhyablocks/p-829d4045.js +0 -1
  405. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  406. package/dist/sankhyablocks/p-8a5910a7.entry.js +0 -1
  407. package/dist/sankhyablocks/p-8cc64963.entry.js +0 -1
  408. package/dist/sankhyablocks/p-8fc470e5.entry.js +0 -1
  409. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  410. package/dist/sankhyablocks/p-9863d682.js +0 -1
  411. package/dist/sankhyablocks/p-9e99a92a.js +0 -1
  412. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  413. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  414. package/dist/sankhyablocks/p-be603a24.js +0 -1
  415. package/dist/sankhyablocks/p-c2495304.js +0 -1
  416. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  417. package/dist/sankhyablocks/p-d09feef1.js +0 -1
  418. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  419. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  420. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  421. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  422. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  423. package/dist/sankhyablocks/p-e95b3b93.entry.js +0 -11
  424. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  425. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -1,5 +1,5 @@
1
- import { ObjectUtils, DataUnit, DataType, DateUtils, StringUtils, ChangeOperation, ApplicationContext, UserInterface, DataUnitStorage } from '@sankhyalabs/core';
2
- import { D as DataFetcher, d as dist } from './DataFetcher-c1baf61d.js';
1
+ import { ObjectUtils, DataUnit, DataUnitInMemoryLoader, ApplicationContext, StringUtils, UserInterface, DataUnitStorage, DataType, ChangeOperation } from '@sankhyalabs/core';
2
+ import { D as DataFetcher, d as dist } from './DataFetcher-88e56266.js';
3
3
  import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
4
4
  import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
5
5
  import { ColumnFilterManager } from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
@@ -9,6 +9,9 @@ import { R as ResourceIDUtils } from './ResourceIDUtils-a114189a.js';
9
9
  class ArrayRepository {
10
10
  constructor(equalsFunction) {
11
11
  this._list = [];
12
+ this._listCopy = [];
13
+ this._listLastUpdate = 0;
14
+ this._listCopyLastUpdate = 0;
12
15
  this._equalsFunction = equalsFunction;
13
16
  }
14
17
  async load(filterFunction, sortingFunction, offset, limit) {
@@ -47,13 +50,13 @@ class ArrayRepository {
47
50
  return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
48
51
  }
49
52
  async push(items) {
50
- this._list.push(...items);
53
+ this.updateList([...this._list, ...items]);
51
54
  }
52
55
  async clear() {
53
- this._list = [];
56
+ this.updateList([]);
54
57
  }
55
58
  async delete(items) {
56
- this._list = this._list.filter(item => {
59
+ const list = this._list.filter(item => {
57
60
  for (const removed of items) {
58
61
  if (this._equalsFunction(item, removed)) {
59
62
  return false;
@@ -61,20 +64,23 @@ class ArrayRepository {
61
64
  }
62
65
  return true;
63
66
  });
67
+ this.updateList(list);
64
68
  }
65
69
  async update(items) {
66
- this._list = this._list.map(existingItem => {
70
+ const list = this._list.map(existingItem => {
67
71
  const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
68
72
  return newItem == undefined ? existingItem : newItem;
69
73
  });
74
+ this.updateList(list);
70
75
  }
71
76
  async insert(itemReference, items) {
72
77
  const itemPosition = this._list.indexOf(itemReference);
73
78
  if (itemPosition == -1) {
74
- this._list.push(...items);
79
+ this.push(items);
75
80
  return;
76
81
  }
77
- this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
82
+ const list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
83
+ this.updateList(list);
78
84
  }
79
85
  isOperating() {
80
86
  return true;
@@ -86,7 +92,15 @@ class ArrayRepository {
86
92
  return Promise.resolve(this._list.length);
87
93
  }
88
94
  getFromCache() {
89
- return ObjectUtils.copy(this._list);
95
+ if (this._listLastUpdate > this._listCopyLastUpdate) {
96
+ this._listCopyLastUpdate = this._listLastUpdate;
97
+ this._listCopy = ObjectUtils.copy(this._list);
98
+ }
99
+ return this._listCopy;
100
+ }
101
+ updateList(newList) {
102
+ this._list = newList;
103
+ this._listLastUpdate = Date.now();
90
104
  }
91
105
  }
92
106
 
@@ -224,154 +238,33 @@ class PreloadManager {
224
238
  PreloadManager._repositories = new Map();
225
239
  PreloadManager._loadingStatus = new Map();
226
240
 
227
- function applyFilter(records, dataUnit, filters) {
228
- const columnFilters = ColumnFilterManager.getColumnFilters(filters, "");
229
- if (!(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.size)) {
230
- return records;
231
- }
232
- const filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
233
- if (filterFunction == undefined) {
234
- return records;
235
- }
236
- return records.filter(filterFunction);
237
- }
238
- function applySorting(records, dataUnit, sorting) {
239
- if (sorting == undefined || sorting.length == 0) {
240
- return records;
241
- }
242
- const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
243
- if (sortingFunction == undefined) {
244
- return records;
245
- }
246
- return records.sort(sortingFunction);
247
- }
248
- function buildPaginationInfo(records, offset = 0, limit = 0) {
249
- const lastRecord = Math.min(offset + limit, records === null || records === void 0 ? void 0 : records.length);
250
- return {
251
- currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
252
- firstRecord: offset,
253
- lastRecord: lastRecord,
254
- total: records === null || records === void 0 ? void 0 : records.length,
255
- hasMore: !!((records === null || records === void 0 ? void 0 : records.length) - lastRecord),
256
- };
257
- }
258
-
259
241
  class InMemoryLoader {
260
242
  constructor(metadata, records, config) {
261
- this.metadata = metadata;
262
- this.records = records;
263
- this._dataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
264
- this._dataUnit.metadataLoader = () => this.metadaLoader();
265
- this._dataUnit.dataLoader = (dataUnit, request) => this.inMemoryLoader(dataUnit, request, this.getRecordsToLoad());
266
- this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
267
- this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
268
- this.dataUnit.loadMetadata().then(() => {
269
- if ((config === null || config === void 0 ? void 0 : config.autoLoad) !== false) {
270
- this.dataUnit.loadData();
271
- }
272
- });
273
- }
274
- getRecordsToLoad() {
275
- if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
276
- this._initialRecords = this.dataUnit.records;
277
- }
278
- const addedRecords = this.dataUnit.getAddedRecords();
279
- if (addedRecords) {
280
- return [...this._initialRecords, ...addedRecords];
281
- }
282
- return this._initialRecords;
243
+ this._dataUnitInMemoryLoader = new DataUnitInMemoryLoader(metadata, records, config);
283
244
  }
284
245
  get dataUnit() {
285
- return this._dataUnit;
246
+ return this._dataUnitInMemoryLoader.dataUnit;
286
247
  }
287
248
  get records() {
288
- return this.dataUnit.records;
289
- }
290
- static getConvertedValue(descriptor, strValue) {
291
- if (descriptor.dataType === DataType.BOOLEAN) {
292
- return strValue === "S";
293
- }
294
- if (descriptor.dataType === DataType.NUMBER) {
295
- return Number(strValue);
296
- }
297
- if (descriptor.dataType === DataType.DATE) {
298
- return DateUtils.strToDate(strValue, true);
299
- }
300
- if (descriptor.dataType === DataType.OBJECT) {
301
- return JSON.parse(strValue);
302
- }
303
- return strValue;
249
+ return this._dataUnitInMemoryLoader.records;
304
250
  }
305
251
  set records(records) {
306
- const columns = this._metadata ? new Map(this._metadata.fields.map(descriptor => [descriptor.name, descriptor])) : undefined;
307
- const newRecords = records === null || records === void 0 ? void 0 : records.map(record => {
308
- if (!record["__record__id__"]) {
309
- record["__record__id__"] = this.generateUniqueId();
310
- }
311
- if (columns != undefined) {
312
- for (const name in record) {
313
- const value = record[name];
314
- if (typeof value === "string" && columns.has(name)) {
315
- record[name] = InMemoryLoader.getConvertedValue(columns.get(name), value);
316
- }
317
- }
318
- }
319
- return record;
320
- });
321
- this._initialRecords = newRecords;
322
- if (this._dataUnit) {
323
- //Isso força o refresh internamente no datunit
324
- this._dataUnit.loadData();
325
- }
252
+ this._dataUnitInMemoryLoader.records = records;
326
253
  }
327
254
  get metadata() {
328
- return this._metadata;
255
+ return this._dataUnitInMemoryLoader.metadata;
329
256
  }
330
257
  set metadata(metadata) {
331
- this._metadata = metadata;
332
- if (this._dataUnit) {
333
- this._dataUnit.metadata = this._metadata;
334
- }
335
- }
336
- generateUniqueId() {
337
- return StringUtils.generateUUID();
338
- }
339
- inMemoryLoader(dataUnit, request, recordsIn) {
340
- let records = applyFilter(recordsIn, dataUnit, request.filters);
341
- records = applySorting(records, dataUnit, request.sort);
342
- return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
343
- }
344
- metadaLoader() {
345
- return Promise.resolve(this._metadata);
346
- }
347
- saveLoader(_dataUnit, changes) {
348
- return new Promise((resolve) => {
349
- let dataUnitRecords = [];
350
- changes.forEach(change => {
351
- let { record, updatingFields, operation } = change;
352
- const changedRecord = Object.assign(Object.assign({}, record), updatingFields);
353
- if (operation === ChangeOperation.INSERT ||
354
- operation === ChangeOperation.COPY) {
355
- changedRecord["__old__id__"] = record["__record__id__"];
356
- changedRecord["__record__id__"] = this.generateUniqueId();
357
- this.records.push(changedRecord);
358
- }
359
- else {
360
- const recordIndex = this.records.findIndex(r => r["__record__id__"] == changedRecord["__record__id__"]);
361
- this.records[recordIndex] = changedRecord;
362
- }
363
- dataUnitRecords.push(changedRecord);
364
- });
365
- resolve(dataUnitRecords);
366
- });
258
+ this._dataUnitInMemoryLoader.metadata = metadata;
367
259
  }
368
260
  removeLoader(_dataUnit, recordIds) {
369
- return new Promise((resolve) => {
370
- resolve(recordIds);
371
- });
261
+ return this._dataUnitInMemoryLoader.removeLoader(_dataUnit, recordIds);
262
+ }
263
+ static getConvertedValue(descriptor, strValue, dateFormat) {
264
+ return DataUnitInMemoryLoader.getConvertedValue(descriptor, strValue, dateFormat);
372
265
  }
373
266
  }
374
- InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
267
+ InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = DataUnitInMemoryLoader.IN_MEMORY_DATA_UNIT_NAME;
375
268
 
376
269
  function getRecordValue(record, fieldName) {
377
270
  var _a, _b;
@@ -415,16 +308,25 @@ class DatasetStrategy {
415
308
  const serviceName = "DatasetSP.loadRecords";
416
309
  const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
417
310
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
418
- const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
311
+ const { result: responseRecords, pagerID: pagerId, askRowsLimit } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
419
312
  const records = this.processRecords(dataUnit, fields, responseRecords);
420
313
  const loadingInProgress = pagerId != undefined;
421
314
  const count = loadingInfo.count + records.length;
422
- const needReload = !loadingInProgress && localSorting.length > 0;
315
+ const isInsertingNewRecord = dataUnit.hasNewRecord();
316
+ const hasLocalSorting = localSorting.length > 0;
317
+ const needReload = !loadingInProgress && hasLocalSorting;
318
+ /**
319
+ * Caso precise recarregar dados, porém está no meio de uma inserção, os dados não devem recarregados instantaneamente,
320
+ * Mas sim, sinalizar que o dataUnit está aguardando para der recarregado.
321
+ */
322
+ if (needReload && isInsertingNewRecord) {
323
+ dataUnit.setWaitingToReload(true);
324
+ }
423
325
  return Promise.resolve({
424
326
  records,
425
327
  loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
426
- loadingInProgress, total: loadingInProgress ? undefined : count, count,
427
- needReload })
328
+ loadingInProgress, total: loadingInProgress ? undefined : count, count, needReload: needReload && !isInsertingNewRecord, askRowsLimit,
329
+ hasLocalSorting })
428
330
  });
429
331
  }
430
332
  catch (error) {
@@ -476,8 +378,7 @@ class DatasetStrategy {
476
378
  },
477
379
  }
478
380
  };
479
- const parsedRequestBody = JSON.stringify(requestBody);
480
- return parsedRequestBody;
381
+ return JSON.stringify(requestBody);
481
382
  }
482
383
  getFieldsList(dataUnit) {
483
384
  let fields = ["__record__id__", "__record__label__"];
@@ -594,17 +495,128 @@ class DatasetStrategy {
594
495
  return InMemoryLoader.getConvertedValue(descriptor, strValue);
595
496
  }
596
497
  getSearchDescriptionField(descriptor) {
597
- if (descriptor.userInterface === UserInterface.SEARCH) {
598
- const { ENTITYNAME, mergedFrom, DESCRIPTIONFIELD } = descriptor.properties;
599
- if (!StringUtils.isEmpty(DESCRIPTIONFIELD)) {
600
- return mergedFrom != undefined ? `${mergedFrom}.${ENTITYNAME}.${DESCRIPTIONFIELD}` : `${ENTITYNAME}.${DESCRIPTIONFIELD}`;
601
- }
498
+ if (![UserInterface.SEARCH, UserInterface.SEARCHPLUS].includes(descriptor.userInterface)) {
499
+ return undefined;
500
+ }
501
+ const { ENTITYNAME, mergedFrom, DESCRIPTIONFIELD } = descriptor.properties;
502
+ if (!StringUtils.isEmpty(DESCRIPTIONFIELD)) {
503
+ return mergedFrom != undefined ? `${mergedFrom}.${ENTITYNAME}.${DESCRIPTIONFIELD}` : `${ENTITYNAME}.${DESCRIPTIONFIELD}`;
602
504
  }
603
505
  return undefined;
604
506
  }
605
507
  }
606
508
 
509
+ async function showAskCancelPaginationPopup() {
510
+ return new Promise((resolve) => {
511
+ const { checkboxContainer, checkbox } = buildCheckboxContainer();
512
+ const popup = builPopup(resolve, checkbox);
513
+ const contentContainer = buildContentContainer();
514
+ contentContainer.appendChild(buildMessage());
515
+ contentContainer.appendChild(checkboxContainer);
516
+ const actionsContainer = buildActionsContainer();
517
+ actionsContainer.appendChild(buildContinuePaginationBtn(popup, checkbox, resolve));
518
+ actionsContainer.appendChild(buildCancelPaginationBtn(popup, resolve));
519
+ contentContainer.appendChild(actionsContainer);
520
+ popup.appendChild(contentContainer);
521
+ document.body.appendChild(popup);
522
+ });
523
+ }
524
+ function buildCheckboxContainer() {
525
+ const checkboxContainer = document.createElement('div');
526
+ checkboxContainer.style.marginBottom = '14px';
527
+ checkboxContainer.style.display = 'flex';
528
+ checkboxContainer.style.alignItems = 'center';
529
+ const { checkbox, checkboxLabel } = buildCheckbox();
530
+ checkboxContainer.appendChild(checkbox);
531
+ checkboxContainer.appendChild(checkboxLabel);
532
+ return { checkboxContainer, checkbox };
533
+ }
534
+ function buildCheckbox() {
535
+ const checkbox = document.createElement('input');
536
+ checkbox.type = 'checkbox';
537
+ checkbox.id = 'loadAll';
538
+ const checkboxLabel = document.createElement('label');
539
+ checkboxLabel.htmlFor = 'loadAll';
540
+ checkboxLabel.textContent = 'Carregar tudo';
541
+ checkboxLabel.style.marginLeft = '5px';
542
+ return { checkbox, checkboxLabel };
543
+ }
544
+ function buildActionsContainer() {
545
+ const actionsContainer = document.createElement('div');
546
+ actionsContainer.style.display = 'flex';
547
+ actionsContainer.style.flexDirection = 'row';
548
+ actionsContainer.style.justifyContent = 'end';
549
+ actionsContainer.style.gap = '5px';
550
+ return actionsContainer;
551
+ }
552
+ function buildContentContainer() {
553
+ const contentContainer = document.createElement('div');
554
+ contentContainer.style.display = 'flex';
555
+ contentContainer.style.flexDirection = 'column';
556
+ contentContainer.style.fontFamily = 'var(--font-pattern, Roboto)';
557
+ contentContainer.style.fontSize = 'var(--text--medium)';
558
+ return contentContainer;
559
+ }
560
+ function buildMessage() {
561
+ const message = document.createElement('div');
562
+ const line1 = document.createElement('p');
563
+ const line2 = document.createElement('p');
564
+ const line3 = document.createElement('p');
565
+ line3.style.fontWeight = 'var(--text-weight--large, 600)';
566
+ line1.textContent = 'Uma quantidade de registros muito grande está sendo carregada.';
567
+ line2.textContent = 'Recomendamos que a paginação seja cancelada e que seja criado um filtro para os registros.';
568
+ line3.textContent = 'Deseja cancelar o carregamento?';
569
+ message.appendChild(line1);
570
+ message.appendChild(line2);
571
+ message.appendChild(line3);
572
+ return message;
573
+ }
574
+ function buildCancelPaginationBtn(popup, resolve) {
575
+ const cancelPaginationBtn = document.createElement('ez-button');
576
+ cancelPaginationBtn.label = 'Cancelar paginação';
577
+ cancelPaginationBtn.size = 'medium';
578
+ cancelPaginationBtn.classList.add('ez-button--primary');
579
+ cancelPaginationBtn.onclick = () => {
580
+ document.body.removeChild(popup);
581
+ resolve(CancelPaginationResponse.CANCEL);
582
+ };
583
+ return cancelPaginationBtn;
584
+ }
585
+ function buildContinuePaginationBtn(popup, checkBox, resolve) {
586
+ const continuePaginationBtn = document.createElement('ez-button');
587
+ continuePaginationBtn.label = 'Continuar';
588
+ continuePaginationBtn.size = 'medium';
589
+ continuePaginationBtn.onclick = () => {
590
+ document.body.removeChild(popup);
591
+ resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
592
+ };
593
+ return continuePaginationBtn;
594
+ }
595
+ function builPopup(resolve, checkBox) {
596
+ const popup = document.createElement('ez-popup');
597
+ popup.opened = true;
598
+ popup.size = 'x-small';
599
+ popup.ezTitle = 'Aviso';
600
+ popup.heightMode = "auto";
601
+ popup.addEventListener('ezClosePopup', () => {
602
+ document.body.removeChild(popup);
603
+ resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
604
+ }, { once: true });
605
+ popup.addEventListener('ezPopupAction', () => {
606
+ document.body.removeChild(popup);
607
+ resolve(CancelPaginationResponse.CANCEL);
608
+ }, { once: true });
609
+ return popup;
610
+ }
611
+ var CancelPaginationResponse;
612
+ (function (CancelPaginationResponse) {
613
+ CancelPaginationResponse["CANCEL"] = "CANCEL";
614
+ CancelPaginationResponse["CONTINUE"] = "CONTINUE";
615
+ CancelPaginationResponse["LOAD_ALL"] = "LOAD_ALL";
616
+ })(CancelPaginationResponse || (CancelPaginationResponse = {}));
617
+
607
618
  class DataUnitDataLoader {
619
+ constructor() { }
608
620
  static async debounce(dataUnit, callBack) {
609
621
  const duName = dataUnit.name;
610
622
  if (DataUnitDataLoader._debouncingTimeouts[duName]) {
@@ -650,25 +662,67 @@ class DataUnitDataLoader {
650
662
  }
651
663
  static async callLoader(dataUnit, request, requestLoadingInfo, dataLoader) {
652
664
  if (dataLoader == undefined) {
653
- //dataLoader = new DataUnitStrategy();
654
665
  dataLoader = new DatasetStrategy();
655
666
  }
656
667
  const result = await dataLoader.load(dataUnit, request, requestLoadingInfo);
657
- const { records, loadingInfo: responseLoadingInfo } = result;
658
- if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo)) {
668
+ const responseLoadingInfo = result.loadingInfo;
669
+ if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo))
659
670
  return Promise.resolve(undefined);
671
+ this.handleCache(dataLoader, responseLoadingInfo, dataUnit, result.records);
672
+ if (dataUnit.cancelPagination)
673
+ return this.handlePaginationCanceled(dataUnit, result);
674
+ //Não existem mais páginas a serem carregadas
675
+ if (this.canFinishPagination(dataUnit, responseLoadingInfo))
676
+ return Promise.resolve(result);
677
+ const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
678
+ let newLoadingInfo = this.buildNewLoadingInfo(responseLoadingInfo);
679
+ if (this.canProceedPagination(responseLoadingInfo))
680
+ return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
681
+ const confirm = await showAskCancelPaginationPopup();
682
+ if (confirm === CancelPaginationResponse.CANCEL)
683
+ return this.handlePaginationCanceled(dataUnit, result);
684
+ if (confirm === CancelPaginationResponse.LOAD_ALL) {
685
+ newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { loadAllRecords: true });
660
686
  }
687
+ newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { lastRowLimitAsked: newLoadingInfo.count });
688
+ return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
689
+ }
690
+ static buildNewLoadingInfo(responseLoadingInfo) {
691
+ let newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
692
+ return newLoadingInfo;
693
+ }
694
+ static handleCache(dataLoader, responseLoadingInfo, dataUnit, records) {
661
695
  const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
662
696
  PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
663
- if (PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
664
- const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
665
- const newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
666
- this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
667
- .then(result => DataUnitDataLoader.afterLoadingPage(dataUnit, result.loadingInfo))
668
- .catch(reason => console.error(reason));
669
- }
697
+ }
698
+ static recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result) {
699
+ this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
700
+ .then(result => DataUnitDataLoader.afterLoadingPage(dataUnit, result.loadingInfo))
701
+ .catch(reason => console.error(reason));
670
702
  return Promise.resolve(result);
671
703
  }
704
+ static canFinishPagination(dataUnit, responseLoadingInfo) {
705
+ return !PreloadManager.isCacheEnabled(dataUnit) || !responseLoadingInfo.loadingInProgress;
706
+ }
707
+ static canProceedPagination(info) {
708
+ const { count, askRowsLimit, loadAllRecords, lastRowLimitAsked } = info;
709
+ if (loadAllRecords)
710
+ return true;
711
+ if (!count || !askRowsLimit)
712
+ return true;
713
+ const askRowLimitNumber = Number(askRowsLimit);
714
+ if (count < askRowLimitNumber)
715
+ return true;
716
+ const nextLimitToAsk = askRowLimitNumber + (lastRowLimitAsked ? lastRowLimitAsked : 0);
717
+ return count < nextLimitToAsk;
718
+ }
719
+ static handlePaginationCanceled(dataUnit, result) {
720
+ dataUnit.cancelPagination = false;
721
+ let loadingInfo = result.loadingInfo;
722
+ loadingInfo = Object.assign(Object.assign({}, loadingInfo), { total: loadingInfo.count, loadingInProgress: false, pagerId: undefined, needReload: loadingInfo.hasLocalSorting });
723
+ const loadDataResult = { records: result.records, loadingInfo };
724
+ return Promise.resolve(loadDataResult);
725
+ }
672
726
  static afterLoadingPage(dataUnit, loadingInfo) {
673
727
  PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
674
728
  const dataUnitPagination = dataUnit.getPaginationInfo();
@@ -677,7 +731,7 @@ class DataUnitDataLoader {
677
731
  }
678
732
  const count = loadingInfo.count;
679
733
  if (loadingInfo.loadingInProgress) {
680
- dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count }));
734
+ dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count, loadingInProgress: true }));
681
735
  return;
682
736
  }
683
737
  if (loadingInfo.needReload) {
@@ -685,7 +739,7 @@ class DataUnitDataLoader {
685
739
  dataUnit.gotoPage(0);
686
740
  return;
687
741
  }
688
- dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count }));
742
+ dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count, loadingInProgress: false }));
689
743
  }
690
744
  static registryLoading(dataUnit, loadingInfo) {
691
745
  if (loadingInfo == undefined) {
@@ -708,7 +762,7 @@ class DataUnitDataLoader {
708
762
  // controle de paginação voltar pra primeira página.
709
763
  offset = 0;
710
764
  }
711
- const { total, count, loadingInProgress } = loadingInfo;
765
+ const { total, count, loadingInProgress, askRowsLimit } = loadingInfo;
712
766
  const firstRecord = (count === 0 || pageSize === 0) ? 0 : offset + 1;
713
767
  const lastRecord = offset + Math.min(pageSize, limit);
714
768
  return {
@@ -717,7 +771,8 @@ class DataUnitDataLoader {
717
771
  lastRecord,
718
772
  firstRecord,
719
773
  currentPage: offset / limit,
720
- hasMore: lastRecord < count || loadingInProgress
774
+ hasMore: lastRecord < count || loadingInProgress,
775
+ askRowsLimit
721
776
  };
722
777
  }
723
778
  }
@@ -1047,4 +1102,4 @@ class DataUnitFetcher {
1047
1102
  }
1048
1103
  }
1049
1104
 
1050
- export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P, DatasetStrategy as a, applyFilter as b, applySorting as c, buildPaginationInfo as d, getRecordValue as g };
1105
+ export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P, DatasetStrategy as a, getRecordValue as g };
@@ -31,12 +31,16 @@ class TaskbarProcessor {
31
31
  });
32
32
  }
33
33
  getButtonsArray(taskbarId, taskbarManager, dataState) {
34
- const defaults = this._defaultButtons[taskbarId];
34
+ const defaults = this.getButtonsFromKey(taskbarId);
35
35
  if (taskbarManager) {
36
36
  return taskbarManager.getButtons(taskbarId, dataState, [...defaults]);
37
37
  }
38
38
  return defaults;
39
39
  }
40
+ getButtonsFromKey(taskbarId) {
41
+ const btnsValue = this._defaultButtons[taskbarId];
42
+ return typeof btnsValue === 'function' ? btnsValue() : btnsValue;
43
+ }
40
44
  isEnabled(taskbarId, taskbarManager, buttonName, dataState, disabled) {
41
45
  const originalValue = disabled.includes(buttonName) ? false : true;
42
46
  if (taskbarManager && taskbarManager.isEnabled) {
@@ -1,4 +1,4 @@
1
- import { d as dist, D as DataFetcher } from './DataFetcher-c1baf61d.js';
1
+ import { d as dist, D as DataFetcher } from './DataFetcher-88e56266.js';
2
2
  import { ObjectUtils } from '@sankhyalabs/core';
3
3
 
4
4
  class ResourceFetcher {
@@ -217,7 +217,10 @@ class FormConfigFetcher extends ResourceFetcher {
217
217
  query: this.queryConfig.get("fetchDefaultConfig"),
218
218
  })
219
219
  .then((result) => {
220
- resolve(ObjectUtils.stringToObject((result === null || result === void 0 ? void 0 : result.resource) || ''));
220
+ if (!(result === null || result === void 0 ? void 0 : result.resource)) {
221
+ resolve(null);
222
+ }
223
+ resolve(ObjectUtils.stringToObject(result === null || result === void 0 ? void 0 : result.resource));
221
224
  })
222
225
  .catch((error) => {
223
226
  reject(error);
@@ -237,11 +240,62 @@ class FormConfigFetcher extends ResourceFetcher {
237
240
  return undefined;
238
241
  return this.buildLegacyConfigurableForm(response);
239
242
  }
243
+ async fetchSimpleFormConfig(configName) {
244
+ const payload = { 'requestBody': { 'formConfig': { 'configName': configName } } };
245
+ const response = await DataFetcher.get().callServiceBroker('FormConfig.getFormConfig', JSON.stringify(payload));
246
+ return this.processConfig(response);
247
+ }
248
+ async saveSimpleFormConfig(configName, fieldList) {
249
+ const payload = this.buildSaveSimpleFormConfigPayload(configName, fieldList);
250
+ const response = await DataFetcher.get().callServiceBroker('FormConfig.saveFormConfig', JSON.stringify(payload));
251
+ this.processConfig(response);
252
+ }
253
+ processConfig(response) {
254
+ if (ObjectUtils.isEmpty(response))
255
+ return [];
256
+ const fields = this.getResponseAsArray(response);
257
+ return fields.map(field => field.name);
258
+ }
259
+ getResponseAsArray(response) {
260
+ var _a, _b, _c;
261
+ const rawFields = (_c = (_b = (_a = response === null || response === void 0 ? void 0 : response.formConfig) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.field) !== null && _c !== void 0 ? _c : [];
262
+ return Array.isArray(rawFields) ? rawFields : [rawFields];
263
+ }
264
+ buildSaveSimpleFormConfigPayload(configName, fieldNameList) {
265
+ const fieldList = fieldNameList.map(fieldName => { return { name: fieldName }; });
266
+ return {
267
+ formConfig: {
268
+ configName,
269
+ layout: {
270
+ field: fieldList,
271
+ },
272
+ metadata: { field: [] },
273
+ }
274
+ };
275
+ }
276
+ async restoreFormConfig(configName) {
277
+ const payload = { 'requestBody': { 'formConfig': { 'configName': configName } } };
278
+ await DataFetcher.get().callServiceBroker('FormConfig.restoreFormConfig', JSON.stringify(payload));
279
+ }
240
280
  buildLegacyConfigurableForm(config) {
241
281
  var _a, _b, _c;
242
282
  const rawFields = (_c = (_b = (_a = config === null || config === void 0 ? void 0 : config.formConfig) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.field) !== null && _c !== void 0 ? _c : [];
243
283
  return { emptyConfig: false, fields: Array.isArray(rawFields) ? rawFields : [rawFields] };
244
284
  }
285
+ async fetchLayoutFormConfig(configName) {
286
+ const payload = { 'requestBody': { 'config': { 'chave': configName, 'tipo': 'T' } } };
287
+ const response = await DataFetcher.get().callServiceBroker('SystemUtilsSP.getConf', JSON.stringify(payload));
288
+ if (ObjectUtils.isEmpty(response))
289
+ return undefined;
290
+ return response.config;
291
+ }
292
+ async saveLayoutFormConfig(configName, config) {
293
+ const payload = { 'requestBody': { 'config': Object.assign(Object.assign({}, config), { 'chave': configName, 'tipo': 'T' }) } };
294
+ const response = await DataFetcher.get().callServiceBroker('SystemUtilsSP.saveConf', JSON.stringify(payload));
295
+ if (ObjectUtils.isEmpty(response))
296
+ return undefined;
297
+ return response;
298
+ }
245
299
  }
246
300
  var UserConfigType;
247
301
  (function (UserConfigType) {