@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,6 +1,8 @@
1
1
  import PreloadManager from "./cache/PreloadManager";
2
2
  import { DatasetStrategy } from "./loadstrategy/DatasetStrategy";
3
+ import { CancelPaginationResponse, showAskCancelPaginationPopup } from './helpers/DataUnitDataLoaderHelper';
3
4
  export default class DataUnitDataLoader {
5
+ constructor() { }
4
6
  static async debounce(dataUnit, callBack) {
5
7
  const duName = dataUnit.name;
6
8
  if (DataUnitDataLoader._debouncingTimeouts[duName]) {
@@ -46,25 +48,67 @@ export default class DataUnitDataLoader {
46
48
  }
47
49
  static async callLoader(dataUnit, request, requestLoadingInfo, dataLoader) {
48
50
  if (dataLoader == undefined) {
49
- //dataLoader = new DataUnitStrategy();
50
51
  dataLoader = new DatasetStrategy();
51
52
  }
52
53
  const result = await dataLoader.load(dataUnit, request, requestLoadingInfo);
53
- const { records, loadingInfo: responseLoadingInfo } = result;
54
- if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo)) {
54
+ const responseLoadingInfo = result.loadingInfo;
55
+ if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo))
55
56
  return Promise.resolve(undefined);
57
+ this.handleCache(dataLoader, responseLoadingInfo, dataUnit, result.records);
58
+ if (dataUnit.cancelPagination)
59
+ return this.handlePaginationCanceled(dataUnit, result);
60
+ //Não existem mais páginas a serem carregadas
61
+ if (this.canFinishPagination(dataUnit, responseLoadingInfo))
62
+ return Promise.resolve(result);
63
+ const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
64
+ let newLoadingInfo = this.buildNewLoadingInfo(responseLoadingInfo);
65
+ if (this.canProceedPagination(responseLoadingInfo))
66
+ return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
67
+ const confirm = await showAskCancelPaginationPopup();
68
+ if (confirm === CancelPaginationResponse.CANCEL)
69
+ return this.handlePaginationCanceled(dataUnit, result);
70
+ if (confirm === CancelPaginationResponse.LOAD_ALL) {
71
+ newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { loadAllRecords: true });
56
72
  }
73
+ newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { lastRowLimitAsked: newLoadingInfo.count });
74
+ return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
75
+ }
76
+ static buildNewLoadingInfo(responseLoadingInfo) {
77
+ let newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
78
+ return newLoadingInfo;
79
+ }
80
+ static handleCache(dataLoader, responseLoadingInfo, dataUnit, records) {
57
81
  const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
58
82
  PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
59
- if (PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
60
- const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
61
- const newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
62
- this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
63
- .then(result => DataUnitDataLoader.afterLoadingPage(dataUnit, result.loadingInfo))
64
- .catch(reason => console.error(reason));
65
- }
83
+ }
84
+ static recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result) {
85
+ this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
86
+ .then(result => DataUnitDataLoader.afterLoadingPage(dataUnit, result.loadingInfo))
87
+ .catch(reason => console.error(reason));
66
88
  return Promise.resolve(result);
67
89
  }
90
+ static canFinishPagination(dataUnit, responseLoadingInfo) {
91
+ return !PreloadManager.isCacheEnabled(dataUnit) || !responseLoadingInfo.loadingInProgress;
92
+ }
93
+ static canProceedPagination(info) {
94
+ const { count, askRowsLimit, loadAllRecords, lastRowLimitAsked } = info;
95
+ if (loadAllRecords)
96
+ return true;
97
+ if (!count || !askRowsLimit)
98
+ return true;
99
+ const askRowLimitNumber = Number(askRowsLimit);
100
+ if (count < askRowLimitNumber)
101
+ return true;
102
+ const nextLimitToAsk = askRowLimitNumber + (lastRowLimitAsked ? lastRowLimitAsked : 0);
103
+ return count < nextLimitToAsk;
104
+ }
105
+ static handlePaginationCanceled(dataUnit, result) {
106
+ dataUnit.cancelPagination = false;
107
+ let loadingInfo = result.loadingInfo;
108
+ loadingInfo = Object.assign(Object.assign({}, loadingInfo), { total: loadingInfo.count, loadingInProgress: false, pagerId: undefined, needReload: loadingInfo.hasLocalSorting });
109
+ const loadDataResult = { records: result.records, loadingInfo };
110
+ return Promise.resolve(loadDataResult);
111
+ }
68
112
  static afterLoadingPage(dataUnit, loadingInfo) {
69
113
  PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
70
114
  const dataUnitPagination = dataUnit.getPaginationInfo();
@@ -73,7 +117,7 @@ export default class DataUnitDataLoader {
73
117
  }
74
118
  const count = loadingInfo.count;
75
119
  if (loadingInfo.loadingInProgress) {
76
- dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count }));
120
+ dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count, loadingInProgress: true }));
77
121
  return;
78
122
  }
79
123
  if (loadingInfo.needReload) {
@@ -81,7 +125,7 @@ export default class DataUnitDataLoader {
81
125
  dataUnit.gotoPage(0);
82
126
  return;
83
127
  }
84
- dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count }));
128
+ dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count, loadingInProgress: false }));
85
129
  }
86
130
  static registryLoading(dataUnit, loadingInfo) {
87
131
  if (loadingInfo == undefined) {
@@ -104,7 +148,7 @@ export default class DataUnitDataLoader {
104
148
  // controle de paginação voltar pra primeira página.
105
149
  offset = 0;
106
150
  }
107
- const { total, count, loadingInProgress } = loadingInfo;
151
+ const { total, count, loadingInProgress, askRowsLimit } = loadingInfo;
108
152
  const firstRecord = (count === 0 || pageSize === 0) ? 0 : offset + 1;
109
153
  const lastRecord = offset + Math.min(pageSize, limit);
110
154
  return {
@@ -113,7 +157,8 @@ export default class DataUnitDataLoader {
113
157
  lastRecord,
114
158
  firstRecord,
115
159
  currentPage: offset / limit,
116
- hasMore: lastRecord < count || loadingInProgress
160
+ hasMore: lastRecord < count || loadingInProgress,
161
+ askRowsLimit
117
162
  };
118
163
  }
119
164
  }
@@ -2,6 +2,9 @@ import { ObjectUtils } from "@sankhyalabs/core";
2
2
  export class ArrayRepository {
3
3
  constructor(equalsFunction) {
4
4
  this._list = [];
5
+ this._listCopy = [];
6
+ this._listLastUpdate = 0;
7
+ this._listCopyLastUpdate = 0;
5
8
  this._equalsFunction = equalsFunction;
6
9
  }
7
10
  async load(filterFunction, sortingFunction, offset, limit) {
@@ -40,13 +43,13 @@ export class ArrayRepository {
40
43
  return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
41
44
  }
42
45
  async push(items) {
43
- this._list.push(...items);
46
+ this.updateList([...this._list, ...items]);
44
47
  }
45
48
  async clear() {
46
- this._list = [];
49
+ this.updateList([]);
47
50
  }
48
51
  async delete(items) {
49
- this._list = this._list.filter(item => {
52
+ const list = this._list.filter(item => {
50
53
  for (const removed of items) {
51
54
  if (this._equalsFunction(item, removed)) {
52
55
  return false;
@@ -54,20 +57,23 @@ export class ArrayRepository {
54
57
  }
55
58
  return true;
56
59
  });
60
+ this.updateList(list);
57
61
  }
58
62
  async update(items) {
59
- this._list = this._list.map(existingItem => {
63
+ const list = this._list.map(existingItem => {
60
64
  const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
61
65
  return newItem == undefined ? existingItem : newItem;
62
66
  });
67
+ this.updateList(list);
63
68
  }
64
69
  async insert(itemReference, items) {
65
70
  const itemPosition = this._list.indexOf(itemReference);
66
71
  if (itemPosition == -1) {
67
- this._list.push(...items);
72
+ this.push(items);
68
73
  return;
69
74
  }
70
- this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
75
+ const list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
76
+ this.updateList(list);
71
77
  }
72
78
  isOperating() {
73
79
  return true;
@@ -79,6 +85,14 @@ export class ArrayRepository {
79
85
  return Promise.resolve(this._list.length);
80
86
  }
81
87
  getFromCache() {
82
- return ObjectUtils.copy(this._list);
88
+ if (this._listLastUpdate > this._listCopyLastUpdate) {
89
+ this._listCopyLastUpdate = this._listLastUpdate;
90
+ this._listCopy = ObjectUtils.copy(this._list);
91
+ }
92
+ return this._listCopy;
93
+ }
94
+ updateList(newList) {
95
+ this._list = newList;
96
+ this._listLastUpdate = Date.now();
83
97
  }
84
98
  }
@@ -0,0 +1,108 @@
1
+ export async function showAskCancelPaginationPopup() {
2
+ return new Promise((resolve) => {
3
+ const { checkboxContainer, checkbox } = buildCheckboxContainer();
4
+ const popup = builPopup(resolve, checkbox);
5
+ const contentContainer = buildContentContainer();
6
+ contentContainer.appendChild(buildMessage());
7
+ contentContainer.appendChild(checkboxContainer);
8
+ const actionsContainer = buildActionsContainer();
9
+ actionsContainer.appendChild(buildContinuePaginationBtn(popup, checkbox, resolve));
10
+ actionsContainer.appendChild(buildCancelPaginationBtn(popup, resolve));
11
+ contentContainer.appendChild(actionsContainer);
12
+ popup.appendChild(contentContainer);
13
+ document.body.appendChild(popup);
14
+ });
15
+ }
16
+ function buildCheckboxContainer() {
17
+ const checkboxContainer = document.createElement('div');
18
+ checkboxContainer.style.marginBottom = '14px';
19
+ checkboxContainer.style.display = 'flex';
20
+ checkboxContainer.style.alignItems = 'center';
21
+ const { checkbox, checkboxLabel } = buildCheckbox();
22
+ checkboxContainer.appendChild(checkbox);
23
+ checkboxContainer.appendChild(checkboxLabel);
24
+ return { checkboxContainer, checkbox };
25
+ }
26
+ function buildCheckbox() {
27
+ const checkbox = document.createElement('input');
28
+ checkbox.type = 'checkbox';
29
+ checkbox.id = 'loadAll';
30
+ const checkboxLabel = document.createElement('label');
31
+ checkboxLabel.htmlFor = 'loadAll';
32
+ checkboxLabel.textContent = 'Carregar tudo';
33
+ checkboxLabel.style.marginLeft = '5px';
34
+ return { checkbox, checkboxLabel };
35
+ }
36
+ function buildActionsContainer() {
37
+ const actionsContainer = document.createElement('div');
38
+ actionsContainer.style.display = 'flex';
39
+ actionsContainer.style.flexDirection = 'row';
40
+ actionsContainer.style.justifyContent = 'end';
41
+ actionsContainer.style.gap = '5px';
42
+ return actionsContainer;
43
+ }
44
+ function buildContentContainer() {
45
+ const contentContainer = document.createElement('div');
46
+ contentContainer.style.display = 'flex';
47
+ contentContainer.style.flexDirection = 'column';
48
+ contentContainer.style.fontFamily = 'var(--font-pattern, Roboto)';
49
+ contentContainer.style.fontSize = 'var(--text--medium)';
50
+ return contentContainer;
51
+ }
52
+ function buildMessage() {
53
+ const message = document.createElement('div');
54
+ const line1 = document.createElement('p');
55
+ const line2 = document.createElement('p');
56
+ const line3 = document.createElement('p');
57
+ line3.style.fontWeight = 'var(--text-weight--large, 600)';
58
+ line1.textContent = 'Uma quantidade de registros muito grande está sendo carregada.';
59
+ line2.textContent = 'Recomendamos que a paginação seja cancelada e que seja criado um filtro para os registros.';
60
+ line3.textContent = 'Deseja cancelar o carregamento?';
61
+ message.appendChild(line1);
62
+ message.appendChild(line2);
63
+ message.appendChild(line3);
64
+ return message;
65
+ }
66
+ function buildCancelPaginationBtn(popup, resolve) {
67
+ const cancelPaginationBtn = document.createElement('ez-button');
68
+ cancelPaginationBtn.label = 'Cancelar paginação';
69
+ cancelPaginationBtn.size = 'medium';
70
+ cancelPaginationBtn.classList.add('ez-button--primary');
71
+ cancelPaginationBtn.onclick = () => {
72
+ document.body.removeChild(popup);
73
+ resolve(CancelPaginationResponse.CANCEL);
74
+ };
75
+ return cancelPaginationBtn;
76
+ }
77
+ function buildContinuePaginationBtn(popup, checkBox, resolve) {
78
+ const continuePaginationBtn = document.createElement('ez-button');
79
+ continuePaginationBtn.label = 'Continuar';
80
+ continuePaginationBtn.size = 'medium';
81
+ continuePaginationBtn.onclick = () => {
82
+ document.body.removeChild(popup);
83
+ resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
84
+ };
85
+ return continuePaginationBtn;
86
+ }
87
+ function builPopup(resolve, checkBox) {
88
+ const popup = document.createElement('ez-popup');
89
+ popup.opened = true;
90
+ popup.size = 'x-small';
91
+ popup.ezTitle = 'Aviso';
92
+ popup.heightMode = "auto";
93
+ popup.addEventListener('ezClosePopup', () => {
94
+ document.body.removeChild(popup);
95
+ resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
96
+ }, { once: true });
97
+ popup.addEventListener('ezPopupAction', () => {
98
+ document.body.removeChild(popup);
99
+ resolve(CancelPaginationResponse.CANCEL);
100
+ }, { once: true });
101
+ return popup;
102
+ }
103
+ export var CancelPaginationResponse;
104
+ (function (CancelPaginationResponse) {
105
+ CancelPaginationResponse["CANCEL"] = "CANCEL";
106
+ CancelPaginationResponse["CONTINUE"] = "CONTINUE";
107
+ CancelPaginationResponse["LOAD_ALL"] = "LOAD_ALL";
108
+ })(CancelPaginationResponse || (CancelPaginationResponse = {}));
@@ -1,7 +1,7 @@
1
1
  import { ApplicationContext, StringUtils, UserInterface, } from '@sankhyalabs/core';
2
- import { DataFetcher } from "../../../DataFetcher";
3
- import DataUnitFetcher from "../dataunit-fetcher";
4
- import InMemoryLoader from "../../../../../dataUnit/InMemoryLoader";
2
+ import { DataFetcher } from '../../../DataFetcher';
3
+ import DataUnitFetcher from '../dataunit-fetcher';
4
+ import InMemoryLoader from '../../../../../dataUnit/InMemoryLoader';
5
5
  import { getRecordValue } from '../../../../../dataUnit/ValueFormatter';
6
6
  export class DatasetStrategy {
7
7
  canSlice() {
@@ -40,16 +40,25 @@ export class DatasetStrategy {
40
40
  const serviceName = "DatasetSP.loadRecords";
41
41
  const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
42
42
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
43
- const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
43
+ const { result: responseRecords, pagerID: pagerId, askRowsLimit } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
44
44
  const records = this.processRecords(dataUnit, fields, responseRecords);
45
45
  const loadingInProgress = pagerId != undefined;
46
46
  const count = loadingInfo.count + records.length;
47
- const needReload = !loadingInProgress && localSorting.length > 0;
47
+ const isInsertingNewRecord = dataUnit.hasNewRecord();
48
+ const hasLocalSorting = localSorting.length > 0;
49
+ const needReload = !loadingInProgress && hasLocalSorting;
50
+ /**
51
+ * Caso precise recarregar dados, porém está no meio de uma inserção, os dados não devem recarregados instantaneamente,
52
+ * Mas sim, sinalizar que o dataUnit está aguardando para der recarregado.
53
+ */
54
+ if (needReload && isInsertingNewRecord) {
55
+ dataUnit.setWaitingToReload(true);
56
+ }
48
57
  return Promise.resolve({
49
58
  records,
50
59
  loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
51
- loadingInProgress, total: loadingInProgress ? undefined : count, count,
52
- needReload })
60
+ loadingInProgress, total: loadingInProgress ? undefined : count, count, needReload: needReload && !isInsertingNewRecord, askRowsLimit,
61
+ hasLocalSorting })
53
62
  });
54
63
  }
55
64
  catch (error) {
@@ -101,8 +110,7 @@ export class DatasetStrategy {
101
110
  },
102
111
  }
103
112
  };
104
- const parsedRequestBody = JSON.stringify(requestBody);
105
- return parsedRequestBody;
113
+ return JSON.stringify(requestBody);
106
114
  }
107
115
  getFieldsList(dataUnit) {
108
116
  let fields = ["__record__id__", "__record__label__"];
@@ -1 +1,6 @@
1
- export {};
1
+ export var IExportType;
2
+ (function (IExportType) {
3
+ IExportType["ALL"] = "all";
4
+ IExportType["PAGE"] = "page";
5
+ IExportType["SELECTION"] = "selection";
6
+ })(IExportType || (IExportType = {}));
@@ -1,7 +1,7 @@
1
- import { gql } from "graphql-request";
2
- import { ObjectUtils } from "@sankhyalabs/core";
3
- import { ResourceFetcher } from "./resource-fetcher";
4
- import { DataFetcher } from "../DataFetcher";
1
+ import { gql } from 'graphql-request';
2
+ import { ObjectUtils } from '@sankhyalabs/core';
3
+ import { ResourceFetcher } from './resource-fetcher';
4
+ import { DataFetcher } from '../DataFetcher';
5
5
  export class FormConfigFetcher extends ResourceFetcher {
6
6
  constructor() {
7
7
  super();
@@ -155,7 +155,10 @@ export class FormConfigFetcher extends ResourceFetcher {
155
155
  query: this.queryConfig.get("fetchDefaultConfig"),
156
156
  })
157
157
  .then((result) => {
158
- resolve(ObjectUtils.stringToObject((result === null || result === void 0 ? void 0 : result.resource) || ''));
158
+ if (!(result === null || result === void 0 ? void 0 : result.resource)) {
159
+ resolve(null);
160
+ }
161
+ resolve(ObjectUtils.stringToObject(result === null || result === void 0 ? void 0 : result.resource));
159
162
  })
160
163
  .catch((error) => {
161
164
  reject(error);
@@ -175,6 +178,43 @@ export class FormConfigFetcher extends ResourceFetcher {
175
178
  return undefined;
176
179
  return this.buildLegacyConfigurableForm(response);
177
180
  }
181
+ async fetchSimpleFormConfig(configName) {
182
+ const payload = { 'requestBody': { 'formConfig': { 'configName': configName } } };
183
+ const response = await DataFetcher.get().callServiceBroker('FormConfig.getFormConfig', JSON.stringify(payload));
184
+ return this.processConfig(response);
185
+ }
186
+ async saveSimpleFormConfig(configName, fieldList) {
187
+ const payload = this.buildSaveSimpleFormConfigPayload(configName, fieldList);
188
+ const response = await DataFetcher.get().callServiceBroker('FormConfig.saveFormConfig', JSON.stringify(payload));
189
+ this.processConfig(response);
190
+ }
191
+ processConfig(response) {
192
+ if (ObjectUtils.isEmpty(response))
193
+ return [];
194
+ const fields = this.getResponseAsArray(response);
195
+ return fields.map(field => field.name);
196
+ }
197
+ getResponseAsArray(response) {
198
+ var _a, _b, _c;
199
+ 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 : [];
200
+ return Array.isArray(rawFields) ? rawFields : [rawFields];
201
+ }
202
+ buildSaveSimpleFormConfigPayload(configName, fieldNameList) {
203
+ const fieldList = fieldNameList.map(fieldName => { return { name: fieldName }; });
204
+ return {
205
+ formConfig: {
206
+ configName,
207
+ layout: {
208
+ field: fieldList,
209
+ },
210
+ metadata: { field: [] },
211
+ }
212
+ };
213
+ }
214
+ async restoreFormConfig(configName) {
215
+ const payload = { 'requestBody': { 'formConfig': { 'configName': configName } } };
216
+ await DataFetcher.get().callServiceBroker('FormConfig.restoreFormConfig', JSON.stringify(payload));
217
+ }
178
218
  buildLegacyConfigurableForm(config) {
179
219
  var _a, _b, _c;
180
220
  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 : [];
@@ -4,6 +4,7 @@ import { DataFetcher } from "../DataFetcher";
4
4
  export default class ParametersFetcher {
5
5
  constructor() {
6
6
  this._embeddedParams = new Map();
7
+ this._cachedParams = new Map();
7
8
  this.templateByQuery = new Map();
8
9
  try {
9
10
  if (window["MGE_PARAMS"] != undefined) {
@@ -33,11 +34,16 @@ export default class ParametersFetcher {
33
34
  if (this._embeddedParams.has(name)) {
34
35
  return Promise.resolve(this._embeddedParams.get(name));
35
36
  }
37
+ if (this._cachedParams.has(name)) {
38
+ return this._cachedParams.get(name);
39
+ }
36
40
  const completPath = `param://application?params=${name}`;
37
- return DataFetcher.get().callGraphQL({
41
+ const param = await DataFetcher.get().callGraphQL({
38
42
  values: { name: completPath },
39
43
  query: this.templateByQuery.get("fetchParam"),
40
44
  });
45
+ this._cachedParams.set(name, param);
46
+ return param;
41
47
  }
42
48
  async asString(name) {
43
49
  const paramArr = await this.getParam(name);
@@ -1,6 +1,7 @@
1
- import { ApplicationContext, DataType } from "@sankhyalabs/core";
2
- import { gql } from "graphql-request";
3
- import { DataFetcher } from "../DataFetcher";
1
+ import { parseGridConfig, parseLegacyTree } from '../../../../components/snk-pesquisa/pesquisaHelper';
2
+ import { ApplicationContext, DataType, ErrorException } from '@sankhyalabs/core';
3
+ import { gql } from 'graphql-request';
4
+ import { DataFetcher } from '../DataFetcher';
4
5
  export class PesquisaFetcher {
5
6
  constructor() {
6
7
  this._defaultPageSize = 100;
@@ -73,6 +74,9 @@ export class PesquisaFetcher {
73
74
  value = ApplicationContext.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${match[1]})__`);
74
75
  }
75
76
  }
77
+ if (param.dataType === DataType.NUMBER && value === undefined) {
78
+ throw new ErrorException("Falha detectada", `O campo ${param.name} deve ser informado.`);
79
+ }
76
80
  let type = param.dataType;
77
81
  if (type === DataType.OBJECT) {
78
82
  value = value.value;
@@ -96,9 +100,14 @@ export class PesquisaFetcher {
96
100
  }
97
101
  }
98
102
  };
103
+ const urlOptions = {
104
+ urlParams: {
105
+ "quietMode": true
106
+ }
107
+ };
99
108
  return new Promise((resolve, reject) => {
100
109
  DataFetcher.get()
101
- .callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody))
110
+ .callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody), urlOptions)
102
111
  .then(result => resolve(result))
103
112
  .catch(error => reject(error));
104
113
  });
@@ -142,11 +151,102 @@ export class PesquisaFetcher {
142
151
  return;
143
152
  return listener[listenerType]({ argument, criteria, searchOptions });
144
153
  }
154
+ async loadPresentationConfig(entityName) {
155
+ var _a, _b;
156
+ let payload = buildLoadConfig(entityName);
157
+ const response = await DataFetcher.get().callServiceBroker("SystemUtilsSP.getConf", JSON.stringify(payload));
158
+ return (_b = (_a = response === null || response === void 0 ? void 0 : response.config) === null || _a === void 0 ? void 0 : _a.lastUsedMode) !== null && _b !== void 0 ? _b : 'list';
159
+ }
160
+ async savePresentationConfig(entityName, lastUsedMode) {
161
+ let payload = buildSaveConfig(entityName, lastUsedMode);
162
+ await DataFetcher.get().callServiceBroker("SystemUtilsSP.saveConf", JSON.stringify(payload));
163
+ }
164
+ async loadPesquisaGridConfig(entityName) {
165
+ const payload = buildLoadGridConfigPayload(entityName);
166
+ const response = await DataFetcher.get().callServiceBroker("GridConfig.getGridConfigFromJson", JSON.stringify(payload));
167
+ return parseGridConfig(response);
168
+ }
169
+ async savePesquisaGridConfig(entityName, columns) {
170
+ const payload = buildSaveGridConfigPayload(entityName, columns);
171
+ await DataFetcher.get().callServiceBroker("GridConfig.saveGridConfigFromJSON", JSON.stringify(payload));
172
+ }
173
+ async loadTree(entityName, argument, criteria, searchOptions) {
174
+ const requestBody = this.buildLoadTreeRequestBody(entityName, argument, criteria, searchOptions);
175
+ const response = await DataFetcher.get().callServiceBroker("Pesquisa.getStructuredData", JSON.stringify(requestBody));
176
+ return parseLegacyTree(response);
177
+ }
178
+ buildLoadTreeRequestBody(entityName, argument, criteria, searchOptions) {
179
+ var _a, _b;
180
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
181
+ const incomeSearchOptions = (_a = listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) !== null && _a !== void 0 ? _a : searchOptions;
182
+ const rootEntity = incomeSearchOptions === null || incomeSearchOptions === void 0 ? void 0 : incomeSearchOptions.rootEntity;
183
+ const codeFieldName = incomeSearchOptions === null || incomeSearchOptions === void 0 ? void 0 : incomeSearchOptions.codeFieldName;
184
+ const expression = (_b = listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) === null || _b === void 0 ? void 0 : _b.expression;
185
+ const params = this.buildParams(listenerResult);
186
+ const instancia = {
187
+ 'nome': entityName,
188
+ 'nomeInstanciaLocal': rootEntity,
189
+ 'codeFieldName': codeFieldName,
190
+ };
191
+ if (expression) {
192
+ instancia['criterioLiteral'] = {
193
+ 'expressao': {
194
+ '$': expression,
195
+ },
196
+ 'parametro': params,
197
+ };
198
+ }
199
+ return {
200
+ 'instancia': instancia,
201
+ };
202
+ }
203
+ buildParams(listenerResult) {
204
+ var _a, _b;
205
+ let params = (_b = (_a = listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) === null || _a === void 0 ? void 0 : _a.params) !== null && _b !== void 0 ? _b : [];
206
+ params = params.map(param => {
207
+ return Object.assign(Object.assign({}, param), { tipo: convertParamType(param.dataType), $: param.value });
208
+ });
209
+ return params;
210
+ }
211
+ }
212
+ function buildLoadGridConfigPayload(entityName) {
213
+ return {
214
+ 'gridConfig': {
215
+ 'configName': `GrdCfgHtml5:grdcfg.dynaform.pesquisa.${entityName}`,
216
+ },
217
+ };
218
+ }
219
+ function buildSaveGridConfigPayload(entityName, columns) {
220
+ const field = {};
221
+ columns === null || columns === void 0 ? void 0 : columns.forEach((col, index) => field[`field${index}`] = col);
222
+ return {
223
+ 'gridConfig': {
224
+ 'compactMode': true,
225
+ 'configName': `GrdCfgHtml5:grdcfg.dynaform.pesquisa.${entityName}`,
226
+ field,
227
+ },
228
+ };
229
+ }
230
+ function buildLoadConfig(entityName) {
231
+ return {
232
+ 'config': {
233
+ 'chave': `PesquisaContent:${entityName}`,
234
+ 'tipo': 'T',
235
+ },
236
+ };
237
+ }
238
+ function buildSaveConfig(entityName, lastUsedMode) {
239
+ return {
240
+ 'config': {
241
+ lastUsedMode,
242
+ 'chave': `PesquisaContent:${entityName}`,
243
+ 'tipo': 'T',
244
+ }
245
+ };
145
246
  }
146
247
  function convertParamType(dataType) {
147
- //Alerta: Cuidado pra não contaminar o DataType com a implementação
148
- //atual da pesquisa... em geral, somente inteiros,
149
- //data (com ou sem hora) e string são realmente relevantes
248
+ // Alerta: Cuidado para não contaminar o DataType com a implementação atual da pesquisa!
249
+ // Em geral, somente inteiros, data (com ou sem hora) e string são realmente relevantes.
150
250
  switch (dataType) {
151
251
  case DataType.NUMBER:
152
252
  return "I";
@@ -12,3 +12,4 @@ export { default as GridConfigFetcher } from './http/data-fetcher/fetchers/grid-
12
12
  export { default as ParametersFetcher } from './http/data-fetcher/fetchers/parameters-fecher';
13
13
  export { default as PersonalizedFilterFetcher } from './http/data-fetcher/fetchers/personalized-filter-fetcher';
14
14
  export { ResourceFetcher } from './http/data-fetcher/fetchers/resource-fetcher';
15
+ export { TEMPLATES_SKELETON } from './utils/constants';
@@ -7,7 +7,7 @@ const snkExporterMessages = {
7
7
  emailSenderOptStep_subtitle: "Primeiro, escolha o formato do arquivo",
8
8
  emailSenderOptStep_lblFormat: "Formato:",
9
9
  emailSenderOptStep_formatPDF: "PDF (.pdf)",
10
- emailSenderOptStep_formatXLSX: "Planilha (.xlsx)",
10
+ emailSenderOptStep_formatXLS: "Planilha (.xls)",
11
11
  emailSenderOptStep_export: "Exportar:",
12
12
  emailSenderOptStep_allData: "Toda a grade",
13
13
  emailSenderOptStep_currentPage: "Somente a página atual",
@@ -1,5 +1,9 @@
1
1
  export const snkGridMessages = {
2
- findColumn: "Busca de colunas"
2
+ findColumn: "Busca de colunas",
3
+ cancelConfirmation: {
4
+ title: "Aviso",
5
+ message: "As alterações realizadas serão descartadas<br/><br/><b>Você realmente gostaria de cancelar?</b>",
6
+ }
3
7
  };
4
8
  export const snkGridConfigMessages = {
5
9
  gridConfiguration: "Configuração da Grade",
@@ -0,0 +1,31 @@
1
+ import { h } from '@stencil/core';
2
+ import { StringUtils } from '@sankhyalabs/core';
3
+ export class ContinuousInsertUtils {
4
+ constructor(snkApplication, resourceID, configName) {
5
+ this.snkApplication = snkApplication;
6
+ this.keyConfigEnableContinuousInsert = `${resourceID}enableContinuousInsert${configName ? configName : ''}`;
7
+ }
8
+ handleSaveConfig(enableContinuousInsert) {
9
+ return this.snkApplication.saveConfig(this.keyConfigEnableContinuousInsert, enableContinuousInsert);
10
+ }
11
+ getConfig() {
12
+ return this.snkApplication.getConfig(this.keyConfigEnableContinuousInsert).then(value => {
13
+ if (value) {
14
+ return value == "true" ? true : false;
15
+ }
16
+ return false;
17
+ }).catch(() => {
18
+ return false;
19
+ });
20
+ }
21
+ actionContinuousInsert(enableContinuousInsert, handleEnableContinuousInsert) {
22
+ return {
23
+ value: StringUtils.generateUUID(),
24
+ label: enableContinuousInsert ? 'Desativar inclusão contínua' : 'Ativar inclusão contínua',
25
+ enabled: true,
26
+ itemBuilder: () => {
27
+ return (h("div", { class: "ez-dropdown__item-wrapper", onClick: handleEnableContinuousInsert }, h("span", { class: "ez-dropdown__item-label" }, enableContinuousInsert ? 'Desativar inclusão contínua' : 'Ativar inclusão contínua')));
28
+ },
29
+ };
30
+ }
31
+ }