@sankhyalabs/sankhyablocks 8.15.0-dev.9 → 8.15.0-rc.10

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 (295) hide show
  1. package/dist/cjs/{ConfigStorage-302bbbd4.js → ConfigStorage-34be11ce.js} +70 -7
  2. package/dist/cjs/{DataFetcher-ba94ed5b.js → DataFetcher-99f0f6ed.js} +5 -3
  3. package/dist/cjs/{ISave-d68ce3cd.js → ISave-e91b70a7.js} +1 -0
  4. package/dist/cjs/{SnkFormConfigManager-71c4768e.js → SnkFormConfigManager-6211fb28.js} +7 -2
  5. package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-141aa18d.js} +15 -1
  6. package/dist/cjs/SnkMultiSelectionListDataSource-5213120b.js +140 -0
  7. package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-5161d082.js} +1 -1
  8. package/dist/cjs/{form-config-fetcher-df043d3d.js → form-config-fetcher-9f1a13ca.js} +1 -1
  9. package/dist/cjs/index-f9e81701.js +2 -10
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/{dataunit-fetcher-353e4af2.js → pesquisa-fetcher-94f6b316.js} +439 -39
  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} +524 -8
  14. package/dist/cjs/snk-application.cjs.entry.js +44 -10
  15. package/dist/cjs/snk-attach.cjs.entry.js +392 -62
  16. package/dist/cjs/snk-crud.cjs.entry.js +17 -12
  17. package/dist/cjs/snk-data-exporter.cjs.entry.js +9 -5
  18. package/dist/cjs/{snk-data-unit-1bc69073.js → snk-data-unit-6026a9f7.js} +1 -1
  19. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -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 +44 -8
  23. package/dist/cjs/snk-filter-item.cjs.entry.js +4 -47
  24. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -3
  25. package/dist/cjs/snk-filter-modal.cjs.entry.js +2 -1
  26. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +2 -1
  27. package/dist/cjs/snk-form-config.cjs.entry.js +47 -27
  28. package/dist/cjs/snk-form.cjs.entry.js +11 -4
  29. package/dist/cjs/snk-grid.cjs.entry.js +40 -22
  30. package/dist/cjs/{snk-guides-viewer-e60ccc5e.js → snk-guides-viewer-508bb6fe.js} +16 -11
  31. package/dist/cjs/snk-guides-viewer.cjs.entry.js +8 -10
  32. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +3 -1
  33. package/dist/cjs/snk-personalized-filter.cjs.entry.js +3 -3
  34. package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
  35. package/dist/cjs/snk-simple-crud.cjs.entry.js +229 -27
  36. package/dist/cjs/snk-taskbar.cjs.entry.js +100 -14
  37. package/dist/cjs/{taskbar-elements-01b85b99.js → taskbar-elements-3ecd1278.js} +9 -9
  38. package/dist/collection/collection-manifest.json +6 -6
  39. package/dist/collection/components/snk-application/__mocks__/snk-application.js +7 -0
  40. package/dist/collection/components/snk-application/snk-application.js +85 -2
  41. package/dist/collection/components/snk-attach/snk-attach.js +188 -39
  42. package/dist/collection/components/snk-attach/structure/{crud-config-builder.js → builder/anexo-sistema-crud-config.builder.js} +1 -1
  43. package/dist/collection/components/snk-attach/structure/builder/attach-crud-config.builder.js +62 -0
  44. package/dist/collection/components/snk-attach/structure/{taskbar-builder.js → builder/taskbar-builder.js} +1 -1
  45. package/dist/collection/components/snk-attach/structure/fetcher/facade/fetcher.facade.js +1 -0
  46. package/dist/collection/components/snk-attach/structure/{data-unit-builder.js → fetcher/factory/anexo-sistema-data-unit.factory.js} +14 -11
  47. package/dist/collection/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.js +111 -0
  48. package/dist/collection/components/snk-attach/structure/index.js +6 -3
  49. package/dist/collection/components/snk-crud/snk-crud.js +95 -3
  50. package/dist/collection/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.js +2 -2
  51. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.css +11 -2
  52. package/dist/collection/components/snk-crud/subcomponents/snk-guides-viewer.js +27 -3
  53. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +6 -2
  54. package/dist/collection/components/snk-entity-list/snk-entity-list.js +5 -3
  55. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +2 -1
  56. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -1
  57. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +4 -47
  58. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +19 -1
  59. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +23 -1
  60. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +137 -3
  61. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
  62. package/dist/collection/components/snk-form/snk-form.js +25 -1
  63. package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +6 -1
  64. package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.js +50 -30
  65. package/dist/collection/components/snk-grid/snk-grid.js +103 -16
  66. package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.js +130 -123
  67. package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.js +1 -1
  68. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +2 -4
  69. package/dist/collection/components/snk-simple-crud/regular-buttons.js +3 -0
  70. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +5 -0
  71. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +378 -18
  72. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +4 -2
  73. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +9 -9
  74. package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
  75. package/dist/collection/components/snk-taskbar/snk-taskbar.js +139 -13
  76. package/dist/collection/lib/configs/ConfigStorage.js +63 -3
  77. package/dist/collection/lib/dataUnit/InMemoryLoader.js +1 -1
  78. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +5 -3
  79. package/dist/collection/lib/http/data-fetcher/fetchers/{attach-fetcher.js → AttachFetcher/anexo-sistema-fetcher.js} +16 -15
  80. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.js +90 -0
  81. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js +1 -0
  82. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/index.js +2 -0
  83. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDelete.js +1 -0
  84. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js +1 -0
  85. package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.js +1 -0
  86. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +17 -3
  87. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +29 -22
  88. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +21 -0
  89. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +6 -3
  90. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +11 -12
  91. package/dist/collection/lib/index.js +1 -1
  92. package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
  93. package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +2 -1
  94. package/dist/collection/lib/utils/CrudUtils.js +13 -1
  95. package/dist/components/ConfigStorage.js +68 -5
  96. package/dist/components/DataFetcher.js +5 -3
  97. package/dist/components/SnkFormConfigManager.js +5 -0
  98. package/dist/components/SnkMessageBuilder.js +15 -1
  99. package/dist/components/dataunit-fetcher.js +58 -38
  100. package/dist/components/field-search.js +93 -3
  101. package/dist/components/index.d.ts +6 -6
  102. package/dist/components/snk-actions-button2.js +1 -0
  103. package/dist/components/snk-application2.js +41 -2
  104. package/dist/components/snk-attach2.js +448 -69
  105. package/dist/components/snk-crud.js +15 -3
  106. package/dist/components/snk-data-exporter2.js +6 -2
  107. package/dist/components/snk-detail-view2.js +40 -7
  108. package/dist/components/snk-entity-list.js +5 -3
  109. package/dist/components/snk-filter-bar2.js +47 -6
  110. package/dist/components/snk-filter-item2.js +4 -47
  111. package/dist/components/snk-filter-modal.js +4 -2
  112. package/dist/components/snk-filter-multi-select.js +2 -1
  113. package/dist/components/snk-form-config2.js +46 -26
  114. package/dist/components/snk-form.js +8 -0
  115. package/dist/components/snk-grid-config2.js +128 -102
  116. package/dist/components/snk-grid2.js +41 -17
  117. package/dist/components/snk-personalized-filter-editor.js +3 -1
  118. package/dist/components/snk-pesquisa2.js +1 -1
  119. package/dist/components/snk-simple-crud2.js +285 -29
  120. package/dist/components/snk-taskbar2.js +114 -24
  121. package/dist/components/taskbar-actions-button2.js +4 -2
  122. package/dist/esm/{ConfigStorage-4151acc8.js → ConfigStorage-101a2b4c.js} +70 -7
  123. package/dist/esm/{DataFetcher-aa159c5a.js → DataFetcher-a650ae58.js} +5 -3
  124. package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
  125. package/dist/esm/{SnkFormConfigManager-5c7d3771.js → SnkFormConfigManager-d86ba46f.js} +7 -2
  126. package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-9747ddd2.js} +15 -1
  127. package/dist/esm/SnkMultiSelectionListDataSource-7e7eada5.js +133 -0
  128. package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-17dc5b5e.js} +1 -1
  129. package/dist/esm/{form-config-fetcher-36219cd3.js → form-config-fetcher-f121f880.js} +1 -1
  130. package/dist/esm/index-a7d3d3f1.js +2 -10
  131. package/dist/esm/loader.js +1 -1
  132. package/dist/esm/{dataunit-fetcher-0fc935a0.js → pesquisa-fetcher-f05a12ca.js} +429 -31
  133. package/dist/esm/sankhyablocks.js +1 -1
  134. package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +523 -9
  135. package/dist/esm/snk-application.entry.js +43 -9
  136. package/dist/esm/snk-attach.entry.js +392 -62
  137. package/dist/esm/snk-crud.entry.js +17 -12
  138. package/dist/esm/snk-data-exporter.entry.js +9 -5
  139. package/dist/esm/{snk-data-unit-6208ebf0.js → snk-data-unit-4c343635.js} +1 -1
  140. package/dist/esm/snk-data-unit.entry.js +2 -2
  141. package/dist/esm/snk-detail-view.entry.js +10 -12
  142. package/dist/esm/snk-entity-list.entry.js +5 -3
  143. package/dist/esm/snk-filter-bar.entry.js +44 -8
  144. package/dist/esm/snk-filter-item.entry.js +4 -47
  145. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  146. package/dist/esm/snk-filter-modal.entry.js +2 -1
  147. package/dist/esm/snk-filter-multi-select.entry.js +2 -1
  148. package/dist/esm/snk-form-config.entry.js +48 -28
  149. package/dist/esm/snk-form.entry.js +11 -4
  150. package/dist/esm/snk-grid.entry.js +41 -23
  151. package/dist/esm/{snk-guides-viewer-98a8e45e.js → snk-guides-viewer-18859840.js} +16 -11
  152. package/dist/esm/snk-guides-viewer.entry.js +8 -10
  153. package/dist/esm/snk-personalized-filter-editor.entry.js +3 -1
  154. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  155. package/dist/esm/snk-pesquisa.entry.js +1 -1
  156. package/dist/esm/snk-simple-crud.entry.js +229 -27
  157. package/dist/esm/snk-taskbar.entry.js +101 -15
  158. package/dist/esm/{taskbar-elements-d4d0b424.js → taskbar-elements-2473c8ac.js} +9 -9
  159. package/dist/sankhyablocks/p-1f3174cb.entry.js +1 -0
  160. package/dist/sankhyablocks/p-1fa5a18c.entry.js +11 -0
  161. package/dist/sankhyablocks/p-20b46647.entry.js +1 -0
  162. package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
  163. package/dist/sankhyablocks/p-2897fb8c.js +1 -0
  164. package/dist/sankhyablocks/{p-ff6064e7.js → p-2936303b.js} +1 -1
  165. package/dist/sankhyablocks/p-2b909f08.entry.js +1 -0
  166. package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
  167. package/dist/sankhyablocks/p-50783a8b.js +1 -0
  168. package/dist/sankhyablocks/p-5c0b53ce.js +56 -0
  169. package/dist/sankhyablocks/p-5dbc1a3f.js +1 -0
  170. package/dist/sankhyablocks/p-60fa6c7a.js +1 -0
  171. package/dist/sankhyablocks/p-64c1b368.entry.js +1 -0
  172. package/dist/sankhyablocks/{p-7f3c7b09.entry.js → p-6b28cc74.entry.js} +1 -1
  173. package/dist/sankhyablocks/p-70a4af56.entry.js +1 -0
  174. package/dist/sankhyablocks/{p-e0fd9555.entry.js → p-7ddd95b6.entry.js} +1 -1
  175. package/dist/sankhyablocks/p-7e05bd83.entry.js +1 -0
  176. package/dist/sankhyablocks/p-7f97fee2.entry.js +1 -0
  177. package/dist/sankhyablocks/p-86801b08.entry.js +1 -0
  178. package/dist/sankhyablocks/{p-32f0935f.js → p-9a5d1b39.js} +1 -1
  179. package/dist/sankhyablocks/{p-0d7863ed.js → p-a13ccb86.js} +1 -1
  180. package/dist/sankhyablocks/p-ae4fc9a9.js +1 -0
  181. package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
  182. package/dist/sankhyablocks/p-b41a622a.entry.js +1 -0
  183. package/dist/sankhyablocks/p-b4de81ac.entry.js +1 -0
  184. package/dist/sankhyablocks/p-ba4871b5.entry.js +1 -0
  185. package/dist/sankhyablocks/{p-9695f78b.js → p-be75153c.js} +1 -1
  186. package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
  187. package/dist/sankhyablocks/p-d01ceda6.entry.js +1 -0
  188. package/dist/sankhyablocks/{p-247a8b36.entry.js → p-d1791da2.entry.js} +1 -1
  189. package/dist/sankhyablocks/p-d304659d.entry.js +1 -0
  190. package/dist/sankhyablocks/p-d78d4062.js +65 -0
  191. package/dist/sankhyablocks/p-e4fb3308.entry.js +1 -0
  192. package/dist/sankhyablocks/p-e7dbe53a.entry.js +1 -0
  193. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  194. package/dist/types/components/snk-application/__mocks__/snk-application.d.ts +3 -0
  195. package/dist/types/components/snk-application/snk-application.d.ts +15 -0
  196. package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
  197. package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
  198. package/dist/types/components/snk-attach/snk-attach.d.ts +27 -6
  199. package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
  200. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +31 -0
  201. package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
  202. package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
  203. package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
  204. package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +15 -0
  205. package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
  206. package/dist/types/components/snk-crud/snk-crud.d.ts +21 -0
  207. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +1 -1
  208. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +6 -1
  209. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +1 -2
  210. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +5 -0
  211. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +24 -1
  212. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +3 -1
  213. package/dist/types/components/snk-form/snk-form.d.ts +6 -1
  214. package/dist/types/components/{snk-form → snk-form-config}/SnkFormConfigManager.d.ts +1 -0
  215. package/dist/types/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.d.ts +5 -3
  216. package/dist/types/components/snk-grid/snk-grid.d.ts +20 -1
  217. package/dist/types/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.d.ts +11 -6
  218. package/dist/types/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.d.ts +1 -1
  219. package/dist/types/components/snk-simple-crud/regular-buttons.d.ts +3 -0
  220. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +71 -4
  221. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +28 -1
  222. package/dist/types/components.d.ts +265 -12
  223. package/dist/types/lib/configs/ConfigStorage.d.ts +21 -1
  224. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  225. package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
  226. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
  227. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
  228. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
  229. package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
  230. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +1 -0
  231. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +1 -0
  232. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  233. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
  234. package/dist/types/lib/index.d.ts +1 -1
  235. package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
  236. package/package.json +13 -6
  237. package/dist/cjs/PreloadManager-84466da6.js +0 -224
  238. package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
  239. package/dist/cjs/pesquisa-fetcher-ef050a47.js +0 -167
  240. package/dist/cjs/snk-grid-config.cjs.entry.js +0 -483
  241. package/dist/cjs/snk-select-box.cjs.entry.js +0 -25
  242. package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
  243. package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
  244. package/dist/esm/pesquisa-fetcher-dd3ca0a5.js +0 -165
  245. package/dist/esm/snk-grid-config.entry.js +0 -479
  246. package/dist/esm/snk-select-box.entry.js +0 -21
  247. package/dist/sankhyablocks/p-0874adb5.entry.js +0 -1
  248. package/dist/sankhyablocks/p-094c30cb.js +0 -1
  249. package/dist/sankhyablocks/p-1d75d9f9.entry.js +0 -1
  250. package/dist/sankhyablocks/p-20726710.entry.js +0 -1
  251. package/dist/sankhyablocks/p-374d03f6.js +0 -1
  252. package/dist/sankhyablocks/p-41560fd8.entry.js +0 -1
  253. package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
  254. package/dist/sankhyablocks/p-573a07c5.js +0 -1
  255. package/dist/sankhyablocks/p-6678d5d4.entry.js +0 -1
  256. package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
  257. package/dist/sankhyablocks/p-71439fd9.entry.js +0 -1
  258. package/dist/sankhyablocks/p-761ed32f.entry.js +0 -1
  259. package/dist/sankhyablocks/p-7d8d7fe9.entry.js +0 -1
  260. package/dist/sankhyablocks/p-90f9b4db.entry.js +0 -11
  261. package/dist/sankhyablocks/p-98674137.entry.js +0 -1
  262. package/dist/sankhyablocks/p-a91bb13d.js +0 -1
  263. package/dist/sankhyablocks/p-a9e5b094.entry.js +0 -1
  264. package/dist/sankhyablocks/p-aa95fb2c.js +0 -56
  265. package/dist/sankhyablocks/p-abfa8101.entry.js +0 -1
  266. package/dist/sankhyablocks/p-b05ab13d.entry.js +0 -1
  267. package/dist/sankhyablocks/p-b3020263.entry.js +0 -1
  268. package/dist/sankhyablocks/p-bf93a748.js +0 -60
  269. package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
  270. package/dist/sankhyablocks/p-c6f89389.entry.js +0 -1
  271. package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
  272. package/dist/sankhyablocks/p-cb7419e0.entry.js +0 -1
  273. package/dist/sankhyablocks/p-cebae710.entry.js +0 -1
  274. package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
  275. package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
  276. package/dist/sankhyablocks/p-e6380c60.js +0 -1
  277. package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
  278. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
  279. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
  280. /package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.css +0 -0
  281. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.css +0 -0
  282. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.js +0 -0
  283. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.css +0 -0
  284. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.js +0 -0
  285. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.css +0 -0
  286. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.js +0 -0
  287. /package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.css +0 -0
  288. /package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.css +0 -0
  289. /package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +0 -0
  290. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.d.ts +0 -0
  291. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.d.ts +0 -0
  292. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -0
  293. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
  294. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
  295. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
@@ -1,12 +1,229 @@
1
1
  'use strict';
2
2
 
3
3
  const core = require('@sankhyalabs/core');
4
- const DataFetcher = require('./DataFetcher-ba94ed5b.js');
4
+ const DataFetcher = require('./DataFetcher-99f0f6ed.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 ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
9
+
10
+ class ArrayRepository {
11
+ constructor(equalsFunction) {
12
+ this._list = [];
13
+ this._equalsFunction = equalsFunction;
14
+ }
15
+ async load(filterFunction, sortingFunction, offset, limit) {
16
+ let result = [].concat(this._list);
17
+ if (filterFunction != undefined) {
18
+ result = this._list.filter(item => filterFunction(item));
19
+ }
20
+ if (sortingFunction != undefined) {
21
+ result = result.sort(sortingFunction);
22
+ }
23
+ const count = result.length;
24
+ if (limit != undefined) {
25
+ const start = offset || 0;
26
+ const end = limit ? start + limit : result.length;
27
+ result = result.slice(start, end);
28
+ }
29
+ return Promise.resolve({ result, count });
30
+ }
31
+ async distict(itemProcessor) {
32
+ const processedItems = [];
33
+ let hasEmpty = false;
34
+ for (const item of this._list) {
35
+ const processedItem = itemProcessor(item);
36
+ if (processedItem == undefined) {
37
+ continue;
38
+ }
39
+ if (processedItem.value == undefined) {
40
+ hasEmpty = true;
41
+ continue;
42
+ }
43
+ processedItems.push(processedItem);
44
+ }
45
+ if (hasEmpty) {
46
+ processedItems.push({ key: "", value: null });
47
+ }
48
+ return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
49
+ }
50
+ async push(items) {
51
+ this._list.push(...items);
52
+ }
53
+ async clear() {
54
+ this._list = [];
55
+ }
56
+ async delete(items) {
57
+ this._list = this._list.filter(item => {
58
+ for (const removed of items) {
59
+ if (this._equalsFunction(item, removed)) {
60
+ return false;
61
+ }
62
+ }
63
+ return true;
64
+ });
65
+ }
66
+ async update(items) {
67
+ this._list = this._list.map(existingItem => {
68
+ const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
69
+ return newItem == undefined ? existingItem : newItem;
70
+ });
71
+ }
72
+ async insert(itemReference, items) {
73
+ const itemPosition = this._list.indexOf(itemReference);
74
+ if (itemPosition == -1) {
75
+ this._list.push(...items);
76
+ return;
77
+ }
78
+ this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
79
+ }
80
+ isOperating() {
81
+ return true;
82
+ }
83
+ async isEmpty() {
84
+ return Promise.resolve(this._list.length === 0);
85
+ }
86
+ async count() {
87
+ return Promise.resolve(this._list.length);
88
+ }
89
+ }
90
+
91
+ class PreloadManager {
92
+ static setLoadingStatus(dataUnit, loadingInProgress) {
93
+ this._loadingStatus.set(dataUnit.name, loadingInProgress);
94
+ }
95
+ static isCacheEnabled(_dataUnit) {
96
+ return true;
97
+ }
98
+ static cacheRecords(dataUnit, records, resetDatabase, loadingInProgress) {
99
+ PreloadManager.setLoadingStatus(dataUnit, loadingInProgress);
100
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
101
+ this.getRepository(dataUnit).push(records);
102
+ }
103
+ else {
104
+ if (resetDatabase) {
105
+ this._repositories.delete(dataUnit.name);
106
+ }
107
+ }
108
+ }
109
+ static getSortingFunction(dataUnit, sorting) {
110
+ if (sorting == undefined || sorting.length == 0) {
111
+ return undefined;
112
+ }
113
+ return (recordA, recordB) => {
114
+ for (const sort of sorting) {
115
+ const result = core.FieldComparator.compare(dataUnit.getField(sort.field), recordA, recordB, sort.mode === core.SortMode.ASC);
116
+ if (result != 0) {
117
+ return result;
118
+ }
119
+ }
120
+ };
121
+ }
122
+ static async getDistinct(dataUnit, fieldName) {
123
+ if (!PreloadManager.isCacheEnabled(dataUnit)) {
124
+ return Promise.resolve(utils.ColumnFilterManager.compileDistinct(fieldName, dataUnit));
125
+ }
126
+ let filterFunction;
127
+ const request = dataUnit.getLastLoadRequest();
128
+ if (request != undefined) {
129
+ const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, fieldName);
130
+ filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
131
+ }
132
+ return new Promise((accept, reject) => {
133
+ PreloadManager.getRepository(dataUnit).distict(record => {
134
+ if (filterFunction != undefined && !filterFunction(record)) {
135
+ return undefined;
136
+ }
137
+ const fieldValue = record[fieldName];
138
+ if (fieldValue == undefined) {
139
+ return { key: null, value: null };
140
+ }
141
+ const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
142
+ return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
143
+ })
144
+ .then(result => {
145
+ if (result == undefined) {
146
+ accept(undefined);
147
+ return;
148
+ }
149
+ accept(Array.from(result.entries()).map(([label, value]) => ({ label, value, check: true })));
150
+ })
151
+ .catch(reason => reject(reason));
152
+ });
153
+ }
154
+ static async loadData(dataUnit, request, loadFromServer) {
155
+ try {
156
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
157
+ let useCache = request.source === "EZ_GRID_LOADING_SOURCE" || request.source === core.DataUnit.CHANGING_PAGE_LOADING_SOURCE;
158
+ if (useCache) {
159
+ const isCacheEmpty = await PreloadManager.getRepository(dataUnit).isEmpty();
160
+ if (!isCacheEmpty) {
161
+ return PreloadManager.loadFromCache(dataUnit, request);
162
+ }
163
+ }
164
+ //Como não vamos aproveitar o cache, ele precisa ser limpo.
165
+ PreloadManager.getRepository(dataUnit).clear().catch(() => { });
166
+ }
167
+ return loadFromServer(dataUnit, request);
168
+ }
169
+ catch (error) {
170
+ console.error(error);
171
+ return Promise.reject(error);
172
+ }
173
+ }
174
+ static insertRecords(dataUnit, reference, records) {
175
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
176
+ PreloadManager.getRepository(dataUnit).insert(reference, records);
177
+ }
178
+ }
179
+ static updateRecords(dataUnit, records) {
180
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
181
+ PreloadManager.getRepository(dataUnit).update(records);
182
+ }
183
+ }
184
+ static removeRecords(dataUnit, records) {
185
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
186
+ PreloadManager.getRepository(dataUnit).delete(records);
187
+ }
188
+ }
189
+ static async countRecords(dataUnit) {
190
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
191
+ return PreloadManager.getRepository(dataUnit).count();
192
+ }
193
+ return Promise.resolve(0);
194
+ }
195
+ static getRepository(dataUnit) {
196
+ const name = dataUnit.name;
197
+ if (!PreloadManager._repositories.has(name)) {
198
+ PreloadManager._repositories.set(name, new ArrayRepository((recordA, recordB) => recordA.__record__id__ === recordB.__record__id__));
199
+ }
200
+ return PreloadManager._repositories.get(name);
201
+ }
202
+ static async loadFromCache(dataUnit, request) {
203
+ return new Promise((accept, reject) => {
204
+ const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, "");
205
+ const { limit, offset, sort } = request;
206
+ PreloadManager.getRepository(dataUnit)
207
+ .load(utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
208
+ .then(loadResult => {
209
+ const stillLoading = PreloadManager._loadingStatus.get(dataUnit.name);
210
+ const { count, result: records } = loadResult;
211
+ const firstRecord = count == 0 ? 0 : offset + 1;
212
+ const lastRecord = offset + Math.min(records.length, limit);
213
+ const currentPage = offset / limit;
214
+ const paginationInfo = {
215
+ count, currentPage, firstRecord, lastRecord,
216
+ hasMore: stillLoading || (lastRecord < count),
217
+ total: stillLoading ? undefined : count
218
+ };
219
+ accept({ records, paginationInfo });
220
+ })
221
+ .catch(reason => reject(reason));
222
+ });
223
+ }
224
+ }
225
+ PreloadManager._repositories = new Map();
226
+ PreloadManager._loadingStatus = new Map();
10
227
 
11
228
  class InMemoryLoader {
12
229
  constructor(metadata, records) {
@@ -20,7 +237,7 @@ class InMemoryLoader {
20
237
  this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
21
238
  }
22
239
  getRecordsToLoad() {
23
- if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
240
+ if (this._initialRecords == undefined || this.dataUnit.records.length > 0) {
24
241
  this._initialRecords = this.dataUnit.records;
25
242
  }
26
243
  return this._initialRecords;
@@ -100,7 +317,7 @@ class InMemoryLoader {
100
317
  if (sorting == undefined || sorting.length == 0) {
101
318
  return records;
102
319
  }
103
- const sortingFunction = PreloadManager.PreloadManager.getSortingFunction(dataUnit, sorting);
320
+ const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
104
321
  if (sortingFunction == undefined) {
105
322
  return records;
106
323
  }
@@ -155,30 +372,39 @@ class DatasetStrategy {
155
372
  canSlice() {
156
373
  return false;
157
374
  }
375
+ processSortingSide(request, dataUnit, serverSideFilters) {
376
+ const localSorting = [];
377
+ const serverSorting = [];
378
+ if (request.sort != undefined) {
379
+ if (serverSideFilters.length === 0) {
380
+ return { localSorting: request.sort, serverSorting: [] };
381
+ }
382
+ for (const sort of request.sort) {
383
+ const descriptor = dataUnit.getField(sort.field);
384
+ const local = descriptor != undefined
385
+ && descriptor.properties != undefined
386
+ && descriptor.properties.calculated === "true";
387
+ if (local) {
388
+ localSorting.push(sort);
389
+ }
390
+ else {
391
+ serverSorting.push(sort);
392
+ }
393
+ }
394
+ }
395
+ return { localSorting, serverSorting };
396
+ }
158
397
  async load(dataUnit, request, loadingInfo) {
398
+ var _a, _b;
159
399
  if (dataUnit.metadata == undefined) {
160
400
  return Promise.resolve({ records: [], loadingInfo });
161
401
  }
162
402
  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
- }
403
+ 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 : [];
404
+ const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
179
405
  const fields = this.getFieldsList(dataUnit);
180
406
  const serviceName = "DatasetSP.loadRecords";
181
- const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
407
+ const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
182
408
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
183
409
  const { result: responseRecords, pagerID: pagerId } = await DataFetcher.DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
184
410
  const records = this.processRecords(dataUnit, fields, responseRecords);
@@ -222,7 +448,7 @@ class DatasetStrategy {
222
448
  }
223
449
  return [descriptor.name, descriptionField];
224
450
  }
225
- buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
451
+ buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
226
452
  const dataSetID = dataUnit.dataUnitId;
227
453
  const dataUnitName = dataUnit.name;
228
454
  const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
@@ -241,7 +467,7 @@ class DatasetStrategy {
241
467
  tryJoinedFields: true,
242
468
  parallelLoader: useParallelLoader,
243
469
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
244
- txProperties: this.getTxProperties(dataUnit, request, sorting),
470
+ txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
245
471
  useDefaultRowsLimit: false
246
472
  }
247
473
  };
@@ -252,12 +478,10 @@ class DatasetStrategy {
252
478
  const moduleName = app.getModuleName();
253
479
  return moduleName.replace("-bff", "");
254
480
  }
255
- getTxProperties(dataUnit, request, sorting) {
256
- var _a, _b;
481
+ getTxProperties(dataUnit, request, sorting, serverSideFilters) {
257
482
  const txProperties = {
258
483
  "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
259
484
  };
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
485
  if (serverSideFilters.length !== 0) {
262
486
  txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
263
487
  }
@@ -337,7 +561,7 @@ class DataUnitDataLoader {
337
561
  static async loadData(dataUnit, request) {
338
562
  return new Promise((resolve, reject) => {
339
563
  DataUnitDataLoader.debounce(dataUnit, () => {
340
- PreloadManager.PreloadManager.loadData(dataUnit, request, this.loadFromServer)
564
+ PreloadManager.loadData(dataUnit, request, this.loadFromServer)
341
565
  .then(resp => resolve(resp))
342
566
  .catch(reason => reject(reason));
343
567
  });
@@ -374,8 +598,8 @@ class DataUnitDataLoader {
374
598
  return Promise.resolve(undefined);
375
599
  }
376
600
  const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
377
- PreloadManager.PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
378
- if (PreloadManager.PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
601
+ PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
602
+ if (PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
379
603
  const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
380
604
  const newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
381
605
  this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
@@ -385,7 +609,7 @@ class DataUnitDataLoader {
385
609
  return Promise.resolve(result);
386
610
  }
387
611
  static afterLoadingPage(dataUnit, loadingInfo) {
388
- PreloadManager.PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
612
+ PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
389
613
  const dataUnitPagination = dataUnit.getPaginationInfo();
390
614
  if (dataUnitPagination == undefined) {
391
615
  return;
@@ -532,9 +756,9 @@ class DataUnitFetcher {
532
756
  return { entityName: parts[1], resourceID: parts[2] };
533
757
  }
534
758
  getDataUnit(entityName, resourceID, parentDataUnit, configName) {
535
- if (PreloadManager.PreloadManager.applicationResourceID == undefined) {
759
+ if (PreloadManager.applicationResourceID == undefined) {
536
760
  //Por falta de um lugar melhor pra iniciar essa variável, fazemos isso aqui.
537
- ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.PreloadManager.applicationResourceID = resourceID);
761
+ ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.applicationResourceID = resourceID);
538
762
  }
539
763
  const duName = `dd://${entityName}/${resourceID}${configName ? "/" + configName : ""}`;
540
764
  const dataUnit = parentDataUnit != undefined ? parentDataUnit.getChildDataunit(duName) : new core.DataUnit(duName);
@@ -616,15 +840,29 @@ class DataUnitFetcher {
616
840
  });
617
841
  return updatingFields;
618
842
  }
843
+ getUpdatingFields(dataUnit, originalUpdatingFields) {
844
+ if (originalUpdatingFields == undefined) {
845
+ return;
846
+ }
847
+ const updatingFields = Object.assign({}, originalUpdatingFields);
848
+ Object.keys(updatingFields).forEach(key => {
849
+ const descriptor = dataUnit.getField(key);
850
+ if (descriptor != undefined && descriptor.standAlone) {
851
+ delete updatingFields[key];
852
+ }
853
+ });
854
+ return this.addTransientProperties(dataUnit, updatingFields);
855
+ }
619
856
  saveData(dataUnit, duChanges) {
620
857
  const updatedRecordsIds = [];
621
858
  const addedRecordsIds = [];
622
859
  const changes = duChanges.map((change) => {
623
- const { dataUnit: changeDU, record, updatingFields, operation } = change;
860
+ const { dataUnit: changeDU, record, operation } = change;
624
861
  const dataUnitInstance = core.DataUnitStorage.get(changeDU);
862
+ const updatingFields = this.getUpdatingFields(dataUnitInstance, change.updatingFields);
625
863
  let parsedUpdatingFields;
626
- if (updatingFields) {
627
- parsedUpdatingFields = Object.entries(this.addTransientProperties(dataUnit, updatingFields)).map(([fieldName, value]) => {
864
+ if (updatingFields != undefined) {
865
+ parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
628
866
  const descriptor = dataUnitInstance.getField(fieldName);
629
867
  const dataType = descriptor ? descriptor.dataType : core.DataType.TEXT;
630
868
  return { fieldName, dataType, value: dataUnitInstance.valueToString(fieldName, value) };
@@ -693,10 +931,10 @@ class DataUnitFetcher {
693
931
  });
694
932
  if (addedRecords.length > 0) {
695
933
  const firstRecord = dataUnit.records[0];
696
- PreloadManager.PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
934
+ PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
697
935
  }
698
936
  const updatedRecords = toUpdate.map(recordId => (Object.assign({}, recordsById.get(recordId))));
699
- PreloadManager.PreloadManager.updateRecords(dataUnit, updatedRecords);
937
+ PreloadManager.updateRecords(dataUnit, updatedRecords);
700
938
  }
701
939
  getTransientInfo(dataUnit, recordID) {
702
940
  const { records } = dataUnit.getSelectionInfo();
@@ -713,7 +951,7 @@ class DataUnitFetcher {
713
951
  query: this.templateByQuery.get("saveData"),
714
952
  })
715
953
  .then((_resp) => {
716
- PreloadManager.PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
954
+ PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
717
955
  resolve(recordIds);
718
956
  })
719
957
  .catch((error) => {
@@ -747,5 +985,167 @@ class DataUnitFetcher {
747
985
  }
748
986
  }
749
987
 
988
+ class PesquisaFetcher {
989
+ constructor() {
990
+ this._defaultPageSize = 100;
991
+ this._templateByQuery = new Map();
992
+ this._searchListenersByDataUnit = new Map();
993
+ this.buldTemplates();
994
+ }
995
+ buldTemplates() {
996
+ this._templateByQuery.set("search", DataFetcher.dist.gql `query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
997
+ $queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria options: $options){
998
+ value
999
+ label
1000
+ }
1001
+ }`);
1002
+ }
1003
+ loadSearchOptions(entityName, argument, criteria, options) {
1004
+ var _a;
1005
+ const cleanText = (argument === null || argument === void 0 ? void 0 : argument.toString().trim()) || undefined;
1006
+ argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
1007
+ criteria === null || criteria === void 0 ? void 0 : criteria.params.forEach(param => {
1008
+ if (param.dataType === core.DataType.OBJECT) {
1009
+ param.value = JSON.stringify(param.value);
1010
+ }
1011
+ });
1012
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, options);
1013
+ const values = {
1014
+ argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
1015
+ entityName,
1016
+ criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
1017
+ options: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || options,
1018
+ };
1019
+ if (values.options) {
1020
+ (_a = values.options) === null || _a === void 0 ? true : delete _a.dataUnitId;
1021
+ }
1022
+ return new Promise((resolve, reject) => {
1023
+ DataFetcher.DataFetcher.get()
1024
+ .callGraphQL({
1025
+ values,
1026
+ query: this._templateByQuery.get("search"),
1027
+ })
1028
+ .then((result) => {
1029
+ resolve(result);
1030
+ })
1031
+ .catch((error) => {
1032
+ reject(error);
1033
+ });
1034
+ });
1035
+ }
1036
+ loadAdvancedSearch(entityName, argument, criteria, searchOptions) {
1037
+ var _a, _b, _c, _d;
1038
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
1039
+ const values = {
1040
+ argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
1041
+ criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
1042
+ searchOptions: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || searchOptions,
1043
+ };
1044
+ const serviceName = "PesquisaSP.getSuggestion";
1045
+ const externalCriteria = {
1046
+ query: {
1047
+ $: (_a = values.criteria) === null || _a === void 0 ? void 0 : _a.expression
1048
+ }
1049
+ };
1050
+ if (((_c = (_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.length) > 0) {
1051
+ externalCriteria.params = {
1052
+ param: values.criteria.params.map(param => {
1053
+ let value = param.value;
1054
+ if (typeof value === "string") {
1055
+ const match = /CTX\{([^}]+)\}/.exec(value);
1056
+ if (match) {
1057
+ value = core.ApplicationContext.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${match[1]})__`);
1058
+ }
1059
+ }
1060
+ let type = param.dataType;
1061
+ if (type === core.DataType.OBJECT) {
1062
+ value = value.value;
1063
+ type = "S";
1064
+ }
1065
+ else {
1066
+ type = convertParamType(param.dataType);
1067
+ }
1068
+ return { $: value, type };
1069
+ })
1070
+ };
1071
+ }
1072
+ const options = searchOptions != undefined
1073
+ ? Object.assign(Object.assign({}, searchOptions), { "pkFieldName": searchOptions.codeFieldName, "label": searchOptions.descriptionFieldName, "fieldName": searchOptions.codeFieldName, "useDescriptionOptions": false, "enableRowsCounter": true }) : undefined;
1074
+ const reqBody = {
1075
+ "serviceName": serviceName,
1076
+ "requestBody": {
1077
+ "criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": false, "limit": this._defaultPageSize, "query": { "$": values.argument }, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (_d = values.searchOptions) === null || _d === void 0 ? void 0 : _d.rootEntity }, { options }),
1078
+ "clientEventList": {
1079
+ "clientEvent": []
1080
+ }
1081
+ }
1082
+ };
1083
+ return new Promise((resolve, reject) => {
1084
+ DataFetcher.DataFetcher.get()
1085
+ .callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody))
1086
+ .then(result => resolve(result))
1087
+ .catch(error => reject(error));
1088
+ });
1089
+ }
1090
+ addSearchListener(entityName, dataUnitID, listener) {
1091
+ var _a;
1092
+ const dataUnitSearchListeners = this._searchListenersByDataUnit.get(dataUnitID) || [];
1093
+ const entityListener = dataUnitSearchListeners.find(currentListener => currentListener.entity === entityName);
1094
+ if (!entityListener) {
1095
+ this._searchListenersByDataUnit.set(dataUnitID, [...dataUnitSearchListeners, { entity: entityName, listener }]);
1096
+ }
1097
+ else {
1098
+ for (const type of Object.keys(listener)) {
1099
+ if (type in entityListener.listener) {
1100
+ const listenerFunctionIsEquals = ((_a = entityListener.listener[type]) === null || _a === void 0 ? void 0 : _a.toString()) === listener[type].toString();
1101
+ if (listenerFunctionIsEquals)
1102
+ continue;
1103
+ entityListener.listener[type] = listener[type];
1104
+ }
1105
+ }
1106
+ }
1107
+ return () => {
1108
+ const newListeners = dataUnitSearchListeners.filter(currentListener => currentListener.entity !== entityName);
1109
+ if (!newListeners.length) {
1110
+ this._searchListenersByDataUnit.delete(dataUnitID);
1111
+ return;
1112
+ }
1113
+ this._searchListenersByDataUnit.set(dataUnitID, newListeners);
1114
+ };
1115
+ }
1116
+ applySearchListener(listenerType, entityName, argument, criteria, searchOptions) {
1117
+ var _a;
1118
+ const dataUnitId = searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.dataUnitId;
1119
+ if (!dataUnitId)
1120
+ return;
1121
+ const entityListener = (_a = this._searchListenersByDataUnit.get(dataUnitId)) === null || _a === void 0 ? void 0 : _a.find(({ entity }) => entity === entityName);
1122
+ if (!entityListener)
1123
+ return;
1124
+ const { listener } = entityListener;
1125
+ if (!(listenerType in listener))
1126
+ return;
1127
+ return listener[listenerType]({ argument, criteria, searchOptions });
1128
+ }
1129
+ }
1130
+ function convertParamType(dataType) {
1131
+ //Alerta: Cuidado pra não contaminar o DataType com a implementação
1132
+ //atual da pesquisa... em geral, somente inteiros,
1133
+ //data (com ou sem hora) e string são realmente relevantes
1134
+ switch (dataType) {
1135
+ case core.DataType.NUMBER:
1136
+ return "I";
1137
+ case core.DataType.DATE:
1138
+ return "D";
1139
+ default:
1140
+ return "S";
1141
+ }
1142
+ }
1143
+ var SearchListenerType;
1144
+ (function (SearchListenerType) {
1145
+ SearchListenerType["beforeSearch"] = "beforeSearch";
1146
+ })(SearchListenerType || (SearchListenerType = {}));
1147
+
750
1148
  exports.DataUnitFetcher = DataUnitFetcher;
751
1149
  exports.InMemoryLoader = InMemoryLoader;
1150
+ exports.PesquisaFetcher = PesquisaFetcher;
1151
+ exports.PreloadManager = PreloadManager;