@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,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const core = require('@sankhyalabs/core');
4
- const DataFetcher = require('./DataFetcher-313debd8.js');
4
+ const DataFetcher = require('./DataFetcher-1afdb18e.js');
5
5
  const constants = require('@sankhyalabs/ezui/dist/collection/utils/constants');
6
6
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
7
7
  const utils = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
@@ -15,6 +15,9 @@ const SortingUtils__default = /*#__PURE__*/_interopDefaultLegacy(SortingUtils);
15
15
  class ArrayRepository {
16
16
  constructor(equalsFunction) {
17
17
  this._list = [];
18
+ this._listCopy = [];
19
+ this._listLastUpdate = 0;
20
+ this._listCopyLastUpdate = 0;
18
21
  this._equalsFunction = equalsFunction;
19
22
  }
20
23
  async load(filterFunction, sortingFunction, offset, limit) {
@@ -53,13 +56,13 @@ class ArrayRepository {
53
56
  return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
54
57
  }
55
58
  async push(items) {
56
- this._list.push(...items);
59
+ this.updateList([...this._list, ...items]);
57
60
  }
58
61
  async clear() {
59
- this._list = [];
62
+ this.updateList([]);
60
63
  }
61
64
  async delete(items) {
62
- this._list = this._list.filter(item => {
65
+ const list = this._list.filter(item => {
63
66
  for (const removed of items) {
64
67
  if (this._equalsFunction(item, removed)) {
65
68
  return false;
@@ -67,20 +70,23 @@ class ArrayRepository {
67
70
  }
68
71
  return true;
69
72
  });
73
+ this.updateList(list);
70
74
  }
71
75
  async update(items) {
72
- this._list = this._list.map(existingItem => {
76
+ const list = this._list.map(existingItem => {
73
77
  const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
74
78
  return newItem == undefined ? existingItem : newItem;
75
79
  });
80
+ this.updateList(list);
76
81
  }
77
82
  async insert(itemReference, items) {
78
83
  const itemPosition = this._list.indexOf(itemReference);
79
84
  if (itemPosition == -1) {
80
- this._list.push(...items);
85
+ this.push(items);
81
86
  return;
82
87
  }
83
- this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
88
+ const list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
89
+ this.updateList(list);
84
90
  }
85
91
  isOperating() {
86
92
  return true;
@@ -92,7 +98,15 @@ class ArrayRepository {
92
98
  return Promise.resolve(this._list.length);
93
99
  }
94
100
  getFromCache() {
95
- return core.ObjectUtils.copy(this._list);
101
+ if (this._listLastUpdate > this._listCopyLastUpdate) {
102
+ this._listCopyLastUpdate = this._listLastUpdate;
103
+ this._listCopy = core.ObjectUtils.copy(this._list);
104
+ }
105
+ return this._listCopy;
106
+ }
107
+ updateList(newList) {
108
+ this._list = newList;
109
+ this._listLastUpdate = Date.now();
96
110
  }
97
111
  }
98
112
 
@@ -230,154 +244,33 @@ class PreloadManager {
230
244
  PreloadManager._repositories = new Map();
231
245
  PreloadManager._loadingStatus = new Map();
232
246
 
233
- function applyFilter(records, dataUnit, filters) {
234
- const columnFilters = utils.ColumnFilterManager.getColumnFilters(filters, "");
235
- if (!(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.size)) {
236
- return records;
237
- }
238
- const filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
239
- if (filterFunction == undefined) {
240
- return records;
241
- }
242
- return records.filter(filterFunction);
243
- }
244
- function applySorting(records, dataUnit, sorting) {
245
- if (sorting == undefined || sorting.length == 0) {
246
- return records;
247
- }
248
- const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
249
- if (sortingFunction == undefined) {
250
- return records;
251
- }
252
- return records.sort(sortingFunction);
253
- }
254
- function buildPaginationInfo(records, offset = 0, limit = 0) {
255
- const lastRecord = Math.min(offset + limit, records === null || records === void 0 ? void 0 : records.length);
256
- return {
257
- currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
258
- firstRecord: offset,
259
- lastRecord: lastRecord,
260
- total: records === null || records === void 0 ? void 0 : records.length,
261
- hasMore: !!((records === null || records === void 0 ? void 0 : records.length) - lastRecord),
262
- };
263
- }
264
-
265
247
  class InMemoryLoader {
266
248
  constructor(metadata, records, config) {
267
- this.metadata = metadata;
268
- this.records = records;
269
- this._dataUnit = new core.DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
270
- this._dataUnit.metadataLoader = () => this.metadaLoader();
271
- this._dataUnit.dataLoader = (dataUnit, request) => this.inMemoryLoader(dataUnit, request, this.getRecordsToLoad());
272
- this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
273
- this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
274
- this.dataUnit.loadMetadata().then(() => {
275
- if ((config === null || config === void 0 ? void 0 : config.autoLoad) !== false) {
276
- this.dataUnit.loadData();
277
- }
278
- });
279
- }
280
- getRecordsToLoad() {
281
- if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
282
- this._initialRecords = this.dataUnit.records;
283
- }
284
- const addedRecords = this.dataUnit.getAddedRecords();
285
- if (addedRecords) {
286
- return [...this._initialRecords, ...addedRecords];
287
- }
288
- return this._initialRecords;
249
+ this._dataUnitInMemoryLoader = new core.DataUnitInMemoryLoader(metadata, records, config);
289
250
  }
290
251
  get dataUnit() {
291
- return this._dataUnit;
252
+ return this._dataUnitInMemoryLoader.dataUnit;
292
253
  }
293
254
  get records() {
294
- return this.dataUnit.records;
295
- }
296
- static getConvertedValue(descriptor, strValue) {
297
- if (descriptor.dataType === core.DataType.BOOLEAN) {
298
- return strValue === "S";
299
- }
300
- if (descriptor.dataType === core.DataType.NUMBER) {
301
- return Number(strValue);
302
- }
303
- if (descriptor.dataType === core.DataType.DATE) {
304
- return core.DateUtils.strToDate(strValue, true);
305
- }
306
- if (descriptor.dataType === core.DataType.OBJECT) {
307
- return JSON.parse(strValue);
308
- }
309
- return strValue;
255
+ return this._dataUnitInMemoryLoader.records;
310
256
  }
311
257
  set records(records) {
312
- const columns = this._metadata ? new Map(this._metadata.fields.map(descriptor => [descriptor.name, descriptor])) : undefined;
313
- const newRecords = records === null || records === void 0 ? void 0 : records.map(record => {
314
- if (!record["__record__id__"]) {
315
- record["__record__id__"] = this.generateUniqueId();
316
- }
317
- if (columns != undefined) {
318
- for (const name in record) {
319
- const value = record[name];
320
- if (typeof value === "string" && columns.has(name)) {
321
- record[name] = InMemoryLoader.getConvertedValue(columns.get(name), value);
322
- }
323
- }
324
- }
325
- return record;
326
- });
327
- this._initialRecords = newRecords;
328
- if (this._dataUnit) {
329
- //Isso força o refresh internamente no datunit
330
- this._dataUnit.loadData();
331
- }
258
+ this._dataUnitInMemoryLoader.records = records;
332
259
  }
333
260
  get metadata() {
334
- return this._metadata;
261
+ return this._dataUnitInMemoryLoader.metadata;
335
262
  }
336
263
  set metadata(metadata) {
337
- this._metadata = metadata;
338
- if (this._dataUnit) {
339
- this._dataUnit.metadata = this._metadata;
340
- }
341
- }
342
- generateUniqueId() {
343
- return core.StringUtils.generateUUID();
344
- }
345
- inMemoryLoader(dataUnit, request, recordsIn) {
346
- let records = applyFilter(recordsIn, dataUnit, request.filters);
347
- records = applySorting(records, dataUnit, request.sort);
348
- return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
349
- }
350
- metadaLoader() {
351
- return Promise.resolve(this._metadata);
352
- }
353
- saveLoader(_dataUnit, changes) {
354
- return new Promise((resolve) => {
355
- let dataUnitRecords = [];
356
- changes.forEach(change => {
357
- let { record, updatingFields, operation } = change;
358
- const changedRecord = Object.assign(Object.assign({}, record), updatingFields);
359
- if (operation === core.ChangeOperation.INSERT ||
360
- operation === core.ChangeOperation.COPY) {
361
- changedRecord["__old__id__"] = record["__record__id__"];
362
- changedRecord["__record__id__"] = this.generateUniqueId();
363
- this.records.push(changedRecord);
364
- }
365
- else {
366
- const recordIndex = this.records.findIndex(r => r["__record__id__"] == changedRecord["__record__id__"]);
367
- this.records[recordIndex] = changedRecord;
368
- }
369
- dataUnitRecords.push(changedRecord);
370
- });
371
- resolve(dataUnitRecords);
372
- });
264
+ this._dataUnitInMemoryLoader.metadata = metadata;
373
265
  }
374
266
  removeLoader(_dataUnit, recordIds) {
375
- return new Promise((resolve) => {
376
- resolve(recordIds);
377
- });
267
+ return this._dataUnitInMemoryLoader.removeLoader(_dataUnit, recordIds);
268
+ }
269
+ static getConvertedValue(descriptor, strValue, dateFormat) {
270
+ return core.DataUnitInMemoryLoader.getConvertedValue(descriptor, strValue, dateFormat);
378
271
  }
379
272
  }
380
- InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
273
+ InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = core.DataUnitInMemoryLoader.IN_MEMORY_DATA_UNIT_NAME;
381
274
 
382
275
  function getRecordValue(record, fieldName) {
383
276
  var _a, _b;
@@ -421,16 +314,25 @@ class DatasetStrategy {
421
314
  const serviceName = "DatasetSP.loadRecords";
422
315
  const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
423
316
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
424
- const { result: responseRecords, pagerID: pagerId } = await DataFetcher.DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
317
+ const { result: responseRecords, pagerID: pagerId, askRowsLimit } = await DataFetcher.DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
425
318
  const records = this.processRecords(dataUnit, fields, responseRecords);
426
319
  const loadingInProgress = pagerId != undefined;
427
320
  const count = loadingInfo.count + records.length;
428
- const needReload = !loadingInProgress && localSorting.length > 0;
321
+ const isInsertingNewRecord = dataUnit.hasNewRecord();
322
+ const hasLocalSorting = localSorting.length > 0;
323
+ const needReload = !loadingInProgress && hasLocalSorting;
324
+ /**
325
+ * Caso precise recarregar dados, porém está no meio de uma inserção, os dados não devem recarregados instantaneamente,
326
+ * Mas sim, sinalizar que o dataUnit está aguardando para der recarregado.
327
+ */
328
+ if (needReload && isInsertingNewRecord) {
329
+ dataUnit.setWaitingToReload(true);
330
+ }
429
331
  return Promise.resolve({
430
332
  records,
431
333
  loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
432
- loadingInProgress, total: loadingInProgress ? undefined : count, count,
433
- needReload })
334
+ loadingInProgress, total: loadingInProgress ? undefined : count, count, needReload: needReload && !isInsertingNewRecord, askRowsLimit,
335
+ hasLocalSorting })
434
336
  });
435
337
  }
436
338
  catch (error) {
@@ -482,8 +384,7 @@ class DatasetStrategy {
482
384
  },
483
385
  }
484
386
  };
485
- const parsedRequestBody = JSON.stringify(requestBody);
486
- return parsedRequestBody;
387
+ return JSON.stringify(requestBody);
487
388
  }
488
389
  getFieldsList(dataUnit) {
489
390
  let fields = ["__record__id__", "__record__label__"];
@@ -600,17 +501,128 @@ class DatasetStrategy {
600
501
  return InMemoryLoader.getConvertedValue(descriptor, strValue);
601
502
  }
602
503
  getSearchDescriptionField(descriptor) {
603
- if (descriptor.userInterface === core.UserInterface.SEARCH) {
604
- const { ENTITYNAME, mergedFrom, DESCRIPTIONFIELD } = descriptor.properties;
605
- if (!core.StringUtils.isEmpty(DESCRIPTIONFIELD)) {
606
- return mergedFrom != undefined ? `${mergedFrom}.${ENTITYNAME}.${DESCRIPTIONFIELD}` : `${ENTITYNAME}.${DESCRIPTIONFIELD}`;
607
- }
504
+ if (![core.UserInterface.SEARCH, core.UserInterface.SEARCHPLUS].includes(descriptor.userInterface)) {
505
+ return undefined;
506
+ }
507
+ const { ENTITYNAME, mergedFrom, DESCRIPTIONFIELD } = descriptor.properties;
508
+ if (!core.StringUtils.isEmpty(DESCRIPTIONFIELD)) {
509
+ return mergedFrom != undefined ? `${mergedFrom}.${ENTITYNAME}.${DESCRIPTIONFIELD}` : `${ENTITYNAME}.${DESCRIPTIONFIELD}`;
608
510
  }
609
511
  return undefined;
610
512
  }
611
513
  }
612
514
 
515
+ async function showAskCancelPaginationPopup() {
516
+ return new Promise((resolve) => {
517
+ const { checkboxContainer, checkbox } = buildCheckboxContainer();
518
+ const popup = builPopup(resolve, checkbox);
519
+ const contentContainer = buildContentContainer();
520
+ contentContainer.appendChild(buildMessage());
521
+ contentContainer.appendChild(checkboxContainer);
522
+ const actionsContainer = buildActionsContainer();
523
+ actionsContainer.appendChild(buildContinuePaginationBtn(popup, checkbox, resolve));
524
+ actionsContainer.appendChild(buildCancelPaginationBtn(popup, resolve));
525
+ contentContainer.appendChild(actionsContainer);
526
+ popup.appendChild(contentContainer);
527
+ document.body.appendChild(popup);
528
+ });
529
+ }
530
+ function buildCheckboxContainer() {
531
+ const checkboxContainer = document.createElement('div');
532
+ checkboxContainer.style.marginBottom = '14px';
533
+ checkboxContainer.style.display = 'flex';
534
+ checkboxContainer.style.alignItems = 'center';
535
+ const { checkbox, checkboxLabel } = buildCheckbox();
536
+ checkboxContainer.appendChild(checkbox);
537
+ checkboxContainer.appendChild(checkboxLabel);
538
+ return { checkboxContainer, checkbox };
539
+ }
540
+ function buildCheckbox() {
541
+ const checkbox = document.createElement('input');
542
+ checkbox.type = 'checkbox';
543
+ checkbox.id = 'loadAll';
544
+ const checkboxLabel = document.createElement('label');
545
+ checkboxLabel.htmlFor = 'loadAll';
546
+ checkboxLabel.textContent = 'Carregar tudo';
547
+ checkboxLabel.style.marginLeft = '5px';
548
+ return { checkbox, checkboxLabel };
549
+ }
550
+ function buildActionsContainer() {
551
+ const actionsContainer = document.createElement('div');
552
+ actionsContainer.style.display = 'flex';
553
+ actionsContainer.style.flexDirection = 'row';
554
+ actionsContainer.style.justifyContent = 'end';
555
+ actionsContainer.style.gap = '5px';
556
+ return actionsContainer;
557
+ }
558
+ function buildContentContainer() {
559
+ const contentContainer = document.createElement('div');
560
+ contentContainer.style.display = 'flex';
561
+ contentContainer.style.flexDirection = 'column';
562
+ contentContainer.style.fontFamily = 'var(--font-pattern, Roboto)';
563
+ contentContainer.style.fontSize = 'var(--text--medium)';
564
+ return contentContainer;
565
+ }
566
+ function buildMessage() {
567
+ const message = document.createElement('div');
568
+ const line1 = document.createElement('p');
569
+ const line2 = document.createElement('p');
570
+ const line3 = document.createElement('p');
571
+ line3.style.fontWeight = 'var(--text-weight--large, 600)';
572
+ line1.textContent = 'Uma quantidade de registros muito grande está sendo carregada.';
573
+ line2.textContent = 'Recomendamos que a paginação seja cancelada e que seja criado um filtro para os registros.';
574
+ line3.textContent = 'Deseja cancelar o carregamento?';
575
+ message.appendChild(line1);
576
+ message.appendChild(line2);
577
+ message.appendChild(line3);
578
+ return message;
579
+ }
580
+ function buildCancelPaginationBtn(popup, resolve) {
581
+ const cancelPaginationBtn = document.createElement('ez-button');
582
+ cancelPaginationBtn.label = 'Cancelar paginação';
583
+ cancelPaginationBtn.size = 'medium';
584
+ cancelPaginationBtn.classList.add('ez-button--primary');
585
+ cancelPaginationBtn.onclick = () => {
586
+ document.body.removeChild(popup);
587
+ resolve(CancelPaginationResponse.CANCEL);
588
+ };
589
+ return cancelPaginationBtn;
590
+ }
591
+ function buildContinuePaginationBtn(popup, checkBox, resolve) {
592
+ const continuePaginationBtn = document.createElement('ez-button');
593
+ continuePaginationBtn.label = 'Continuar';
594
+ continuePaginationBtn.size = 'medium';
595
+ continuePaginationBtn.onclick = () => {
596
+ document.body.removeChild(popup);
597
+ resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
598
+ };
599
+ return continuePaginationBtn;
600
+ }
601
+ function builPopup(resolve, checkBox) {
602
+ const popup = document.createElement('ez-popup');
603
+ popup.opened = true;
604
+ popup.size = 'x-small';
605
+ popup.ezTitle = 'Aviso';
606
+ popup.heightMode = "auto";
607
+ popup.addEventListener('ezClosePopup', () => {
608
+ document.body.removeChild(popup);
609
+ resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
610
+ }, { once: true });
611
+ popup.addEventListener('ezPopupAction', () => {
612
+ document.body.removeChild(popup);
613
+ resolve(CancelPaginationResponse.CANCEL);
614
+ }, { once: true });
615
+ return popup;
616
+ }
617
+ var CancelPaginationResponse;
618
+ (function (CancelPaginationResponse) {
619
+ CancelPaginationResponse["CANCEL"] = "CANCEL";
620
+ CancelPaginationResponse["CONTINUE"] = "CONTINUE";
621
+ CancelPaginationResponse["LOAD_ALL"] = "LOAD_ALL";
622
+ })(CancelPaginationResponse || (CancelPaginationResponse = {}));
623
+
613
624
  class DataUnitDataLoader {
625
+ constructor() { }
614
626
  static async debounce(dataUnit, callBack) {
615
627
  const duName = dataUnit.name;
616
628
  if (DataUnitDataLoader._debouncingTimeouts[duName]) {
@@ -656,25 +668,67 @@ class DataUnitDataLoader {
656
668
  }
657
669
  static async callLoader(dataUnit, request, requestLoadingInfo, dataLoader) {
658
670
  if (dataLoader == undefined) {
659
- //dataLoader = new DataUnitStrategy();
660
671
  dataLoader = new DatasetStrategy();
661
672
  }
662
673
  const result = await dataLoader.load(dataUnit, request, requestLoadingInfo);
663
- const { records, loadingInfo: responseLoadingInfo } = result;
664
- if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo)) {
674
+ const responseLoadingInfo = result.loadingInfo;
675
+ if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo))
665
676
  return Promise.resolve(undefined);
677
+ this.handleCache(dataLoader, responseLoadingInfo, dataUnit, result.records);
678
+ if (dataUnit.cancelPagination)
679
+ return this.handlePaginationCanceled(dataUnit, result);
680
+ //Não existem mais páginas a serem carregadas
681
+ if (this.canFinishPagination(dataUnit, responseLoadingInfo))
682
+ return Promise.resolve(result);
683
+ const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
684
+ let newLoadingInfo = this.buildNewLoadingInfo(responseLoadingInfo);
685
+ if (this.canProceedPagination(responseLoadingInfo))
686
+ return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
687
+ const confirm = await showAskCancelPaginationPopup();
688
+ if (confirm === CancelPaginationResponse.CANCEL)
689
+ return this.handlePaginationCanceled(dataUnit, result);
690
+ if (confirm === CancelPaginationResponse.LOAD_ALL) {
691
+ newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { loadAllRecords: true });
666
692
  }
693
+ newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { lastRowLimitAsked: newLoadingInfo.count });
694
+ return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
695
+ }
696
+ static buildNewLoadingInfo(responseLoadingInfo) {
697
+ let newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
698
+ return newLoadingInfo;
699
+ }
700
+ static handleCache(dataLoader, responseLoadingInfo, dataUnit, records) {
667
701
  const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
668
702
  PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
669
- if (PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
670
- const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
671
- const newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
672
- this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
673
- .then(result => DataUnitDataLoader.afterLoadingPage(dataUnit, result.loadingInfo))
674
- .catch(reason => console.error(reason));
675
- }
703
+ }
704
+ static recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result) {
705
+ this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
706
+ .then(result => DataUnitDataLoader.afterLoadingPage(dataUnit, result.loadingInfo))
707
+ .catch(reason => console.error(reason));
676
708
  return Promise.resolve(result);
677
709
  }
710
+ static canFinishPagination(dataUnit, responseLoadingInfo) {
711
+ return !PreloadManager.isCacheEnabled(dataUnit) || !responseLoadingInfo.loadingInProgress;
712
+ }
713
+ static canProceedPagination(info) {
714
+ const { count, askRowsLimit, loadAllRecords, lastRowLimitAsked } = info;
715
+ if (loadAllRecords)
716
+ return true;
717
+ if (!count || !askRowsLimit)
718
+ return true;
719
+ const askRowLimitNumber = Number(askRowsLimit);
720
+ if (count < askRowLimitNumber)
721
+ return true;
722
+ const nextLimitToAsk = askRowLimitNumber + (lastRowLimitAsked ? lastRowLimitAsked : 0);
723
+ return count < nextLimitToAsk;
724
+ }
725
+ static handlePaginationCanceled(dataUnit, result) {
726
+ dataUnit.cancelPagination = false;
727
+ let loadingInfo = result.loadingInfo;
728
+ loadingInfo = Object.assign(Object.assign({}, loadingInfo), { total: loadingInfo.count, loadingInProgress: false, pagerId: undefined, needReload: loadingInfo.hasLocalSorting });
729
+ const loadDataResult = { records: result.records, loadingInfo };
730
+ return Promise.resolve(loadDataResult);
731
+ }
678
732
  static afterLoadingPage(dataUnit, loadingInfo) {
679
733
  PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
680
734
  const dataUnitPagination = dataUnit.getPaginationInfo();
@@ -683,7 +737,7 @@ class DataUnitDataLoader {
683
737
  }
684
738
  const count = loadingInfo.count;
685
739
  if (loadingInfo.loadingInProgress) {
686
- dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count }));
740
+ dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count, loadingInProgress: true }));
687
741
  return;
688
742
  }
689
743
  if (loadingInfo.needReload) {
@@ -691,7 +745,7 @@ class DataUnitDataLoader {
691
745
  dataUnit.gotoPage(0);
692
746
  return;
693
747
  }
694
- dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count }));
748
+ dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count, loadingInProgress: false }));
695
749
  }
696
750
  static registryLoading(dataUnit, loadingInfo) {
697
751
  if (loadingInfo == undefined) {
@@ -714,7 +768,7 @@ class DataUnitDataLoader {
714
768
  // controle de paginação voltar pra primeira página.
715
769
  offset = 0;
716
770
  }
717
- const { total, count, loadingInProgress } = loadingInfo;
771
+ const { total, count, loadingInProgress, askRowsLimit } = loadingInfo;
718
772
  const firstRecord = (count === 0 || pageSize === 0) ? 0 : offset + 1;
719
773
  const lastRecord = offset + Math.min(pageSize, limit);
720
774
  return {
@@ -723,7 +777,8 @@ class DataUnitDataLoader {
723
777
  lastRecord,
724
778
  firstRecord,
725
779
  currentPage: offset / limit,
726
- hasMore: lastRecord < count || loadingInProgress
780
+ hasMore: lastRecord < count || loadingInProgress,
781
+ askRowsLimit
727
782
  };
728
783
  }
729
784
  }
@@ -1057,7 +1112,4 @@ exports.DataUnitFetcher = DataUnitFetcher;
1057
1112
  exports.DatasetStrategy = DatasetStrategy;
1058
1113
  exports.InMemoryLoader = InMemoryLoader;
1059
1114
  exports.PreloadManager = PreloadManager;
1060
- exports.applyFilter = applyFilter;
1061
- exports.applySorting = applySorting;
1062
- exports.buildPaginationInfo = buildPaginationInfo;
1063
1115
  exports.getRecordValue = getRecordValue;
@@ -33,12 +33,16 @@ class TaskbarProcessor {
33
33
  });
34
34
  }
35
35
  getButtonsArray(taskbarId, taskbarManager, dataState) {
36
- const defaults = this._defaultButtons[taskbarId];
36
+ const defaults = this.getButtonsFromKey(taskbarId);
37
37
  if (taskbarManager) {
38
38
  return taskbarManager.getButtons(taskbarId, dataState, [...defaults]);
39
39
  }
40
40
  return defaults;
41
41
  }
42
+ getButtonsFromKey(taskbarId) {
43
+ const btnsValue = this._defaultButtons[taskbarId];
44
+ return typeof btnsValue === 'function' ? btnsValue() : btnsValue;
45
+ }
42
46
  isEnabled(taskbarId, taskbarManager, buttonName, dataState, disabled) {
43
47
  const originalValue = disabled.includes(buttonName) ? false : true;
44
48
  if (taskbarManager && taskbarManager.isEnabled) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const DataFetcher = require('./DataFetcher-313debd8.js');
3
+ const DataFetcher = require('./DataFetcher-1afdb18e.js');
4
4
  const core = require('@sankhyalabs/core');
5
5
 
6
6
  class ResourceFetcher {
@@ -219,7 +219,10 @@ class FormConfigFetcher extends ResourceFetcher {
219
219
  query: this.queryConfig.get("fetchDefaultConfig"),
220
220
  })
221
221
  .then((result) => {
222
- resolve(core.ObjectUtils.stringToObject((result === null || result === void 0 ? void 0 : result.resource) || ''));
222
+ if (!(result === null || result === void 0 ? void 0 : result.resource)) {
223
+ resolve(null);
224
+ }
225
+ resolve(core.ObjectUtils.stringToObject(result === null || result === void 0 ? void 0 : result.resource));
223
226
  })
224
227
  .catch((error) => {
225
228
  reject(error);
@@ -239,11 +242,62 @@ class FormConfigFetcher extends ResourceFetcher {
239
242
  return undefined;
240
243
  return this.buildLegacyConfigurableForm(response);
241
244
  }
245
+ async fetchSimpleFormConfig(configName) {
246
+ const payload = { 'requestBody': { 'formConfig': { 'configName': configName } } };
247
+ const response = await DataFetcher.DataFetcher.get().callServiceBroker('FormConfig.getFormConfig', JSON.stringify(payload));
248
+ return this.processConfig(response);
249
+ }
250
+ async saveSimpleFormConfig(configName, fieldList) {
251
+ const payload = this.buildSaveSimpleFormConfigPayload(configName, fieldList);
252
+ const response = await DataFetcher.DataFetcher.get().callServiceBroker('FormConfig.saveFormConfig', JSON.stringify(payload));
253
+ this.processConfig(response);
254
+ }
255
+ processConfig(response) {
256
+ if (core.ObjectUtils.isEmpty(response))
257
+ return [];
258
+ const fields = this.getResponseAsArray(response);
259
+ return fields.map(field => field.name);
260
+ }
261
+ getResponseAsArray(response) {
262
+ var _a, _b, _c;
263
+ 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 : [];
264
+ return Array.isArray(rawFields) ? rawFields : [rawFields];
265
+ }
266
+ buildSaveSimpleFormConfigPayload(configName, fieldNameList) {
267
+ const fieldList = fieldNameList.map(fieldName => { return { name: fieldName }; });
268
+ return {
269
+ formConfig: {
270
+ configName,
271
+ layout: {
272
+ field: fieldList,
273
+ },
274
+ metadata: { field: [] },
275
+ }
276
+ };
277
+ }
278
+ async restoreFormConfig(configName) {
279
+ const payload = { 'requestBody': { 'formConfig': { 'configName': configName } } };
280
+ await DataFetcher.DataFetcher.get().callServiceBroker('FormConfig.restoreFormConfig', JSON.stringify(payload));
281
+ }
242
282
  buildLegacyConfigurableForm(config) {
243
283
  var _a, _b, _c;
244
284
  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 : [];
245
285
  return { emptyConfig: false, fields: Array.isArray(rawFields) ? rawFields : [rawFields] };
246
286
  }
287
+ async fetchLayoutFormConfig(configName) {
288
+ const payload = { 'requestBody': { 'config': { 'chave': configName, 'tipo': 'T' } } };
289
+ const response = await DataFetcher.DataFetcher.get().callServiceBroker('SystemUtilsSP.getConf', JSON.stringify(payload));
290
+ if (core.ObjectUtils.isEmpty(response))
291
+ return undefined;
292
+ return response.config;
293
+ }
294
+ async saveLayoutFormConfig(configName, config) {
295
+ const payload = { 'requestBody': { 'config': Object.assign(Object.assign({}, config), { 'chave': configName, 'tipo': 'T' }) } };
296
+ const response = await DataFetcher.DataFetcher.get().callServiceBroker('SystemUtilsSP.saveConf', JSON.stringify(payload));
297
+ if (core.ObjectUtils.isEmpty(response))
298
+ return undefined;
299
+ return response;
300
+ }
247
301
  }
248
302
  exports.UserConfigType = void 0;
249
303
  (function (UserConfigType) {
@@ -37,3 +37,8 @@ exports.DataExporterType = void 0;
37
37
  DataExporterType["EXPORT_PDF_TO_EMAIL"] = "PDF";
38
38
  DataExporterType["EXPORT_XLS_TO_EMAIL"] = "XLS";
39
39
  })(exports.DataExporterType || (exports.DataExporterType = {}));
40
+ exports.ExporterStrategy = void 0;
41
+ (function (ExporterStrategy) {
42
+ ExporterStrategy["SERVER_SIDE"] = "ServerSideExporterStrategy";
43
+ ExporterStrategy["CLIENT_SIDE"] = "ClientSideExporterStrategy";
44
+ })(exports.ExporterStrategy || (exports.ExporterStrategy = {}));