@sankhyalabs/sankhyablocks 8.16.0-dev.11 → 8.16.0-dev.111

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 (456) hide show
  1. package/dist/cjs/ClientSideExporterProvider-a2753c93.js +378 -0
  2. package/dist/cjs/{ConfigStorage-e49214c6.js → ConfigStorage-df09fb78.js} +2 -2
  3. package/dist/cjs/{DataFetcher-77729a93.js → DataFetcher-1afdb18e.js} +231 -84
  4. package/dist/cjs/{RecordIDUtils-3735135c.js → GetSelectedRecordsIDsInfo-bd50caf1.js} +10 -10
  5. package/dist/cjs/IFetchDataExporterParams-e78ec415.js +8 -0
  6. package/dist/cjs/ISave-c76e2c51.js +397 -0
  7. package/dist/cjs/{SnkFormConfigManager-beebf47a.js → SnkFormConfigManager-45a8d7b7.js} +75 -17
  8. package/dist/cjs/{SnkMessageBuilder-897ffd08.js → SnkMessageBuilder-9deeae08.js} +40 -28
  9. package/dist/cjs/{auth-fetcher-29bb791c.js → auth-fetcher-1687ac0a.js} +1 -1
  10. package/dist/cjs/{constants-35ddd366.js → constants-77c1b8bd.js} +10 -0
  11. package/dist/cjs/{dataunit-fetcher-d4873076.js → dataunit-fetcher-a723f0dc.js} +225 -175
  12. package/dist/cjs/{form-config-fetcher-feb08214.js → form-config-fetcher-40d3f752.js} +56 -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-grid_2.cjs.entry.js +155 -0
  17. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  18. package/dist/cjs/{snk-actions-button_4.cjs.entry.js → snk-actions-button_8.cjs.entry.js} +264 -46
  19. package/dist/cjs/snk-application.cjs.entry.js +471 -79
  20. package/dist/cjs/snk-attach.cjs.entry.js +91 -50
  21. package/dist/cjs/{snk-form-config.cjs.entry.js → snk-config-options_3.cjs.entry.js} +401 -13
  22. package/dist/cjs/snk-configurator.cjs.entry.js +10 -3
  23. package/dist/cjs/snk-crud.cjs.entry.js +57 -84
  24. package/dist/cjs/snk-data-exporter.cjs.entry.js +38 -30
  25. package/dist/cjs/{snk-data-unit-ece44c4a.js → snk-data-unit-57916de4.js} +275 -37
  26. package/dist/cjs/snk-data-unit.cjs.entry.js +5 -5
  27. package/dist/cjs/snk-detail-view.cjs.entry.js +69 -17
  28. package/dist/cjs/snk-exporter-email-sender.cjs.entry.js +1 -1
  29. package/dist/cjs/snk-field-config.cjs.entry.js +1 -1
  30. package/dist/cjs/snk-filter-bar_4.cjs.entry.js +1438 -0
  31. package/dist/cjs/snk-filter-binary-select.cjs.entry.js +1 -1
  32. package/dist/cjs/snk-filter-checkbox-list.cjs.entry.js +1 -1
  33. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  34. package/dist/cjs/snk-filter-number.cjs.entry.js +1 -1
  35. package/dist/cjs/snk-filter-search.cjs.entry.js +18 -5
  36. package/dist/cjs/snk-filter-text.cjs.entry.js +2 -1
  37. package/dist/cjs/snk-form-view.cjs.entry.js +19 -7
  38. package/dist/cjs/snk-grid.cjs.entry.js +132 -51
  39. package/dist/cjs/{snk-guides-viewer-aafc3073.js → snk-guides-viewer-d33379cd.js} +151 -74
  40. package/dist/cjs/snk-guides-viewer.cjs.entry.js +12 -12
  41. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +4 -4
  42. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  43. package/dist/cjs/snk-pesquisa.cjs.entry.js +116 -31
  44. package/dist/cjs/snk-print-selector.cjs.entry.js +1 -1
  45. package/dist/cjs/snk-simple-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/snk-simple-crud.cjs.entry.js +237 -200
  47. package/dist/cjs/snk-tab-config.cjs.entry.js +1 -1
  48. package/dist/cjs/snk-taskbar.cjs.entry.js +79 -42
  49. package/dist/cjs/{taskbar-elements-9ad1f9c0.js → taskbar-elements-6f4e06af.js} +12 -1
  50. package/dist/cjs/{field-search-f56aa7d6.js → taskbar-processor-2fba34a8.js} +5 -36
  51. package/dist/collection/collection-manifest.json +17 -31
  52. package/dist/collection/components/snk-actions-button/actions/index.js +16 -13
  53. package/dist/collection/components/snk-actions-button/interfaces/index.js +1 -0
  54. package/dist/collection/components/snk-actions-button/snk-actions-button.js +27 -26
  55. package/dist/collection/components/snk-application/errorhandler/snk-error-handler.js +5 -2
  56. package/dist/collection/components/snk-application/request-listener/DebouncedRequestListener.js +29 -0
  57. package/dist/collection/components/snk-application/request-listener/RequestListenerFactory.js +16 -0
  58. package/dist/collection/components/snk-application/request-listener/RequestListenerLoadingBar.js +52 -0
  59. package/dist/collection/components/snk-application/search-strategy/exec-prepared-search-plus.js +107 -0
  60. package/dist/collection/components/snk-application/snk-application.css +36 -0
  61. package/dist/collection/components/snk-application/snk-application.js +450 -72
  62. package/dist/collection/components/snk-attach/snk-attach.js +51 -16
  63. package/dist/collection/components/snk-attach/structure/builder/taskbar-builder.js +8 -4
  64. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +19 -18
  65. package/dist/collection/components/snk-configurator/snk-configurator.css +1 -1
  66. package/dist/collection/components/snk-configurator/snk-configurator.js +26 -1
  67. package/dist/collection/components/snk-crud/snk-crud.js +181 -76
  68. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.css +10 -1
  69. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +84 -6
  70. package/dist/collection/components/snk-crud/subcomponents/snk-form-view.js +54 -7
  71. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +6 -6
  72. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +198 -82
  73. package/dist/collection/components/snk-data-exporter/exporter-email-sender/options-step.js +1 -1
  74. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +8 -8
  75. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +9 -2
  76. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +41 -10
  77. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +18 -6
  78. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +1 -1
  79. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +10 -9
  80. package/dist/collection/components/snk-data-exporter/structure/ItemBuilder.js +2 -2
  81. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +4 -4
  82. package/dist/collection/components/snk-data-exporter/utils/ParserExport.js +1 -1
  83. package/dist/collection/components/snk-data-unit/MultipleUpdateHelper.js +128 -0
  84. package/dist/collection/components/snk-data-unit/snk-data-unit.js +156 -37
  85. package/dist/collection/components/snk-filter-bar/filter-item/dataunitfilter/data-unit-filter-builder.js +3 -3
  86. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-binary-select.js +1 -1
  87. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-checkbox-list.js +1 -1
  88. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-number.js +1 -1
  89. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-search.js +18 -5
  90. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-text.js +2 -1
  91. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.css +13 -0
  92. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -3
  93. package/dist/collection/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.js +8 -0
  94. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +10 -4
  95. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.css +1 -1
  96. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +3 -1
  97. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +2 -6
  98. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +119 -29
  99. package/dist/collection/components/snk-form/snk-form.js +2 -2
  100. package/dist/collection/components/snk-form-config/SnkFormConfigManager.js +73 -15
  101. package/dist/collection/components/snk-form-config/snk-form-config.css +8 -3
  102. package/dist/collection/components/snk-form-config/snk-form-config.js +49 -8
  103. package/dist/collection/components/snk-form-config/subcomponents/snk-config-options/snk-config-options.js +5 -3
  104. package/dist/collection/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.js +2 -2
  105. package/dist/collection/components/snk-grid/snk-grid.css +8 -0
  106. package/dist/collection/components/snk-grid/snk-grid.js +269 -51
  107. package/dist/collection/components/snk-grid-config/snk-grid-config.css +1 -1
  108. package/dist/collection/components/snk-grid-config/snk-grid-config.js +2 -0
  109. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.css +3 -0
  110. package/dist/collection/components/snk-layout-form-config/snk-layout-form-config.js +73 -0
  111. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.css +78 -0
  112. package/dist/collection/components/snk-layout-form-config/snk-view-representation/snk-view-representation.js +57 -0
  113. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.css +9 -0
  114. package/dist/collection/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.js +226 -0
  115. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.css +28 -0
  116. package/dist/collection/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.js +208 -0
  117. package/dist/collection/components/snk-pesquisa/pesquisaHelper.js +99 -0
  118. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +35 -6
  119. package/dist/collection/components/snk-pesquisa/snk-pesquisa.js +181 -32
  120. package/dist/collection/components/snk-print-selector/snk-print-selector.js +1 -1
  121. package/dist/collection/components/snk-simple-bar/snk-simple-bar.js +1 -1
  122. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +1 -1
  123. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +342 -123
  124. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.css +22 -0
  125. package/dist/collection/components/snk-simple-form-config/snk-simple-form-config.js +181 -0
  126. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.css +13 -0
  127. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +1 -1
  128. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +11 -0
  129. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.css +0 -0
  130. package/dist/collection/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.js +220 -0
  131. package/dist/collection/components/snk-taskbar/processor/taskbar-processor.js +5 -1
  132. package/dist/collection/components/snk-taskbar/snk-taskbar.js +141 -41
  133. package/dist/collection/lib/@types/index.js +5 -0
  134. package/dist/collection/lib/DefaultCustomFormatters/RmPrecisionCustomValueFormatter.js +11 -5
  135. package/dist/collection/lib/configs/LayoutFormConfig.js +25 -0
  136. package/dist/collection/lib/dataUnit/InMemoryLoader.js +12 -103
  137. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +11 -32
  138. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +44 -29
  139. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.js +7 -5
  140. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +59 -14
  141. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +21 -7
  142. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +5 -2
  143. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.js +108 -0
  144. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +23 -14
  145. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.js +6 -1
  146. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +59 -5
  147. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +7 -1
  148. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +133 -9
  149. package/dist/collection/lib/index.js +1 -0
  150. package/dist/collection/lib/message/SnkMessageBuilder.js +1 -0
  151. package/dist/collection/lib/message/resources/snk-crud.msg.js +1 -1
  152. package/dist/collection/lib/message/resources/snk-data-unit.msg.js +28 -23
  153. package/dist/collection/lib/message/resources/snk-exporter.msg.js +1 -1
  154. package/dist/collection/lib/message/resources/snk-grid.msg.js +5 -1
  155. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +2 -1
  156. package/dist/collection/lib/message/resources/snk-taskbar.msg.js +1 -0
  157. package/dist/collection/lib/utils/ContinuousInsertUtils.js +31 -0
  158. package/dist/collection/lib/utils/CrudUtils.js +25 -16
  159. package/dist/collection/{components/snk-data-exporter/utils/RecordIDUtils.js → lib/utils/GetSelectedRecordsIDsInfo.js} +9 -9
  160. package/dist/collection/lib/utils/constants.js +10 -0
  161. package/dist/collection/sw.js +46 -0
  162. package/dist/components/ContinuousInsertUtils.js +416 -0
  163. package/dist/components/DataFetcher.js +231 -84
  164. package/dist/{esm/RecordIDUtils-87d02110.js → components/GetSelectedRecordsIDsInfo.js} +10 -10
  165. package/dist/components/ISave.js +391 -1
  166. package/dist/components/SnkFormConfigManager.js +73 -15
  167. package/dist/components/SnkMessageBuilder.js +40 -28
  168. package/dist/components/constants.js +11 -1
  169. package/dist/components/dataunit-fetcher.js +243 -190
  170. package/dist/components/form-config-fetcher.js +55 -1
  171. package/dist/components/index.d.ts +6 -0
  172. package/dist/components/index.js +6 -0
  173. package/dist/components/pesquisa-grid.d.ts +11 -0
  174. package/dist/components/pesquisa-grid.js +6 -0
  175. package/dist/components/pesquisa-grid2.js +102 -0
  176. package/dist/components/pesquisa-tree.d.ts +11 -0
  177. package/dist/components/pesquisa-tree.js +6 -0
  178. package/dist/components/pesquisa-tree2.js +91 -0
  179. package/dist/components/snk-actions-button2.js +44 -40
  180. package/dist/components/snk-application2.js +494 -77
  181. package/dist/components/snk-attach2.js +114 -73
  182. package/dist/components/snk-config-options2.js +6 -4
  183. package/dist/components/snk-configurator2.js +23 -3
  184. package/dist/components/snk-crud.js +143 -139
  185. package/dist/components/snk-data-exporter2.js +37 -23
  186. package/dist/components/snk-data-unit2.js +275 -74
  187. package/dist/components/snk-detail-view2.js +329 -171
  188. package/dist/components/snk-exporter-email-sender2.js +1 -1
  189. package/dist/components/snk-filter-bar2.js +68 -34
  190. package/dist/components/snk-filter-binary-select.js +1 -1
  191. package/dist/components/snk-filter-checkbox-list.js +1 -1
  192. package/dist/components/snk-filter-item2.js +10 -4
  193. package/dist/components/snk-filter-modal.js +4 -2
  194. package/dist/components/snk-filter-number.js +1 -1
  195. package/dist/components/snk-filter-search.js +18 -5
  196. package/dist/components/snk-filter-text.js +2 -1
  197. package/dist/components/snk-form-config2.js +35 -10
  198. package/dist/components/snk-form-view2.js +22 -8
  199. package/dist/components/snk-form.js +2 -2
  200. package/dist/components/snk-grid-config2.js +3 -1
  201. package/dist/components/snk-grid2.js +169 -75
  202. package/dist/components/snk-layout-form-config.d.ts +11 -0
  203. package/dist/components/snk-layout-form-config.js +6 -0
  204. package/dist/components/snk-layout-form-config2.js +73 -0
  205. package/dist/components/snk-personalized-filter-editor.js +4 -4
  206. package/dist/components/snk-pesquisa2.js +132 -33
  207. package/dist/components/snk-print-selector.js +1 -1
  208. package/dist/components/snk-simple-bar2.js +1 -1
  209. package/dist/components/snk-simple-crud2.js +246 -203
  210. package/dist/components/snk-simple-form-config.d.ts +11 -0
  211. package/dist/components/snk-simple-form-config.js +6 -0
  212. package/dist/components/snk-simple-form-config2.js +121 -0
  213. package/dist/components/snk-tab-config2.js +1 -1
  214. package/dist/components/snk-taskbar2.js +105 -50
  215. package/dist/components/snk-view-representation.d.ts +11 -0
  216. package/dist/components/snk-view-representation.js +6 -0
  217. package/dist/components/snk-view-representation2.js +41 -0
  218. package/dist/components/taskbar-actions-button2.js +2 -2
  219. package/dist/components/taskbar-split-button.d.ts +11 -0
  220. package/dist/components/taskbar-split-button.js +6 -0
  221. package/dist/components/taskbar-split-button2.js +87 -0
  222. package/dist/components/teste-pesquisa.js +13 -1
  223. package/dist/esm/ClientSideExporterProvider-b3871edb.js +367 -0
  224. package/dist/esm/{ConfigStorage-e476378d.js → ConfigStorage-71e6766f.js} +2 -2
  225. package/dist/esm/{DataFetcher-773a3e4b.js → DataFetcher-88e56266.js} +231 -84
  226. package/dist/esm/GetSelectedRecordsIDsInfo-9fa41508.js +41 -0
  227. package/dist/esm/IFetchDataExporterParams-d73bed3d.js +8 -0
  228. package/dist/esm/ISave-5efafc97.js +394 -0
  229. package/dist/esm/{SnkFormConfigManager-298cd647.js → SnkFormConfigManager-be490a33.js} +75 -17
  230. package/dist/esm/{SnkMessageBuilder-571462fb.js → SnkMessageBuilder-2dbd8fa2.js} +40 -28
  231. package/dist/esm/{auth-fetcher-a411f73c.js → auth-fetcher-3510520e.js} +1 -1
  232. package/dist/esm/{constants-8457af36.js → constants-7db1128a.js} +11 -1
  233. package/dist/esm/{dataunit-fetcher-3d2ec959.js → dataunit-fetcher-0e025732.js} +227 -174
  234. package/dist/esm/{form-config-fetcher-e0382e5a.js → form-config-fetcher-fa208a6c.js} +56 -2
  235. package/dist/esm/index-a7d3d3f1.js +16 -32
  236. package/dist/esm/{index-3aa4977a.js → index-b40568ff.js} +6 -1
  237. package/dist/esm/loader.js +1 -1
  238. package/dist/esm/pesquisa-grid_2.entry.js +150 -0
  239. package/dist/esm/sankhyablocks.js +1 -1
  240. package/dist/esm/{snk-actions-button_4.entry.js → snk-actions-button_8.entry.js} +263 -49
  241. package/dist/esm/snk-application.entry.js +472 -80
  242. package/dist/esm/snk-attach.entry.js +92 -51
  243. package/dist/esm/{snk-form-config.entry.js → snk-config-options_3.entry.js} +401 -15
  244. package/dist/esm/snk-configurator.entry.js +10 -3
  245. package/dist/esm/snk-crud.entry.js +58 -85
  246. package/dist/esm/snk-data-exporter.entry.js +38 -30
  247. package/dist/esm/{snk-data-unit-2a1d5d09.js → snk-data-unit-65c9dd1a.js} +275 -37
  248. package/dist/esm/snk-data-unit.entry.js +5 -5
  249. package/dist/esm/snk-detail-view.entry.js +71 -19
  250. package/dist/esm/snk-exporter-email-sender.entry.js +1 -1
  251. package/dist/esm/snk-field-config.entry.js +1 -1
  252. package/dist/esm/snk-filter-bar_4.entry.js +1431 -0
  253. package/dist/esm/snk-filter-binary-select.entry.js +1 -1
  254. package/dist/esm/snk-filter-checkbox-list.entry.js +1 -1
  255. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  256. package/dist/esm/snk-filter-number.entry.js +1 -1
  257. package/dist/esm/snk-filter-search.entry.js +18 -5
  258. package/dist/esm/snk-filter-text.entry.js +2 -1
  259. package/dist/esm/snk-form-view.entry.js +19 -7
  260. package/dist/esm/snk-grid.entry.js +125 -44
  261. package/dist/esm/{snk-guides-viewer-62124f3d.js → snk-guides-viewer-72953334.js} +153 -76
  262. package/dist/esm/snk-guides-viewer.entry.js +12 -12
  263. package/dist/esm/snk-personalized-filter-editor.entry.js +4 -4
  264. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  265. package/dist/esm/snk-pesquisa.entry.js +116 -31
  266. package/dist/esm/snk-print-selector.entry.js +1 -1
  267. package/dist/esm/snk-simple-bar.entry.js +1 -1
  268. package/dist/esm/snk-simple-crud.entry.js +224 -187
  269. package/dist/esm/snk-tab-config.entry.js +1 -1
  270. package/dist/esm/snk-taskbar.entry.js +80 -43
  271. package/dist/esm/{taskbar-elements-d59867f1.js → taskbar-elements-f2cb4922.js} +12 -1
  272. package/dist/esm/{field-search-efbe307f.js → taskbar-processor-3436124c.js} +6 -35
  273. package/dist/sankhyablocks/{p-3287a6cc.js → p-03b68a74.js} +1 -1
  274. package/dist/sankhyablocks/p-0f3698af.js +1 -0
  275. package/dist/sankhyablocks/p-0fadb620.js +1 -0
  276. package/dist/sankhyablocks/{p-9dfda04a.entry.js → p-165cde3b.entry.js} +1 -1
  277. package/dist/sankhyablocks/p-16a1dd18.entry.js +1 -0
  278. package/dist/sankhyablocks/p-1a0caadb.js +1 -0
  279. package/dist/sankhyablocks/p-1bdffb17.entry.js +11 -0
  280. package/dist/sankhyablocks/p-1f80174b.entry.js +1 -0
  281. package/dist/sankhyablocks/p-24a0dbd2.entry.js +1 -0
  282. package/dist/sankhyablocks/p-2f7e2251.entry.js +1 -0
  283. package/dist/sankhyablocks/p-3372178e.entry.js +1 -0
  284. package/dist/sankhyablocks/{p-95df461f.entry.js → p-3749dffb.entry.js} +1 -1
  285. package/dist/sankhyablocks/{p-72fc257b.entry.js → p-434817f0.entry.js} +1 -1
  286. package/dist/sankhyablocks/p-4689c2e6.js +1 -0
  287. package/dist/sankhyablocks/p-47178038.entry.js +1 -0
  288. package/dist/sankhyablocks/{p-bd008859.entry.js → p-490b75b5.entry.js} +1 -1
  289. package/dist/sankhyablocks/p-52d10014.entry.js +1 -0
  290. package/dist/sankhyablocks/{p-aaa3ee68.entry.js → p-5f157b09.entry.js} +1 -1
  291. package/dist/sankhyablocks/p-5ffa0493.entry.js +1 -0
  292. package/dist/sankhyablocks/p-60137b7a.entry.js +1 -0
  293. package/dist/sankhyablocks/p-601b252b.js +26 -0
  294. package/dist/sankhyablocks/p-6a03b190.entry.js +1 -0
  295. package/dist/sankhyablocks/p-6dd38d7b.js +6 -0
  296. package/dist/sankhyablocks/{p-0cd3c0a9.js → p-73285a8a.js} +1 -1
  297. package/dist/sankhyablocks/p-7993b2e3.js +60 -0
  298. package/dist/sankhyablocks/p-79f823f3.entry.js +1 -0
  299. package/dist/sankhyablocks/p-7beeabc1.entry.js +1 -0
  300. package/dist/sankhyablocks/p-7dd49d15.js +1 -0
  301. package/dist/sankhyablocks/p-885802c3.js +1 -0
  302. package/dist/sankhyablocks/p-89c92727.entry.js +1 -0
  303. package/dist/sankhyablocks/{p-41f8bfa3.entry.js → p-8c235d4c.entry.js} +1 -1
  304. package/dist/sankhyablocks/p-8f3f2306.js +1 -0
  305. package/dist/sankhyablocks/p-90684a75.entry.js +1 -0
  306. package/dist/sankhyablocks/{p-b0ef4383.js → p-9261d8a0.js} +1 -1
  307. package/dist/sankhyablocks/p-a14a09c3.entry.js +1 -0
  308. package/dist/sankhyablocks/p-a4ebeec4.entry.js +1 -0
  309. package/dist/sankhyablocks/p-b0ab5066.entry.js +1 -0
  310. package/dist/sankhyablocks/p-b6200d32.entry.js +1 -0
  311. package/dist/sankhyablocks/p-bc101064.entry.js +1 -0
  312. package/dist/sankhyablocks/{p-8eb67fa4.entry.js → p-c0eb761b.entry.js} +1 -1
  313. package/dist/sankhyablocks/p-c2e468c9.entry.js +1 -0
  314. package/dist/sankhyablocks/p-c9675d64.js +1 -0
  315. package/dist/sankhyablocks/p-ce94e6c4.entry.js +1 -0
  316. package/dist/sankhyablocks/p-d07b18a4.js +1 -0
  317. package/dist/sankhyablocks/p-ddf93f36.entry.js +1 -0
  318. package/dist/sankhyablocks/p-ebdb9d89.js +1 -0
  319. package/dist/sankhyablocks/p-fbba7e3d.js +1 -0
  320. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  321. package/dist/types/components/snk-actions-button/actions/index.d.ts +1 -0
  322. package/dist/types/components/snk-actions-button/interfaces/index.d.ts +3 -0
  323. package/dist/types/components/snk-actions-button/snk-actions-button.d.ts +3 -2
  324. package/dist/types/components/snk-application/request-listener/DebouncedRequestListener.d.ts +11 -0
  325. package/dist/types/components/snk-application/request-listener/RequestListenerFactory.d.ts +12 -0
  326. package/dist/types/components/snk-application/request-listener/RequestListenerLoadingBar.d.ts +13 -0
  327. package/dist/types/components/snk-application/search-strategy/exec-prepared-search-plus.d.ts +5 -0
  328. package/dist/types/components/snk-application/snk-application.d.ts +55 -16
  329. package/dist/types/components/snk-attach/snk-attach.d.ts +2 -0
  330. package/dist/types/components/snk-configurator/snk-configurator.d.ts +6 -0
  331. package/dist/types/components/snk-crud/snk-crud.d.ts +30 -3
  332. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +17 -0
  333. package/dist/types/components/snk-crud/subcomponents/snk-form-view.d.ts +11 -1
  334. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +26 -7
  335. package/dist/types/components/snk-data-exporter/data/export-result.d.ts +2 -1
  336. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +1 -0
  337. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +9 -1
  338. package/dist/types/components/snk-data-exporter/interfaces/IRecordID.d.ts +1 -0
  339. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +3 -1
  340. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +3 -3
  341. package/dist/types/components/snk-data-exporter/utils/ParserExport.d.ts +1 -1
  342. package/dist/types/components/snk-data-unit/MultipleUpdateHelper.d.ts +9 -0
  343. package/dist/types/components/snk-data-unit/snk-data-unit.d.ts +19 -0
  344. package/dist/types/components/snk-filter-bar/filter-item/editors/snk-filter-search.d.ts +5 -3
  345. package/dist/types/components/snk-filter-bar/filter-item/filter-item-type-mask.enum.d.ts +7 -0
  346. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +2 -0
  347. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +15 -1
  348. package/dist/types/components/snk-form-config/SnkFormConfigManager.d.ts +7 -2
  349. package/dist/types/components/snk-form-config/snk-form-config.d.ts +4 -0
  350. package/dist/types/components/snk-grid/filtercolumn/SnkMultiSelectionListDataSource.d.ts +2 -1
  351. package/dist/types/components/snk-grid/snk-grid.d.ts +45 -5
  352. package/dist/types/components/snk-grid-config/snk-grid-config.d.ts +1 -0
  353. package/dist/types/components/snk-layout-form-config/snk-layout-form-config.d.ts +15 -0
  354. package/dist/types/components/snk-layout-form-config/snk-view-representation/snk-view-representation.d.ts +10 -0
  355. package/dist/types/components/snk-pesquisa/pesquisa-grid/pesquisa-grid.d.ts +44 -0
  356. package/dist/types/components/snk-pesquisa/pesquisa-tree/pesquisa-tree.d.ts +33 -0
  357. package/dist/types/components/snk-pesquisa/pesquisaHelper.d.ts +24 -0
  358. package/dist/types/components/snk-pesquisa/snk-pesquisa.d.ts +36 -1
  359. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +51 -15
  360. package/dist/types/components/snk-simple-form-config/snk-simple-form-config.d.ts +34 -0
  361. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +2 -1
  362. package/dist/types/components/snk-taskbar/elements/taskbar-split-button/taskbar-split-button.d.ts +44 -0
  363. package/dist/types/components/snk-taskbar/processor/taskbar-processor.d.ts +1 -0
  364. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +17 -0
  365. package/dist/types/components.d.ts +608 -24
  366. package/dist/types/lib/@types/index.d.ts +4 -0
  367. package/dist/types/lib/configs/LayoutFormConfig.d.ts +11 -0
  368. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +4 -11
  369. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +9 -2
  370. package/dist/types/lib/dataUnit/interfaces/InMemoryLoaderConfig.d.ts +2 -2
  371. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -0
  372. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/anexo-sistema-fetcher.d.ts +3 -2
  373. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +9 -1
  374. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +4 -0
  375. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -1
  376. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/helpers/DataUnitDataLoaderHelper.d.ts +6 -0
  377. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/interfaces/ILoadingInfo.d.ts +4 -0
  378. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +3 -3
  379. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IFetchDataExporterParams.d.ts +6 -2
  380. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +14 -2
  381. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  382. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +21 -2
  383. package/dist/types/lib/index.d.ts +1 -0
  384. package/dist/types/lib/message/SnkMessageBuilder.d.ts +2 -1
  385. package/dist/types/lib/utils/ContinuousInsertUtils.d.ts +10 -0
  386. package/dist/types/lib/utils/CrudUtils.d.ts +1 -0
  387. package/dist/types/lib/utils/GetSelectedRecordsIDsInfo.d.ts +3 -0
  388. package/dist/types/lib/utils/constants.d.ts +8 -0
  389. package/package.json +4 -3
  390. package/react/components.d.ts +6 -0
  391. package/react/components.js +6 -0
  392. package/react/components.js.map +1 -1
  393. package/dist/cjs/IExporterProvider-10b7fed5.js +0 -230
  394. package/dist/cjs/ISave-e91b70a7.js +0 -9
  395. package/dist/cjs/pesquisa-fetcher-a1d0353f.js +0 -166
  396. package/dist/cjs/snk-config-options.cjs.entry.js +0 -239
  397. package/dist/cjs/snk-filter-bar.cjs.entry.js +0 -714
  398. package/dist/cjs/snk-filter-item.cjs.entry.js +0 -312
  399. package/dist/cjs/snk-filter-list.cjs.entry.js +0 -152
  400. package/dist/cjs/snk-filter-modal.cjs.entry.js +0 -249
  401. package/dist/cjs/snk-form.cjs.entry.js +0 -143
  402. package/dist/collection/components/snk-taskbar/subcomponents/field-search.js +0 -31
  403. package/dist/components/IExporterProvider.js +0 -298
  404. package/dist/components/pesquisa-fetcher.js +0 -164
  405. package/dist/esm/IExporterProvider-d597f27d.js +0 -221
  406. package/dist/esm/ISave-d8c8bc59.js +0 -9
  407. package/dist/esm/pesquisa-fetcher-a87445a0.js +0 -164
  408. package/dist/esm/snk-config-options.entry.js +0 -235
  409. package/dist/esm/snk-filter-bar.entry.js +0 -710
  410. package/dist/esm/snk-filter-item.entry.js +0 -308
  411. package/dist/esm/snk-filter-list.entry.js +0 -148
  412. package/dist/esm/snk-filter-modal.entry.js +0 -245
  413. package/dist/esm/snk-form.entry.js +0 -139
  414. package/dist/sankhyablocks/p-01ba23cd.entry.js +0 -1
  415. package/dist/sankhyablocks/p-091ce761.js +0 -60
  416. package/dist/sankhyablocks/p-14b8b656.entry.js +0 -1
  417. package/dist/sankhyablocks/p-181975f1.js +0 -26
  418. package/dist/sankhyablocks/p-1db45d26.entry.js +0 -1
  419. package/dist/sankhyablocks/p-1e971cb0.entry.js +0 -1
  420. package/dist/sankhyablocks/p-21749402.js +0 -1
  421. package/dist/sankhyablocks/p-219f888d.entry.js +0 -1
  422. package/dist/sankhyablocks/p-25f1fc39.js +0 -6
  423. package/dist/sankhyablocks/p-2e9c764c.entry.js +0 -1
  424. package/dist/sankhyablocks/p-30cf616e.js +0 -1
  425. package/dist/sankhyablocks/p-3b60db06.entry.js +0 -1
  426. package/dist/sankhyablocks/p-421bec84.entry.js +0 -1
  427. package/dist/sankhyablocks/p-42f7b05d.entry.js +0 -1
  428. package/dist/sankhyablocks/p-51999ab5.entry.js +0 -1
  429. package/dist/sankhyablocks/p-594bc21d.js +0 -1
  430. package/dist/sankhyablocks/p-5f016aed.js +0 -1
  431. package/dist/sankhyablocks/p-62f34e6f.entry.js +0 -1
  432. package/dist/sankhyablocks/p-631954eb.entry.js +0 -1
  433. package/dist/sankhyablocks/p-65f8c11c.entry.js +0 -1
  434. package/dist/sankhyablocks/p-684a2590.entry.js +0 -1
  435. package/dist/sankhyablocks/p-70001ac1.js +0 -1
  436. package/dist/sankhyablocks/p-70a4af56.entry.js +0 -1
  437. package/dist/sankhyablocks/p-7663f597.entry.js +0 -1
  438. package/dist/sankhyablocks/p-76a65660.js +0 -1
  439. package/dist/sankhyablocks/p-7e7a7473.js +0 -1
  440. package/dist/sankhyablocks/p-7ef9c55c.js +0 -1
  441. package/dist/sankhyablocks/p-88aa931b.entry.js +0 -1
  442. package/dist/sankhyablocks/p-939e15d3.entry.js +0 -1
  443. package/dist/sankhyablocks/p-96a89d58.entry.js +0 -1
  444. package/dist/sankhyablocks/p-9863d682.js +0 -1
  445. package/dist/sankhyablocks/p-b11aa1e0.entry.js +0 -1
  446. package/dist/sankhyablocks/p-c2495304.js +0 -1
  447. package/dist/sankhyablocks/p-c8622597.entry.js +0 -1
  448. package/dist/sankhyablocks/p-d1791da2.entry.js +0 -1
  449. package/dist/sankhyablocks/p-d3f53df2.entry.js +0 -1
  450. package/dist/sankhyablocks/p-d65d98ed.entry.js +0 -1
  451. package/dist/sankhyablocks/p-d6610d11.entry.js +0 -11
  452. package/dist/sankhyablocks/p-e8763234.entry.js +0 -1
  453. package/dist/sankhyablocks/p-f2809746.entry.js +0 -1
  454. package/dist/sankhyablocks/p-ffa5e4ff.js +0 -1
  455. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +0 -3
  456. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +0 -4
@@ -67,6 +67,7 @@ const TAGS_BY_TYPE = {
67
67
  CHECKBOX: "ez-check",
68
68
  OPTIONSELECTOR: "ez-combo-box",
69
69
  SEARCH: "ez-search",
70
+ SEARCHPLUS: "ez-search-plus",
70
71
  INTEGERNUMBER: "ez-number-input",
71
72
  DECIMALNUMBER: "ez-number-input"
72
73
  };
@@ -89,5 +90,14 @@ var SIMPLE_CRUD_MODE;
89
90
  SIMPLE_CRUD_MODE[SIMPLE_CRUD_MODE["SERVER"] = 0] = "SERVER";
90
91
  SIMPLE_CRUD_MODE[SIMPLE_CRUD_MODE["IN_MEMORY"] = 1] = "IN_MEMORY";
91
92
  })(SIMPLE_CRUD_MODE || (SIMPLE_CRUD_MODE = {}));
93
+ // TODO: validar forma de compartilhar os templates com outros projetos
94
+ var TEMPLATES_SKELETON;
95
+ (function (TEMPLATES_SKELETON) {
96
+ TEMPLATES_SKELETON[TEMPLATES_SKELETON["CUSTOM_TEMPLATE"] = 0] = "CUSTOM_TEMPLATE";
97
+ TEMPLATES_SKELETON[TEMPLATES_SKELETON["GRID"] = 1] = "GRID";
98
+ TEMPLATES_SKELETON[TEMPLATES_SKELETON["GRID_WITH_SIDEBAR"] = 2] = "GRID_WITH_SIDEBAR";
99
+ TEMPLATES_SKELETON[TEMPLATES_SKELETON["GRID_WITH_PANEL"] = 3] = "GRID_WITH_PANEL";
100
+ TEMPLATES_SKELETON[TEMPLATES_SKELETON["FORM_WITH_SIDEBAR"] = 4] = "FORM_WITH_SIDEBAR";
101
+ })(TEMPLATES_SKELETON || (TEMPLATES_SKELETON = {}));
92
102
 
93
- export { ACTION_CONFIG as A, CONFIG_EVENTS as C, DEFAULT_TYPE as D, KEY_EVENTS as K, ORDER_VALUES as O, REPORT_LAUNCHER_RESOURCE_ID as R, SIMPLE_CRUD_MODE as S, TAB_NAMES as T, VARS_BY_TYPE as V, CONFIG_SORTABLE_EVENTS as a, TAGS_BY_TYPE as b, TYPE_ACTIONS as c, VIEW_MODE as d };
103
+ export { ACTION_CONFIG as A, CONFIG_EVENTS as C, DEFAULT_TYPE as D, KEY_EVENTS as K, ORDER_VALUES as O, REPORT_LAUNCHER_RESOURCE_ID as R, SIMPLE_CRUD_MODE as S, TEMPLATES_SKELETON as T, VIEW_MODE as V, CONFIG_SORTABLE_EVENTS as a, TYPE_ACTIONS as b, TAB_NAMES as c, VARS_BY_TYPE as d, TAGS_BY_TYPE as e };
@@ -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-773a3e4b.js';
1
+ import { ObjectUtils, DataUnit, DataUnitInMemoryLoader, ApplicationContext, StringUtils, UserInterface, DataUnitStorage, DataType, ChangeOperation } from '@sankhyalabs/core';
2
+ import { D as DataFetcher, d as dist } from './DataFetcher-88e56266.js';
3
3
  import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
4
4
  import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
5
5
  import { ColumnFilterManager } from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
@@ -9,6 +9,9 @@ import { R as ResourceIDUtils } from './ResourceIDUtils-a114189a.js';
9
9
  class ArrayRepository {
10
10
  constructor(equalsFunction) {
11
11
  this._list = [];
12
+ this._listCopy = [];
13
+ this._listLastUpdate = 0;
14
+ this._listCopyLastUpdate = 0;
12
15
  this._equalsFunction = equalsFunction;
13
16
  }
14
17
  async load(filterFunction, sortingFunction, offset, limit) {
@@ -47,13 +50,13 @@ class ArrayRepository {
47
50
  return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
48
51
  }
49
52
  async push(items) {
50
- this._list.push(...items);
53
+ this.updateList([...this._list, ...items]);
51
54
  }
52
55
  async clear() {
53
- this._list = [];
56
+ this.updateList([]);
54
57
  }
55
58
  async delete(items) {
56
- this._list = this._list.filter(item => {
59
+ const list = this._list.filter(item => {
57
60
  for (const removed of items) {
58
61
  if (this._equalsFunction(item, removed)) {
59
62
  return false;
@@ -61,20 +64,23 @@ class ArrayRepository {
61
64
  }
62
65
  return true;
63
66
  });
67
+ this.updateList(list);
64
68
  }
65
69
  async update(items) {
66
- this._list = this._list.map(existingItem => {
70
+ const list = this._list.map(existingItem => {
67
71
  const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
68
72
  return newItem == undefined ? existingItem : newItem;
69
73
  });
74
+ this.updateList(list);
70
75
  }
71
76
  async insert(itemReference, items) {
72
77
  const itemPosition = this._list.indexOf(itemReference);
73
78
  if (itemPosition == -1) {
74
- this._list.push(...items);
79
+ this.push(items);
75
80
  return;
76
81
  }
77
- this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
82
+ const list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
83
+ this.updateList(list);
78
84
  }
79
85
  isOperating() {
80
86
  return true;
@@ -86,7 +92,15 @@ class ArrayRepository {
86
92
  return Promise.resolve(this._list.length);
87
93
  }
88
94
  getFromCache() {
89
- return ObjectUtils.copy(this._list);
95
+ if (this._listLastUpdate > this._listCopyLastUpdate) {
96
+ this._listCopyLastUpdate = this._listLastUpdate;
97
+ this._listCopy = ObjectUtils.copy(this._list);
98
+ }
99
+ return this._listCopy;
100
+ }
101
+ updateList(newList) {
102
+ this._list = newList;
103
+ this._listLastUpdate = Date.now();
90
104
  }
91
105
  }
92
106
 
@@ -111,7 +125,7 @@ class PreloadManager {
111
125
  static getSortingFunction(dataUnit, sorting) {
112
126
  return SortingUtils.getSortingFunction(dataUnit, sorting);
113
127
  }
114
- static async getDistinct(dataUnit, fieldName) {
128
+ static async getDistinct(dataUnit, fieldName, onlyLabel = false) {
115
129
  if (!PreloadManager.isCacheEnabled(dataUnit)) {
116
130
  return Promise.resolve(ColumnFilterManager.compileDistinct(fieldName, dataUnit));
117
131
  }
@@ -130,7 +144,10 @@ class PreloadManager {
130
144
  if (fieldValue == undefined) {
131
145
  return { key: null, value: null };
132
146
  }
133
- const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
147
+ let value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
148
+ if ((fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label) && onlyLabel) {
149
+ return { key: fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.label, value: dataUnit.getFormattedValue(fieldName, value) };
150
+ }
134
151
  return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
135
152
  })
136
153
  .then(result => {
@@ -224,159 +241,33 @@ class PreloadManager {
224
241
  PreloadManager._repositories = new Map();
225
242
  PreloadManager._loadingStatus = new Map();
226
243
 
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
244
  class InMemoryLoader {
264
245
  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;
246
+ this._dataUnitInMemoryLoader = new DataUnitInMemoryLoader(metadata, records, config);
288
247
  }
289
248
  get dataUnit() {
290
- return this._dataUnit;
249
+ return this._dataUnitInMemoryLoader.dataUnit;
291
250
  }
292
251
  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;
252
+ return this._dataUnitInMemoryLoader.records;
309
253
  }
310
254
  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
- }
255
+ this._dataUnitInMemoryLoader.records = records;
331
256
  }
332
257
  get metadata() {
333
- return this._metadata;
258
+ return this._dataUnitInMemoryLoader.metadata;
334
259
  }
335
260
  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
- });
261
+ this._dataUnitInMemoryLoader.metadata = metadata;
372
262
  }
373
263
  removeLoader(_dataUnit, recordIds) {
374
- return new Promise((resolve) => {
375
- resolve(recordIds);
376
- });
264
+ return this._dataUnitInMemoryLoader.removeLoader(_dataUnit, recordIds);
265
+ }
266
+ static getConvertedValue(descriptor, strValue, dateFormat) {
267
+ return DataUnitInMemoryLoader.getConvertedValue(descriptor, strValue, dateFormat);
377
268
  }
378
269
  }
379
- InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
270
+ InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = DataUnitInMemoryLoader.IN_MEMORY_DATA_UNIT_NAME;
380
271
 
381
272
  function getRecordValue(record, fieldName) {
382
273
  var _a, _b;
@@ -420,16 +311,25 @@ class DatasetStrategy {
420
311
  const serviceName = "DatasetSP.loadRecords";
421
312
  const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
422
313
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
423
- const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
314
+ const { result: responseRecords, pagerID: pagerId, askRowsLimit } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
424
315
  const records = this.processRecords(dataUnit, fields, responseRecords);
425
316
  const loadingInProgress = pagerId != undefined;
426
317
  const count = loadingInfo.count + records.length;
427
- const needReload = !loadingInProgress && localSorting.length > 0;
318
+ const isInsertingNewRecord = dataUnit.hasNewRecord();
319
+ const hasLocalSorting = localSorting.length > 0;
320
+ const needReload = !loadingInProgress && hasLocalSorting;
321
+ /**
322
+ * Caso precise recarregar dados, porém está no meio de uma inserção, os dados não devem recarregados instantaneamente,
323
+ * Mas sim, sinalizar que o dataUnit está aguardando para der recarregado.
324
+ */
325
+ if (needReload && isInsertingNewRecord) {
326
+ dataUnit.setWaitingToReload(true);
327
+ }
428
328
  return Promise.resolve({
429
329
  records,
430
330
  loadingInfo: Object.assign(Object.assign({}, loadingInfo), { pagerId,
431
- loadingInProgress, total: loadingInProgress ? undefined : count, count,
432
- needReload })
331
+ loadingInProgress, total: loadingInProgress ? undefined : count, count, needReload: needReload && !isInsertingNewRecord, askRowsLimit,
332
+ hasLocalSorting })
433
333
  });
434
334
  }
435
335
  catch (error) {
@@ -481,8 +381,7 @@ class DatasetStrategy {
481
381
  },
482
382
  }
483
383
  };
484
- const parsedRequestBody = JSON.stringify(requestBody);
485
- return parsedRequestBody;
384
+ return JSON.stringify(requestBody);
486
385
  }
487
386
  getFieldsList(dataUnit) {
488
387
  let fields = ["__record__id__", "__record__label__"];
@@ -599,17 +498,128 @@ class DatasetStrategy {
599
498
  return InMemoryLoader.getConvertedValue(descriptor, strValue);
600
499
  }
601
500
  getSearchDescriptionField(descriptor) {
602
- if (descriptor.userInterface === UserInterface.SEARCH) {
603
- const { ENTITYNAME, mergedFrom, DESCRIPTIONFIELD } = descriptor.properties;
604
- if (!StringUtils.isEmpty(DESCRIPTIONFIELD)) {
605
- return mergedFrom != undefined ? `${mergedFrom}.${ENTITYNAME}.${DESCRIPTIONFIELD}` : `${ENTITYNAME}.${DESCRIPTIONFIELD}`;
606
- }
501
+ if (![UserInterface.SEARCH, UserInterface.SEARCHPLUS].includes(descriptor.userInterface)) {
502
+ return undefined;
503
+ }
504
+ const { ENTITYNAME, mergedFrom, DESCRIPTIONFIELD } = descriptor.properties;
505
+ if (!StringUtils.isEmpty(DESCRIPTIONFIELD)) {
506
+ return mergedFrom != undefined ? `${mergedFrom}.${ENTITYNAME}.${DESCRIPTIONFIELD}` : `${ENTITYNAME}.${DESCRIPTIONFIELD}`;
607
507
  }
608
508
  return undefined;
609
509
  }
610
510
  }
611
511
 
512
+ async function showAskCancelPaginationPopup() {
513
+ return new Promise((resolve) => {
514
+ const { checkboxContainer, checkbox } = buildCheckboxContainer();
515
+ const popup = builPopup(resolve, checkbox);
516
+ const contentContainer = buildContentContainer();
517
+ contentContainer.appendChild(buildMessage());
518
+ contentContainer.appendChild(checkboxContainer);
519
+ const actionsContainer = buildActionsContainer();
520
+ actionsContainer.appendChild(buildContinuePaginationBtn(popup, checkbox, resolve));
521
+ actionsContainer.appendChild(buildCancelPaginationBtn(popup, resolve));
522
+ contentContainer.appendChild(actionsContainer);
523
+ popup.appendChild(contentContainer);
524
+ document.body.appendChild(popup);
525
+ });
526
+ }
527
+ function buildCheckboxContainer() {
528
+ const checkboxContainer = document.createElement('div');
529
+ checkboxContainer.style.marginBottom = '14px';
530
+ checkboxContainer.style.display = 'flex';
531
+ checkboxContainer.style.alignItems = 'center';
532
+ const { checkbox, checkboxLabel } = buildCheckbox();
533
+ checkboxContainer.appendChild(checkbox);
534
+ checkboxContainer.appendChild(checkboxLabel);
535
+ return { checkboxContainer, checkbox };
536
+ }
537
+ function buildCheckbox() {
538
+ const checkbox = document.createElement('input');
539
+ checkbox.type = 'checkbox';
540
+ checkbox.id = 'loadAll';
541
+ const checkboxLabel = document.createElement('label');
542
+ checkboxLabel.htmlFor = 'loadAll';
543
+ checkboxLabel.textContent = 'Carregar tudo';
544
+ checkboxLabel.style.marginLeft = '5px';
545
+ return { checkbox, checkboxLabel };
546
+ }
547
+ function buildActionsContainer() {
548
+ const actionsContainer = document.createElement('div');
549
+ actionsContainer.style.display = 'flex';
550
+ actionsContainer.style.flexDirection = 'row';
551
+ actionsContainer.style.justifyContent = 'end';
552
+ actionsContainer.style.gap = '5px';
553
+ return actionsContainer;
554
+ }
555
+ function buildContentContainer() {
556
+ const contentContainer = document.createElement('div');
557
+ contentContainer.style.display = 'flex';
558
+ contentContainer.style.flexDirection = 'column';
559
+ contentContainer.style.fontFamily = 'var(--font-pattern, Roboto)';
560
+ contentContainer.style.fontSize = 'var(--text--medium)';
561
+ return contentContainer;
562
+ }
563
+ function buildMessage() {
564
+ const message = document.createElement('div');
565
+ const line1 = document.createElement('p');
566
+ const line2 = document.createElement('p');
567
+ const line3 = document.createElement('p');
568
+ line3.style.fontWeight = 'var(--text-weight--large, 600)';
569
+ line1.textContent = 'Uma quantidade de registros muito grande está sendo carregada.';
570
+ line2.textContent = 'Recomendamos que a paginação seja cancelada e que seja criado um filtro para os registros.';
571
+ line3.textContent = 'Deseja cancelar o carregamento?';
572
+ message.appendChild(line1);
573
+ message.appendChild(line2);
574
+ message.appendChild(line3);
575
+ return message;
576
+ }
577
+ function buildCancelPaginationBtn(popup, resolve) {
578
+ const cancelPaginationBtn = document.createElement('ez-button');
579
+ cancelPaginationBtn.label = 'Cancelar paginação';
580
+ cancelPaginationBtn.size = 'medium';
581
+ cancelPaginationBtn.classList.add('ez-button--primary');
582
+ cancelPaginationBtn.onclick = () => {
583
+ document.body.removeChild(popup);
584
+ resolve(CancelPaginationResponse.CANCEL);
585
+ };
586
+ return cancelPaginationBtn;
587
+ }
588
+ function buildContinuePaginationBtn(popup, checkBox, resolve) {
589
+ const continuePaginationBtn = document.createElement('ez-button');
590
+ continuePaginationBtn.label = 'Continuar';
591
+ continuePaginationBtn.size = 'medium';
592
+ continuePaginationBtn.onclick = () => {
593
+ document.body.removeChild(popup);
594
+ resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
595
+ };
596
+ return continuePaginationBtn;
597
+ }
598
+ function builPopup(resolve, checkBox) {
599
+ const popup = document.createElement('ez-popup');
600
+ popup.opened = true;
601
+ popup.size = 'x-small';
602
+ popup.ezTitle = 'Aviso';
603
+ popup.heightMode = "auto";
604
+ popup.addEventListener('ezClosePopup', () => {
605
+ document.body.removeChild(popup);
606
+ resolve(checkBox.checked ? CancelPaginationResponse.LOAD_ALL : CancelPaginationResponse.CONTINUE);
607
+ }, { once: true });
608
+ popup.addEventListener('ezPopupAction', () => {
609
+ document.body.removeChild(popup);
610
+ resolve(CancelPaginationResponse.CANCEL);
611
+ }, { once: true });
612
+ return popup;
613
+ }
614
+ var CancelPaginationResponse;
615
+ (function (CancelPaginationResponse) {
616
+ CancelPaginationResponse["CANCEL"] = "CANCEL";
617
+ CancelPaginationResponse["CONTINUE"] = "CONTINUE";
618
+ CancelPaginationResponse["LOAD_ALL"] = "LOAD_ALL";
619
+ })(CancelPaginationResponse || (CancelPaginationResponse = {}));
620
+
612
621
  class DataUnitDataLoader {
622
+ constructor() { }
613
623
  static async debounce(dataUnit, callBack) {
614
624
  const duName = dataUnit.name;
615
625
  if (DataUnitDataLoader._debouncingTimeouts[duName]) {
@@ -655,25 +665,67 @@ class DataUnitDataLoader {
655
665
  }
656
666
  static async callLoader(dataUnit, request, requestLoadingInfo, dataLoader) {
657
667
  if (dataLoader == undefined) {
658
- //dataLoader = new DataUnitStrategy();
659
668
  dataLoader = new DatasetStrategy();
660
669
  }
661
670
  const result = await dataLoader.load(dataUnit, request, requestLoadingInfo);
662
- const { records, loadingInfo: responseLoadingInfo } = result;
663
- if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo)) {
671
+ const responseLoadingInfo = result.loadingInfo;
672
+ if (DataUnitDataLoader.isOldRequest(dataUnit, responseLoadingInfo))
664
673
  return Promise.resolve(undefined);
674
+ this.handleCache(dataLoader, responseLoadingInfo, dataUnit, result.records);
675
+ if (dataUnit.cancelPagination)
676
+ return this.handlePaginationCanceled(dataUnit, result);
677
+ //Não existem mais páginas a serem carregadas
678
+ if (this.canFinishPagination(dataUnit, responseLoadingInfo))
679
+ return Promise.resolve(result);
680
+ const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
681
+ let newLoadingInfo = this.buildNewLoadingInfo(responseLoadingInfo);
682
+ if (this.canProceedPagination(responseLoadingInfo))
683
+ return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
684
+ const confirm = await showAskCancelPaginationPopup();
685
+ if (confirm === CancelPaginationResponse.CANCEL)
686
+ return this.handlePaginationCanceled(dataUnit, result);
687
+ if (confirm === CancelPaginationResponse.LOAD_ALL) {
688
+ newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { loadAllRecords: true });
665
689
  }
690
+ newLoadingInfo = Object.assign(Object.assign({}, newLoadingInfo), { lastRowLimitAsked: newLoadingInfo.count });
691
+ return this.recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result);
692
+ }
693
+ static buildNewLoadingInfo(responseLoadingInfo) {
694
+ let newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
695
+ return newLoadingInfo;
696
+ }
697
+ static handleCache(dataLoader, responseLoadingInfo, dataUnit, records) {
666
698
  const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
667
699
  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
- }
700
+ }
701
+ static recallLoader(dataUnit, newRequest, newLoadingInfo, dataLoader, result) {
702
+ this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
703
+ .then(result => DataUnitDataLoader.afterLoadingPage(dataUnit, result.loadingInfo))
704
+ .catch(reason => console.error(reason));
675
705
  return Promise.resolve(result);
676
706
  }
707
+ static canFinishPagination(dataUnit, responseLoadingInfo) {
708
+ return !PreloadManager.isCacheEnabled(dataUnit) || !responseLoadingInfo.loadingInProgress;
709
+ }
710
+ static canProceedPagination(info) {
711
+ const { count, askRowsLimit, loadAllRecords, lastRowLimitAsked } = info;
712
+ if (loadAllRecords)
713
+ return true;
714
+ if (!count || !askRowsLimit)
715
+ return true;
716
+ const askRowLimitNumber = Number(askRowsLimit);
717
+ if (count < askRowLimitNumber)
718
+ return true;
719
+ const nextLimitToAsk = askRowLimitNumber + (lastRowLimitAsked ? lastRowLimitAsked : 0);
720
+ return count < nextLimitToAsk;
721
+ }
722
+ static handlePaginationCanceled(dataUnit, result) {
723
+ dataUnit.cancelPagination = false;
724
+ let loadingInfo = result.loadingInfo;
725
+ loadingInfo = Object.assign(Object.assign({}, loadingInfo), { total: loadingInfo.count, loadingInProgress: false, pagerId: undefined, needReload: loadingInfo.hasLocalSorting });
726
+ const loadDataResult = { records: result.records, loadingInfo };
727
+ return Promise.resolve(loadDataResult);
728
+ }
677
729
  static afterLoadingPage(dataUnit, loadingInfo) {
678
730
  PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
679
731
  const dataUnitPagination = dataUnit.getPaginationInfo();
@@ -682,7 +734,7 @@ class DataUnitDataLoader {
682
734
  }
683
735
  const count = loadingInfo.count;
684
736
  if (loadingInfo.loadingInProgress) {
685
- dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count }));
737
+ dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { count, loadingInProgress: true }));
686
738
  return;
687
739
  }
688
740
  if (loadingInfo.needReload) {
@@ -690,7 +742,7 @@ class DataUnitDataLoader {
690
742
  dataUnit.gotoPage(0);
691
743
  return;
692
744
  }
693
- dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count }));
745
+ dataUnit.updatePagination(Object.assign(Object.assign({}, dataUnitPagination), { total: count, count, loadingInProgress: false }));
694
746
  }
695
747
  static registryLoading(dataUnit, loadingInfo) {
696
748
  if (loadingInfo == undefined) {
@@ -713,7 +765,7 @@ class DataUnitDataLoader {
713
765
  // controle de paginação voltar pra primeira página.
714
766
  offset = 0;
715
767
  }
716
- const { total, count, loadingInProgress } = loadingInfo;
768
+ const { total, count, loadingInProgress, askRowsLimit } = loadingInfo;
717
769
  const firstRecord = (count === 0 || pageSize === 0) ? 0 : offset + 1;
718
770
  const lastRecord = offset + Math.min(pageSize, limit);
719
771
  return {
@@ -722,7 +774,8 @@ class DataUnitDataLoader {
722
774
  lastRecord,
723
775
  firstRecord,
724
776
  currentPage: offset / limit,
725
- hasMore: lastRecord < count || loadingInProgress
777
+ hasMore: lastRecord < count || loadingInProgress,
778
+ askRowsLimit
726
779
  };
727
780
  }
728
781
  }
@@ -1052,4 +1105,4 @@ class DataUnitFetcher {
1052
1105
  }
1053
1106
  }
1054
1107
 
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 };
1108
+ export { DataUnitFetcher as D, InMemoryLoader as I, PreloadManager as P, DatasetStrategy as a, getRecordValue as g };
@@ -1,4 +1,4 @@
1
- import { d as dist, D as DataFetcher } from './DataFetcher-773a3e4b.js';
1
+ import { d as dist, D as DataFetcher } from './DataFetcher-88e56266.js';
2
2
  import { ObjectUtils } from '@sankhyalabs/core';
3
3
 
4
4
  class ResourceFetcher {
@@ -217,7 +217,10 @@ class FormConfigFetcher extends ResourceFetcher {
217
217
  query: this.queryConfig.get("fetchDefaultConfig"),
218
218
  })
219
219
  .then((result) => {
220
- resolve(ObjectUtils.stringToObject((result === null || result === void 0 ? void 0 : result.resource) || ''));
220
+ if (!(result === null || result === void 0 ? void 0 : result.resource)) {
221
+ resolve(null);
222
+ }
223
+ resolve(ObjectUtils.stringToObject(result === null || result === void 0 ? void 0 : result.resource));
221
224
  })
222
225
  .catch((error) => {
223
226
  reject(error);
@@ -237,11 +240,62 @@ class FormConfigFetcher extends ResourceFetcher {
237
240
  return undefined;
238
241
  return this.buildLegacyConfigurableForm(response);
239
242
  }
243
+ async fetchSimpleFormConfig(configName) {
244
+ const payload = { 'requestBody': { 'formConfig': { 'configName': configName } } };
245
+ const response = await DataFetcher.get().callServiceBroker('FormConfig.getFormConfig', JSON.stringify(payload));
246
+ return this.processConfig(response);
247
+ }
248
+ async saveSimpleFormConfig(configName, fieldList) {
249
+ const payload = this.buildSaveSimpleFormConfigPayload(configName, fieldList);
250
+ const response = await DataFetcher.get().callServiceBroker('FormConfig.saveFormConfig', JSON.stringify(payload));
251
+ this.processConfig(response);
252
+ }
253
+ processConfig(response) {
254
+ if (ObjectUtils.isEmpty(response))
255
+ return [];
256
+ const fields = this.getResponseAsArray(response);
257
+ return fields.map(field => field.name);
258
+ }
259
+ getResponseAsArray(response) {
260
+ var _a, _b, _c;
261
+ const rawFields = (_c = (_b = (_a = response === null || response === void 0 ? void 0 : response.formConfig) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.field) !== null && _c !== void 0 ? _c : [];
262
+ return Array.isArray(rawFields) ? rawFields : [rawFields];
263
+ }
264
+ buildSaveSimpleFormConfigPayload(configName, fieldNameList) {
265
+ const fieldList = fieldNameList.map(fieldName => { return { name: fieldName }; });
266
+ return {
267
+ formConfig: {
268
+ configName,
269
+ layout: {
270
+ field: fieldList,
271
+ },
272
+ metadata: { field: [] },
273
+ }
274
+ };
275
+ }
276
+ async restoreFormConfig(configName) {
277
+ const payload = { 'requestBody': { 'formConfig': { 'configName': configName } } };
278
+ await DataFetcher.get().callServiceBroker('FormConfig.restoreFormConfig', JSON.stringify(payload));
279
+ }
240
280
  buildLegacyConfigurableForm(config) {
241
281
  var _a, _b, _c;
242
282
  const rawFields = (_c = (_b = (_a = config === null || config === void 0 ? void 0 : config.formConfig) === null || _a === void 0 ? void 0 : _a.layout) === null || _b === void 0 ? void 0 : _b.field) !== null && _c !== void 0 ? _c : [];
243
283
  return { emptyConfig: false, fields: Array.isArray(rawFields) ? rawFields : [rawFields] };
244
284
  }
285
+ async fetchLayoutFormConfig(configName) {
286
+ const payload = { 'requestBody': { 'config': { 'chave': configName, 'tipo': 'T' } } };
287
+ const response = await DataFetcher.get().callServiceBroker('SystemUtilsSP.getConf', JSON.stringify(payload));
288
+ if (ObjectUtils.isEmpty(response))
289
+ return undefined;
290
+ return response.config;
291
+ }
292
+ async saveLayoutFormConfig(configName, config) {
293
+ const payload = { 'requestBody': { 'config': Object.assign(Object.assign({}, config), { 'chave': configName, 'tipo': 'T' }) } };
294
+ const response = await DataFetcher.get().callServiceBroker('SystemUtilsSP.saveConf', JSON.stringify(payload));
295
+ if (ObjectUtils.isEmpty(response))
296
+ return undefined;
297
+ return response;
298
+ }
245
299
  }
246
300
  var UserConfigType;
247
301
  (function (UserConfigType) {