@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,12 +1,261 @@
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();
227
+
228
+ function applyFilter(records, dataUnit, filters) {
229
+ const columnFilters = utils.ColumnFilterManager.getColumnFilters(filters, "");
230
+ if (!(columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.size)) {
231
+ return records;
232
+ }
233
+ const filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
234
+ if (filterFunction == undefined) {
235
+ return records;
236
+ }
237
+ return records.filter(filterFunction);
238
+ }
239
+ function applySorting(records, dataUnit, sorting) {
240
+ if (sorting == undefined || sorting.length == 0) {
241
+ return records;
242
+ }
243
+ const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
244
+ if (sortingFunction == undefined) {
245
+ return records;
246
+ }
247
+ return records.sort(sortingFunction);
248
+ }
249
+ function buildPaginationInfo(records, offset = 0, limit = 0) {
250
+ const lastRecord = Math.min(offset + limit, records.length);
251
+ return {
252
+ currentPage: limit === 0 ? 0 : Math.ceil(offset / limit),
253
+ firstRecord: offset,
254
+ lastRecord: lastRecord,
255
+ total: records.length,
256
+ hasMore: !!(records.length - lastRecord),
257
+ };
258
+ }
10
259
 
11
260
  class InMemoryLoader {
12
261
  constructor(metadata, records) {
@@ -23,7 +272,7 @@ class InMemoryLoader {
23
272
  if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
24
273
  this._initialRecords = this.dataUnit.records;
25
274
  }
26
- return this._initialRecords;
275
+ return [...this._initialRecords, ...this.dataUnit.getAddedRecords()];
27
276
  }
28
277
  get dataUnit() {
29
278
  return this._dataUnit;
@@ -81,30 +330,9 @@ class InMemoryLoader {
81
330
  return core.StringUtils.generateUUID();
82
331
  }
83
332
  inMemoryLoader(dataUnit, request, recordsIn) {
84
- let records = this.applyFilter(recordsIn, dataUnit, request.filters);
85
- records = this.applySorting(records, dataUnit, request.sort);
86
- return Promise.resolve({ records, paginationInfo: buildPaginationInfo(request, records) });
87
- }
88
- applyFilter(records, dataUnit, filters) {
89
- const columnFilters = utils.ColumnFilterManager.getColumnFilters(filters, "");
90
- if (columnFilters == undefined || columnFilters.size == 0) {
91
- return records;
92
- }
93
- const filterFunciton = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
94
- if (filterFunciton == undefined) {
95
- return records;
96
- }
97
- return records.filter(filterFunciton);
98
- }
99
- applySorting(records, dataUnit, sorting) {
100
- if (sorting == undefined || sorting.length == 0) {
101
- return records;
102
- }
103
- const sortingFunction = PreloadManager.PreloadManager.getSortingFunction(dataUnit, sorting);
104
- if (sortingFunction == undefined) {
105
- return records;
106
- }
107
- return records.sort(sortingFunction);
333
+ let records = applyFilter(recordsIn, dataUnit, request.filters);
334
+ records = applySorting(records, dataUnit, request.sort);
335
+ return Promise.resolve({ records, paginationInfo: buildPaginationInfo(records, request.offset, request.limit) });
108
336
  }
109
337
  metadaLoader() {
110
338
  return Promise.resolve(this._metadata);
@@ -137,48 +365,44 @@ class InMemoryLoader {
137
365
  }
138
366
  }
139
367
  InMemoryLoader.IN_MEMORY_DATA_UNIT_NAME = "InMemoryDataUnit";
140
- function buildPaginationInfo({ offset, limit }, records) {
141
- if (offset === undefined || limit === undefined) {
142
- return undefined;
143
- }
144
- const lastRecord = Math.min(offset + limit, records.length);
145
- return {
146
- currentPage: Math.ceil(offset / limit),
147
- firstRecord: offset,
148
- lastRecord: lastRecord,
149
- total: records.length,
150
- hasMore: !!(records.length - lastRecord),
151
- };
152
- }
153
368
 
154
369
  class DatasetStrategy {
155
370
  canSlice() {
156
371
  return false;
157
372
  }
373
+ processSortingSide(request, dataUnit, serverSideFilters) {
374
+ const localSorting = [];
375
+ const serverSorting = [];
376
+ if (request.sort != undefined) {
377
+ if (serverSideFilters.length === 0) {
378
+ return { localSorting: request.sort, serverSorting: [] };
379
+ }
380
+ for (const sort of request.sort) {
381
+ const descriptor = dataUnit.getField(sort.field);
382
+ const local = descriptor != undefined
383
+ && descriptor.properties != undefined
384
+ && descriptor.properties.calculated === "true";
385
+ if (local) {
386
+ localSorting.push(sort);
387
+ }
388
+ else {
389
+ serverSorting.push(sort);
390
+ }
391
+ }
392
+ }
393
+ return { localSorting, serverSorting };
394
+ }
158
395
  async load(dataUnit, request, loadingInfo) {
396
+ var _a, _b;
159
397
  if (dataUnit.metadata == undefined) {
160
398
  return Promise.resolve({ records: [], loadingInfo });
161
399
  }
162
400
  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
- }
401
+ 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 : [];
402
+ const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
179
403
  const fields = this.getFieldsList(dataUnit);
180
404
  const serviceName = "DatasetSP.loadRecords";
181
- const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
405
+ const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
182
406
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
183
407
  const { result: responseRecords, pagerID: pagerId } = await DataFetcher.DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
184
408
  const records = this.processRecords(dataUnit, fields, responseRecords);
@@ -222,7 +446,7 @@ class DatasetStrategy {
222
446
  }
223
447
  return [descriptor.name, descriptionField];
224
448
  }
225
- buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
449
+ buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
226
450
  const dataSetID = dataUnit.dataUnitId;
227
451
  const dataUnitName = dataUnit.name;
228
452
  const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
@@ -241,7 +465,7 @@ class DatasetStrategy {
241
465
  tryJoinedFields: true,
242
466
  parallelLoader: useParallelLoader,
243
467
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
244
- txProperties: this.getTxProperties(dataUnitName, request, sorting),
468
+ txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
245
469
  useDefaultRowsLimit: false
246
470
  }
247
471
  };
@@ -252,12 +476,10 @@ class DatasetStrategy {
252
476
  const moduleName = app.getModuleName();
253
477
  return moduleName.replace("-bff", "");
254
478
  }
255
- getTxProperties(dataUnitName, request, sorting) {
256
- var _a, _b;
479
+ getTxProperties(dataUnit, request, sorting, serverSideFilters) {
257
480
  const txProperties = {
258
- "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnitName
481
+ "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
259
482
  };
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
483
  if (serverSideFilters.length !== 0) {
262
484
  txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
263
485
  }
@@ -267,6 +489,13 @@ class DatasetStrategy {
267
489
  if (request.parentRecordId != undefined) {
268
490
  txProperties["__DATA_UNIT_ADAPTER__[parentRecordId]"] = request.parentRecordId;
269
491
  }
492
+ const loaderProps = dataUnit.getGlobalLoaderProps();
493
+ if (loaderProps == undefined || loaderProps.size === 0) {
494
+ return txProperties;
495
+ }
496
+ Array.from(loaderProps.entries()).forEach(([name, value]) => {
497
+ txProperties[name] = value;
498
+ });
270
499
  return txProperties;
271
500
  }
272
501
  processRecords(dataUnit, fields, responseRecords) {
@@ -330,7 +559,7 @@ class DataUnitDataLoader {
330
559
  static async loadData(dataUnit, request) {
331
560
  return new Promise((resolve, reject) => {
332
561
  DataUnitDataLoader.debounce(dataUnit, () => {
333
- PreloadManager.PreloadManager.loadData(dataUnit, request, this.loadFromServer)
562
+ PreloadManager.loadData(dataUnit, request, this.loadFromServer)
334
563
  .then(resp => resolve(resp))
335
564
  .catch(reason => reject(reason));
336
565
  });
@@ -367,8 +596,8 @@ class DataUnitDataLoader {
367
596
  return Promise.resolve(undefined);
368
597
  }
369
598
  const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
370
- PreloadManager.PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
371
- if (PreloadManager.PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
599
+ PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
600
+ if (PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
372
601
  const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
373
602
  const newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
374
603
  this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
@@ -378,7 +607,7 @@ class DataUnitDataLoader {
378
607
  return Promise.resolve(result);
379
608
  }
380
609
  static afterLoadingPage(dataUnit, loadingInfo) {
381
- PreloadManager.PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
610
+ PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
382
611
  const dataUnitPagination = dataUnit.getPaginationInfo();
383
612
  if (dataUnitPagination == undefined) {
384
613
  return;
@@ -525,9 +754,9 @@ class DataUnitFetcher {
525
754
  return { entityName: parts[1], resourceID: parts[2] };
526
755
  }
527
756
  getDataUnit(entityName, resourceID, parentDataUnit, configName) {
528
- if (PreloadManager.PreloadManager.applicationResourceID == undefined) {
757
+ if (PreloadManager.applicationResourceID == undefined) {
529
758
  //Por falta de um lugar melhor pra iniciar essa variável, fazemos isso aqui.
530
- ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.PreloadManager.applicationResourceID = resourceID);
759
+ ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.applicationResourceID = resourceID);
531
760
  }
532
761
  const duName = `dd://${entityName}/${resourceID}${configName ? "/" + configName : ""}`;
533
762
  const dataUnit = parentDataUnit != undefined ? parentDataUnit.getChildDataunit(duName) : new core.DataUnit(duName);
@@ -596,14 +825,41 @@ class DataUnitFetcher {
596
825
  });
597
826
  });
598
827
  }
828
+ addTransientProperties(dataUnit, updatingFields) {
829
+ const loaderProps = dataUnit.getGlobalLoaderProps();
830
+ if (loaderProps == undefined || loaderProps.size === 0) {
831
+ return updatingFields;
832
+ }
833
+ if (updatingFields == undefined) {
834
+ updatingFields = {};
835
+ }
836
+ Array.from(loaderProps.entries()).forEach(([name, value]) => {
837
+ updatingFields[`transient.${name}`] = value;
838
+ });
839
+ return updatingFields;
840
+ }
841
+ getUpdatingFields(dataUnit, originalUpdatingFields) {
842
+ if (originalUpdatingFields == undefined) {
843
+ return;
844
+ }
845
+ const updatingFields = Object.assign({}, originalUpdatingFields);
846
+ Object.keys(updatingFields).forEach(key => {
847
+ const descriptor = dataUnit.getField(key);
848
+ if (descriptor != undefined && descriptor.standAlone) {
849
+ delete updatingFields[key];
850
+ }
851
+ });
852
+ return this.addTransientProperties(dataUnit, updatingFields);
853
+ }
599
854
  saveData(dataUnit, duChanges) {
600
855
  const updatedRecordsIds = [];
601
856
  const addedRecordsIds = [];
602
857
  const changes = duChanges.map((change) => {
603
- const { dataUnit: changeDU, record, updatingFields, operation } = change;
858
+ const { dataUnit: changeDU, record, operation } = change;
604
859
  const dataUnitInstance = core.DataUnitStorage.get(changeDU);
860
+ const updatingFields = this.getUpdatingFields(dataUnitInstance, change.updatingFields);
605
861
  let parsedUpdatingFields;
606
- if (updatingFields) {
862
+ if (updatingFields != undefined) {
607
863
  parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
608
864
  const descriptor = dataUnitInstance.getField(fieldName);
609
865
  const dataType = descriptor ? descriptor.dataType : core.DataType.TEXT;
@@ -651,7 +907,8 @@ class DataUnitFetcher {
651
907
  }
652
908
  responseRecord.fields.forEach(({ name, value }) => {
653
909
  var _a;
654
- duRecord[name] = ((_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value)) || value;
910
+ const valueFromString = (_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value);
911
+ duRecord[name] = (valueFromString !== undefined) ? valueFromString : value;
655
912
  });
656
913
  dataUnitRecords.push(duRecord);
657
914
  });
@@ -672,10 +929,10 @@ class DataUnitFetcher {
672
929
  });
673
930
  if (addedRecords.length > 0) {
674
931
  const firstRecord = dataUnit.records[0];
675
- PreloadManager.PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
932
+ PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
676
933
  }
677
934
  const updatedRecords = toUpdate.map(recordId => (Object.assign({}, recordsById.get(recordId))));
678
- PreloadManager.PreloadManager.updateRecords(dataUnit, updatedRecords);
935
+ PreloadManager.updateRecords(dataUnit, updatedRecords);
679
936
  }
680
937
  getTransientInfo(dataUnit, recordID) {
681
938
  const { records } = dataUnit.getSelectionInfo();
@@ -692,7 +949,7 @@ class DataUnitFetcher {
692
949
  query: this.templateByQuery.get("saveData"),
693
950
  })
694
951
  .then((_resp) => {
695
- PreloadManager.PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
952
+ PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
696
953
  resolve(recordIds);
697
954
  })
698
955
  .catch((error) => {
@@ -726,5 +983,170 @@ class DataUnitFetcher {
726
983
  }
727
984
  }
728
985
 
986
+ class PesquisaFetcher {
987
+ constructor() {
988
+ this._defaultPageSize = 100;
989
+ this._templateByQuery = new Map();
990
+ this._searchListenersByDataUnit = new Map();
991
+ this.buldTemplates();
992
+ }
993
+ buldTemplates() {
994
+ this._templateByQuery.set("search", DataFetcher.dist.gql `query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
995
+ $queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria options: $options){
996
+ value
997
+ label
998
+ }
999
+ }`);
1000
+ }
1001
+ loadSearchOptions(entityName, argument, criteria, options) {
1002
+ var _a;
1003
+ const cleanText = (argument === null || argument === void 0 ? void 0 : argument.toString().trim()) || undefined;
1004
+ argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
1005
+ criteria === null || criteria === void 0 ? void 0 : criteria.params.forEach(param => {
1006
+ if (param.dataType === core.DataType.OBJECT) {
1007
+ param.value = JSON.stringify(param.value);
1008
+ }
1009
+ });
1010
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, options);
1011
+ const values = {
1012
+ argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
1013
+ entityName,
1014
+ criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
1015
+ options: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || options,
1016
+ };
1017
+ if (values.options) {
1018
+ (_a = values.options) === null || _a === void 0 ? true : delete _a.dataUnitId;
1019
+ }
1020
+ return new Promise((resolve, reject) => {
1021
+ DataFetcher.DataFetcher.get()
1022
+ .callGraphQL({
1023
+ values,
1024
+ query: this._templateByQuery.get("search"),
1025
+ })
1026
+ .then((result) => {
1027
+ resolve(result);
1028
+ })
1029
+ .catch((error) => {
1030
+ reject(error);
1031
+ });
1032
+ });
1033
+ }
1034
+ loadAdvancedSearch(entityName, argument, criteria, searchOptions) {
1035
+ var _a, _b, _c, _d;
1036
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
1037
+ const values = {
1038
+ argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
1039
+ criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
1040
+ searchOptions: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || searchOptions,
1041
+ };
1042
+ const serviceName = "PesquisaSP.getSuggestion";
1043
+ const externalCriteria = {
1044
+ query: {
1045
+ $: (_a = values.criteria) === null || _a === void 0 ? void 0 : _a.expression
1046
+ }
1047
+ };
1048
+ if (((_c = (_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.length) > 0) {
1049
+ externalCriteria.params = {
1050
+ param: values.criteria.params.map(param => {
1051
+ let value = param.value;
1052
+ if (typeof value === "string") {
1053
+ const match = /CTX\{([^}]+)\}/.exec(value);
1054
+ if (match) {
1055
+ value = core.ApplicationContext.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${match[1]})__`);
1056
+ }
1057
+ }
1058
+ let type = param.dataType;
1059
+ if (type === core.DataType.OBJECT) {
1060
+ value = value.value;
1061
+ type = "S";
1062
+ }
1063
+ else {
1064
+ type = convertParamType(param.dataType);
1065
+ }
1066
+ return { $: value, type };
1067
+ })
1068
+ };
1069
+ }
1070
+ const options = searchOptions != undefined
1071
+ ? Object.assign(Object.assign({}, searchOptions), { "pkFieldName": searchOptions.codeFieldName, "label": searchOptions.descriptionFieldName, "fieldName": searchOptions.codeFieldName, "useDescriptionOptions": false, "enableRowsCounter": true }) : undefined;
1072
+ const reqBody = {
1073
+ "serviceName": serviceName,
1074
+ "requestBody": {
1075
+ "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 }),
1076
+ "clientEventList": {
1077
+ "clientEvent": []
1078
+ }
1079
+ }
1080
+ };
1081
+ return new Promise((resolve, reject) => {
1082
+ DataFetcher.DataFetcher.get()
1083
+ .callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody))
1084
+ .then(result => resolve(result))
1085
+ .catch(error => reject(error));
1086
+ });
1087
+ }
1088
+ addSearchListener(entityName, dataUnitID, listener) {
1089
+ var _a;
1090
+ const dataUnitSearchListeners = this._searchListenersByDataUnit.get(dataUnitID) || [];
1091
+ const entityListener = dataUnitSearchListeners.find(currentListener => currentListener.entity === entityName);
1092
+ if (!entityListener) {
1093
+ this._searchListenersByDataUnit.set(dataUnitID, [...dataUnitSearchListeners, { entity: entityName, listener }]);
1094
+ }
1095
+ else {
1096
+ for (const type of Object.keys(listener)) {
1097
+ if (type in entityListener.listener) {
1098
+ const listenerFunctionIsEquals = ((_a = entityListener.listener[type]) === null || _a === void 0 ? void 0 : _a.toString()) === listener[type].toString();
1099
+ if (listenerFunctionIsEquals)
1100
+ continue;
1101
+ entityListener.listener[type] = listener[type];
1102
+ }
1103
+ }
1104
+ }
1105
+ return () => {
1106
+ const newListeners = dataUnitSearchListeners.filter(currentListener => currentListener.entity !== entityName);
1107
+ if (!newListeners.length) {
1108
+ this._searchListenersByDataUnit.delete(dataUnitID);
1109
+ return;
1110
+ }
1111
+ this._searchListenersByDataUnit.set(dataUnitID, newListeners);
1112
+ };
1113
+ }
1114
+ applySearchListener(listenerType, entityName, argument, criteria, searchOptions) {
1115
+ var _a;
1116
+ const dataUnitId = searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.dataUnitId;
1117
+ if (!dataUnitId)
1118
+ return;
1119
+ const entityListener = (_a = this._searchListenersByDataUnit.get(dataUnitId)) === null || _a === void 0 ? void 0 : _a.find(({ entity }) => entity === entityName);
1120
+ if (!entityListener)
1121
+ return;
1122
+ const { listener } = entityListener;
1123
+ if (!(listenerType in listener))
1124
+ return;
1125
+ return listener[listenerType]({ argument, criteria, searchOptions });
1126
+ }
1127
+ }
1128
+ function convertParamType(dataType) {
1129
+ //Alerta: Cuidado pra não contaminar o DataType com a implementação
1130
+ //atual da pesquisa... em geral, somente inteiros,
1131
+ //data (com ou sem hora) e string são realmente relevantes
1132
+ switch (dataType) {
1133
+ case core.DataType.NUMBER:
1134
+ return "I";
1135
+ case core.DataType.DATE:
1136
+ return "D";
1137
+ default:
1138
+ return "S";
1139
+ }
1140
+ }
1141
+ var SearchListenerType;
1142
+ (function (SearchListenerType) {
1143
+ SearchListenerType["beforeSearch"] = "beforeSearch";
1144
+ })(SearchListenerType || (SearchListenerType = {}));
1145
+
729
1146
  exports.DataUnitFetcher = DataUnitFetcher;
730
1147
  exports.InMemoryLoader = InMemoryLoader;
1148
+ exports.PesquisaFetcher = PesquisaFetcher;
1149
+ exports.PreloadManager = PreloadManager;
1150
+ exports.applyFilter = applyFilter;
1151
+ exports.applySorting = applySorting;
1152
+ exports.buildPaginationInfo = buildPaginationInfo;