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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/dist/cjs/{IExporterProvider-597949f9.js → ClientSideExporterProvider-2f5f350c.js} +136 -24
  2. package/dist/cjs/{ConfigStorage-a343e418.js → ConfigStorage-d024aec8.js} +2 -2
  3. package/dist/cjs/{DataFetcher-313debd8.js → DataFetcher-65879b2c.js} +216 -76
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/{SnkFormConfigManager-166cbd1f.js → SnkFormConfigManager-c11d8468.js} +75 -17
  7. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-bae64d0d.js} +6 -2
  8. package/dist/cjs/{auth-fetcher-54f5ff9d.js → auth-fetcher-8480751c.js} +1 -1
  9. package/dist/cjs/{constants-35ddd366.js → constants-241934b3.js} +9 -0
  10. package/dist/cjs/{dataunit-fetcher-688d3f05.js → dataunit-fetcher-449d51a3.js} +214 -168
  11. package/dist/cjs/{field-search-f56aa7d6.js → field-search-68e34bf4.js} +5 -1
  12. package/dist/cjs/{form-config-fetcher-2dd00e5b.js → form-config-fetcher-90126e4c.js} +42 -2
  13. package/dist/cjs/{index-1dfc7a6e.js → index-e3e39724.js} +5 -0
  14. package/dist/cjs/index-f9e81701.js +16 -32
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/pesquisa-fetcher-5c583c93.js +365 -0
  17. package/dist/cjs/pesquisa-grid_2.cjs.entry.js +156 -0
  18. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  19. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_5.cjs.entry.js} +139 -43
  20. package/dist/cjs/snk-application.cjs.entry.js +301 -70
  21. package/dist/cjs/snk-attach.cjs.entry.js +49 -36
  22. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +399 -13
  23. package/dist/cjs/snk-configurator.cjs.entry.js +2 -2
  24. package/dist/cjs/snk-crud.cjs.entry.js +26 -22
  25. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -29
  26. package/dist/cjs/{snk-data-unit-8fa7917a.js → snk-data-unit-bbd384bf.js} +55 -31
  27. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  28. package/dist/cjs/snk-detail-view.cjs.entry.js +15 -15
  29. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  31. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1437 -0
  32. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  34. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  35. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  37. package/dist/cjs/snk-grid.cjs.entry.js +96 -27
  38. package/dist/cjs/{snk-guides-viewer-bdc41281.js → snk-guides-viewer-5396062f.js} +32 -16
  39. package/dist/cjs/snk-guides-viewer.cjs.entry.js +11 -11
  40. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  41. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  42. package/dist/cjs/snk-pesquisa.cjs.entry.js +111 -31
  43. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  44. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-crud.cjs.entry.js +115 -112
  46. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  47. package/dist/cjs/snk-taskbar.cjs.entry.js +72 -40
  48. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-7e19882d.js} +1 -1
  49. package/dist/collection/collection-manifest.json +14 -31
  50. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  51. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  52. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  53. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  54. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  55. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  56. package/dist/collection/components/snk-application/snk-application.css +36 -0
  57. package/dist/collection/components/snk-application/snk-application.js +323 -65
  58. package/dist/collection/components/snk-attach/snk-attach.js +25 -16
  59. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  60. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +2 -5
  61. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  62. package/dist/collection/components/snk-crud/snk-crud.js +147 -14
  63. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +3 -3
  64. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  65. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +72 -6
  66. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  67. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  68. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  69. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +1 -1
  70. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  71. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  72. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  73. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  74. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  75. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  76. package/dist/collection/components/snk-data-unit/snk-data-unit.js +53 -29
  77. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  78. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  79. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  80. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  81. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  82. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  83. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  84. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  85. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +9 -4
  86. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  87. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  88. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  89. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  90. package/dist/collection/components/snk-form/snk-form.js +2 -2
  91. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  92. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  93. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  94. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  95. package/dist/collection/components/snk-grid/snk-grid.js +199 -13
  96. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  97. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  98. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  99. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  100. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  101. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  102. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  103. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +174 -32
  104. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  105. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  106. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  107. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +180 -34
  108. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  109. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  110. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  111. package/dist/collection/components/snk-taskbar/snk-taskbar.js +112 -38
  112. package/dist/collection/lib/@types/index.js +5 -0
  113. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +3 -3
  114. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  115. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  116. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +29 -21
  117. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  118. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  119. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  120. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  121. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +17 -9
  122. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  123. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +45 -5
  124. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  125. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +107 -7
  126. package/dist/collection/lib/index.js +1 -0
  127. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  128. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  129. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  130. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  131. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  132. package/dist/collection/lib/utils/constants.js +9 -0
  133. package/dist/collection/sw.js +46 -0
  134. package/dist/components/{IExporterProvider.js → ContinuousInsertUtils.js} +136 -24
  135. package/dist/components/DataFetcher.js +217 -77
  136. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  137. package/dist/components/ISave.js +367 -1
  138. package/dist/components/SnkFormConfigManager.js +73 -15
  139. package/dist/components/SnkMessageBuilder.js +6 -2
  140. package/dist/components/constants.js +10 -1
  141. package/dist/components/dataunit-fetcher.js +232 -183
  142. package/dist/components/form-config-fetcher.js +41 -1
  143. package/dist/components/index.d.ts +3 -0
  144. package/dist/components/index.js +3 -0
  145. package/dist/components/pesquisa-grid.d.ts +11 -0
  146. package/dist/components/pesquisa-grid.js +6 -0
  147. package/dist/components/pesquisa-grid2.js +102 -0
  148. package/dist/components/pesquisa-tree.d.ts +11 -0
  149. package/dist/components/pesquisa-tree.js +6 -0
  150. package/dist/components/pesquisa-tree2.js +91 -0
  151. package/dist/components/snk-actions-button2.js +44 -40
  152. package/dist/components/snk-application2.js +320 -69
  153. package/dist/components/snk-attach2.js +55 -61
  154. package/dist/components/snk-config-options2.js +1 -1
  155. package/dist/components/snk-configurator2.js +1 -1
  156. package/dist/components/snk-crud.js +86 -71
  157. package/dist/components/snk-data-exporter2.js +37 -23
  158. package/dist/components/snk-data-unit2.js +56 -69
  159. package/dist/components/snk-detail-view2.js +115 -106
  160. package/dist/components/snk-exporter-email-sender2.js +1 -1
  161. package/dist/components/snk-filter-bar2.js +68 -34
  162. package/dist/components/snk-filter-binary-select.js +1 -1
  163. package/dist/components/snk-filter-checkbox-list.js +1 -1
  164. package/dist/components/snk-filter-item2.js +9 -4
  165. package/dist/components/snk-filter-modal.js +4 -2
  166. package/dist/components/snk-filter-number.js +1 -1
  167. package/dist/components/snk-filter-text.js +2 -1
  168. package/dist/components/snk-form-config2.js +35 -10
  169. package/dist/components/snk-form.js +2 -2
  170. package/dist/components/snk-grid-config2.js +1 -1
  171. package/dist/components/snk-grid2.js +92 -18
  172. package/dist/components/snk-personalized-filter-editor.js +4 -4
  173. package/dist/components/snk-pesquisa2.js +125 -33
  174. package/dist/components/snk-print-selector.js +1 -1
  175. package/dist/components/snk-simple-bar2.js +1 -1
  176. package/dist/components/snk-simple-crud2.js +107 -120
  177. package/dist/components/snk-simple-form-config.d.ts +11 -0
  178. package/dist/components/snk-simple-form-config.js +6 -0
  179. package/dist/components/snk-simple-form-config2.js +121 -0
  180. package/dist/components/snk-tab-config2.js +1 -1
  181. package/dist/components/snk-taskbar2.js +72 -40
  182. package/dist/components/teste-pesquisa.js +13 -1
  183. package/dist/esm/{IExporterProvider-63a188b6.js → ClientSideExporterProvider-3537805a.js} +136 -26
  184. package/dist/esm/{ConfigStorage-3806514e.js → ConfigStorage-373bb440.js} +2 -2
  185. package/dist/esm/{DataFetcher-c1baf61d.js → DataFetcher-5221b992.js} +217 -77
  186. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  187. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  188. package/dist/esm/{SnkFormConfigManager-31b24066.js → SnkFormConfigManager-5022f87f.js} +75 -17
  189. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-6fff4a4c.js} +6 -2
  190. package/dist/esm/{auth-fetcher-039abba3.js → auth-fetcher-e32fe8a4.js} +1 -1
  191. package/dist/esm/{constants-8457af36.js → constants-75abb876.js} +10 -1
  192. package/dist/esm/{dataunit-fetcher-264191b2.js → dataunit-fetcher-91b094f2.js} +216 -167
  193. package/dist/esm/{field-search-efbe307f.js → field-search-f8b1d91e.js} +5 -1
  194. package/dist/esm/{form-config-fetcher-30fb808f.js → form-config-fetcher-126e2471.js} +42 -2
  195. package/dist/esm/index-a7d3d3f1.js +16 -32
  196. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  197. package/dist/esm/loader.js +1 -1
  198. package/dist/esm/pesquisa-fetcher-4284f2a3.js +362 -0
  199. package/dist/esm/pesquisa-grid_2.entry.js +151 -0
  200. package/dist/esm/sankhyablocks.js +1 -1
  201. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_5.entry.js} +140 -45
  202. package/dist/esm/snk-application.entry.js +303 -72
  203. package/dist/esm/snk-attach.entry.js +50 -37
  204. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +399 -15
  205. package/dist/esm/snk-configurator.entry.js +2 -2
  206. package/dist/esm/snk-crud.entry.js +26 -22
  207. package/dist/esm/snk-data-exporter.entry.js +38 -29
  208. package/dist/esm/{snk-data-unit-f5cbe64b.js → snk-data-unit-b03bb5cf.js} +55 -31
  209. package/dist/esm/snk-data-unit.entry.js +5 -5
  210. package/dist/esm/snk-detail-view.entry.js +15 -15
  211. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  212. package/dist/esm/snk-field-config.entry.js +1 -1
  213. package/dist/esm/snk-filter-bar_4.entry.js +1430 -0
  214. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  215. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  216. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  217. package/dist/esm/snk-filter-number.entry.js +1 -1
  218. package/dist/esm/snk-filter-text.entry.js +2 -1
  219. package/dist/esm/snk-grid.entry.js +91 -22
  220. package/dist/esm/{snk-guides-viewer-dda0fede.js → snk-guides-viewer-749d027c.js} +32 -16
  221. package/dist/esm/snk-guides-viewer.entry.js +11 -11
  222. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  223. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  224. package/dist/esm/snk-pesquisa.entry.js +111 -31
  225. package/dist/esm/snk-print-selector.entry.js +1 -1
  226. package/dist/esm/snk-simple-bar.entry.js +1 -1
  227. package/dist/esm/snk-simple-crud.entry.js +101 -98
  228. package/dist/esm/snk-tab-config.entry.js +1 -1
  229. package/dist/esm/snk-taskbar.entry.js +73 -41
  230. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-d2353c64.js} +1 -1
  231. package/dist/sankhyablocks/p-0ce56d43.entry.js +1 -0
  232. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  233. package/dist/sankhyablocks/p-13391b3d.entry.js +1 -0
  234. package/dist/sankhyablocks/p-1435701f.js +26 -0
  235. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  236. package/dist/sankhyablocks/p-17425c72.js +1 -0
  237. package/dist/sankhyablocks/{p-52920496.js → p-19dc71e9.js} +1 -1
  238. package/dist/sankhyablocks/{p-47db7e88.entry.js → p-1cf39cfd.entry.js} +1 -1
  239. package/dist/sankhyablocks/{p-b0ef4383.js → p-1d19a5b0.js} +1 -1
  240. package/dist/sankhyablocks/p-23736d75.js +1 -0
  241. package/dist/sankhyablocks/p-23b47a92.js +1 -0
  242. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-23cd6abf.entry.js} +1 -1
  243. package/dist/sankhyablocks/{p-95df461f.entry.js → p-2953c481.entry.js} +1 -1
  244. package/dist/sankhyablocks/p-3653374d.js +60 -0
  245. package/dist/sankhyablocks/p-389ba782.entry.js +1 -0
  246. package/dist/sankhyablocks/p-3ba431c9.js +1 -0
  247. package/dist/sankhyablocks/{p-7e7a7473.js → p-3fc82614.js} +1 -1
  248. package/dist/sankhyablocks/p-41c3bee5.js +6 -0
  249. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  250. package/dist/sankhyablocks/p-44efbeed.entry.js +1 -0
  251. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  252. package/dist/sankhyablocks/p-4be6e0e7.entry.js +1 -0
  253. package/dist/sankhyablocks/{p-7663f597.entry.js → p-4c9adf1c.entry.js} +1 -1
  254. package/dist/sankhyablocks/p-4d87cd45.entry.js +1 -0
  255. package/dist/sankhyablocks/p-4fa79d68.entry.js +1 -0
  256. package/dist/sankhyablocks/p-5dd7f4c7.js +1 -0
  257. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  258. package/dist/sankhyablocks/p-6234bda8.entry.js +1 -0
  259. package/dist/sankhyablocks/p-647f9830.entry.js +11 -0
  260. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  261. package/dist/sankhyablocks/p-7b87d1a8.js +1 -0
  262. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  263. package/dist/sankhyablocks/{p-2c68b3ae.entry.js → p-82ee6dc3.entry.js} +1 -1
  264. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  265. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  266. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  267. package/dist/sankhyablocks/p-a962a3e4.entry.js +1 -0
  268. package/dist/sankhyablocks/p-ad5e4f9d.entry.js +1 -0
  269. package/dist/sankhyablocks/p-b2de1bcc.entry.js +1 -0
  270. package/dist/sankhyablocks/p-c021a3a9.entry.js +1 -0
  271. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  272. package/dist/sankhyablocks/p-ca316523.entry.js +1 -0
  273. package/dist/sankhyablocks/p-d62228fb.js +1 -0
  274. package/dist/sankhyablocks/p-ee53b000.entry.js +1 -0
  275. package/dist/sankhyablocks/{p-913a9979.js → p-f0b9303b.js} +1 -1
  276. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  277. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  278. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  279. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  280. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  281. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  282. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  283. package/dist/types/components/snk-application/snk-application.d.ts +38 -14
  284. package/dist/types/components/snk-attach/snk-attach.d.ts +1 -0
  285. package/dist/types/components/snk-crud/snk-crud.d.ts +26 -0
  286. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +15 -0
  287. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  288. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  289. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +2 -1
  290. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  291. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  292. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  293. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  294. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +2 -0
  295. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  296. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  297. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  298. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  299. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  300. package/dist/types/components/snk-grid/snk-grid.d.ts +33 -0
  301. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  302. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  303. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  304. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +35 -1
  305. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +27 -3
  306. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  307. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  308. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +11 -0
  309. package/dist/types/components.d.ts +407 -15
  310. package/dist/types/lib/@types/index.d.ts +4 -0
  311. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  312. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  313. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  314. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  315. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  316. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  317. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  318. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  319. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  320. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  321. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  322. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +8 -2
  323. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  324. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +17 -1
  325. package/dist/types/lib/index.d.ts +1 -0
  326. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  327. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  328. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  329. package/dist/types/lib/utils/constants.d.ts +7 -0
  330. package/package.json +4 -3
  331. package/react/components.d.ts +3 -0
  332. package/react/components.js +3 -0
  333. package/react/components.js.map +1 -1
  334. package/dist/cjs/pesquisa-fetcher-680e198f.js +0 -166
  335. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  336. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  337. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  338. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  339. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  340. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  341. package/dist/components/pesquisa-fetcher.js +0 -164
  342. package/dist/esm/pesquisa-fetcher-03c8f919.js +0 -164
  343. package/dist/esm/snk-config-options.entry.js +0 -235
  344. package/dist/esm/snk-filter-bar.entry.js +0 -710
  345. package/dist/esm/snk-filter-item.entry.js +0 -308
  346. package/dist/esm/snk-filter-list.entry.js +0 -148
  347. package/dist/esm/snk-filter-modal.entry.js +0 -245
  348. package/dist/esm/snk-form.entry.js +0 -139
  349. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  350. package/dist/sankhyablocks/p-17def7cd.js +0 -1
  351. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  352. package/dist/sankhyablocks/p-2a408684.js +0 -1
  353. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  354. package/dist/sankhyablocks/p-3a212712.js +0 -1
  355. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  356. package/dist/sankhyablocks/p-450c60e4.entry.js +0 -1
  357. package/dist/sankhyablocks/p-4e5e1313.entry.js +0 -1
  358. package/dist/sankhyablocks/p-62ba211a.entry.js +0 -1
  359. package/dist/sankhyablocks/p-6bb2f3e9.entry.js +0 -1
  360. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  361. package/dist/sankhyablocks/p-7505da04.entry.js +0 -1
  362. package/dist/sankhyablocks/p-75e674ed.entry.js +0 -1
  363. package/dist/sankhyablocks/p-7619bdb1.entry.js +0 -11
  364. package/dist/sankhyablocks/p-7a85fd49.entry.js +0 -1
  365. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  366. package/dist/sankhyablocks/p-80042dc6.entry.js +0 -1
  367. package/dist/sankhyablocks/p-871aa14e.entry.js +0 -1
  368. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  369. package/dist/sankhyablocks/p-8c59edd7.entry.js +0 -1
  370. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  371. package/dist/sankhyablocks/p-9863d682.js +0 -1
  372. package/dist/sankhyablocks/p-af8efd95.js +0 -6
  373. package/dist/sankhyablocks/p-b05d8893.entry.js +0 -1
  374. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  375. package/dist/sankhyablocks/p-c2495304.js +0 -1
  376. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  377. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  378. package/dist/sankhyablocks/p-d6e26ea8.entry.js +0 -1
  379. package/dist/sankhyablocks/p-dc7c9047.js +0 -1
  380. package/dist/sankhyablocks/p-df5451c7.js +0 -26
  381. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  382. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  383. package/dist/sankhyablocks/p-fa4d8cb4.js +0 -1
  384. package/dist/sankhyablocks/p-fe79f83a.js +0 -60
  385. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
@@ -1,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-5221b992.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,159 +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
- if (records === undefined) {
250
- return undefined;
251
- }
252
- const total = (records === null || records === void 0 ? void 0 : records.length) || 0;
253
- const lastRecord = Math.min(offset + limit, total);
254
- return {
255
- currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
256
- firstRecord: offset,
257
- lastRecord: lastRecord,
258
- total: total,
259
- hasMore: !!(total - lastRecord),
260
- };
261
- }
262
-
263
241
  class InMemoryLoader {
264
242
  constructor(metadata, records, config) {
265
- this.metadata = metadata;
266
- this.records = records;
267
- this._dataUnit = new DataUnit(InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME);
268
- this._dataUnit.pageSize = 150;
269
- this._dataUnit.metadataLoader = () => this.metadaLoader();
270
- this._dataUnit.dataLoader = (dataUnit, request) => this.inMemoryLoader(dataUnit, request, this.getRecordsToLoad());
271
- this._dataUnit.saveLoader = (_dataUnit, changes) => this.saveLoader(_dataUnit, changes);
272
- this._dataUnit.removeLoader = (_dataUnit, recordIds) => this.removeLoader(_dataUnit, recordIds);
273
- this.dataUnit.loadMetadata().then(() => {
274
- if ((config === null || config === void 0 ? void 0 : config.autoLoad) !== false) {
275
- this.dataUnit.loadData();
276
- }
277
- });
278
- }
279
- getRecordsToLoad() {
280
- if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
281
- this._initialRecords = this.dataUnit.records;
282
- }
283
- const addedRecords = this.dataUnit.getAddedRecords();
284
- if (addedRecords) {
285
- return [...this._initialRecords, ...addedRecords];
286
- }
287
- return this._initialRecords;
243
+ this._dataUnitInMemoryLoader = new DataUnitInMemoryLoader(metadata, records, config);
288
244
  }
289
245
  get dataUnit() {
290
- return this._dataUnit;
246
+ return this._dataUnitInMemoryLoader.dataUnit;
291
247
  }
292
248
  get records() {
293
- return this.dataUnit.records;
294
- }
295
- static getConvertedValue(descriptor, strValue) {
296
- if (descriptor.dataType === DataType.BOOLEAN) {
297
- return strValue === "S";
298
- }
299
- if (descriptor.dataType === DataType.NUMBER) {
300
- return Number(strValue);
301
- }
302
- if (descriptor.dataType === DataType.DATE) {
303
- return DateUtils.strToDate(strValue, true);
304
- }
305
- if (descriptor.dataType === DataType.OBJECT) {
306
- return JSON.parse(strValue);
307
- }
308
- return strValue;
249
+ return this._dataUnitInMemoryLoader.records;
309
250
  }
310
251
  set records(records) {
311
- const columns = this._metadata ? new Map(this._metadata.fields.map(descriptor => [descriptor.name, descriptor])) : undefined;
312
- const newRecords = records === null || records === void 0 ? void 0 : records.map(record => {
313
- if (!record["__record__id__"]) {
314
- record["__record__id__"] = this.generateUniqueId();
315
- }
316
- if (columns != undefined) {
317
- for (const name in record) {
318
- const value = record[name];
319
- if (typeof value === "string" && columns.has(name)) {
320
- record[name] = InMemoryLoader.getConvertedValue(columns.get(name), value);
321
- }
322
- }
323
- }
324
- return record;
325
- });
326
- this._initialRecords = newRecords;
327
- if (this._dataUnit) {
328
- //Isso força o refresh internamente no datunit
329
- this._dataUnit.loadData();
330
- }
252
+ this._dataUnitInMemoryLoader.records = records;
331
253
  }
332
254
  get metadata() {
333
- return this._metadata;
255
+ return this._dataUnitInMemoryLoader.metadata;
334
256
  }
335
257
  set metadata(metadata) {
336
- this._metadata = metadata;
337
- if (this._dataUnit) {
338
- this._dataUnit.metadata = this._metadata;
339
- }
340
- }
341
- generateUniqueId() {
342
- return StringUtils.generateUUID();
343
- }
344
- inMemoryLoader(dataUnit, request, recordsIn) {
345
- let records = applyFilter(recordsIn, dataUnit, request.filters);
346
- records = applySorting(records, dataUnit, request.sort);
347
- return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
348
- }
349
- metadaLoader() {
350
- return Promise.resolve(this._metadata);
351
- }
352
- saveLoader(_dataUnit, changes) {
353
- return new Promise((resolve) => {
354
- let dataUnitRecords = [];
355
- changes.forEach(change => {
356
- let { record, updatingFields, operation } = change;
357
- const changedRecord = Object.assign(Object.assign({}, record), updatingFields);
358
- if (operation === ChangeOperation.INSERT ||
359
- operation === ChangeOperation.COPY) {
360
- changedRecord["__old__id__"] = record["__record__id__"];
361
- changedRecord["__record__id__"] = this.generateUniqueId();
362
- this.records.push(changedRecord);
363
- }
364
- else {
365
- const recordIndex = this.records.findIndex(r => r["__record__id__"] == changedRecord["__record__id__"]);
366
- this.records[recordIndex] = changedRecord;
367
- }
368
- dataUnitRecords.push(changedRecord);
369
- });
370
- resolve(dataUnitRecords);
371
- });
258
+ this._dataUnitInMemoryLoader.metadata = metadata;
372
259
  }
373
260
  removeLoader(_dataUnit, recordIds) {
374
- return new Promise((resolve) => {
375
- resolve(recordIds);
376
- });
261
+ return this._dataUnitInMemoryLoader.removeLoader(_dataUnit, recordIds);
262
+ }
263
+ static getConvertedValue(descriptor, strValue, dateFormat) {
264
+ return DataUnitInMemoryLoader.getConvertedValue(descriptor, strValue, dateFormat);
377
265
  }
378
266
  }
379
- InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
267
+ InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = DataUnitInMemoryLoader.IN_MEMORY_DATA_UNIT_NAME;
380
268
 
381
269
  function getRecordValue(record, fieldName) {
382
270
  var _a, _b;
@@ -420,16 +308,25 @@ class DatasetStrategy {
420
308
  const serviceName = "DatasetSP.loadRecords";
421
309
  const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
422
310
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
423
- 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);
424
312
  const records = this.processRecords(dataUnit, fields, responseRecords);
425
313
  const loadingInProgress = pagerId != undefined;
426
314
  const count = loadingInfo.count + records.length;
427
- 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
+ }
428
325
  return Promise.resolve({
429
326
  records,
430
327
  loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
431
- loadingInProgress, total: loadingInProgress ? undefined : count, count,
432
- needReload })
328
+ loadingInProgress, total: loadingInProgress ? undefined : count, count, needReload: needReload && !isInsertingNewRecord, askRowsLimit,
329
+ hasLocalSorting })
433
330
  });
434
331
  }
435
332
  catch (error) {
@@ -481,8 +378,7 @@ class DatasetStrategy {
481
378
  },
482
379
  }
483
380
  };
484
- const parsedRequestBody = JSON.stringify(requestBody);
485
- return parsedRequestBody;
381
+ return JSON.stringify(requestBody);
486
382
  }
487
383
  getFieldsList(dataUnit) {
488
384
  let fields = ["__record__id__", "__record__label__"];
@@ -609,7 +505,117 @@ class DatasetStrategy {
609
505
  }
610
506
  }
611
507
 
508
+ async function showAskCancelPaginationPopup() {
509
+ return new Promise((resolve) => {
510
+ const { checkboxContainer, checkbox } = buildCheckboxContainer();
511
+ const popup = builPopup(resolve, checkbox);
512
+ const contentContainer = buildContentContainer();
513
+ contentContainer.appendChild(buildMessage());
514
+ contentContainer.appendChild(checkboxContainer);
515
+ const actionsContainer = buildActionsContainer();
516
+ actionsContainer.appendChild(buildContinuePaginationBtn(popup, checkbox, resolve));
517
+ actionsContainer.appendChild(buildCancelPaginationBtn(popup, resolve));
518
+ contentContainer.appendChild(actionsContainer);
519
+ popup.appendChild(contentContainer);
520
+ document.body.appendChild(popup);
521
+ });
522
+ }
523
+ function buildCheckboxContainer() {
524
+ const checkboxContainer = document.createElement('div');
525
+ checkboxContainer.style.marginBottom = '14px';
526
+ checkboxContainer.style.display = 'flex';
527
+ checkboxContainer.style.alignItems = 'center';
528
+ const { checkbox, checkboxLabel } = buildCheckbox();
529
+ checkboxContainer.appendChild(checkbox);
530
+ checkboxContainer.appendChild(checkboxLabel);
531
+ return { checkboxContainer, checkbox };
532
+ }
533
+ function buildCheckbox() {
534
+ const checkbox = document.createElement('input');
535
+ checkbox.type = 'checkbox';
536
+ checkbox.id = 'loadAll';
537
+ const checkboxLabel = document.createElement('label');
538
+ checkboxLabel.htmlFor = 'loadAll';
539
+ checkboxLabel.textContent = 'Carregar tudo';
540
+ checkboxLabel.style.marginLeft = '5px';
541
+ return { checkbox, checkboxLabel };
542
+ }
543
+ function buildActionsContainer() {
544
+ const actionsContainer = document.createElement('div');
545
+ actionsContainer.style.display = 'flex';
546
+ actionsContainer.style.flexDirection = 'row';
547
+ actionsContainer.style.justifyContent = 'end';
548
+ actionsContainer.style.gap = '5px';
549
+ return actionsContainer;
550
+ }
551
+ function buildContentContainer() {
552
+ const contentContainer = document.createElement('div');
553
+ contentContainer.style.display = 'flex';
554
+ contentContainer.style.flexDirection = 'column';
555
+ contentContainer.style.fontFamily = 'var(--font-pattern, Roboto)';
556
+ contentContainer.style.fontSize = 'var(--text--medium)';
557
+ return contentContainer;
558
+ }
559
+ function buildMessage() {
560
+ const message = document.createElement('div');
561
+ const line1 = document.createElement('p');
562
+ const line2 = document.createElement('p');
563
+ const line3 = document.createElement('p');
564
+ line3.style.fontWeight = 'var(--text-weight--large, 600)';
565
+ line1.textContent = 'Uma quantidade de registros muito grande está sendo carregada.';
566
+ line2.textContent = 'Recomendamos que a paginação seja cancelada e que seja criado um filtro para os registros.';
567
+ line3.textContent = 'Deseja cancelar o carregamento?';
568
+ message.appendChild(line1);
569
+ message.appendChild(line2);
570
+ message.appendChild(line3);
571
+ return message;
572
+ }
573
+ function buildCancelPaginationBtn(popup, resolve) {
574
+ const cancelPaginationBtn = document.createElement('ez-button');
575
+ cancelPaginationBtn.label = 'Cancelar paginação';
576
+ cancelPaginationBtn.size = 'medium';
577
+ cancelPaginationBtn.classList.add('ez-button--primary');
578
+ cancelPaginationBtn.onclick = () => {
579
+ document.body.removeChild(popup);
580
+ resolve(CancelPaginationResponse.CANCEL);
581
+ };
582
+ return cancelPaginationBtn;
583
+ }
584
+ function buildContinuePaginationBtn(popup, checkBox, resolve) {
585
+ const continuePaginationBtn = document.createElement('ez-button');
586
+ continuePaginationBtn.label = 'Continuar';
587
+ continuePaginationBtn.size = 'medium';
588
+ continuePaginationBtn.onclick = () => {
589
+ document.body.removeChild(popup);
590
+ resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
591
+ };
592
+ return continuePaginationBtn;
593
+ }
594
+ function builPopup(resolve, checkBox) {
595
+ const popup = document.createElement('ez-popup');
596
+ popup.opened = true;
597
+ popup.size = 'x-small';
598
+ popup.ezTitle = 'Aviso';
599
+ popup.heightMode = "auto";
600
+ popup.addEventListener('ezClosePopup', () => {
601
+ document.body.removeChild(popup);
602
+ resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
603
+ }, { once: true });
604
+ popup.addEventListener('ezPopupAction', () => {
605
+ document.body.removeChild(popup);
606
+ resolve(CancelPaginationResponse.CANCEL);
607
+ }, { once: true });
608
+ return popup;
609
+ }
610
+ var CancelPaginationResponse;
611
+ (function (CancelPaginationResponse) {
612
+ CancelPaginationResponse["CANCEL"] = "CANCEL";
613
+ CancelPaginationResponse["CONTINUE"] = "CONTINUE";
614
+ CancelPaginationResponse["LOAD_ALL"] = "LOAD_ALL";
615
+ })(CancelPaginationResponse || (CancelPaginationResponse = {}));
616
+
612
617
  class DataUnitDataLoader {
618
+ constructor() { }
613
619
  static async debounce(dataUnit, callBack) {
614
620
  const duName = dataUnit.name;
615
621
  if (DataUnitDataLoader._debouncingTimeouts[duName]) {
@@ -655,25 +661,67 @@ class DataUnitDataLoader {
655
661
  }
656
662
  static async callLoader(dataUnit, request, requestLoadingInfo, dataLoader) {
657
663
  if (dataLoader == undefined) {
658
- //dataLoader = new DataUnitStrategy();
659
664
  dataLoader = new DatasetStrategy();
660
665
  }
661
666
  const result = await dataLoader.load(dataUnit, request, requestLoadingInfo);
662
- const { records, loadingInfo: responseLoadingInfo } = result;
663
- if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo)) {
667
+ const responseLoadingInfo = result.loadingInfo;
668
+ if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo))
664
669
  return Promise.resolve(undefined);
670
+ this.handleCache(dataLoader, responseLoadingInfo, dataUnit, result.records);
671
+ if (dataUnit.cancelPagination)
672
+ return this.handlePaginationCanceled(dataUnit, result);
673
+ //Não existem mais páginas a serem carregadas
674
+ if (this.canFinishPagination(dataUnit, responseLoadingInfo))
675
+ return Promise.resolve(result);
676
+ const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
677
+ let newLoadingInfo = this.buildNewLoadingInfo(responseLoadingInfo);
678
+ if (this.canProceedPagination(responseLoadingInfo))
679
+ return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
680
+ const confirm = await showAskCancelPaginationPopup();
681
+ if (confirm === CancelPaginationResponse.CANCEL)
682
+ return this.handlePaginationCanceled(dataUnit, result);
683
+ if (confirm === CancelPaginationResponse.LOAD_ALL) {
684
+ newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { loadAllRecords: true });
665
685
  }
686
+ newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { lastRowLimitAsked: newLoadingInfo.count });
687
+ return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
688
+ }
689
+ static buildNewLoadingInfo(responseLoadingInfo) {
690
+ let newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
691
+ return newLoadingInfo;
692
+ }
693
+ static handleCache(dataLoader, responseLoadingInfo, dataUnit, records) {
666
694
  const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
667
695
  PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
668
- if (PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
669
- const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
670
- const newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
671
- this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
672
- .then(result => DataUnitDataLoader.afterLoadingPage(dataUnit, result.loadingInfo))
673
- .catch(reason => console.error(reason));
674
- }
696
+ }
697
+ static recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result) {
698
+ this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
699
+ .then(result => DataUnitDataLoader.afterLoadingPage(dataUnit, result.loadingInfo))
700
+ .catch(reason => console.error(reason));
675
701
  return Promise.resolve(result);
676
702
  }
703
+ static canFinishPagination(dataUnit, responseLoadingInfo) {
704
+ return !PreloadManager.isCacheEnabled(dataUnit) || !responseLoadingInfo.loadingInProgress;
705
+ }
706
+ static canProceedPagination(info) {
707
+ const { count, askRowsLimit, loadAllRecords, lastRowLimitAsked } = info;
708
+ if (loadAllRecords)
709
+ return true;
710
+ if (!count || !askRowsLimit)
711
+ return true;
712
+ const askRowLimitNumber = Number(askRowsLimit);
713
+ if (count < askRowLimitNumber)
714
+ return true;
715
+ const nextLimitToAsk = askRowLimitNumber + (lastRowLimitAsked ? lastRowLimitAsked : 0);
716
+ return count < nextLimitToAsk;
717
+ }
718
+ static handlePaginationCanceled(dataUnit, result) {
719
+ dataUnit.cancelPagination = false;
720
+ let loadingInfo = result.loadingInfo;
721
+ loadingInfo = Object.assign(Object.assign({}, loadingInfo), { total: loadingInfo.count, loadingInProgress: false, pagerId: undefined, needReload: loadingInfo.hasLocalSorting });
722
+ const loadDataResult = { records: result.records, loadingInfo };
723
+ return Promise.resolve(loadDataResult);
724
+ }
677
725
  static afterLoadingPage(dataUnit, loadingInfo) {
678
726
  PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
679
727
  const dataUnitPagination = dataUnit.getPaginationInfo();
@@ -682,7 +730,7 @@ class DataUnitDataLoader {
682
730
  }
683
731
  const count = loadingInfo.count;
684
732
  if (loadingInfo.loadingInProgress) {
685
- dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count }));
733
+ dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count, loadingInProgress: true }));
686
734
  return;
687
735
  }
688
736
  if (loadingInfo.needReload) {
@@ -690,7 +738,7 @@ class DataUnitDataLoader {
690
738
  dataUnit.gotoPage(0);
691
739
  return;
692
740
  }
693
- dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count }));
741
+ dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count, loadingInProgress: false }));
694
742
  }
695
743
  static registryLoading(dataUnit, loadingInfo) {
696
744
  if (loadingInfo == undefined) {
@@ -713,7 +761,7 @@ class DataUnitDataLoader {
713
761
  // controle de paginação voltar pra primeira página.
714
762
  offset = 0;
715
763
  }
716
- const { total, count, loadingInProgress } = loadingInfo;
764
+ const { total, count, loadingInProgress, askRowsLimit } = loadingInfo;
717
765
  const firstRecord = (count === 0 || pageSize === 0) ? 0 : offset + 1;
718
766
  const lastRecord = offset + Math.min(pageSize, limit);
719
767
  return {
@@ -722,7 +770,8 @@ class DataUnitDataLoader {
722
770
  lastRecord,
723
771
  firstRecord,
724
772
  currentPage: offset / limit,
725
- hasMore: lastRecord < count || loadingInProgress
773
+ hasMore: lastRecord < count || loadingInProgress,
774
+ askRowsLimit
726
775
  };
727
776
  }
728
777
  }
@@ -1052,4 +1101,4 @@ class DataUnitFetcher {
1052
1101
  }
1053
1102
  }
1054
1103
 
1055
- 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 };
1104
+ 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-5221b992.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,6 +240,43 @@ 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 : [];