@sankhyalabs/sankhyablocks 8.15.0-dev.6 → 8.15.0-dev.61

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 (353) hide show
  1. package/dist/cjs/{ConfigStorage-8009ecb2.js → ConfigStorage-7df9d3bb.js} +102 -30
  2. package/dist/cjs/IExporterProvider-c307e2b1.js +187 -0
  3. package/dist/cjs/{ISave-d68ce3cd.js → ISave-e91b70a7.js} +1 -0
  4. package/dist/cjs/RecordIDUtils-3735135c.js +43 -0
  5. package/dist/cjs/{SnkFormConfigManager-7d850fbc.js → SnkFormConfigManager-4259edbe.js} +21 -13
  6. package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-66aa2557.js} +19 -1
  7. package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-e6112be7.js} +1 -1
  8. package/dist/cjs/{DataFetcher-ba94ed5b.js → form-config-fetcher-3c4daeb5.js} +258 -4
  9. package/dist/cjs/index-f9e81701.js +2 -10
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/{dataunit-fetcher-bd4c52da.js → pesquisa-fetcher-cbdaba63.js} +520 -86
  12. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  13. package/dist/cjs/{snk-actions-button_2.cjs.entry.js → snk-actions-button_4.cjs.entry.js} +529 -13
  14. package/dist/cjs/snk-application.cjs.entry.js +62 -28
  15. package/dist/cjs/snk-attach.cjs.entry.js +422 -62
  16. package/dist/cjs/snk-crud.cjs.entry.js +17 -12
  17. package/dist/cjs/snk-data-exporter.cjs.entry.js +204 -82
  18. package/dist/cjs/{snk-data-unit-1bc69073.js → snk-data-unit-abd2113f.js} +3 -38
  19. package/dist/cjs/snk-data-unit.cjs.entry.js +3 -2
  20. package/dist/cjs/snk-detail-view.cjs.entry.js +10 -12
  21. package/dist/cjs/snk-entity-list.cjs.entry.js +5 -3
  22. package/dist/cjs/snk-filter-bar.cjs.entry.js +65 -10
  23. package/dist/cjs/snk-filter-detail.cjs.entry.js +4 -1
  24. package/dist/cjs/snk-filter-item.cjs.entry.js +13 -6
  25. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +2 -3
  26. package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -1
  27. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +2 -1
  28. package/dist/cjs/snk-form-config.cjs.entry.js +46 -27
  29. package/dist/cjs/snk-form.cjs.entry.js +10 -4
  30. package/dist/cjs/snk-grid.cjs.entry.js +95 -116
  31. package/dist/cjs/{snk-guides-viewer-cb176c4d.js → snk-guides-viewer-b0c44e0c.js} +15 -11
  32. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -10
  33. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +3 -1
  34. package/dist/cjs/snk-personalized-filter.cjs.entry.js +2 -3
  35. package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-simple-crud.cjs.entry.js +367 -38
  37. package/dist/cjs/snk-taskbar.cjs.entry.js +124 -15
  38. package/dist/cjs/{taskbar-elements-01b85b99.js → taskbar-elements-d9392685.js} +11 -11
  39. package/dist/collection/collection-manifest.json +7 -7
  40. package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
  41. package/dist/collection/components/snk-application/snk-application.js +85 -2
  42. package/dist/collection/components/snk-attach/snk-attach.js +212 -39
  43. package/dist/collection/components/snk-attach/structure/{crud-config-builder.js → builder/anexo-sistema-crud-config.builder.js} +1 -1
  44. package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +62 -0
  45. package/dist/collection/components/snk-attach/structure/{taskbar-builder.js → builder/taskbar-builder.js} +1 -1
  46. package/dist/collection/components/snk-attach/structure/fetcher/facade/fetcher.facade.js +1 -0
  47. package/dist/collection/components/snk-attach/structure/{data-unit-builder.js → fetcher/factory/anexo-sistema-data-unit.factory.js} +14 -11
  48. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +118 -0
  49. package/dist/collection/components/snk-attach/structure/index.js +6 -3
  50. package/dist/collection/components/snk-crud/snk-crud.js +95 -3
  51. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +2 -2
  52. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +11 -2
  53. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +27 -3
  54. package/dist/collection/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.js +90 -0
  55. package/dist/collection/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.js +68 -0
  56. package/dist/collection/components/snk-data-exporter/interfaces/IExporterProvider.js +48 -1
  57. package/dist/collection/components/snk-data-exporter/interfaces/IExporterStrategy.js +1 -0
  58. package/dist/collection/components/snk-data-exporter/providers/ClientSideExporterProvider.js +53 -0
  59. package/dist/collection/components/snk-data-exporter/providers/ServerSideExporterProvider.js +55 -0
  60. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +42 -48
  61. package/dist/collection/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.js +88 -0
  62. package/dist/collection/components/snk-data-exporter/utils/RecordIDUtils.js +38 -0
  63. package/dist/collection/components/snk-data-unit/snk-data-unit.js +3 -42
  64. package/dist/collection/components/snk-entity-list/snk-entity-list.js +5 -3
  65. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +2 -1
  66. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -1
  67. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +22 -1
  68. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +31 -6
  69. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +19 -1
  70. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +24 -1
  71. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +159 -5
  72. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
  73. package/dist/collection/components/snk-form/snk-form.js +25 -1
  74. package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +20 -12
  75. package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.js +50 -30
  76. package/dist/collection/components/snk-grid/snk-grid.js +102 -109
  77. package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.js +130 -123
  78. package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.js +1 -1
  79. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +2 -4
  80. package/dist/collection/components/snk-simple-crud/regular-buttons.js +3 -0
  81. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +10 -2
  82. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +548 -20
  83. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +4 -2
  84. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +11 -11
  85. package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
  86. package/dist/collection/components/snk-taskbar/snk-taskbar.js +167 -14
  87. package/dist/collection/lib/configs/ConfigStorage.js +86 -16
  88. package/dist/collection/lib/dataUnit/InMemoryLoader.js +9 -40
  89. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +33 -0
  90. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +7 -4
  91. package/dist/collection/lib/http/data-fetcher/fetchers/{attach-fetcher.js → AttachFetcher/anexo-sistema-fetcher.js} +16 -15
  92. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.js +90 -0
  93. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js +1 -0
  94. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/index.js +2 -0
  95. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDelete.js +1 -0
  96. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js +1 -0
  97. package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.js +1 -0
  98. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.js +3 -0
  99. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.js +4 -0
  100. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.js +11 -13
  101. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +32 -3
  102. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +36 -23
  103. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +12 -0
  104. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +21 -0
  105. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +6 -3
  106. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +12 -13
  107. package/dist/collection/lib/index.js +1 -1
  108. package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
  109. package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +2 -1
  110. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +4 -0
  111. package/dist/collection/lib/utils/CrudUtils.js +13 -1
  112. package/dist/components/ConfigStorage.js +93 -21
  113. package/dist/components/IExporterProvider.js +256 -0
  114. package/dist/components/ISave.js +42 -0
  115. package/dist/components/SnkFormConfigManager.js +19 -11
  116. package/dist/components/SnkMessageBuilder.js +19 -1
  117. package/dist/components/dataunit-fetcher.js +138 -91
  118. package/dist/components/form-config-fetcher.js +7035 -3
  119. package/dist/components/index.d.ts +6 -6
  120. package/dist/components/index2.js +198 -33
  121. package/dist/components/snk-actions-button2.js +3 -11
  122. package/dist/components/snk-application2.js +42 -3
  123. package/dist/components/snk-attach2.js +478 -70
  124. package/dist/components/snk-crud.js +18 -7
  125. package/dist/components/snk-data-exporter2.js +199 -82
  126. package/dist/components/snk-data-unit2.js +41 -39
  127. package/dist/components/snk-detail-view2.js +44 -12
  128. package/dist/components/snk-entity-list.js +5 -3
  129. package/dist/components/snk-expression-item2.js +1 -1
  130. package/dist/components/snk-filter-bar2.js +69 -8
  131. package/dist/components/snk-filter-detail2.js +5 -1
  132. package/dist/components/snk-filter-item2.js +14 -6
  133. package/dist/components/snk-filter-modal.js +4 -2
  134. package/dist/components/snk-filter-multi-select.js +2 -1
  135. package/dist/components/snk-form-config2.js +47 -27
  136. package/dist/components/snk-form.js +8 -0
  137. package/dist/components/snk-grid-config2.js +128 -102
  138. package/dist/components/snk-grid2.js +96 -112
  139. package/dist/components/snk-personalized-filter-editor.js +3 -1
  140. package/dist/components/snk-personalized-filter2.js +1 -1
  141. package/dist/components/snk-pesquisa2.js +1 -1
  142. package/dist/components/snk-simple-crud2.js +421 -34
  143. package/dist/components/snk-taskbar2.js +144 -29
  144. package/dist/components/taskbar-actions-button2.js +4 -2
  145. package/dist/esm/{ConfigStorage-1244b8b0.js → ConfigStorage-928c3bf4.js} +93 -21
  146. package/dist/esm/IExporterProvider-e2a1195d.js +179 -0
  147. package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
  148. package/dist/esm/RecordIDUtils-87d02110.js +41 -0
  149. package/dist/esm/{SnkFormConfigManager-9be0e7d4.js → SnkFormConfigManager-a87ade7a.js} +21 -13
  150. package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-0a4becdd.js} +19 -1
  151. package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-e1cb288f.js} +1 -1
  152. package/dist/esm/{DataFetcher-aa159c5a.js → form-config-fetcher-e3094014.js} +257 -5
  153. package/dist/esm/index-a7d3d3f1.js +2 -10
  154. package/dist/esm/loader.js +1 -1
  155. package/dist/esm/{dataunit-fetcher-65714f21.js → pesquisa-fetcher-6d8e50bb.js} +494 -69
  156. package/dist/esm/sankhyablocks.js +1 -1
  157. package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +523 -9
  158. package/dist/esm/snk-application.entry.js +43 -9
  159. package/dist/esm/snk-attach.entry.js +422 -62
  160. package/dist/esm/snk-crud.entry.js +17 -12
  161. package/dist/esm/snk-data-exporter.entry.js +204 -82
  162. package/dist/esm/{snk-data-unit-6208ebf0.js → snk-data-unit-29eba11a.js} +4 -39
  163. package/dist/esm/snk-data-unit.entry.js +3 -2
  164. package/dist/esm/snk-detail-view.entry.js +10 -12
  165. package/dist/esm/snk-entity-list.entry.js +5 -3
  166. package/dist/esm/snk-filter-bar.entry.js +65 -10
  167. package/dist/esm/snk-filter-detail.entry.js +4 -1
  168. package/dist/esm/snk-filter-item.entry.js +13 -6
  169. package/dist/esm/snk-filter-modal-item.entry.js +2 -3
  170. package/dist/esm/snk-filter-modal.entry.js +2 -1
  171. package/dist/esm/snk-filter-multi-select.entry.js +2 -1
  172. package/dist/esm/snk-form-config.entry.js +47 -28
  173. package/dist/esm/snk-form.entry.js +10 -4
  174. package/dist/esm/snk-grid.entry.js +95 -116
  175. package/dist/esm/{snk-guides-viewer-eeb8f354.js → snk-guides-viewer-1fd41a25.js} +15 -11
  176. package/dist/esm/snk-guides-viewer.entry.js +8 -10
  177. package/dist/esm/snk-personalized-filter-editor.entry.js +3 -1
  178. package/dist/esm/snk-personalized-filter.entry.js +2 -3
  179. package/dist/esm/snk-pesquisa.entry.js +1 -1
  180. package/dist/esm/snk-simple-crud.entry.js +359 -30
  181. package/dist/esm/snk-taskbar.entry.js +125 -16
  182. package/dist/esm/{taskbar-elements-d4d0b424.js → taskbar-elements-ad766858.js} +11 -11
  183. package/dist/sankhyablocks/p-029bfc09.js +1 -0
  184. package/dist/sankhyablocks/p-07825198.js +1 -0
  185. package/dist/sankhyablocks/p-0e8702f0.js +1 -0
  186. package/dist/sankhyablocks/p-13ea113d.entry.js +1 -0
  187. package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
  188. package/dist/sankhyablocks/p-314e2d1a.entry.js +1 -0
  189. package/dist/sankhyablocks/p-32556aa6.js +1 -0
  190. package/dist/sankhyablocks/p-3357af48.js +1 -0
  191. package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
  192. package/dist/sankhyablocks/p-3c2a1f4d.js +65 -0
  193. package/dist/sankhyablocks/p-3e7167dd.js +1 -0
  194. package/dist/sankhyablocks/p-536eeb16.js +26 -0
  195. package/dist/sankhyablocks/p-54a5d52a.entry.js +1 -0
  196. package/dist/sankhyablocks/p-587f9dcf.entry.js +1 -0
  197. package/dist/sankhyablocks/p-61984566.entry.js +1 -0
  198. package/dist/sankhyablocks/p-61dd89eb.js +1 -0
  199. package/dist/sankhyablocks/p-65b6dba3.entry.js +1 -0
  200. package/dist/sankhyablocks/p-6a7bc5c8.entry.js +1 -0
  201. package/dist/sankhyablocks/p-6c9edfd8.entry.js +1 -0
  202. package/dist/sankhyablocks/p-70a4af56.entry.js +1 -0
  203. package/dist/sankhyablocks/p-89bde7d3.entry.js +1 -0
  204. package/dist/sankhyablocks/p-91dceecf.entry.js +1 -0
  205. package/dist/sankhyablocks/p-9863d682.js +1 -0
  206. package/dist/sankhyablocks/p-a40cbad8.entry.js +1 -0
  207. package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
  208. package/dist/sankhyablocks/p-b86ea293.entry.js +1 -0
  209. package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
  210. package/dist/sankhyablocks/p-cfb98f51.entry.js +1 -0
  211. package/dist/sankhyablocks/{p-247a8b36.entry.js → p-d1791da2.entry.js} +1 -1
  212. package/dist/sankhyablocks/p-d8ddb2a4.entry.js +11 -0
  213. package/dist/sankhyablocks/p-df73ac00.entry.js +1 -0
  214. package/dist/sankhyablocks/p-e27496ed.js +56 -0
  215. package/dist/sankhyablocks/p-e8763234.entry.js +1 -0
  216. package/dist/sankhyablocks/p-f92f1f5f.entry.js +1 -0
  217. package/dist/sankhyablocks/p-fa84e72f.entry.js +1 -0
  218. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  219. package/dist/types/components/snk-application/__mocks__/snk-application.d.ts +3 -0
  220. package/dist/types/components/snk-application/snk-application.d.ts +15 -0
  221. package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
  222. package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
  223. package/dist/types/components/snk-attach/snk-attach.d.ts +29 -6
  224. package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
  225. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +40 -0
  226. package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
  227. package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
  228. package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
  229. package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +16 -0
  230. package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
  231. package/dist/types/components/snk-crud/snk-crud.d.ts +21 -0
  232. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +1 -1
  233. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +6 -1
  234. package/dist/types/components/snk-data-exporter/exporter-strategy/ClientSideExporterStrategy.d.ts +13 -0
  235. package/dist/types/components/snk-data-exporter/exporter-strategy/ServerSideExporterStrategy.d.ts +11 -0
  236. package/dist/types/components/snk-data-exporter/interfaces/IExporterProvider.d.ts +21 -4
  237. package/dist/types/components/snk-data-exporter/interfaces/IExporterStrategy.d.ts +5 -0
  238. package/dist/types/components/snk-data-exporter/providers/ClientSideExporterProvider.d.ts +17 -0
  239. package/dist/types/components/snk-data-exporter/providers/ServerSideExporterProvider.d.ts +17 -0
  240. package/dist/types/components/snk-data-exporter/snk-data-exporter.d.ts +3 -1
  241. package/dist/types/components/snk-data-exporter/test/resources/ClientSideExporterStrategyResources.d.ts +77 -0
  242. package/dist/types/components/snk-data-exporter/utils/RecordIDUtils.d.ts +3 -0
  243. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +4 -0
  244. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +7 -3
  245. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +5 -0
  246. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +27 -1
  247. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +3 -1
  248. package/dist/types/components/snk-form/snk-form.d.ts +6 -1
  249. package/dist/types/components/{snk-form → snk-form-config}/SnkFormConfigManager.d.ts +2 -1
  250. package/dist/types/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.d.ts +5 -3
  251. package/dist/types/components/snk-grid/snk-grid.d.ts +19 -4
  252. package/dist/types/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.d.ts +11 -6
  253. package/dist/types/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.d.ts +1 -1
  254. package/dist/types/components/snk-simple-crud/regular-buttons.d.ts +3 -0
  255. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +98 -4
  256. package/dist/types/components/snk-taskbar/elements/taskbar-elements.d.ts +1 -1
  257. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +34 -1
  258. package/dist/types/components.d.ts +314 -12
  259. package/dist/types/lib/configs/ConfigStorage.d.ts +25 -1
  260. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +0 -2
  261. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +4 -0
  262. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  263. package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
  264. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
  265. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
  266. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
  267. package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
  268. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/DataUnitDataLoader.d.ts +2 -1
  269. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/ArrayRepository.d.ts +1 -0
  270. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/cache/PreloadManager.d.ts +1 -0
  271. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +2 -0
  272. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +1 -0
  273. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/interfaces/IExporterColumnMetadata.d.ts +1 -0
  274. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +2 -0
  275. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  276. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
  277. package/dist/types/lib/http/data-fetcher/fetchers/pesquisa-fetcher.d.ts +1 -0
  278. package/dist/types/lib/index.d.ts +1 -1
  279. package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
  280. package/package.json +15 -6
  281. package/dist/cjs/PreloadManager-84466da6.js +0 -224
  282. package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
  283. package/dist/cjs/form-config-fetcher-df043d3d.js +0 -244
  284. package/dist/cjs/pesquisa-fetcher-ef050a47.js +0 -167
  285. package/dist/cjs/snk-grid-config.cjs.entry.js +0 -483
  286. package/dist/cjs/snk-select-box.cjs.entry.js +0 -25
  287. package/dist/collection/lib/http/data-fetcher/fetchers/fetchDataExporter/index.js +0 -34
  288. package/dist/components/DataFetcher.js +0 -7021
  289. package/dist/components/field-search.js +0 -121
  290. package/dist/components/index3.js +0 -199
  291. package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
  292. package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
  293. package/dist/esm/form-config-fetcher-36219cd3.js +0 -241
  294. package/dist/esm/pesquisa-fetcher-dd3ca0a5.js +0 -165
  295. package/dist/esm/snk-grid-config.entry.js +0 -479
  296. package/dist/esm/snk-select-box.entry.js +0 -21
  297. package/dist/sankhyablocks/p-0874adb5.entry.js +0 -1
  298. package/dist/sankhyablocks/p-094c30cb.js +0 -1
  299. package/dist/sankhyablocks/p-0d7863ed.js +0 -26
  300. package/dist/sankhyablocks/p-0dca29cb.entry.js +0 -1
  301. package/dist/sankhyablocks/p-11081798.entry.js +0 -1
  302. package/dist/sankhyablocks/p-20726710.entry.js +0 -1
  303. package/dist/sankhyablocks/p-29804fc5.js +0 -60
  304. package/dist/sankhyablocks/p-32f0935f.js +0 -1
  305. package/dist/sankhyablocks/p-3520c088.entry.js +0 -1
  306. package/dist/sankhyablocks/p-374d03f6.js +0 -1
  307. package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
  308. package/dist/sankhyablocks/p-585294ee.js +0 -56
  309. package/dist/sankhyablocks/p-6977a26c.entry.js +0 -1
  310. package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
  311. package/dist/sankhyablocks/p-6d20d38c.entry.js +0 -1
  312. package/dist/sankhyablocks/p-776ee8e3.js +0 -1
  313. package/dist/sankhyablocks/p-7d51d949.entry.js +0 -11
  314. package/dist/sankhyablocks/p-809f367d.entry.js +0 -1
  315. package/dist/sankhyablocks/p-95a3778f.entry.js +0 -1
  316. package/dist/sankhyablocks/p-9695f78b.js +0 -1
  317. package/dist/sankhyablocks/p-98674137.entry.js +0 -1
  318. package/dist/sankhyablocks/p-a9e5b094.entry.js +0 -1
  319. package/dist/sankhyablocks/p-b146a9f0.entry.js +0 -1
  320. package/dist/sankhyablocks/p-bedb8ad6.entry.js +0 -1
  321. package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
  322. package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
  323. package/dist/sankhyablocks/p-ca4d337a.entry.js +0 -1
  324. package/dist/sankhyablocks/p-cb7419e0.entry.js +0 -1
  325. package/dist/sankhyablocks/p-d1f5bc50.js +0 -1
  326. package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
  327. package/dist/sankhyablocks/p-d6317851.entry.js +0 -1
  328. package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
  329. package/dist/sankhyablocks/p-e6380c60.js +0 -1
  330. package/dist/sankhyablocks/p-f2056f66.entry.js +0 -1
  331. package/dist/sankhyablocks/p-f514913b.entry.js +0 -1
  332. package/dist/sankhyablocks/p-fd8814b9.entry.js +0 -1
  333. package/dist/sankhyablocks/p-ff6064e7.js +0 -1
  334. package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
  335. package/dist/types/lib/http/data-fetcher/fetchers/fetchDataExporter/index.d.ts +0 -3
  336. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
  337. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
  338. /package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.css +0 -0
  339. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.css +0 -0
  340. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.js +0 -0
  341. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.css +0 -0
  342. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.js +0 -0
  343. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.css +0 -0
  344. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.js +0 -0
  345. /package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.css +0 -0
  346. /package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.css +0 -0
  347. /package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +0 -0
  348. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.d.ts +0 -0
  349. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.d.ts +0 -0
  350. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -0
  351. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
  352. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
  353. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
@@ -1,12 +1,266 @@
1
1
  'use strict';
2
2
 
3
3
  const core = require('@sankhyalabs/core');
4
- const DataFetcher = require('./DataFetcher-ba94ed5b.js');
4
+ const formConfigFetcher = require('./form-config-fetcher-3c4daeb5.js');
5
5
  const constants = require('@sankhyalabs/ezui/dist/collection/utils/constants');
6
6
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
7
- const PreloadManager = require('./PreloadManager-84466da6.js');
8
- const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
9
7
  const utils = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
8
+ const SortingUtils = require('@sankhyalabs/core/dist/utils/SortingUtils');
9
+ const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ const SortingUtils__default = /*#__PURE__*/_interopDefaultLegacy(SortingUtils);
14
+
15
+ class ArrayRepository {
16
+ constructor(equalsFunction) {
17
+ this._list = [];
18
+ this._equalsFunction = equalsFunction;
19
+ }
20
+ async load(filterFunction, sortingFunction, offset, limit) {
21
+ let result = [].concat(this._list);
22
+ if (filterFunction != undefined) {
23
+ result = this._list.filter(item => filterFunction(item));
24
+ }
25
+ if (sortingFunction != undefined) {
26
+ result = result.sort(sortingFunction);
27
+ }
28
+ const count = result.length;
29
+ if (limit != undefined) {
30
+ const start = offset || 0;
31
+ const end = limit ? start + limit : result.length;
32
+ result = result.slice(start, end);
33
+ }
34
+ return Promise.resolve({ result, count });
35
+ }
36
+ async distict(itemProcessor) {
37
+ const processedItems = [];
38
+ let hasEmpty = false;
39
+ for (const item of this._list) {
40
+ const processedItem = itemProcessor(item);
41
+ if (processedItem == undefined) {
42
+ continue;
43
+ }
44
+ if (processedItem.value == undefined) {
45
+ hasEmpty = true;
46
+ continue;
47
+ }
48
+ processedItems.push(processedItem);
49
+ }
50
+ if (hasEmpty) {
51
+ processedItems.push({ key: "", value: null });
52
+ }
53
+ return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
54
+ }
55
+ async push(items) {
56
+ this._list.push(...items);
57
+ }
58
+ async clear() {
59
+ this._list = [];
60
+ }
61
+ async delete(items) {
62
+ this._list = this._list.filter(item => {
63
+ for (const removed of items) {
64
+ if (this._equalsFunction(item, removed)) {
65
+ return false;
66
+ }
67
+ }
68
+ return true;
69
+ });
70
+ }
71
+ async update(items) {
72
+ this._list = this._list.map(existingItem => {
73
+ const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
74
+ return newItem == undefined ? existingItem : newItem;
75
+ });
76
+ }
77
+ async insert(itemReference, items) {
78
+ const itemPosition = this._list.indexOf(itemReference);
79
+ if (itemPosition == -1) {
80
+ this._list.push(...items);
81
+ return;
82
+ }
83
+ this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
84
+ }
85
+ isOperating() {
86
+ return true;
87
+ }
88
+ async isEmpty() {
89
+ return Promise.resolve(this._list.length === 0);
90
+ }
91
+ async count() {
92
+ return Promise.resolve(this._list.length);
93
+ }
94
+ getFromCache() {
95
+ return core.ObjectUtils.copy(this._list);
96
+ }
97
+ }
98
+
99
+ class PreloadManager {
100
+ static setLoadingStatus(dataUnit, loadingInProgress) {
101
+ this._loadingStatus.set(dataUnit.name, loadingInProgress);
102
+ }
103
+ static isCacheEnabled(_dataUnit) {
104
+ return true;
105
+ }
106
+ static cacheRecords(dataUnit, records, resetDatabase, loadingInProgress) {
107
+ PreloadManager.setLoadingStatus(dataUnit, loadingInProgress);
108
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
109
+ this.getRepository(dataUnit).push(records);
110
+ }
111
+ else {
112
+ if (resetDatabase) {
113
+ this._repositories.delete(dataUnit.name);
114
+ }
115
+ }
116
+ }
117
+ static getSortingFunction(dataUnit, sorting) {
118
+ return SortingUtils__default['default'].getSortingFunction(dataUnit, sorting);
119
+ }
120
+ static async getDistinct(dataUnit, fieldName) {
121
+ if (!PreloadManager.isCacheEnabled(dataUnit)) {
122
+ return Promise.resolve(utils.ColumnFilterManager.compileDistinct(fieldName, dataUnit));
123
+ }
124
+ let filterFunction;
125
+ const request = dataUnit.getLastLoadRequest();
126
+ if (request != undefined) {
127
+ const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, fieldName);
128
+ filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
129
+ }
130
+ return new Promise((accept, reject) => {
131
+ PreloadManager.getRepository(dataUnit).distict(record => {
132
+ if (filterFunction != undefined && !filterFunction(record)) {
133
+ return undefined;
134
+ }
135
+ const fieldValue = record[fieldName];
136
+ if (fieldValue == undefined) {
137
+ return { key: null, value: null };
138
+ }
139
+ const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
140
+ return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
141
+ })
142
+ .then(result => {
143
+ if (result == undefined) {
144
+ accept(undefined);
145
+ return;
146
+ }
147
+ accept(Array.from(result.entries()).map(([label, value]) => ({ label, value, check: true })));
148
+ })
149
+ .catch(reason => reject(reason));
150
+ });
151
+ }
152
+ static async loadData(dataUnit, request, loadFromServer) {
153
+ try {
154
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
155
+ const useCache = [
156
+ "EZ_GRID_LOADING_SOURCE",
157
+ core.DataUnit.CHANGING_PAGE_LOADING_SOURCE,
158
+ core.DataUnit.ALL_RECORDS_SELECTION_SOURCE
159
+ ].includes(request.source);
160
+ if (useCache) {
161
+ const isCacheEmpty = await PreloadManager.getRepository(dataUnit).isEmpty();
162
+ if (!isCacheEmpty) {
163
+ return PreloadManager.loadFromCache(dataUnit, request);
164
+ }
165
+ }
166
+ //Como não vamos aproveitar o cache, ele precisa ser limpo.
167
+ PreloadManager.getRepository(dataUnit).clear().catch(() => { });
168
+ }
169
+ return loadFromServer(dataUnit, request);
170
+ }
171
+ catch (error) {
172
+ console.error(error);
173
+ return Promise.reject(error);
174
+ }
175
+ }
176
+ static insertRecords(dataUnit, reference, records) {
177
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
178
+ PreloadManager.getRepository(dataUnit).insert(reference, records);
179
+ }
180
+ }
181
+ static updateRecords(dataUnit, records) {
182
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
183
+ PreloadManager.getRepository(dataUnit).update(records);
184
+ }
185
+ }
186
+ static removeRecords(dataUnit, records) {
187
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
188
+ PreloadManager.getRepository(dataUnit).delete(records);
189
+ }
190
+ }
191
+ static async countRecords(dataUnit) {
192
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
193
+ return PreloadManager.getRepository(dataUnit).count();
194
+ }
195
+ return Promise.resolve(0);
196
+ }
197
+ static getRepository(dataUnit) {
198
+ const name = dataUnit.name;
199
+ if (!PreloadManager._repositories.has(name)) {
200
+ PreloadManager._repositories.set(name, new ArrayRepository((recordA, recordB) => recordA.__record__id__ === recordB.__record__id__));
201
+ }
202
+ return PreloadManager._repositories.get(name);
203
+ }
204
+ static async loadFromCache(dataUnit, request) {
205
+ return new Promise((accept, reject) => {
206
+ const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, "");
207
+ const { limit, offset, sort } = request;
208
+ PreloadManager.getRepository(dataUnit)
209
+ .load(utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
210
+ .then(loadResult => {
211
+ const stillLoading = PreloadManager._loadingStatus.get(dataUnit.name);
212
+ const { count, result: records } = loadResult;
213
+ const firstRecord = count == 0 ? 0 : offset + 1;
214
+ const lastRecord = offset + Math.min(records.length, limit);
215
+ const currentPage = offset / limit;
216
+ const paginationInfo = {
217
+ count, currentPage, firstRecord, lastRecord,
218
+ hasMore: stillLoading || (lastRecord < count),
219
+ total: stillLoading ? undefined : count
220
+ };
221
+ accept({ records, paginationInfo });
222
+ })
223
+ .catch(reason => reject(reason));
224
+ });
225
+ }
226
+ static getCachedRecords(dataUnit) {
227
+ return PreloadManager.getRepository(dataUnit).getFromCache();
228
+ }
229
+ }
230
+ PreloadManager._repositories = new Map();
231
+ PreloadManager._loadingStatus = new Map();
232
+
233
+ function applyFilter(records, dataUnit, filters) {
234
+ const columnFilters = utils.ColumnFilterManager.getColumnFilters(filters, "");
235
+ if (!(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.size)) {
236
+ return records;
237
+ }
238
+ const filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
239
+ if (filterFunction == undefined) {
240
+ return records;
241
+ }
242
+ return records.filter(filterFunction);
243
+ }
244
+ function applySorting(records, dataUnit, sorting) {
245
+ if (sorting == undefined || sorting.length == 0) {
246
+ return records;
247
+ }
248
+ const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
249
+ if (sortingFunction == undefined) {
250
+ return records;
251
+ }
252
+ return records.sort(sortingFunction);
253
+ }
254
+ function buildPaginationInfo(records, offset = 0, limit = 0) {
255
+ const lastRecord = Math.min(offset + limit, records === null || records === void 0 ? void 0 : records.length);
256
+ return {
257
+ currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
258
+ firstRecord: offset,
259
+ lastRecord: lastRecord,
260
+ total: records === null || records === void 0 ? void 0 : records.length,
261
+ hasMore: !!((records === null || records === void 0 ? void 0 : records.length) - lastRecord),
262
+ };
263
+ }
10
264
 
11
265
  class InMemoryLoader {
12
266
  constructor(metadata, records) {
@@ -23,6 +277,10 @@ class InMemoryLoader {
23
277
  if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
24
278
  this._initialRecords = this.dataUnit.records;
25
279
  }
280
+ const addedRecords = this.dataUnit.getAddedRecords();
281
+ if (addedRecords) {
282
+ return [...this._initialRecords, ...addedRecords];
283
+ }
26
284
  return this._initialRecords;
27
285
  }
28
286
  get dataUnit() {
@@ -65,7 +323,7 @@ class InMemoryLoader {
65
323
  this._initialRecords = newRecords;
66
324
  if (this._dataUnit) {
67
325
  //Isso força o refresh internamente no datunit
68
- this._dataUnit.gotoPage(0);
326
+ this._dataUnit.loadData();
69
327
  }
70
328
  }
71
329
  get metadata() {
@@ -81,30 +339,9 @@ class InMemoryLoader {
81
339
  return core.StringUtils.generateUUID();
82
340
  }
83
341
  inMemoryLoader(dataUnit, request, recordsIn) {
84
- let records = this.applyFilter(recordsIn, dataUnit, request.filters);
85
- records = this.applySorting(records, dataUnit, request.sort);
86
- return Promise.resolve({ records, paginationInfo: buildPaginationInfo(request, records) });
87
- }
88
- applyFilter(records, dataUnit, filters) {
89
- const columnFilters = utils.ColumnFilterManager.getColumnFilters(filters, "");
90
- if (columnFilters == undefined || columnFilters.size == 0) {
91
- return records;
92
- }
93
- const filterFunciton = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
94
- if (filterFunciton == undefined) {
95
- return records;
96
- }
97
- return records.filter(filterFunciton);
98
- }
99
- applySorting(records, dataUnit, sorting) {
100
- if (sorting == undefined || sorting.length == 0) {
101
- return records;
102
- }
103
- const sortingFunction = PreloadManager.PreloadManager.getSortingFunction(dataUnit, sorting);
104
- if (sortingFunction == undefined) {
105
- return records;
106
- }
107
- return records.sort(sortingFunction);
342
+ let records = applyFilter(recordsIn, dataUnit, request.filters);
343
+ records = applySorting(records, dataUnit, request.sort);
344
+ return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
108
345
  }
109
346
  metadaLoader() {
110
347
  return Promise.resolve(this._metadata);
@@ -137,50 +374,45 @@ class InMemoryLoader {
137
374
  }
138
375
  }
139
376
  InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
140
- function buildPaginationInfo({ offset, limit }, records) {
141
- if (offset === undefined || limit === undefined) {
142
- return undefined;
143
- }
144
- const lastRecord = Math.min(offset + limit, records.length);
145
- return {
146
- currentPage: Math.ceil(offset / limit),
147
- firstRecord: offset,
148
- lastRecord: lastRecord,
149
- total: records.length,
150
- hasMore: !!(records.length - lastRecord),
151
- };
152
- }
153
377
 
154
378
  class DatasetStrategy {
155
379
  canSlice() {
156
380
  return false;
157
381
  }
382
+ processSortingSide(request, dataUnit, serverSideFilters) {
383
+ var _a;
384
+ const localSorting = [];
385
+ const serverSorting = [];
386
+ if (request.sort != undefined) {
387
+ if (serverSideFilters.length === 0) {
388
+ return { localSorting: request.sort, serverSorting: [] };
389
+ }
390
+ for (const sort of request.sort) {
391
+ const descriptor = dataUnit.getField(sort.field);
392
+ const local = ((_a = descriptor === null || descriptor === void 0 ? void 0 : descriptor.properties) === null || _a === void 0 ? void 0 : _a.calculated) === "true" || (descriptor === null || descriptor === void 0 ? void 0 : descriptor.userInterface) === core.UserInterface.LONGTEXT;
393
+ if (local) {
394
+ localSorting.push(sort);
395
+ }
396
+ else {
397
+ serverSorting.push(sort);
398
+ }
399
+ }
400
+ }
401
+ return { localSorting, serverSorting };
402
+ }
158
403
  async load(dataUnit, request, loadingInfo) {
404
+ var _a, _b;
159
405
  if (dataUnit.metadata == undefined) {
160
406
  return Promise.resolve({ records: [], loadingInfo });
161
407
  }
162
408
  try {
163
- const localSorting = [];
164
- const serverSorting = [];
165
- if (request.sort != undefined) {
166
- for (const sort of request.sort) {
167
- const descriptor = dataUnit.getField(sort.field);
168
- const local = descriptor != undefined
169
- && descriptor.properties != undefined
170
- && descriptor.properties.calculated === "true";
171
- if (local) {
172
- localSorting.push(sort);
173
- }
174
- else {
175
- serverSorting.push(sort);
176
- }
177
- }
178
- }
409
+ const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
410
+ const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
179
411
  const fields = this.getFieldsList(dataUnit);
180
412
  const serviceName = "DatasetSP.loadRecords";
181
- const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
413
+ const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
182
414
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
183
- const { result: responseRecords, pagerID: pagerId } = await DataFetcher.DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
415
+ const { result: responseRecords, pagerID: pagerId } = await formConfigFetcher.DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
184
416
  const records = this.processRecords(dataUnit, fields, responseRecords);
185
417
  const loadingInProgress = pagerId != undefined;
186
418
  const count = loadingInfo.count + records.length;
@@ -222,7 +454,7 @@ class DatasetStrategy {
222
454
  }
223
455
  return [descriptor.name, descriptionField];
224
456
  }
225
- buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
457
+ buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
226
458
  const dataSetID = dataUnit.dataUnitId;
227
459
  const dataUnitName = dataUnit.name;
228
460
  const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
@@ -241,7 +473,7 @@ class DatasetStrategy {
241
473
  tryJoinedFields: true,
242
474
  parallelLoader: useParallelLoader,
243
475
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
244
- txProperties: this.getTxProperties(dataUnitName, request, sorting),
476
+ txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
245
477
  useDefaultRowsLimit: false
246
478
  }
247
479
  };
@@ -252,12 +484,10 @@ class DatasetStrategy {
252
484
  const moduleName = app.getModuleName();
253
485
  return moduleName.replace("-bff", "");
254
486
  }
255
- getTxProperties(dataUnitName, request, sorting) {
256
- var _a, _b;
487
+ getTxProperties(dataUnit, request, sorting, serverSideFilters) {
257
488
  const txProperties = {
258
- "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnitName
489
+ "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
259
490
  };
260
- const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
261
491
  if (serverSideFilters.length !== 0) {
262
492
  txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
263
493
  }
@@ -267,6 +497,13 @@ class DatasetStrategy {
267
497
  if (request.parentRecordId != undefined) {
268
498
  txProperties["__DATA_UNIT_ADAPTER__[parentRecordId]"] = request.parentRecordId;
269
499
  }
500
+ const loaderProps = dataUnit.getGlobalLoaderProps();
501
+ if (loaderProps == undefined || loaderProps.size === 0) {
502
+ return txProperties;
503
+ }
504
+ Array.from(loaderProps.entries()).forEach(([name, value]) => {
505
+ txProperties[name] = value;
506
+ });
270
507
  return txProperties;
271
508
  }
272
509
  processRecords(dataUnit, fields, responseRecords) {
@@ -330,12 +567,15 @@ class DataUnitDataLoader {
330
567
  static async loadData(dataUnit, request) {
331
568
  return new Promise((resolve, reject) => {
332
569
  DataUnitDataLoader.debounce(dataUnit, () => {
333
- PreloadManager.PreloadManager.loadData(dataUnit, request, this.loadFromServer)
570
+ PreloadManager.loadData(dataUnit, request, this.loadFromServer)
334
571
  .then(resp => resolve(resp))
335
572
  .catch(reason => reject(reason));
336
573
  });
337
574
  });
338
575
  }
576
+ static getCachedRecords(dataUnit) {
577
+ return PreloadManager.getCachedRecords(dataUnit);
578
+ }
339
579
  static async loadFromServer(dataUnit, request, loadingInfo) {
340
580
  try {
341
581
  //Registramos a request com as informações de carga para determinarmos a última.
@@ -367,8 +607,8 @@ class DataUnitDataLoader {
367
607
  return Promise.resolve(undefined);
368
608
  }
369
609
  const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
370
- PreloadManager.PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
371
- if (PreloadManager.PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
610
+ PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
611
+ if (PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
372
612
  const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
373
613
  const newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
374
614
  this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
@@ -378,7 +618,7 @@ class DataUnitDataLoader {
378
618
  return Promise.resolve(result);
379
619
  }
380
620
  static afterLoadingPage(dataUnit, loadingInfo) {
381
- PreloadManager.PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
621
+ PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
382
622
  const dataUnitPagination = dataUnit.getPaginationInfo();
383
623
  if (dataUnitPagination == undefined) {
384
624
  return;
@@ -450,7 +690,7 @@ class DataUnitFetcher {
450
690
  this.buldTemplates();
451
691
  }
452
692
  buldTemplates() {
453
- this.templateByQuery.set("fetchDataUnit", DataFetcher.dist.gql `query($name: String!) {
693
+ this.templateByQuery.set("fetchDataUnit", formConfigFetcher.dist.gql `query($name: String!) {
454
694
  $queryAlias$: fetchDataUnit(name: $name){
455
695
  name
456
696
  fields{
@@ -486,7 +726,7 @@ class DataUnitFetcher {
486
726
  }
487
727
  }
488
728
  }`);
489
- this.templateByQuery.set("saveData", DataFetcher.dist.gql `mutation($changes: [InputBatchChange!]!) {
729
+ this.templateByQuery.set("saveData", formConfigFetcher.dist.gql `mutation($changes: [InputBatchChange!]!) {
490
730
  $queryAlias$: batchOperationDataUnit(changes: $changes){
491
731
  oldId
492
732
  id
@@ -498,7 +738,7 @@ class DataUnitFetcher {
498
738
  }
499
739
  }
500
740
  }`);
501
- this.templateByQuery.set("fetchDataRecord", DataFetcher.dist.gql `query($dataunit: String! $recordID: [String!]) {
741
+ this.templateByQuery.set("fetchDataRecord", formConfigFetcher.dist.gql `query($dataunit: String! $recordID: [String!]) {
502
742
  $queryAlias$: fetchDataUnit(name: $dataunit){
503
743
  record(id: $recordID){
504
744
  id
@@ -510,7 +750,7 @@ class DataUnitFetcher {
510
750
  }
511
751
  }
512
752
  }`);
513
- this.templateByQuery.set("fetchDistinctColumn", DataFetcher.dist.gql `query($dataUnit: String!, $fieldName: String!, $argument: String, $filters: [InputFilter], $parentRecordId: String) {
753
+ this.templateByQuery.set("fetchDistinctColumn", formConfigFetcher.dist.gql `query($dataUnit: String!, $fieldName: String!, $argument: String, $filters: [InputFilter], $parentRecordId: String) {
514
754
  $queryAlias$: selectDistinct(dataUnit: $dataUnit, fieldName: $fieldName, argument: $argument, filters: $filters, parentRecordId: $parentRecordId)
515
755
  }`);
516
756
  }
@@ -525,9 +765,9 @@ class DataUnitFetcher {
525
765
  return { entityName: parts[1], resourceID: parts[2] };
526
766
  }
527
767
  getDataUnit(entityName, resourceID, parentDataUnit, configName) {
528
- if (PreloadManager.PreloadManager.applicationResourceID == undefined) {
768
+ if (PreloadManager.applicationResourceID == undefined) {
529
769
  //Por falta de um lugar melhor pra iniciar essa variável, fazemos isso aqui.
530
- ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.PreloadManager.applicationResourceID = resourceID);
770
+ ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.applicationResourceID = resourceID);
531
771
  }
532
772
  const duName = `dd://${entityName}/${resourceID}${configName ? "/" + configName : ""}`;
533
773
  const dataUnit = parentDataUnit != undefined ? parentDataUnit.getChildDataunit(duName) : new core.DataUnit(duName);
@@ -536,11 +776,12 @@ class DataUnitFetcher {
536
776
  dataUnit.saveLoader = (_dataUnit, changes) => this.saveData(dataUnit, changes);
537
777
  dataUnit.removeLoader = (dataUnit, recordIds) => this.removeRecords(dataUnit, recordIds);
538
778
  dataUnit.recordLoader = (dataUnit, recordIds) => this.loadRecord(dataUnit, recordIds);
779
+ dataUnit.allRecordsLoader = (dataUnit) => DataUnitDataLoader.getCachedRecords(dataUnit);
539
780
  return dataUnit;
540
781
  }
541
782
  loadMetadata(dataUnit) {
542
783
  return new Promise((resolve, reject) => {
543
- DataFetcher.DataFetcher.get()
784
+ formConfigFetcher.DataFetcher.get()
544
785
  .callGraphQL({
545
786
  values: { name: dataUnit.name },
546
787
  query: this.templateByQuery.get("fetchDataUnit"),
@@ -583,7 +824,7 @@ class DataUnitFetcher {
583
824
  filters: filteredFilters
584
825
  };
585
826
  return new Promise((resolve, reject) => {
586
- DataFetcher.DataFetcher.get()
827
+ formConfigFetcher.DataFetcher.get()
587
828
  .callGraphQL({
588
829
  values,
589
830
  query: this.templateByQuery.get("fetchDistinctColumn"),
@@ -596,14 +837,41 @@ class DataUnitFetcher {
596
837
  });
597
838
  });
598
839
  }
840
+ addTransientProperties(dataUnit, updatingFields) {
841
+ const loaderProps = dataUnit.getGlobalLoaderProps();
842
+ if (loaderProps == undefined || loaderProps.size === 0) {
843
+ return updatingFields;
844
+ }
845
+ if (updatingFields == undefined) {
846
+ updatingFields = {};
847
+ }
848
+ Array.from(loaderProps.entries()).forEach(([name, value]) => {
849
+ updatingFields[`transient.${name}`] = value;
850
+ });
851
+ return updatingFields;
852
+ }
853
+ getUpdatingFields(dataUnit, originalUpdatingFields) {
854
+ if (originalUpdatingFields == undefined) {
855
+ return;
856
+ }
857
+ const updatingFields = Object.assign({}, originalUpdatingFields);
858
+ Object.keys(updatingFields).forEach(key => {
859
+ const descriptor = dataUnit.getField(key);
860
+ if (descriptor != undefined && descriptor.standAlone) {
861
+ delete updatingFields[key];
862
+ }
863
+ });
864
+ return this.addTransientProperties(dataUnit, updatingFields);
865
+ }
599
866
  saveData(dataUnit, duChanges) {
600
867
  const updatedRecordsIds = [];
601
868
  const addedRecordsIds = [];
602
869
  const changes = duChanges.map((change) => {
603
- const { dataUnit: changeDU, record, updatingFields, operation } = change;
870
+ const { dataUnit: changeDU, record, operation } = change;
604
871
  const dataUnitInstance = core.DataUnitStorage.get(changeDU);
872
+ const updatingFields = this.getUpdatingFields(dataUnitInstance, change.updatingFields);
605
873
  let parsedUpdatingFields;
606
- if (updatingFields) {
874
+ if (updatingFields != undefined) {
607
875
  parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
608
876
  const descriptor = dataUnitInstance.getField(fieldName);
609
877
  const dataType = descriptor ? descriptor.dataType : core.DataType.TEXT;
@@ -632,7 +900,7 @@ class DataUnitFetcher {
632
900
  var rest = __rest(_a, []);
633
901
  return rest;
634
902
  });
635
- DataFetcher.DataFetcher.get()
903
+ formConfigFetcher.DataFetcher.get()
636
904
  .callGraphQL({
637
905
  values: { changes: changesFormatted },
638
906
  query: this.templateByQuery.get("saveData"),
@@ -651,7 +919,8 @@ class DataUnitFetcher {
651
919
  }
652
920
  responseRecord.fields.forEach(({ name, value }) => {
653
921
  var _a;
654
- duRecord[name] = ((_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value)) || value;
922
+ const valueFromString = (_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value);
923
+ duRecord[name] = (valueFromString !== undefined) ? valueFromString : value;
655
924
  });
656
925
  dataUnitRecords.push(duRecord);
657
926
  });
@@ -672,10 +941,10 @@ class DataUnitFetcher {
672
941
  });
673
942
  if (addedRecords.length > 0) {
674
943
  const firstRecord = dataUnit.records[0];
675
- PreloadManager.PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
944
+ PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
676
945
  }
677
946
  const updatedRecords = toUpdate.map(recordId => (Object.assign({}, recordsById.get(recordId))));
678
- PreloadManager.PreloadManager.updateRecords(dataUnit, updatedRecords);
947
+ PreloadManager.updateRecords(dataUnit, updatedRecords);
679
948
  }
680
949
  getTransientInfo(dataUnit, recordID) {
681
950
  const { records } = dataUnit.getSelectionInfo();
@@ -686,13 +955,13 @@ class DataUnitFetcher {
686
955
  return { dataUnit: dataUnit.name, operation: core.ChangeOperation.DELETE, recordId, fields: this.getTransientInfo(dataUnit, recordId) };
687
956
  });
688
957
  return new Promise((resolve, reject) => {
689
- DataFetcher.DataFetcher.get()
958
+ formConfigFetcher.DataFetcher.get()
690
959
  .callGraphQL({
691
960
  values: { changes: changes },
692
961
  query: this.templateByQuery.get("saveData"),
693
962
  })
694
963
  .then((_resp) => {
695
- PreloadManager.PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
964
+ PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
696
965
  resolve(recordIds);
697
966
  })
698
967
  .catch((error) => {
@@ -702,7 +971,7 @@ class DataUnitFetcher {
702
971
  }
703
972
  loadRecord(dataUnit, recordIds) {
704
973
  return new Promise((resolve, reject) => {
705
- DataFetcher.DataFetcher.get()
974
+ formConfigFetcher.DataFetcher.get()
706
975
  .callGraphQL({
707
976
  values: { recordID: recordIds, dataunit: dataUnit.name },
708
977
  query: this.templateByQuery.get("fetchDataRecord"),
@@ -726,5 +995,170 @@ class DataUnitFetcher {
726
995
  }
727
996
  }
728
997
 
998
+ class PesquisaFetcher {
999
+ constructor() {
1000
+ this._defaultPageSize = 100;
1001
+ this._templateByQuery = new Map();
1002
+ this._searchListenersByDataUnit = new Map();
1003
+ this.buldTemplates();
1004
+ }
1005
+ buldTemplates() {
1006
+ this._templateByQuery.set("search", formConfigFetcher.dist.gql `query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
1007
+ $queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria options: $options){
1008
+ value
1009
+ label
1010
+ }
1011
+ }`);
1012
+ }
1013
+ loadSearchOptions(entityName, argument, criteria, options) {
1014
+ var _a;
1015
+ const cleanText = (argument === null || argument === void 0 ? void 0 : argument.toString().trim()) || undefined;
1016
+ argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
1017
+ criteria === null || criteria === void 0 ? void 0 : criteria.params.forEach(param => {
1018
+ if (param.dataType === core.DataType.OBJECT) {
1019
+ param.value = JSON.stringify(param.value);
1020
+ }
1021
+ });
1022
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, options);
1023
+ const values = {
1024
+ argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
1025
+ entityName,
1026
+ criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
1027
+ options: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || options,
1028
+ };
1029
+ if (values.options) {
1030
+ (_a = values.options) === null || _a === void 0 ? true : delete _a.dataUnitId;
1031
+ }
1032
+ return new Promise((resolve, reject) => {
1033
+ formConfigFetcher.DataFetcher.get()
1034
+ .callGraphQL({
1035
+ values,
1036
+ query: this._templateByQuery.get("search"),
1037
+ })
1038
+ .then((result) => {
1039
+ resolve(result);
1040
+ })
1041
+ .catch((error) => {
1042
+ reject(error);
1043
+ });
1044
+ });
1045
+ }
1046
+ loadAdvancedSearch(entityName, argument, criteria, searchOptions) {
1047
+ var _a, _b, _c, _d, _e;
1048
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
1049
+ const values = {
1050
+ argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
1051
+ criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
1052
+ searchOptions: Object.assign(Object.assign({}, searchOptions), listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions),
1053
+ };
1054
+ const serviceName = "PesquisaSP.getSuggestion";
1055
+ const externalCriteria = {
1056
+ query: {
1057
+ $: (_a = values.criteria) === null || _a === void 0 ? void 0 : _a.expression
1058
+ }
1059
+ };
1060
+ if (((_c = (_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.length) > 0) {
1061
+ externalCriteria.params = {
1062
+ param: values.criteria.params.map(param => {
1063
+ let value = param.value;
1064
+ if (typeof value === "string") {
1065
+ const match = /CTX\{([^}]+)\}/.exec(value);
1066
+ if (match) {
1067
+ value = core.ApplicationContext.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${match[1]})__`);
1068
+ }
1069
+ }
1070
+ let type = param.dataType;
1071
+ if (type === core.DataType.OBJECT) {
1072
+ value = value.value;
1073
+ type = "S";
1074
+ }
1075
+ else {
1076
+ type = convertParamType(param.dataType);
1077
+ }
1078
+ return { $: value, type };
1079
+ })
1080
+ };
1081
+ }
1082
+ const options = searchOptions != undefined
1083
+ ? Object.assign(Object.assign({}, values === null || values === void 0 ? void 0 : values.searchOptions), { "pkFieldName": searchOptions.codeFieldName, "label": searchOptions.descriptionFieldName, "fieldName": searchOptions.codeFieldName, "useDescriptionOptions": false, "enableRowsCounter": true }) : undefined;
1084
+ const reqBody = {
1085
+ "serviceName": serviceName,
1086
+ "requestBody": {
1087
+ "criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": (_d = options === null || options === void 0 ? void 0 : options.ignoreEntityCriteria) !== null && _d !== void 0 ? _d : false, "limit": this._defaultPageSize, "query": { "$": values.argument }, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (_e = values.searchOptions) === null || _e === void 0 ? void 0 : _e.rootEntity }, { options }),
1088
+ "clientEventList": {
1089
+ "clientEvent": []
1090
+ }
1091
+ }
1092
+ };
1093
+ return new Promise((resolve, reject) => {
1094
+ formConfigFetcher.DataFetcher.get()
1095
+ .callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody))
1096
+ .then(result => resolve(result))
1097
+ .catch(error => reject(error));
1098
+ });
1099
+ }
1100
+ addSearchListener(entityName, dataUnitID, listener) {
1101
+ var _a;
1102
+ const dataUnitSearchListeners = this._searchListenersByDataUnit.get(dataUnitID) || [];
1103
+ const entityListener = dataUnitSearchListeners.find(currentListener => currentListener.entity === entityName);
1104
+ if (!entityListener) {
1105
+ this._searchListenersByDataUnit.set(dataUnitID, [...dataUnitSearchListeners, { entity: entityName, listener }]);
1106
+ }
1107
+ else {
1108
+ for (const type of Object.keys(listener)) {
1109
+ if (type in entityListener.listener) {
1110
+ const listenerFunctionIsEquals = ((_a = entityListener.listener[type]) === null || _a === void 0 ? void 0 : _a.toString()) === listener[type].toString();
1111
+ if (listenerFunctionIsEquals)
1112
+ continue;
1113
+ entityListener.listener[type] = listener[type];
1114
+ }
1115
+ }
1116
+ }
1117
+ return () => {
1118
+ const newListeners = dataUnitSearchListeners.filter(currentListener => currentListener.entity !== entityName);
1119
+ if (!newListeners.length) {
1120
+ this._searchListenersByDataUnit.delete(dataUnitID);
1121
+ return;
1122
+ }
1123
+ this._searchListenersByDataUnit.set(dataUnitID, newListeners);
1124
+ };
1125
+ }
1126
+ applySearchListener(listenerType, entityName, argument, criteria, searchOptions) {
1127
+ var _a;
1128
+ const dataUnitId = searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.dataUnitId;
1129
+ if (!dataUnitId)
1130
+ return;
1131
+ const entityListener = (_a = this._searchListenersByDataUnit.get(dataUnitId)) === null || _a === void 0 ? void 0 : _a.find(({ entity }) => entity === entityName);
1132
+ if (!entityListener)
1133
+ return;
1134
+ const { listener } = entityListener;
1135
+ if (!(listenerType in listener))
1136
+ return;
1137
+ return listener[listenerType]({ argument, criteria, searchOptions });
1138
+ }
1139
+ }
1140
+ function convertParamType(dataType) {
1141
+ //Alerta: Cuidado pra não contaminar o DataType com a implementação
1142
+ //atual da pesquisa... em geral, somente inteiros,
1143
+ //data (com ou sem hora) e string são realmente relevantes
1144
+ switch (dataType) {
1145
+ case core.DataType.NUMBER:
1146
+ return "I";
1147
+ case core.DataType.DATE:
1148
+ return "D";
1149
+ default:
1150
+ return "S";
1151
+ }
1152
+ }
1153
+ var SearchListenerType;
1154
+ (function (SearchListenerType) {
1155
+ SearchListenerType["beforeSearch"] = "beforeSearch";
1156
+ })(SearchListenerType || (SearchListenerType = {}));
1157
+
729
1158
  exports.DataUnitFetcher = DataUnitFetcher;
730
1159
  exports.InMemoryLoader = InMemoryLoader;
1160
+ exports.PesquisaFetcher = PesquisaFetcher;
1161
+ exports.PreloadManager = PreloadManager;
1162
+ exports.applyFilter = applyFilter;
1163
+ exports.applySorting = applySorting;
1164
+ exports.buildPaginationInfo = buildPaginationInfo;