@sankhyalabs/sankhyablocks 8.15.0-dev.5 → 8.15.0-dev.51

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 (312) hide show
  1. package/dist/cjs/{ConfigStorage-8009ecb2.js → ConfigStorage-8d4e9d53.js} +94 -21
  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-7d850fbc.js → SnkFormConfigManager-33995e92.js} +21 -13
  5. package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-66aa2557.js} +19 -1
  6. package/dist/cjs/SnkMultiSelectionListDataSource-8b5bfa05.js +140 -0
  7. package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-bb8e9ae4.js} +1 -1
  8. package/dist/cjs/{form-config-fetcher-df043d3d.js → form-config-fetcher-d73f4449.js} +13 -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-bd4c52da.js → pesquisa-fetcher-036a9588.js} +498 -76
  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} +538 -8
  14. package/dist/cjs/snk-application.cjs.entry.js +44 -10
  15. package/dist/cjs/snk-attach.cjs.entry.js +413 -62
  16. package/dist/cjs/snk-crud.cjs.entry.js +17 -12
  17. package/dist/cjs/snk-data-exporter.cjs.entry.js +10 -6
  18. package/dist/cjs/{snk-data-unit-1bc69073.js → snk-data-unit-41c29713.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 +66 -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 +3 -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 +47 -27
  29. package/dist/cjs/snk-form.cjs.entry.js +11 -4
  30. package/dist/cjs/snk-grid.cjs.entry.js +37 -22
  31. package/dist/cjs/{snk-guides-viewer-cb176c4d.js → snk-guides-viewer-2f61fb02.js} +16 -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 +3 -3
  35. package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-simple-crud.cjs.entry.js +264 -27
  37. package/dist/cjs/snk-taskbar.cjs.entry.js +123 -15
  38. package/dist/cjs/{taskbar-elements-01b85b99.js → taskbar-elements-3ecd1278.js} +9 -9
  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 +94 -11
  42. package/dist/collection/components/snk-attach/snk-attach.js +203 -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/snk-data-exporter.js +7 -3
  55. package/dist/collection/components/snk-entity-list/snk-entity-list.js +5 -3
  56. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-filter-multi-select.js +2 -1
  57. package/dist/collection/components/snk-filter-bar/filter-item/editors/snk-personalized-filter-editor/snk-personalized-filter-editor.js +3 -1
  58. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-detail.js +22 -1
  59. package/dist/collection/components/snk-filter-bar/filter-item/snk-filter-item.js +31 -6
  60. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +19 -1
  61. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +24 -1
  62. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +159 -5
  63. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +3 -1
  64. package/dist/collection/components/snk-form/snk-form.js +25 -1
  65. package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +20 -12
  66. package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.js +50 -30
  67. package/dist/collection/components/snk-grid/snk-grid.js +100 -16
  68. package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.js +130 -123
  69. package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.js +1 -1
  70. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +2 -4
  71. package/dist/collection/components/snk-simple-crud/regular-buttons.js +3 -0
  72. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +10 -2
  73. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +467 -19
  74. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +18 -2
  75. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +9 -9
  76. package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
  77. package/dist/collection/components/snk-taskbar/snk-taskbar.js +166 -14
  78. package/dist/collection/lib/configs/ConfigStorage.js +86 -16
  79. package/dist/collection/lib/dataUnit/InMemoryLoader.js +5 -40
  80. package/dist/collection/lib/dataUnit/dataUnitInMemoryUtils.js +33 -0
  81. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +5 -3
  82. package/dist/collection/lib/http/data-fetcher/fetchers/{attach-fetcher.js → AttachFetcher/anexo-sistema-fetcher.js} +16 -15
  83. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.js +90 -0
  84. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js +1 -0
  85. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/index.js +2 -0
  86. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDelete.js +1 -0
  87. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js +1 -0
  88. package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.js +1 -0
  89. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +31 -3
  90. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +37 -23
  91. package/dist/collection/lib/http/data-fetcher/fetchers/form-config-fetcher.js +12 -0
  92. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +21 -0
  93. package/dist/collection/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.js +6 -3
  94. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +11 -12
  95. package/dist/collection/lib/index.js +1 -1
  96. package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
  97. package/dist/collection/lib/message/resources/snk-data-exporter.msg.js +2 -1
  98. package/dist/collection/lib/message/resources/snk-simple-crud.msg.js +4 -0
  99. package/dist/collection/lib/utils/CrudUtils.js +13 -1
  100. package/dist/components/ConfigStorage.js +92 -19
  101. package/dist/components/DataFetcher.js +5 -3
  102. package/dist/components/SnkFormConfigManager.js +19 -11
  103. package/dist/components/SnkMessageBuilder.js +19 -1
  104. package/dist/components/dataunit-fetcher.js +116 -77
  105. package/dist/components/field-search.js +93 -3
  106. package/dist/components/form-config-fetcher.js +12 -0
  107. package/dist/components/index.d.ts +6 -6
  108. package/dist/components/snk-actions-button2.js +1 -0
  109. package/dist/components/snk-application2.js +41 -2
  110. package/dist/components/snk-attach2.js +469 -69
  111. package/dist/components/snk-crud.js +15 -3
  112. package/dist/components/snk-data-exporter2.js +7 -3
  113. package/dist/components/snk-detail-view2.js +40 -7
  114. package/dist/components/snk-entity-list.js +5 -3
  115. package/dist/components/snk-filter-bar2.js +69 -8
  116. package/dist/components/snk-filter-detail2.js +5 -1
  117. package/dist/components/snk-filter-item2.js +14 -6
  118. package/dist/components/snk-filter-modal.js +4 -2
  119. package/dist/components/snk-filter-multi-select.js +2 -1
  120. package/dist/components/snk-form-config2.js +46 -26
  121. package/dist/components/snk-form.js +8 -0
  122. package/dist/components/snk-grid-config2.js +128 -102
  123. package/dist/components/snk-grid2.js +38 -17
  124. package/dist/components/snk-personalized-filter-editor.js +3 -1
  125. package/dist/components/snk-pesquisa2.js +1 -1
  126. package/dist/components/snk-simple-crud2.js +325 -31
  127. package/dist/components/snk-taskbar2.js +139 -25
  128. package/dist/components/taskbar-actions-button2.js +18 -2
  129. package/dist/esm/{ConfigStorage-1244b8b0.js → ConfigStorage-6e241cd7.js} +94 -21
  130. package/dist/esm/{DataFetcher-aa159c5a.js → DataFetcher-a650ae58.js} +5 -3
  131. package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
  132. package/dist/esm/{SnkFormConfigManager-9be0e7d4.js → SnkFormConfigManager-7a4e678f.js} +21 -13
  133. package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-0a4becdd.js} +19 -1
  134. package/dist/esm/SnkMultiSelectionListDataSource-4274be27.js +133 -0
  135. package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-8ec448b0.js} +1 -1
  136. package/dist/esm/{form-config-fetcher-36219cd3.js → form-config-fetcher-765b8498.js} +13 -1
  137. package/dist/esm/index-a7d3d3f1.js +2 -10
  138. package/dist/esm/loader.js +1 -1
  139. package/dist/esm/{dataunit-fetcher-65714f21.js → pesquisa-fetcher-a9e27c84.js} +486 -69
  140. package/dist/esm/sankhyablocks.js +1 -1
  141. package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +537 -9
  142. package/dist/esm/snk-application.entry.js +43 -9
  143. package/dist/esm/snk-attach.entry.js +413 -62
  144. package/dist/esm/snk-crud.entry.js +17 -12
  145. package/dist/esm/snk-data-exporter.entry.js +10 -6
  146. package/dist/esm/{snk-data-unit-6208ebf0.js → snk-data-unit-de1d140d.js} +1 -1
  147. package/dist/esm/snk-data-unit.entry.js +2 -2
  148. package/dist/esm/snk-detail-view.entry.js +10 -12
  149. package/dist/esm/snk-entity-list.entry.js +5 -3
  150. package/dist/esm/snk-filter-bar.entry.js +66 -10
  151. package/dist/esm/snk-filter-detail.entry.js +4 -1
  152. package/dist/esm/snk-filter-item.entry.js +13 -6
  153. package/dist/esm/snk-filter-modal-item.entry.js +3 -3
  154. package/dist/esm/snk-filter-modal.entry.js +2 -1
  155. package/dist/esm/snk-filter-multi-select.entry.js +2 -1
  156. package/dist/esm/snk-form-config.entry.js +48 -28
  157. package/dist/esm/snk-form.entry.js +11 -4
  158. package/dist/esm/snk-grid.entry.js +38 -23
  159. package/dist/esm/{snk-guides-viewer-eeb8f354.js → snk-guides-viewer-16974807.js} +16 -11
  160. package/dist/esm/snk-guides-viewer.entry.js +8 -10
  161. package/dist/esm/snk-personalized-filter-editor.entry.js +3 -1
  162. package/dist/esm/snk-personalized-filter.entry.js +3 -3
  163. package/dist/esm/snk-pesquisa.entry.js +1 -1
  164. package/dist/esm/snk-simple-crud.entry.js +264 -27
  165. package/dist/esm/snk-taskbar.entry.js +124 -16
  166. package/dist/esm/{taskbar-elements-d4d0b424.js → taskbar-elements-2473c8ac.js} +9 -9
  167. package/dist/sankhyablocks/p-004c356e.js +26 -0
  168. package/dist/sankhyablocks/p-0624f62d.js +56 -0
  169. package/dist/sankhyablocks/p-07a61550.entry.js +1 -0
  170. package/dist/sankhyablocks/p-1048bd26.entry.js +1 -0
  171. package/dist/sankhyablocks/{p-e6380c60.js → p-125bb902.js} +1 -1
  172. package/dist/sankhyablocks/p-1c7d57e5.entry.js +1 -0
  173. package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
  174. package/dist/sankhyablocks/{p-3520c088.entry.js → p-24ed6ad6.entry.js} +1 -1
  175. package/dist/sankhyablocks/p-32331e9b.entry.js +1 -0
  176. package/dist/sankhyablocks/p-32556aa6.js +1 -0
  177. package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
  178. package/dist/sankhyablocks/p-3f88728d.js +1 -0
  179. package/dist/sankhyablocks/p-433f0d45.entry.js +1 -0
  180. package/dist/sankhyablocks/p-4ab95a67.entry.js +1 -0
  181. package/dist/sankhyablocks/{p-32f0935f.js → p-52c8e589.js} +1 -1
  182. package/dist/sankhyablocks/p-54a5d52a.entry.js +1 -0
  183. package/dist/sankhyablocks/p-70a4af56.entry.js +1 -0
  184. package/dist/sankhyablocks/p-751bd42a.entry.js +1 -0
  185. package/dist/sankhyablocks/{p-f514913b.entry.js → p-ac77949b.entry.js} +1 -1
  186. package/dist/sankhyablocks/p-ae4fc9a9.js +1 -0
  187. package/dist/sankhyablocks/p-b10b9934.entry.js +1 -0
  188. package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
  189. package/dist/sankhyablocks/{p-9695f78b.js → p-be75153c.js} +1 -1
  190. package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
  191. package/dist/sankhyablocks/p-bf39bdb8.entry.js +1 -0
  192. package/dist/sankhyablocks/p-c6751382.entry.js +11 -0
  193. package/dist/sankhyablocks/p-d0126ca0.js +65 -0
  194. package/dist/sankhyablocks/{p-247a8b36.entry.js → p-d1791da2.entry.js} +1 -1
  195. package/dist/sankhyablocks/p-d6321b12.entry.js +1 -0
  196. package/dist/sankhyablocks/p-dcce8ca0.entry.js +1 -0
  197. package/dist/sankhyablocks/p-e8763234.entry.js +1 -0
  198. package/dist/sankhyablocks/p-efeca7ba.js +1 -0
  199. package/dist/sankhyablocks/p-f7d0fab9.entry.js +1 -0
  200. package/dist/sankhyablocks/p-f7d9d148.entry.js +1 -0
  201. package/dist/sankhyablocks/p-fbc60023.js +1 -0
  202. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  203. package/dist/types/components/snk-actions-button/subcomponents/snk-actions-form.d.ts +1 -1
  204. package/dist/types/components/snk-application/__mocks__/snk-application.d.ts +3 -0
  205. package/dist/types/components/snk-application/snk-application.d.ts +15 -0
  206. package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
  207. package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
  208. package/dist/types/components/snk-attach/snk-attach.d.ts +28 -6
  209. package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
  210. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +40 -0
  211. package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
  212. package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
  213. package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
  214. package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +16 -0
  215. package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
  216. package/dist/types/components/snk-crud/snk-crud.d.ts +21 -0
  217. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +1 -1
  218. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +6 -1
  219. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-detail.d.ts +4 -0
  220. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +7 -3
  221. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +5 -0
  222. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +27 -1
  223. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +3 -1
  224. package/dist/types/components/snk-form/snk-form.d.ts +6 -1
  225. package/dist/types/components/{snk-form → snk-form-config}/SnkFormConfigManager.d.ts +2 -1
  226. package/dist/types/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.d.ts +5 -3
  227. package/dist/types/components/snk-grid/snk-grid.d.ts +19 -1
  228. package/dist/types/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.d.ts +11 -6
  229. package/dist/types/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.d.ts +1 -1
  230. package/dist/types/components/snk-simple-crud/regular-buttons.d.ts +3 -0
  231. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +85 -4
  232. package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +1 -0
  233. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +34 -1
  234. package/dist/types/components.d.ts +298 -12
  235. package/dist/types/lib/configs/ConfigStorage.d.ts +25 -1
  236. package/dist/types/lib/dataUnit/InMemoryLoader.d.ts +0 -2
  237. package/dist/types/lib/dataUnit/dataUnitInMemoryUtils.d.ts +4 -0
  238. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  239. package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
  240. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
  241. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
  242. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
  243. package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
  244. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +2 -0
  245. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +1 -0
  246. package/dist/types/lib/http/data-fetcher/fetchers/form-config-fetcher.d.ts +2 -0
  247. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  248. package/dist/types/lib/http/data-fetcher/fetchers/personalized-filter-fetcher.d.ts +2 -1
  249. package/dist/types/lib/index.d.ts +1 -1
  250. package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
  251. package/package.json +15 -6
  252. package/dist/cjs/PreloadManager-84466da6.js +0 -224
  253. package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
  254. package/dist/cjs/pesquisa-fetcher-ef050a47.js +0 -167
  255. package/dist/cjs/snk-grid-config.cjs.entry.js +0 -483
  256. package/dist/cjs/snk-select-box.cjs.entry.js +0 -25
  257. package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
  258. package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
  259. package/dist/esm/pesquisa-fetcher-dd3ca0a5.js +0 -165
  260. package/dist/esm/snk-grid-config.entry.js +0 -479
  261. package/dist/esm/snk-select-box.entry.js +0 -21
  262. package/dist/sankhyablocks/p-0874adb5.entry.js +0 -1
  263. package/dist/sankhyablocks/p-094c30cb.js +0 -1
  264. package/dist/sankhyablocks/p-0d7863ed.js +0 -26
  265. package/dist/sankhyablocks/p-11081798.entry.js +0 -1
  266. package/dist/sankhyablocks/p-20726710.entry.js +0 -1
  267. package/dist/sankhyablocks/p-29804fc5.js +0 -60
  268. package/dist/sankhyablocks/p-374d03f6.js +0 -1
  269. package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
  270. package/dist/sankhyablocks/p-585294ee.js +0 -56
  271. package/dist/sankhyablocks/p-6977a26c.entry.js +0 -1
  272. package/dist/sankhyablocks/p-69efa80d.entry.js +0 -1
  273. package/dist/sankhyablocks/p-6d20d38c.entry.js +0 -1
  274. package/dist/sankhyablocks/p-776ee8e3.js +0 -1
  275. package/dist/sankhyablocks/p-7d51d949.entry.js +0 -11
  276. package/dist/sankhyablocks/p-809f367d.entry.js +0 -1
  277. package/dist/sankhyablocks/p-95a3778f.entry.js +0 -1
  278. package/dist/sankhyablocks/p-98674137.entry.js +0 -1
  279. package/dist/sankhyablocks/p-a9e5b094.entry.js +0 -1
  280. package/dist/sankhyablocks/p-b146a9f0.entry.js +0 -1
  281. package/dist/sankhyablocks/p-bedb8ad6.entry.js +0 -1
  282. package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
  283. package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
  284. package/dist/sankhyablocks/p-ca4d337a.entry.js +0 -1
  285. package/dist/sankhyablocks/p-cb7419e0.entry.js +0 -1
  286. package/dist/sankhyablocks/p-cdd66657.entry.js +0 -1
  287. package/dist/sankhyablocks/p-d1f5bc50.js +0 -1
  288. package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
  289. package/dist/sankhyablocks/p-d6317851.entry.js +0 -1
  290. package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
  291. package/dist/sankhyablocks/p-f2056f66.entry.js +0 -1
  292. package/dist/sankhyablocks/p-fd8814b9.entry.js +0 -1
  293. package/dist/sankhyablocks/p-ff6064e7.js +0 -1
  294. package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
  295. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
  296. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
  297. /package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.css +0 -0
  298. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.css +0 -0
  299. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.js +0 -0
  300. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.css +0 -0
  301. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.js +0 -0
  302. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.css +0 -0
  303. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.js +0 -0
  304. /package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.css +0 -0
  305. /package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.css +0 -0
  306. /package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +0 -0
  307. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.d.ts +0 -0
  308. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.d.ts +0 -0
  309. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -0
  310. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
  311. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
  312. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
@@ -1,10 +1,259 @@
1
- import { DataUnit, DataType, DateUtils, StringUtils, ChangeOperation, ApplicationContext, UserInterface, DataUnitStorage } from '@sankhyalabs/core';
2
- import { D as DataFetcher, d as dist } from './DataFetcher-aa159c5a.js';
1
+ import { FieldComparator, SortMode, DataUnit, DataType, DateUtils, StringUtils, ChangeOperation, ApplicationContext, UserInterface, DataUnitStorage } from '@sankhyalabs/core';
2
+ import { D as DataFetcher, d as dist } from './DataFetcher-a650ae58.js';
3
3
  import { DISTINCT_FILTER_NAME_PREFIX } from '@sankhyalabs/ezui/dist/collection/utils/constants';
4
4
  import { DataUnitTransient } from '@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata';
5
- import { P as PreloadManager } from './PreloadManager-c1c2f2b4.js';
6
- import { R as ResourceIDUtils } from './ResourceIDUtils-a114189a.js';
7
5
  import { ColumnFilterManager } from '@sankhyalabs/ezui/dist/collection/components/ez-grid/utils';
6
+ import { R as ResourceIDUtils } from './ResourceIDUtils-a114189a.js';
7
+
8
+ class ArrayRepository {
9
+ constructor(equalsFunction) {
10
+ this._list = [];
11
+ this._equalsFunction = equalsFunction;
12
+ }
13
+ async load(filterFunction, sortingFunction, offset, limit) {
14
+ let result = [].concat(this._list);
15
+ if (filterFunction != undefined) {
16
+ result = this._list.filter(item => filterFunction(item));
17
+ }
18
+ if (sortingFunction != undefined) {
19
+ result = result.sort(sortingFunction);
20
+ }
21
+ const count = result.length;
22
+ if (limit != undefined) {
23
+ const start = offset || 0;
24
+ const end = limit ? start + limit : result.length;
25
+ result = result.slice(start, end);
26
+ }
27
+ return Promise.resolve({ result, count });
28
+ }
29
+ async distict(itemProcessor) {
30
+ const processedItems = [];
31
+ let hasEmpty = false;
32
+ for (const item of this._list) {
33
+ const processedItem = itemProcessor(item);
34
+ if (processedItem == undefined) {
35
+ continue;
36
+ }
37
+ if (processedItem.value == undefined) {
38
+ hasEmpty = true;
39
+ continue;
40
+ }
41
+ processedItems.push(processedItem);
42
+ }
43
+ if (hasEmpty) {
44
+ processedItems.push({ key: "", value: null });
45
+ }
46
+ return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
47
+ }
48
+ async push(items) {
49
+ this._list.push(...items);
50
+ }
51
+ async clear() {
52
+ this._list = [];
53
+ }
54
+ async delete(items) {
55
+ this._list = this._list.filter(item => {
56
+ for (const removed of items) {
57
+ if (this._equalsFunction(item, removed)) {
58
+ return false;
59
+ }
60
+ }
61
+ return true;
62
+ });
63
+ }
64
+ async update(items) {
65
+ this._list = this._list.map(existingItem => {
66
+ const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
67
+ return newItem == undefined ? existingItem : newItem;
68
+ });
69
+ }
70
+ async insert(itemReference, items) {
71
+ const itemPosition = this._list.indexOf(itemReference);
72
+ if (itemPosition == -1) {
73
+ this._list.push(...items);
74
+ return;
75
+ }
76
+ this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
77
+ }
78
+ isOperating() {
79
+ return true;
80
+ }
81
+ async isEmpty() {
82
+ return Promise.resolve(this._list.length === 0);
83
+ }
84
+ async count() {
85
+ return Promise.resolve(this._list.length);
86
+ }
87
+ }
88
+
89
+ class PreloadManager {
90
+ static setLoadingStatus(dataUnit, loadingInProgress) {
91
+ this._loadingStatus.set(dataUnit.name, loadingInProgress);
92
+ }
93
+ static isCacheEnabled(_dataUnit) {
94
+ return true;
95
+ }
96
+ static cacheRecords(dataUnit, records, resetDatabase, loadingInProgress) {
97
+ PreloadManager.setLoadingStatus(dataUnit, loadingInProgress);
98
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
99
+ this.getRepository(dataUnit).push(records);
100
+ }
101
+ else {
102
+ if (resetDatabase) {
103
+ this._repositories.delete(dataUnit.name);
104
+ }
105
+ }
106
+ }
107
+ static getSortingFunction(dataUnit, sorting) {
108
+ if (sorting == undefined || sorting.length == 0) {
109
+ return undefined;
110
+ }
111
+ return (recordA, recordB) => {
112
+ for (const sort of sorting) {
113
+ const result = FieldComparator.compare(dataUnit.getField(sort.field), recordA, recordB, sort.mode === SortMode.ASC);
114
+ if (result != 0) {
115
+ return result;
116
+ }
117
+ }
118
+ };
119
+ }
120
+ static async getDistinct(dataUnit, fieldName) {
121
+ if (!PreloadManager.isCacheEnabled(dataUnit)) {
122
+ return Promise.resolve(ColumnFilterManager.compileDistinct(fieldName, dataUnit));
123
+ }
124
+ let filterFunction;
125
+ const request = dataUnit.getLastLoadRequest();
126
+ if (request != undefined) {
127
+ const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, fieldName);
128
+ filterFunction = 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
+ let useCache = request.source === "EZ_GRID_LOADING_SOURCE" || request.source === DataUnit.CHANGING_PAGE_LOADING_SOURCE;
156
+ if (useCache) {
157
+ const isCacheEmpty = await PreloadManager.getRepository(dataUnit).isEmpty();
158
+ if (!isCacheEmpty) {
159
+ return PreloadManager.loadFromCache(dataUnit, request);
160
+ }
161
+ }
162
+ //Como não vamos aproveitar o cache, ele precisa ser limpo.
163
+ PreloadManager.getRepository(dataUnit).clear().catch(() => { });
164
+ }
165
+ return loadFromServer(dataUnit, request);
166
+ }
167
+ catch (error) {
168
+ console.error(error);
169
+ return Promise.reject(error);
170
+ }
171
+ }
172
+ static insertRecords(dataUnit, reference, records) {
173
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
174
+ PreloadManager.getRepository(dataUnit).insert(reference, records);
175
+ }
176
+ }
177
+ static updateRecords(dataUnit, records) {
178
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
179
+ PreloadManager.getRepository(dataUnit).update(records);
180
+ }
181
+ }
182
+ static removeRecords(dataUnit, records) {
183
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
184
+ PreloadManager.getRepository(dataUnit).delete(records);
185
+ }
186
+ }
187
+ static async countRecords(dataUnit) {
188
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
189
+ return PreloadManager.getRepository(dataUnit).count();
190
+ }
191
+ return Promise.resolve(0);
192
+ }
193
+ static getRepository(dataUnit) {
194
+ const name = dataUnit.name;
195
+ if (!PreloadManager._repositories.has(name)) {
196
+ PreloadManager._repositories.set(name, new ArrayRepository((recordA, recordB) => recordA.__record__id__ === recordB.__record__id__));
197
+ }
198
+ return PreloadManager._repositories.get(name);
199
+ }
200
+ static async loadFromCache(dataUnit, request) {
201
+ return new Promise((accept, reject) => {
202
+ const columnFilters = ColumnFilterManager.getColumnFilters(request.filters, "");
203
+ const { limit, offset, sort } = request;
204
+ PreloadManager.getRepository(dataUnit)
205
+ .load(ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
206
+ .then(loadResult => {
207
+ const stillLoading = PreloadManager._loadingStatus.get(dataUnit.name);
208
+ const { count, result: records } = loadResult;
209
+ const firstRecord = count == 0 ? 0 : offset + 1;
210
+ const lastRecord = offset + Math.min(records.length, limit);
211
+ const currentPage = offset / limit;
212
+ const paginationInfo = {
213
+ count, currentPage, firstRecord, lastRecord,
214
+ hasMore: stillLoading || (lastRecord < count),
215
+ total: stillLoading ? undefined : count
216
+ };
217
+ accept({ records, paginationInfo });
218
+ })
219
+ .catch(reason => reject(reason));
220
+ });
221
+ }
222
+ }
223
+ PreloadManager._repositories = new Map();
224
+ PreloadManager._loadingStatus = new Map();
225
+
226
+ function applyFilter(records, dataUnit, filters) {
227
+ const columnFilters = ColumnFilterManager.getColumnFilters(filters, "");
228
+ if (!(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.size)) {
229
+ return records;
230
+ }
231
+ const filterFunction = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
232
+ if (filterFunction == undefined) {
233
+ return records;
234
+ }
235
+ return records.filter(filterFunction);
236
+ }
237
+ function applySorting(records, dataUnit, sorting) {
238
+ if (sorting == undefined || sorting.length == 0) {
239
+ return records;
240
+ }
241
+ const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
242
+ if (sortingFunction == undefined) {
243
+ return records;
244
+ }
245
+ return records.sort(sortingFunction);
246
+ }
247
+ function buildPaginationInfo(records, offset = 0, limit = 0) {
248
+ const lastRecord = Math.min(offset + limit, records.length);
249
+ return {
250
+ currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
251
+ firstRecord: offset,
252
+ lastRecord: lastRecord,
253
+ total: records.length,
254
+ hasMore: !!(records.length - lastRecord),
255
+ };
256
+ }
8
257
 
9
258
  class InMemoryLoader {
10
259
  constructor(metadata, records) {
@@ -21,7 +270,7 @@ class InMemoryLoader {
21
270
  if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
22
271
  this._initialRecords = this.dataUnit.records;
23
272
  }
24
- return this._initialRecords;
273
+ return [...this._initialRecords, ...this.dataUnit.getAddedRecords()];
25
274
  }
26
275
  get dataUnit() {
27
276
  return this._dataUnit;
@@ -79,30 +328,9 @@ class InMemoryLoader {
79
328
  return StringUtils.generateUUID();
80
329
  }
81
330
  inMemoryLoader(dataUnit, request, recordsIn) {
82
- let records = this.applyFilter(recordsIn, dataUnit, request.filters);
83
- records = this.applySorting(records, dataUnit, request.sort);
84
- return Promise.resolve({ records, paginationInfo: buildPaginationInfo(request, records) });
85
- }
86
- applyFilter(records, dataUnit, filters) {
87
- const columnFilters = ColumnFilterManager.getColumnFilters(filters, "");
88
- if (columnFilters == undefined || columnFilters.size == 0) {
89
- return records;
90
- }
91
- const filterFunciton = ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
92
- if (filterFunciton == undefined) {
93
- return records;
94
- }
95
- return records.filter(filterFunciton);
96
- }
97
- applySorting(records, dataUnit, sorting) {
98
- if (sorting == undefined || sorting.length == 0) {
99
- return records;
100
- }
101
- const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
102
- if (sortingFunction == undefined) {
103
- return records;
104
- }
105
- return records.sort(sortingFunction);
331
+ let records = applyFilter(recordsIn, dataUnit, request.filters);
332
+ records = applySorting(records, dataUnit, request.sort);
333
+ return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
106
334
  }
107
335
  metadaLoader() {
108
336
  return Promise.resolve(this._metadata);
@@ -135,48 +363,44 @@ class InMemoryLoader {
135
363
  }
136
364
  }
137
365
  InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
138
- function buildPaginationInfo({ offset, limit }, records) {
139
- if (offset === undefined || limit === undefined) {
140
- return undefined;
141
- }
142
- const lastRecord = Math.min(offset + limit, records.length);
143
- return {
144
- currentPage: Math.ceil(offset / limit),
145
- firstRecord: offset,
146
- lastRecord: lastRecord,
147
- total: records.length,
148
- hasMore: !!(records.length - lastRecord),
149
- };
150
- }
151
366
 
152
367
  class DatasetStrategy {
153
368
  canSlice() {
154
369
  return false;
155
370
  }
371
+ processSortingSide(request, dataUnit, serverSideFilters) {
372
+ const localSorting = [];
373
+ const serverSorting = [];
374
+ if (request.sort != undefined) {
375
+ if (serverSideFilters.length === 0) {
376
+ return { localSorting: request.sort, serverSorting: [] };
377
+ }
378
+ for (const sort of request.sort) {
379
+ const descriptor = dataUnit.getField(sort.field);
380
+ const local = descriptor != undefined
381
+ && descriptor.properties != undefined
382
+ && descriptor.properties.calculated === "true";
383
+ if (local) {
384
+ localSorting.push(sort);
385
+ }
386
+ else {
387
+ serverSorting.push(sort);
388
+ }
389
+ }
390
+ }
391
+ return { localSorting, serverSorting };
392
+ }
156
393
  async load(dataUnit, request, loadingInfo) {
394
+ var _a, _b;
157
395
  if (dataUnit.metadata == undefined) {
158
396
  return Promise.resolve({ records: [], loadingInfo });
159
397
  }
160
398
  try {
161
- const localSorting = [];
162
- const serverSorting = [];
163
- if (request.sort != undefined) {
164
- for (const sort of request.sort) {
165
- const descriptor = dataUnit.getField(sort.field);
166
- const local = descriptor != undefined
167
- && descriptor.properties != undefined
168
- && descriptor.properties.calculated === "true";
169
- if (local) {
170
- localSorting.push(sort);
171
- }
172
- else {
173
- serverSorting.push(sort);
174
- }
175
- }
176
- }
399
+ 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 : [];
400
+ const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
177
401
  const fields = this.getFieldsList(dataUnit);
178
402
  const serviceName = "DatasetSP.loadRecords";
179
- const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
403
+ const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
180
404
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
181
405
  const { result: responseRecords, pagerID: pagerId } = await DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
182
406
  const records = this.processRecords(dataUnit, fields, responseRecords);
@@ -220,7 +444,7 @@ class DatasetStrategy {
220
444
  }
221
445
  return [descriptor.name, descriptionField];
222
446
  }
223
- buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
447
+ buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
224
448
  const dataSetID = dataUnit.dataUnitId;
225
449
  const dataUnitName = dataUnit.name;
226
450
  const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
@@ -239,7 +463,7 @@ class DatasetStrategy {
239
463
  tryJoinedFields: true,
240
464
  parallelLoader: useParallelLoader,
241
465
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
242
- txProperties: this.getTxProperties(dataUnitName, request, sorting),
466
+ txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
243
467
  useDefaultRowsLimit: false
244
468
  }
245
469
  };
@@ -250,12 +474,10 @@ class DatasetStrategy {
250
474
  const moduleName = app.getModuleName();
251
475
  return moduleName.replace("-bff", "");
252
476
  }
253
- getTxProperties(dataUnitName, request, sorting) {
254
- var _a, _b;
477
+ getTxProperties(dataUnit, request, sorting, serverSideFilters) {
255
478
  const txProperties = {
256
- "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnitName
479
+ "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
257
480
  };
258
- 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 : [];
259
481
  if (serverSideFilters.length !== 0) {
260
482
  txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
261
483
  }
@@ -265,6 +487,13 @@ class DatasetStrategy {
265
487
  if (request.parentRecordId != undefined) {
266
488
  txProperties["__DATA_UNIT_ADAPTER__[parentRecordId]"] = request.parentRecordId;
267
489
  }
490
+ const loaderProps = dataUnit.getGlobalLoaderProps();
491
+ if (loaderProps == undefined || loaderProps.size === 0) {
492
+ return txProperties;
493
+ }
494
+ Array.from(loaderProps.entries()).forEach(([name, value]) => {
495
+ txProperties[name] = value;
496
+ });
268
497
  return txProperties;
269
498
  }
270
499
  processRecords(dataUnit, fields, responseRecords) {
@@ -594,14 +823,41 @@ class DataUnitFetcher {
594
823
  });
595
824
  });
596
825
  }
826
+ addTransientProperties(dataUnit, updatingFields) {
827
+ const loaderProps = dataUnit.getGlobalLoaderProps();
828
+ if (loaderProps == undefined || loaderProps.size === 0) {
829
+ return updatingFields;
830
+ }
831
+ if (updatingFields == undefined) {
832
+ updatingFields = {};
833
+ }
834
+ Array.from(loaderProps.entries()).forEach(([name, value]) => {
835
+ updatingFields[`transient.${name}`] = value;
836
+ });
837
+ return updatingFields;
838
+ }
839
+ getUpdatingFields(dataUnit, originalUpdatingFields) {
840
+ if (originalUpdatingFields == undefined) {
841
+ return;
842
+ }
843
+ const updatingFields = Object.assign({}, originalUpdatingFields);
844
+ Object.keys(updatingFields).forEach(key => {
845
+ const descriptor = dataUnit.getField(key);
846
+ if (descriptor != undefined && descriptor.standAlone) {
847
+ delete updatingFields[key];
848
+ }
849
+ });
850
+ return this.addTransientProperties(dataUnit, updatingFields);
851
+ }
597
852
  saveData(dataUnit, duChanges) {
598
853
  const updatedRecordsIds = [];
599
854
  const addedRecordsIds = [];
600
855
  const changes = duChanges.map((change) => {
601
- const { dataUnit: changeDU, record, updatingFields, operation } = change;
856
+ const { dataUnit: changeDU, record, operation } = change;
602
857
  const dataUnitInstance = DataUnitStorage.get(changeDU);
858
+ const updatingFields = this.getUpdatingFields(dataUnitInstance, change.updatingFields);
603
859
  let parsedUpdatingFields;
604
- if (updatingFields) {
860
+ if (updatingFields != undefined) {
605
861
  parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
606
862
  const descriptor = dataUnitInstance.getField(fieldName);
607
863
  const dataType = descriptor ? descriptor.dataType : DataType.TEXT;
@@ -649,7 +905,8 @@ class DataUnitFetcher {
649
905
  }
650
906
  responseRecord.fields.forEach(({ name, value }) => {
651
907
  var _a;
652
- duRecord[name] = ((_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value)) || value;
908
+ const valueFromString = (_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value);
909
+ duRecord[name] = (valueFromString !== undefined) ? valueFromString : value;
653
910
  });
654
911
  dataUnitRecords.push(duRecord);
655
912
  });
@@ -724,4 +981,164 @@ class DataUnitFetcher {
724
981
  }
725
982
  }
726
983
 
727
- export { DataUnitFetcher as D, InMemoryLoader as I };
984
+ class PesquisaFetcher {
985
+ constructor() {
986
+ this._defaultPageSize = 100;
987
+ this._templateByQuery = new Map();
988
+ this._searchListenersByDataUnit = new Map();
989
+ this.buldTemplates();
990
+ }
991
+ buldTemplates() {
992
+ this._templateByQuery.set("search", dist.gql `query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
993
+ $queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria options: $options){
994
+ value
995
+ label
996
+ }
997
+ }`);
998
+ }
999
+ loadSearchOptions(entityName, argument, criteria, options) {
1000
+ var _a;
1001
+ const cleanText = (argument === null || argument === void 0 ? void 0 : argument.toString().trim()) || undefined;
1002
+ argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
1003
+ criteria === null || criteria === void 0 ? void 0 : criteria.params.forEach(param => {
1004
+ if (param.dataType === DataType.OBJECT) {
1005
+ param.value = JSON.stringify(param.value);
1006
+ }
1007
+ });
1008
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, options);
1009
+ const values = {
1010
+ argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
1011
+ entityName,
1012
+ criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
1013
+ options: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || options,
1014
+ };
1015
+ if (values.options) {
1016
+ (_a = values.options) === null || _a === void 0 ? true : delete _a.dataUnitId;
1017
+ }
1018
+ return new Promise((resolve, reject) => {
1019
+ DataFetcher.get()
1020
+ .callGraphQL({
1021
+ values,
1022
+ query: this._templateByQuery.get("search"),
1023
+ })
1024
+ .then((result) => {
1025
+ resolve(result);
1026
+ })
1027
+ .catch((error) => {
1028
+ reject(error);
1029
+ });
1030
+ });
1031
+ }
1032
+ loadAdvancedSearch(entityName, argument, criteria, searchOptions) {
1033
+ var _a, _b, _c, _d;
1034
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
1035
+ const values = {
1036
+ argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
1037
+ criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
1038
+ searchOptions: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || searchOptions,
1039
+ };
1040
+ const serviceName = "PesquisaSP.getSuggestion";
1041
+ const externalCriteria = {
1042
+ query: {
1043
+ $: (_a = values.criteria) === null || _a === void 0 ? void 0 : _a.expression
1044
+ }
1045
+ };
1046
+ if (((_c = (_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.length) > 0) {
1047
+ externalCriteria.params = {
1048
+ param: values.criteria.params.map(param => {
1049
+ let value = param.value;
1050
+ if (typeof value === "string") {
1051
+ const match = /CTX\{([^}]+)\}/.exec(value);
1052
+ if (match) {
1053
+ value = ApplicationContext.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${match[1]})__`);
1054
+ }
1055
+ }
1056
+ let type = param.dataType;
1057
+ if (type === DataType.OBJECT) {
1058
+ value = value.value;
1059
+ type = "S";
1060
+ }
1061
+ else {
1062
+ type = convertParamType(param.dataType);
1063
+ }
1064
+ return { $: value, type };
1065
+ })
1066
+ };
1067
+ }
1068
+ const options = searchOptions != undefined
1069
+ ? Object.assign(Object.assign({}, searchOptions), { "pkFieldName": searchOptions.codeFieldName, "label": searchOptions.descriptionFieldName, "fieldName": searchOptions.codeFieldName, "useDescriptionOptions": false, "enableRowsCounter": true }) : undefined;
1070
+ const reqBody = {
1071
+ "serviceName": serviceName,
1072
+ "requestBody": {
1073
+ "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 }),
1074
+ "clientEventList": {
1075
+ "clientEvent": []
1076
+ }
1077
+ }
1078
+ };
1079
+ return new Promise((resolve, reject) => {
1080
+ DataFetcher.get()
1081
+ .callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody))
1082
+ .then(result => resolve(result))
1083
+ .catch(error => reject(error));
1084
+ });
1085
+ }
1086
+ addSearchListener(entityName, dataUnitID, listener) {
1087
+ var _a;
1088
+ const dataUnitSearchListeners = this._searchListenersByDataUnit.get(dataUnitID) || [];
1089
+ const entityListener = dataUnitSearchListeners.find(currentListener => currentListener.entity === entityName);
1090
+ if (!entityListener) {
1091
+ this._searchListenersByDataUnit.set(dataUnitID, [...dataUnitSearchListeners, { entity: entityName, listener }]);
1092
+ }
1093
+ else {
1094
+ for (const type of Object.keys(listener)) {
1095
+ if (type in entityListener.listener) {
1096
+ const listenerFunctionIsEquals = ((_a = entityListener.listener[type]) === null || _a === void 0 ? void 0 : _a.toString()) === listener[type].toString();
1097
+ if (listenerFunctionIsEquals)
1098
+ continue;
1099
+ entityListener.listener[type] = listener[type];
1100
+ }
1101
+ }
1102
+ }
1103
+ return () => {
1104
+ const newListeners = dataUnitSearchListeners.filter(currentListener => currentListener.entity !== entityName);
1105
+ if (!newListeners.length) {
1106
+ this._searchListenersByDataUnit.delete(dataUnitID);
1107
+ return;
1108
+ }
1109
+ this._searchListenersByDataUnit.set(dataUnitID, newListeners);
1110
+ };
1111
+ }
1112
+ applySearchListener(listenerType, entityName, argument, criteria, searchOptions) {
1113
+ var _a;
1114
+ const dataUnitId = searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.dataUnitId;
1115
+ if (!dataUnitId)
1116
+ return;
1117
+ const entityListener = (_a = this._searchListenersByDataUnit.get(dataUnitId)) === null || _a === void 0 ? void 0 : _a.find(({ entity }) => entity === entityName);
1118
+ if (!entityListener)
1119
+ return;
1120
+ const { listener } = entityListener;
1121
+ if (!(listenerType in listener))
1122
+ return;
1123
+ return listener[listenerType]({ argument, criteria, searchOptions });
1124
+ }
1125
+ }
1126
+ function convertParamType(dataType) {
1127
+ //Alerta: Cuidado pra não contaminar o DataType com a implementação
1128
+ //atual da pesquisa... em geral, somente inteiros,
1129
+ //data (com ou sem hora) e string são realmente relevantes
1130
+ switch (dataType) {
1131
+ case DataType.NUMBER:
1132
+ return "I";
1133
+ case DataType.DATE:
1134
+ return "D";
1135
+ default:
1136
+ return "S";
1137
+ }
1138
+ }
1139
+ var SearchListenerType;
1140
+ (function (SearchListenerType) {
1141
+ SearchListenerType["beforeSearch"] = "beforeSearch";
1142
+ })(SearchListenerType || (SearchListenerType = {}));
1143
+
1144
+ export { DataUnitFetcher as D, InMemoryLoader as I, PesquisaFetcher as P, PreloadManager as a, applyFilter as b, applySorting as c, buildPaginationInfo as d };