@sankhyalabs/sankhyablocks 8.15.0-dev.3 → 8.15.0-dev.31

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 (301) hide show
  1. package/dist/cjs/{ConfigStorage-0d507a8f.js → ConfigStorage-d4c99a5e.js} +27 -17
  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-467907f6.js → SnkFormConfigManager-0ffd098d.js} +2 -2
  5. package/dist/cjs/{SnkMessageBuilder-7293d0ad.js → SnkMessageBuilder-e7dcf408.js} +13 -0
  6. package/dist/cjs/SnkMultiSelectionListDataSource-5213120b.js +140 -0
  7. package/dist/cjs/{auth-fetcher-c8467c07.js → auth-fetcher-5161d082.js} +1 -1
  8. package/dist/cjs/{form-config-fetcher-df043d3d.js → form-config-fetcher-9f1a13ca.js} +1 -1
  9. package/dist/cjs/{index-0e663819.js → index-0922807b.js} +1 -0
  10. package/dist/cjs/index-f9e81701.js +2 -10
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/{dataunit-fetcher-de65b9fc.js → pesquisa-fetcher-94f6b316.js} +472 -46
  13. package/dist/cjs/sankhyablocks.cjs.js +1 -1
  14. package/dist/cjs/{snk-actions-button_2.cjs.entry.js → snk-actions-button_4.cjs.entry.js} +539 -9
  15. package/dist/cjs/snk-application.cjs.entry.js +98 -10
  16. package/dist/cjs/snk-attach.cjs.entry.js +398 -61
  17. package/dist/cjs/snk-crud.cjs.entry.js +15 -13
  18. package/dist/cjs/snk-data-exporter.cjs.entry.js +5 -5
  19. package/dist/cjs/{snk-data-unit-1bc69073.js → snk-data-unit-82c08a8c.js} +1 -1
  20. package/dist/cjs/snk-data-unit.cjs.entry.js +2 -2
  21. package/dist/cjs/snk-detail-view.cjs.entry.js +11 -13
  22. package/dist/cjs/snk-entity-list.cjs.entry.js +5 -3
  23. package/dist/cjs/snk-filter-bar.cjs.entry.js +68 -11
  24. package/dist/cjs/snk-filter-item.cjs.entry.js +3 -0
  25. package/dist/cjs/snk-filter-modal-item.cjs.entry.js +3 -4
  26. package/dist/cjs/snk-filter-modal.cjs.entry.js +16 -1
  27. package/dist/cjs/snk-filter-multi-select.cjs.entry.js +2 -1
  28. package/dist/cjs/snk-form-config.cjs.entry.js +8 -2
  29. package/dist/cjs/snk-form.cjs.entry.js +4 -4
  30. package/dist/cjs/snk-grid.cjs.entry.js +53 -37
  31. package/dist/cjs/{snk-guides-viewer-7e87ffce.js → snk-guides-viewer-c7293cfa.js} +11 -13
  32. package/dist/cjs/snk-guides-viewer.cjs.entry.js +9 -11
  33. package/dist/cjs/snk-personalized-filter-editor.cjs.entry.js +3 -1
  34. package/dist/cjs/snk-personalized-filter.cjs.entry.js +4 -4
  35. package/dist/cjs/snk-pesquisa.cjs.entry.js +1 -1
  36. package/dist/cjs/snk-simple-crud.cjs.entry.js +166 -24
  37. package/dist/cjs/snk-taskbar.cjs.entry.js +91 -7
  38. package/dist/cjs/{taskbar-elements-b8c428a9.js → taskbar-elements-1e4fb2e0.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 +111 -5
  42. package/dist/collection/components/snk-attach/snk-attach.js +194 -38
  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 +111 -0
  49. package/dist/collection/components/snk-attach/structure/index.js +6 -3
  50. package/dist/collection/components/snk-crud/snk-crud.js +42 -4
  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 +5 -5
  54. package/dist/collection/components/snk-data-exporter/snk-data-exporter.js +1 -1
  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-item.js +3 -0
  59. package/dist/collection/components/snk-filter-bar/filter-modal/snk-filter-modal.js +84 -2
  60. package/dist/collection/components/snk-filter-bar/filter-modal/subcomponents/snk-filter-modal-item.js +0 -1
  61. package/dist/collection/components/snk-filter-bar/snk-filter-bar.css +23 -1
  62. package/dist/collection/components/snk-filter-bar/snk-filter-bar.js +175 -6
  63. package/dist/collection/components/snk-filter-bar/utils/SnkFilterModalFactory.js +5 -1
  64. package/dist/collection/components/snk-form/snk-form.js +1 -1
  65. package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.js +11 -5
  66. package/dist/collection/components/snk-grid/snk-grid.js +79 -31
  67. package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.js +130 -123
  68. package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.js +1 -1
  69. package/dist/collection/components/snk-personalized-filter/snk-personalized-filter.js +1 -1
  70. package/dist/collection/components/snk-pesquisa/snk-pesquisa.css +2 -4
  71. package/dist/collection/components/snk-simple-crud/snk-simple-crud.css +5 -0
  72. package/dist/collection/components/snk-simple-crud/snk-simple-crud.js +279 -15
  73. package/dist/collection/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.js +18 -2
  74. package/dist/collection/components/snk-taskbar/elements/taskbar-elements.js +8 -8
  75. package/dist/collection/components/snk-taskbar/snk-taskbar.css +17 -0
  76. package/dist/collection/components/snk-taskbar/snk-taskbar.js +129 -7
  77. package/dist/collection/lib/@types/index.js +1 -0
  78. package/dist/collection/lib/configs/ConfigStorage.js +24 -14
  79. package/dist/collection/lib/dataUnit/InMemoryLoader.js +1 -1
  80. package/dist/collection/lib/http/data-fetcher/DataFetcher.js +5 -3
  81. package/dist/collection/lib/http/data-fetcher/fetchers/{attach-fetcher.js → AttachFetcher/anexo-sistema-fetcher.js} +16 -15
  82. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.js +90 -0
  83. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.js +1 -0
  84. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/index.js +2 -0
  85. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDelete.js +1 -0
  86. package/dist/collection/lib/http/data-fetcher/fetchers/AttachFetcher/interfaces/IDownloadKey.js +1 -0
  87. package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.js +1 -0
  88. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.js +31 -3
  89. package/dist/collection/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.js +48 -29
  90. package/dist/collection/lib/http/data-fetcher/fetchers/filter-bar-config-fetcher.js +1 -1
  91. package/dist/collection/lib/http/data-fetcher/fetchers/parameters-fecher.js +21 -0
  92. package/dist/collection/lib/http/data-fetcher/fetchers/pesquisa-fetcher.js +11 -12
  93. package/dist/collection/lib/index.js +1 -1
  94. package/dist/collection/lib/message/resources/snk-attach.msg.js +13 -0
  95. package/dist/collection/lib/utils/CrudUtils.js +13 -1
  96. package/dist/components/ConfigStorage.js +25 -15
  97. package/dist/components/DataFetcher.js +5 -3
  98. package/dist/components/SnkMessageBuilder.js +13 -0
  99. package/dist/components/dataunit-fetcher.js +91 -45
  100. package/dist/components/field-search.js +93 -3
  101. package/dist/components/index.d.ts +6 -6
  102. package/dist/components/index2.js +1 -0
  103. package/dist/components/snk-actions-button2.js +1 -0
  104. package/dist/components/snk-application2.js +94 -3
  105. package/dist/components/snk-attach2.js +454 -68
  106. package/dist/components/snk-crud.js +9 -3
  107. package/dist/components/snk-data-exporter2.js +1 -1
  108. package/dist/components/snk-detail-view2.js +33 -8
  109. package/dist/components/snk-entity-list.js +5 -3
  110. package/dist/components/snk-filter-bar2.js +71 -9
  111. package/dist/components/snk-filter-item2.js +3 -0
  112. package/dist/components/snk-filter-modal-item2.js +0 -1
  113. package/dist/components/snk-filter-modal.js +21 -3
  114. package/dist/components/snk-filter-multi-select.js +2 -1
  115. package/dist/components/snk-form-config2.js +7 -1
  116. package/dist/components/snk-grid-config2.js +128 -102
  117. package/dist/components/snk-grid2.js +51 -31
  118. package/dist/components/snk-personalized-filter-editor.js +3 -1
  119. package/dist/components/snk-personalized-filter2.js +1 -1
  120. package/dist/components/snk-pesquisa2.js +1 -1
  121. package/dist/components/snk-simple-crud2.js +219 -25
  122. package/dist/components/snk-taskbar2.js +103 -15
  123. package/dist/components/taskbar-actions-button2.js +18 -2
  124. package/dist/esm/{ConfigStorage-379a9cba.js → ConfigStorage-39ed8aeb.js} +27 -17
  125. package/dist/esm/{DataFetcher-aa159c5a.js → DataFetcher-a650ae58.js} +5 -3
  126. package/dist/esm/{ISave-4412b20c.js → ISave-d8c8bc59.js} +1 -0
  127. package/dist/esm/{SnkFormConfigManager-587e9030.js → SnkFormConfigManager-dd450734.js} +2 -2
  128. package/dist/esm/{SnkMessageBuilder-ca843d1b.js → SnkMessageBuilder-0fb796b9.js} +13 -0
  129. package/dist/esm/SnkMultiSelectionListDataSource-7e7eada5.js +133 -0
  130. package/dist/esm/{auth-fetcher-c05dc474.js → auth-fetcher-17dc5b5e.js} +1 -1
  131. package/dist/esm/{form-config-fetcher-36219cd3.js → form-config-fetcher-f121f880.js} +1 -1
  132. package/dist/esm/{index-1564817d.js → index-0ece87a6.js} +1 -0
  133. package/dist/esm/index-a7d3d3f1.js +2 -10
  134. package/dist/esm/loader.js +1 -1
  135. package/dist/esm/{dataunit-fetcher-e218c6d2.js → pesquisa-fetcher-f05a12ca.js} +462 -38
  136. package/dist/esm/sankhyablocks.js +1 -1
  137. package/dist/esm/{snk-actions-button_2.entry.js → snk-actions-button_4.entry.js} +538 -10
  138. package/dist/esm/snk-application.entry.js +98 -10
  139. package/dist/esm/snk-attach.entry.js +398 -61
  140. package/dist/esm/snk-crud.entry.js +15 -13
  141. package/dist/esm/snk-data-exporter.entry.js +5 -5
  142. package/dist/esm/{snk-data-unit-6208ebf0.js → snk-data-unit-5d201fb3.js} +1 -1
  143. package/dist/esm/snk-data-unit.entry.js +2 -2
  144. package/dist/esm/snk-detail-view.entry.js +11 -13
  145. package/dist/esm/snk-entity-list.entry.js +5 -3
  146. package/dist/esm/snk-filter-bar.entry.js +68 -11
  147. package/dist/esm/snk-filter-item.entry.js +3 -0
  148. package/dist/esm/snk-filter-modal-item.entry.js +3 -4
  149. package/dist/esm/snk-filter-modal.entry.js +16 -1
  150. package/dist/esm/snk-filter-multi-select.entry.js +2 -1
  151. package/dist/esm/snk-form-config.entry.js +9 -3
  152. package/dist/esm/snk-form.entry.js +4 -4
  153. package/dist/esm/snk-grid.entry.js +54 -38
  154. package/dist/esm/{snk-guides-viewer-2134aba2.js → snk-guides-viewer-47443f7c.js} +11 -13
  155. package/dist/esm/snk-guides-viewer.entry.js +9 -11
  156. package/dist/esm/snk-personalized-filter-editor.entry.js +3 -1
  157. package/dist/esm/snk-personalized-filter.entry.js +4 -4
  158. package/dist/esm/snk-pesquisa.entry.js +1 -1
  159. package/dist/esm/snk-simple-crud.entry.js +166 -24
  160. package/dist/esm/snk-taskbar.entry.js +92 -8
  161. package/dist/esm/{taskbar-elements-26c981af.js → taskbar-elements-846c027c.js} +9 -9
  162. package/dist/sankhyablocks/{p-ff6064e7.js → p-05243555.js} +1 -1
  163. package/dist/sankhyablocks/{p-9e7d65a4.js → p-21749402.js} +1 -1
  164. package/dist/sankhyablocks/p-2897fb8c.js +1 -0
  165. package/dist/sankhyablocks/p-30735d1e.entry.js +1 -0
  166. package/dist/sankhyablocks/p-33718dfc.entry.js +1 -0
  167. package/dist/sankhyablocks/p-38289a55.js +1 -0
  168. package/dist/sankhyablocks/p-3c5b7cfc.entry.js +1 -0
  169. package/dist/sankhyablocks/p-3e2e2424.entry.js +1 -0
  170. package/dist/sankhyablocks/p-50783a8b.js +1 -0
  171. package/dist/sankhyablocks/p-67aedbe0.js +56 -0
  172. package/dist/sankhyablocks/p-6ae58da0.js +1 -0
  173. package/dist/sankhyablocks/p-70a4af56.entry.js +1 -0
  174. package/dist/sankhyablocks/{p-729f5f5b.entry.js → p-746fc99e.entry.js} +1 -1
  175. package/dist/sankhyablocks/p-827e4b01.entry.js +1 -0
  176. package/dist/sankhyablocks/{p-6977a26c.entry.js → p-86801b08.entry.js} +1 -1
  177. package/dist/sankhyablocks/p-8c13d8d6.entry.js +1 -0
  178. package/dist/sankhyablocks/p-8c49760e.js +1 -0
  179. package/dist/sankhyablocks/p-99b1926b.entry.js +1 -0
  180. package/dist/sankhyablocks/p-9d608b62.entry.js +1 -0
  181. package/dist/sankhyablocks/{p-2028633c.js → p-9ea14b61.js} +1 -1
  182. package/dist/sankhyablocks/p-9fb97691.entry.js +1 -0
  183. package/dist/sankhyablocks/{p-0d7863ed.js → p-a13ccb86.js} +1 -1
  184. package/dist/sankhyablocks/p-b11aa1e0.entry.js +1 -0
  185. package/dist/sankhyablocks/p-b281e9e9.entry.js +1 -0
  186. package/dist/sankhyablocks/{p-9695f78b.js → p-be75153c.js} +1 -1
  187. package/dist/sankhyablocks/p-bf2acf72.entry.js +1 -0
  188. package/dist/sankhyablocks/p-c4874327.entry.js +1 -0
  189. package/dist/sankhyablocks/{p-247a8b36.entry.js → p-d1791da2.entry.js} +1 -1
  190. package/dist/sankhyablocks/p-d78d4062.js +65 -0
  191. package/dist/sankhyablocks/p-ec18c04e.entry.js +11 -0
  192. package/dist/sankhyablocks/p-eefe9954.entry.js +1 -0
  193. package/dist/sankhyablocks/{p-32f0935f.js → p-f3d1c48e.js} +1 -1
  194. package/dist/sankhyablocks/p-fca66dda.entry.js +1 -0
  195. package/dist/sankhyablocks/{p-35fe6e61.entry.js → p-fdc4cb9b.entry.js} +1 -1
  196. package/dist/sankhyablocks/p-fe741404.entry.js +1 -0
  197. package/dist/sankhyablocks/sankhyablocks.esm.js +1 -1
  198. package/dist/types/components/snk-actions-button/subcomponents/snk-actions-form.d.ts +1 -1
  199. package/dist/types/components/snk-application/__mocks__/snk-application.d.ts +3 -0
  200. package/dist/types/components/snk-application/snk-application.d.ts +12 -2
  201. package/dist/types/components/snk-attach/{structure/crud-config-builder.d.ts → interfaces/ICrudConfig.d.ts} +1 -2
  202. package/dist/types/components/snk-attach/interfaces/TFetcherType.d.ts +1 -0
  203. package/dist/types/components/snk-attach/snk-attach.d.ts +28 -6
  204. package/dist/types/components/snk-attach/structure/builder/anexo-sistema-crud-config.builder.d.ts +2 -0
  205. package/dist/types/components/snk-attach/structure/builder/attach-crud-config.builder.d.ts +31 -0
  206. package/dist/types/components/snk-attach/structure/{taskbar-builder.d.ts → builder/taskbar-builder.d.ts} +1 -1
  207. package/dist/types/components/snk-attach/structure/fetcher/facade/fetcher.facade.d.ts +11 -0
  208. package/dist/types/components/snk-attach/structure/fetcher/factory/anexo-sistema-data-unit.factory.d.ts +17 -0
  209. package/dist/types/components/snk-attach/structure/fetcher/factory/attach-fetcher-data-unit.factory.d.ts +15 -0
  210. package/dist/types/components/snk-attach/structure/index.d.ts +6 -3
  211. package/dist/types/components/snk-crud/snk-crud.d.ts +9 -0
  212. package/dist/types/components/snk-crud/subcomponents/snk-detail-view/snk-detail-view.d.ts +1 -1
  213. package/dist/types/components/snk-crud/subcomponents/snk-guides-viewer.d.ts +1 -1
  214. package/dist/types/components/snk-filter-bar/filter-item/snk-filter-item.d.ts +1 -1
  215. package/dist/types/components/snk-filter-bar/filter-modal/snk-filter-modal.d.ts +19 -1
  216. package/dist/types/components/snk-filter-bar/snk-filter-bar.d.ts +30 -1
  217. package/dist/types/components/snk-filter-bar/utils/SnkFilterModalFactory.d.ts +7 -1
  218. package/dist/types/components/snk-form/snk-form.d.ts +1 -1
  219. package/dist/types/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.d.ts +4 -3
  220. package/dist/types/components/snk-grid/snk-grid.d.ts +10 -1
  221. package/dist/types/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.d.ts +11 -6
  222. package/dist/types/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.d.ts +1 -1
  223. package/dist/types/components/snk-simple-crud/snk-simple-crud.d.ts +56 -2
  224. package/dist/types/components/snk-taskbar/elements/taskbar-actions-button/taskbar-actions-button.d.ts +1 -0
  225. package/dist/types/components/snk-taskbar/snk-taskbar.d.ts +27 -1
  226. package/dist/types/components/snk-taskbar/subcomponents/field-search.d.ts +1 -0
  227. package/dist/types/components.d.ts +203 -23
  228. package/dist/types/lib/@types/index.d.ts +2 -1
  229. package/dist/types/lib/configs/ConfigStorage.d.ts +4 -0
  230. package/dist/types/lib/http/data-fetcher/DataFetcher.d.ts +1 -1
  231. package/dist/types/lib/http/data-fetcher/fetchers/{attach-fetcher.d.ts → AttachFetcher/anexo-sistema-fetcher.d.ts} +3 -2
  232. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/attach-fetcher.d.ts +11 -0
  233. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/facade/attach-fetcher.facade.d.ts +8 -0
  234. package/dist/types/lib/http/data-fetcher/fetchers/AttachFetcher/index.d.ts +3 -0
  235. package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/ISave.d.ts +2 -1
  236. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/dataunit-fetcher.d.ts +2 -0
  237. package/dist/types/lib/http/data-fetcher/fetchers/data-unit/loadstrategy/DatasetStrategy.d.ts +2 -0
  238. package/dist/types/lib/http/data-fetcher/fetchers/parameters-fecher.d.ts +1 -0
  239. package/dist/types/lib/index.d.ts +1 -1
  240. package/dist/types/lib/utils/CrudUtils.d.ts +3 -0
  241. package/package.json +15 -6
  242. package/dist/cjs/PreloadManager-84466da6.js +0 -224
  243. package/dist/cjs/SnkMultiSelectionListDataSource-ba5838c2.js +0 -49
  244. package/dist/cjs/pesquisa-fetcher-ef050a47.js +0 -167
  245. package/dist/cjs/snk-grid-config.cjs.entry.js +0 -483
  246. package/dist/cjs/snk-select-box.cjs.entry.js +0 -25
  247. package/dist/esm/PreloadManager-c1c2f2b4.js +0 -222
  248. package/dist/esm/SnkMultiSelectionListDataSource-44494b0e.js +0 -43
  249. package/dist/esm/pesquisa-fetcher-dd3ca0a5.js +0 -165
  250. package/dist/esm/snk-grid-config.entry.js +0 -479
  251. package/dist/esm/snk-select-box.entry.js +0 -21
  252. package/dist/sankhyablocks/p-094c30cb.js +0 -1
  253. package/dist/sankhyablocks/p-0cd2e986.entry.js +0 -1
  254. package/dist/sankhyablocks/p-145c4434.js +0 -1
  255. package/dist/sankhyablocks/p-20726710.entry.js +0 -1
  256. package/dist/sankhyablocks/p-4396d1a6.js +0 -56
  257. package/dist/sankhyablocks/p-4775a293.entry.js +0 -1
  258. package/dist/sankhyablocks/p-4b0ea83f.entry.js +0 -1
  259. package/dist/sankhyablocks/p-5534e08c.js +0 -1
  260. package/dist/sankhyablocks/p-58218eb7.entry.js +0 -1
  261. package/dist/sankhyablocks/p-78777ae0.entry.js +0 -1
  262. package/dist/sankhyablocks/p-7915c452.entry.js +0 -1
  263. package/dist/sankhyablocks/p-953346b9.entry.js +0 -1
  264. package/dist/sankhyablocks/p-98674137.entry.js +0 -1
  265. package/dist/sankhyablocks/p-a037f5b4.entry.js +0 -1
  266. package/dist/sankhyablocks/p-a49b1019.entry.js +0 -1
  267. package/dist/sankhyablocks/p-a7923832.entry.js +0 -1
  268. package/dist/sankhyablocks/p-aaa1438e.entry.js +0 -1
  269. package/dist/sankhyablocks/p-b52c2175.js +0 -1
  270. package/dist/sankhyablocks/p-ba627e85.js +0 -60
  271. package/dist/sankhyablocks/p-bf9b7149.entry.js +0 -11
  272. package/dist/sankhyablocks/p-c22c1d8e.js +0 -1
  273. package/dist/sankhyablocks/p-c259545b.entry.js +0 -1
  274. package/dist/sankhyablocks/p-c758265f.entry.js +0 -1
  275. package/dist/sankhyablocks/p-ca8e7da0.entry.js +0 -1
  276. package/dist/sankhyablocks/p-cb7419e0.entry.js +0 -1
  277. package/dist/sankhyablocks/p-d1677df0.entry.js +0 -1
  278. package/dist/sankhyablocks/p-d4f9ee17.entry.js +0 -1
  279. package/dist/sankhyablocks/p-d9bb09b3.js +0 -6
  280. package/dist/sankhyablocks/p-e6380c60.js +0 -1
  281. package/dist/types/components/snk-attach/structure/data-unit-builder.d.ts +0 -15
  282. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDelete.js → components/snk-attach/interfaces/ICrudConfig.js} +0 -0
  283. /package/dist/collection/{lib/http/data-fetcher/fetchers/fecthAttach/interfaces/IDownloadKey.js → components/snk-attach/interfaces/TFetcherType.js} +0 -0
  284. /package/dist/collection/components/{snk-form → snk-form-config}/SnkFormConfigManager.js +0 -0
  285. /package/dist/collection/components/{snk-form/subcomponents/snk-form-config → snk-form-config}/snk-form-config.css +0 -0
  286. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.css +0 -0
  287. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.js +0 -0
  288. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.css +0 -0
  289. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.js +0 -0
  290. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.css +0 -0
  291. /package/dist/collection/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.js +0 -0
  292. /package/dist/collection/components/{snk-grid/subcomponents/snk-grid-config → snk-grid-config}/snk-grid-config.css +0 -0
  293. /package/dist/collection/components/{snk-grid/subcomponents → snk-grid-config}/snk-select-box/snk-select-box.css +0 -0
  294. /package/dist/collection/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.js +0 -0
  295. /package/dist/types/components/{snk-form → snk-form-config}/SnkFormConfigManager.d.ts +0 -0
  296. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-config-options/snk-config-options.d.ts +0 -0
  297. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-field-config/snk-field-config.d.ts +0 -0
  298. /package/dist/types/components/{snk-form → snk-form-config}/subcomponents/snk-tab-config/snk-tab-config.d.ts +0 -0
  299. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDelete.d.ts +0 -0
  300. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/IDownloadKey.d.ts +0 -0
  301. /package/dist/types/lib/http/data-fetcher/fetchers/{fecthAttach → AttachFetcher}/interfaces/index.d.ts +0 -0
@@ -1,12 +1,229 @@
1
1
  'use strict';
2
2
 
3
3
  const core = require('@sankhyalabs/core');
4
- const DataFetcher = require('./DataFetcher-ba94ed5b.js');
4
+ const DataFetcher = require('./DataFetcher-99f0f6ed.js');
5
5
  const constants = require('@sankhyalabs/ezui/dist/collection/utils/constants');
6
6
  const UnitMetadata = require('@sankhyalabs/core/dist/dataunit/metadata/UnitMetadata');
7
- const PreloadManager = require('./PreloadManager-84466da6.js');
8
- const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
9
7
  const utils = require('@sankhyalabs/ezui/dist/collection/components/ez-grid/utils');
8
+ const ResourceIDUtils = require('./ResourceIDUtils-5ff86aa7.js');
9
+
10
+ class ArrayRepository {
11
+ constructor(equalsFunction) {
12
+ this._list = [];
13
+ this._equalsFunction = equalsFunction;
14
+ }
15
+ async load(filterFunction, sortingFunction, offset, limit) {
16
+ let result = [].concat(this._list);
17
+ if (filterFunction != undefined) {
18
+ result = this._list.filter(item => filterFunction(item));
19
+ }
20
+ if (sortingFunction != undefined) {
21
+ result = result.sort(sortingFunction);
22
+ }
23
+ const count = result.length;
24
+ if (limit != undefined) {
25
+ const start = offset || 0;
26
+ const end = limit ? start + limit : result.length;
27
+ result = result.slice(start, end);
28
+ }
29
+ return Promise.resolve({ result, count });
30
+ }
31
+ async distict(itemProcessor) {
32
+ const processedItems = [];
33
+ let hasEmpty = false;
34
+ for (const item of this._list) {
35
+ const processedItem = itemProcessor(item);
36
+ if (processedItem == undefined) {
37
+ continue;
38
+ }
39
+ if (processedItem.value == undefined) {
40
+ hasEmpty = true;
41
+ continue;
42
+ }
43
+ processedItems.push(processedItem);
44
+ }
45
+ if (hasEmpty) {
46
+ processedItems.push({ key: "", value: null });
47
+ }
48
+ return Promise.resolve(new Map(processedItems.map(item => [item.key, item.value])));
49
+ }
50
+ async push(items) {
51
+ this._list.push(...items);
52
+ }
53
+ async clear() {
54
+ this._list = [];
55
+ }
56
+ async delete(items) {
57
+ this._list = this._list.filter(item => {
58
+ for (const removed of items) {
59
+ if (this._equalsFunction(item, removed)) {
60
+ return false;
61
+ }
62
+ }
63
+ return true;
64
+ });
65
+ }
66
+ async update(items) {
67
+ this._list = this._list.map(existingItem => {
68
+ const newItem = items.find(newItem => this._equalsFunction(existingItem, newItem));
69
+ return newItem == undefined ? existingItem : newItem;
70
+ });
71
+ }
72
+ async insert(itemReference, items) {
73
+ const itemPosition = this._list.indexOf(itemReference);
74
+ if (itemPosition == -1) {
75
+ this._list.push(...items);
76
+ return;
77
+ }
78
+ this._list = this._list.slice(0, itemPosition).concat(items).concat(this._list.slice(itemPosition));
79
+ }
80
+ isOperating() {
81
+ return true;
82
+ }
83
+ async isEmpty() {
84
+ return Promise.resolve(this._list.length === 0);
85
+ }
86
+ async count() {
87
+ return Promise.resolve(this._list.length);
88
+ }
89
+ }
90
+
91
+ class PreloadManager {
92
+ static setLoadingStatus(dataUnit, loadingInProgress) {
93
+ this._loadingStatus.set(dataUnit.name, loadingInProgress);
94
+ }
95
+ static isCacheEnabled(_dataUnit) {
96
+ return true;
97
+ }
98
+ static cacheRecords(dataUnit, records, resetDatabase, loadingInProgress) {
99
+ PreloadManager.setLoadingStatus(dataUnit, loadingInProgress);
100
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
101
+ this.getRepository(dataUnit).push(records);
102
+ }
103
+ else {
104
+ if (resetDatabase) {
105
+ this._repositories.delete(dataUnit.name);
106
+ }
107
+ }
108
+ }
109
+ static getSortingFunction(dataUnit, sorting) {
110
+ if (sorting == undefined || sorting.length == 0) {
111
+ return undefined;
112
+ }
113
+ return (recordA, recordB) => {
114
+ for (const sort of sorting) {
115
+ const result = core.FieldComparator.compare(dataUnit.getField(sort.field), recordA, recordB, sort.mode === core.SortMode.ASC);
116
+ if (result != 0) {
117
+ return result;
118
+ }
119
+ }
120
+ };
121
+ }
122
+ static async getDistinct(dataUnit, fieldName) {
123
+ if (!PreloadManager.isCacheEnabled(dataUnit)) {
124
+ return Promise.resolve(utils.ColumnFilterManager.compileDistinct(fieldName, dataUnit));
125
+ }
126
+ let filterFunction;
127
+ const request = dataUnit.getLastLoadRequest();
128
+ if (request != undefined) {
129
+ const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, fieldName);
130
+ filterFunction = utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values()));
131
+ }
132
+ return new Promise((accept, reject) => {
133
+ PreloadManager.getRepository(dataUnit).distict(record => {
134
+ if (filterFunction != undefined && !filterFunction(record)) {
135
+ return undefined;
136
+ }
137
+ const fieldValue = record[fieldName];
138
+ if (fieldValue == undefined) {
139
+ return { key: null, value: null };
140
+ }
141
+ const value = fieldValue.value != undefined ? fieldValue.value : fieldValue;
142
+ return { key: dataUnit.getFormattedValue(fieldName, fieldValue), value };
143
+ })
144
+ .then(result => {
145
+ if (result == undefined) {
146
+ accept(undefined);
147
+ return;
148
+ }
149
+ accept(Array.from(result.entries()).map(([label, value]) => ({ label, value, check: true })));
150
+ })
151
+ .catch(reason => reject(reason));
152
+ });
153
+ }
154
+ static async loadData(dataUnit, request, loadFromServer) {
155
+ try {
156
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
157
+ let useCache = request.source === "EZ_GRID_LOADING_SOURCE" || request.source === core.DataUnit.CHANGING_PAGE_LOADING_SOURCE;
158
+ if (useCache) {
159
+ const isCacheEmpty = await PreloadManager.getRepository(dataUnit).isEmpty();
160
+ if (!isCacheEmpty) {
161
+ return PreloadManager.loadFromCache(dataUnit, request);
162
+ }
163
+ }
164
+ //Como não vamos aproveitar o cache, ele precisa ser limpo.
165
+ PreloadManager.getRepository(dataUnit).clear().catch(() => { });
166
+ }
167
+ return loadFromServer(dataUnit, request);
168
+ }
169
+ catch (error) {
170
+ console.error(error);
171
+ return Promise.reject(error);
172
+ }
173
+ }
174
+ static insertRecords(dataUnit, reference, records) {
175
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
176
+ PreloadManager.getRepository(dataUnit).insert(reference, records);
177
+ }
178
+ }
179
+ static updateRecords(dataUnit, records) {
180
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
181
+ PreloadManager.getRepository(dataUnit).update(records);
182
+ }
183
+ }
184
+ static removeRecords(dataUnit, records) {
185
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
186
+ PreloadManager.getRepository(dataUnit).delete(records);
187
+ }
188
+ }
189
+ static async countRecords(dataUnit) {
190
+ if (PreloadManager.isCacheEnabled(dataUnit)) {
191
+ return PreloadManager.getRepository(dataUnit).count();
192
+ }
193
+ return Promise.resolve(0);
194
+ }
195
+ static getRepository(dataUnit) {
196
+ const name = dataUnit.name;
197
+ if (!PreloadManager._repositories.has(name)) {
198
+ PreloadManager._repositories.set(name, new ArrayRepository((recordA, recordB) => recordA.__record__id__ === recordB.__record__id__));
199
+ }
200
+ return PreloadManager._repositories.get(name);
201
+ }
202
+ static async loadFromCache(dataUnit, request) {
203
+ return new Promise((accept, reject) => {
204
+ const columnFilters = utils.ColumnFilterManager.getColumnFilters(request.filters, "");
205
+ const { limit, offset, sort } = request;
206
+ PreloadManager.getRepository(dataUnit)
207
+ .load(utils.ColumnFilterManager.getFilterFunction(dataUnit, Array.from(columnFilters.values())), PreloadManager.getSortingFunction(dataUnit, sort), offset, limit)
208
+ .then(loadResult => {
209
+ const stillLoading = PreloadManager._loadingStatus.get(dataUnit.name);
210
+ const { count, result: records } = loadResult;
211
+ const firstRecord = count == 0 ? 0 : offset + 1;
212
+ const lastRecord = offset + Math.min(records.length, limit);
213
+ const currentPage = offset / limit;
214
+ const paginationInfo = {
215
+ count, currentPage, firstRecord, lastRecord,
216
+ hasMore: stillLoading || (lastRecord < count),
217
+ total: stillLoading ? undefined : count
218
+ };
219
+ accept({ records, paginationInfo });
220
+ })
221
+ .catch(reason => reject(reason));
222
+ });
223
+ }
224
+ }
225
+ PreloadManager._repositories = new Map();
226
+ PreloadManager._loadingStatus = new Map();
10
227
 
11
228
  class InMemoryLoader {
12
229
  constructor(metadata, records) {
@@ -20,7 +237,7 @@ class InMemoryLoader {
20
237
  this.dataUnit.loadMetadata().then(() => this.dataUnit.loadData());
21
238
  }
22
239
  getRecordsToLoad() {
23
- if (this._initialRecords == undefined && this.dataUnit.records.length > 0) {
240
+ if (this._initialRecords == undefined || this.dataUnit.records.length > 0) {
24
241
  this._initialRecords = this.dataUnit.records;
25
242
  }
26
243
  return this._initialRecords;
@@ -100,7 +317,7 @@ class InMemoryLoader {
100
317
  if (sorting == undefined || sorting.length == 0) {
101
318
  return records;
102
319
  }
103
- const sortingFunction = PreloadManager.PreloadManager.getSortingFunction(dataUnit, sorting);
320
+ const sortingFunction = PreloadManager.getSortingFunction(dataUnit, sorting);
104
321
  if (sortingFunction == undefined) {
105
322
  return records;
106
323
  }
@@ -155,30 +372,39 @@ class DatasetStrategy {
155
372
  canSlice() {
156
373
  return false;
157
374
  }
375
+ processSortingSide(request, dataUnit, serverSideFilters) {
376
+ const localSorting = [];
377
+ const serverSorting = [];
378
+ if (request.sort != undefined) {
379
+ if (serverSideFilters.length === 0) {
380
+ return { localSorting: request.sort, serverSorting: [] };
381
+ }
382
+ for (const sort of request.sort) {
383
+ const descriptor = dataUnit.getField(sort.field);
384
+ const local = descriptor != undefined
385
+ && descriptor.properties != undefined
386
+ && descriptor.properties.calculated === "true";
387
+ if (local) {
388
+ localSorting.push(sort);
389
+ }
390
+ else {
391
+ serverSorting.push(sort);
392
+ }
393
+ }
394
+ }
395
+ return { localSorting, serverSorting };
396
+ }
158
397
  async load(dataUnit, request, loadingInfo) {
398
+ var _a, _b;
159
399
  if (dataUnit.metadata == undefined) {
160
400
  return Promise.resolve({ records: [], loadingInfo });
161
401
  }
162
402
  try {
163
- const localSorting = [];
164
- const serverSorting = [];
165
- if (request.sort != undefined) {
166
- for (const sort of request.sort) {
167
- const descriptor = dataUnit.getField(sort.field);
168
- const local = descriptor != undefined
169
- && descriptor.properties != undefined
170
- && descriptor.properties.calculated === "true";
171
- if (local) {
172
- localSorting.push(sort);
173
- }
174
- else {
175
- serverSorting.push(sort);
176
- }
177
- }
178
- }
403
+ const serverSideFilters = (_b = (_a = request.filters) === null || _a === void 0 ? void 0 : _a.filter(filter => !filter.name.startsWith("FILTRO_COLUNA_"))) !== null && _b !== void 0 ? _b : [];
404
+ const { localSorting, serverSorting } = this.processSortingSide(request, dataUnit, serverSideFilters);
179
405
  const fields = this.getFieldsList(dataUnit);
180
406
  const serviceName = "DatasetSP.loadRecords";
181
- const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting);
407
+ const requestBody = this.buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, serverSorting, serverSideFilters);
182
408
  const params = loadingInfo.quiet ? { urlParams: { quietMode: "true" } } : undefined;
183
409
  const { result: responseRecords, pagerID: pagerId } = await DataFetcher.DataFetcher.get().callServiceBroker(serviceName, requestBody, params);
184
410
  const records = this.processRecords(dataUnit, fields, responseRecords);
@@ -200,13 +426,21 @@ class DatasetStrategy {
200
426
  getFieldsList(dataUnit) {
201
427
  let fields = ["__record__id__", "__record__label__"];
202
428
  dataUnit.metadata.fields.forEach((descriptor) => {
203
- if (descriptor.standAlone) {
429
+ if (descriptor.standAlone)
204
430
  return;
205
- }
206
431
  fields = fields.concat(this.getFieldNames(descriptor));
207
432
  });
208
433
  return fields;
209
434
  }
435
+ getStandAloneFieldsList(dataUnit) {
436
+ let fields = {};
437
+ dataUnit.metadata.fields.forEach((currentField) => {
438
+ if (!currentField.standAlone)
439
+ return;
440
+ fields = Object.assign(Object.assign({}, fields), { [currentField.name]: { fieldType: currentField.dataType, userType: currentField.userInterface } });
441
+ });
442
+ return fields;
443
+ }
210
444
  getFieldNames(descriptor) {
211
445
  const descriptionField = this.getSearchDescriptionField(descriptor);
212
446
  if (descriptionField == undefined) {
@@ -214,7 +448,7 @@ class DatasetStrategy {
214
448
  }
215
449
  return [descriptor.name, descriptionField];
216
450
  }
217
- buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting) {
451
+ buildRequestBody(serviceName, fields, dataUnit, request, loadingInfo, sorting, serverSideFilters) {
218
452
  const dataSetID = dataUnit.dataUnitId;
219
453
  const dataUnitName = dataUnit.name;
220
454
  const entityName = DataUnitFetcher.parseDataUnitName(dataUnitName).entityName;
@@ -229,14 +463,11 @@ class DatasetStrategy {
229
463
  totalRecordsCount: loadingInfo.count,
230
464
  pagerID: loadingInfo.pagerId,
231
465
  standAlone: false,
232
- standAloneFieldsMD: {
233
- __record__id__: { "fieldType": "S", "userType": "P" },
234
- __record__label__: { "fieldType": "S", "userType": "P" }
235
- },
466
+ standAloneFieldsMD: Object.assign({ __record__id__: { "fieldType": "S", "userType": "P" }, __record__label__: { "fieldType": "S", "userType": "P" } }, this.getStandAloneFieldsList(dataUnit)),
236
467
  tryJoinedFields: true,
237
468
  parallelLoader: useParallelLoader,
238
469
  crudListener: `br.com.sankhya.bff.${this.getModuleName()}.BFFDataUnitDatasetAdapter`,
239
- txProperties: this.getTxProperties(dataUnitName, request, sorting),
470
+ txProperties: this.getTxProperties(dataUnit, request, sorting, serverSideFilters),
240
471
  useDefaultRowsLimit: false
241
472
  }
242
473
  };
@@ -247,12 +478,10 @@ class DatasetStrategy {
247
478
  const moduleName = app.getModuleName();
248
479
  return moduleName.replace("-bff", "");
249
480
  }
250
- getTxProperties(dataUnitName, request, sorting) {
251
- var _a, _b;
481
+ getTxProperties(dataUnit, request, sorting, serverSideFilters) {
252
482
  const txProperties = {
253
- "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnitName
483
+ "__DATA_UNIT_ADAPTER__[dataUnitName]": dataUnit.name
254
484
  };
255
- 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 : [];
256
485
  if (serverSideFilters.length !== 0) {
257
486
  txProperties["__DATA_UNIT_ADAPTER__[criteria]"] = JSON.stringify(serverSideFilters);
258
487
  }
@@ -262,6 +491,13 @@ class DatasetStrategy {
262
491
  if (request.parentRecordId != undefined) {
263
492
  txProperties["__DATA_UNIT_ADAPTER__[parentRecordId]"] = request.parentRecordId;
264
493
  }
494
+ const loaderProps = dataUnit.getGlobalLoaderProps();
495
+ if (loaderProps == undefined || loaderProps.size === 0) {
496
+ return txProperties;
497
+ }
498
+ Array.from(loaderProps.entries()).forEach(([name, value]) => {
499
+ txProperties[name] = value;
500
+ });
265
501
  return txProperties;
266
502
  }
267
503
  processRecords(dataUnit, fields, responseRecords) {
@@ -325,7 +561,7 @@ class DataUnitDataLoader {
325
561
  static async loadData(dataUnit, request) {
326
562
  return new Promise((resolve, reject) => {
327
563
  DataUnitDataLoader.debounce(dataUnit, () => {
328
- PreloadManager.PreloadManager.loadData(dataUnit, request, this.loadFromServer)
564
+ PreloadManager.loadData(dataUnit, request, this.loadFromServer)
329
565
  .then(resp => resolve(resp))
330
566
  .catch(reason => reject(reason));
331
567
  });
@@ -362,8 +598,8 @@ class DataUnitDataLoader {
362
598
  return Promise.resolve(undefined);
363
599
  }
364
600
  const recreateCache = !dataLoader.canSlice() || responseLoadingInfo.count === 0;
365
- PreloadManager.PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
366
- if (PreloadManager.PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
601
+ PreloadManager.cacheRecords(dataUnit, records, recreateCache, responseLoadingInfo.loadingInProgress);
602
+ if (PreloadManager.isCacheEnabled(dataUnit) && responseLoadingInfo.loadingInProgress) {
367
603
  const newRequest = Object.assign(Object.assign({}, request), { offset: responseLoadingInfo.count });
368
604
  const newLoadingInfo = Object.assign(Object.assign({}, responseLoadingInfo), { pageNumber: (responseLoadingInfo.pageNumber || 0) + 1, quiet: true });
369
605
  this.callLoader(dataUnit, newRequest, newLoadingInfo, dataLoader)
@@ -373,7 +609,7 @@ class DataUnitDataLoader {
373
609
  return Promise.resolve(result);
374
610
  }
375
611
  static afterLoadingPage(dataUnit, loadingInfo) {
376
- PreloadManager.PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
612
+ PreloadManager.setLoadingStatus(dataUnit, loadingInfo.loadingInProgress);
377
613
  const dataUnitPagination = dataUnit.getPaginationInfo();
378
614
  if (dataUnitPagination == undefined) {
379
615
  return;
@@ -520,9 +756,9 @@ class DataUnitFetcher {
520
756
  return { entityName: parts[1], resourceID: parts[2] };
521
757
  }
522
758
  getDataUnit(entityName, resourceID, parentDataUnit, configName) {
523
- if (PreloadManager.PreloadManager.applicationResourceID == undefined) {
759
+ if (PreloadManager.applicationResourceID == undefined) {
524
760
  //Por falta de um lugar melhor pra iniciar essa variável, fazemos isso aqui.
525
- ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.PreloadManager.applicationResourceID = resourceID);
761
+ ResourceIDUtils.ResourceIDUtils.getResourceID().then(resourceID => PreloadManager.applicationResourceID = resourceID);
526
762
  }
527
763
  const duName = `dd://${entityName}/${resourceID}${configName ? "/" + configName : ""}`;
528
764
  const dataUnit = parentDataUnit != undefined ? parentDataUnit.getChildDataunit(duName) : new core.DataUnit(duName);
@@ -591,14 +827,41 @@ class DataUnitFetcher {
591
827
  });
592
828
  });
593
829
  }
830
+ addTransientProperties(dataUnit, updatingFields) {
831
+ const loaderProps = dataUnit.getGlobalLoaderProps();
832
+ if (loaderProps == undefined || loaderProps.size === 0) {
833
+ return updatingFields;
834
+ }
835
+ if (updatingFields == undefined) {
836
+ updatingFields = {};
837
+ }
838
+ Array.from(loaderProps.entries()).forEach(([name, value]) => {
839
+ updatingFields[`transient.${name}`] = value;
840
+ });
841
+ return updatingFields;
842
+ }
843
+ getUpdatingFields(dataUnit, originalUpdatingFields) {
844
+ if (originalUpdatingFields == undefined) {
845
+ return;
846
+ }
847
+ const updatingFields = Object.assign({}, originalUpdatingFields);
848
+ Object.keys(updatingFields).forEach(key => {
849
+ const descriptor = dataUnit.getField(key);
850
+ if (descriptor != undefined && descriptor.standAlone) {
851
+ delete updatingFields[key];
852
+ }
853
+ });
854
+ return this.addTransientProperties(dataUnit, updatingFields);
855
+ }
594
856
  saveData(dataUnit, duChanges) {
595
857
  const updatedRecordsIds = [];
596
858
  const addedRecordsIds = [];
597
859
  const changes = duChanges.map((change) => {
598
- const { dataUnit: changeDU, record, updatingFields, operation } = change;
860
+ const { dataUnit: changeDU, record, operation } = change;
599
861
  const dataUnitInstance = core.DataUnitStorage.get(changeDU);
862
+ const updatingFields = this.getUpdatingFields(dataUnitInstance, change.updatingFields);
600
863
  let parsedUpdatingFields;
601
- if (updatingFields) {
864
+ if (updatingFields != undefined) {
602
865
  parsedUpdatingFields = Object.entries(updatingFields).map(([fieldName, value]) => {
603
866
  const descriptor = dataUnitInstance.getField(fieldName);
604
867
  const dataType = descriptor ? descriptor.dataType : core.DataType.TEXT;
@@ -646,7 +909,8 @@ class DataUnitFetcher {
646
909
  }
647
910
  responseRecord.fields.forEach(({ name, value }) => {
648
911
  var _a;
649
- duRecord[name] = ((_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value)) || value;
912
+ const valueFromString = (_a = dataUnitInstance === null || dataUnitInstance === void 0 ? void 0 : dataUnitInstance.valueFromString) === null || _a === void 0 ? void 0 : _a.call(dataUnitInstance, name, value);
913
+ duRecord[name] = (valueFromString !== undefined) ? valueFromString : value;
650
914
  });
651
915
  dataUnitRecords.push(duRecord);
652
916
  });
@@ -667,10 +931,10 @@ class DataUnitFetcher {
667
931
  });
668
932
  if (addedRecords.length > 0) {
669
933
  const firstRecord = dataUnit.records[0];
670
- PreloadManager.PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
934
+ PreloadManager.insertRecords(dataUnit, firstRecord, addedRecords);
671
935
  }
672
936
  const updatedRecords = toUpdate.map(recordId => (Object.assign({}, recordsById.get(recordId))));
673
- PreloadManager.PreloadManager.updateRecords(dataUnit, updatedRecords);
937
+ PreloadManager.updateRecords(dataUnit, updatedRecords);
674
938
  }
675
939
  getTransientInfo(dataUnit, recordID) {
676
940
  const { records } = dataUnit.getSelectionInfo();
@@ -687,7 +951,7 @@ class DataUnitFetcher {
687
951
  query: this.templateByQuery.get("saveData"),
688
952
  })
689
953
  .then((_resp) => {
690
- PreloadManager.PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
954
+ PreloadManager.removeRecords(dataUnit, dataUnit.records.filter(record => recordIds.includes(record.__record__id__)));
691
955
  resolve(recordIds);
692
956
  })
693
957
  .catch((error) => {
@@ -721,5 +985,167 @@ class DataUnitFetcher {
721
985
  }
722
986
  }
723
987
 
988
+ class PesquisaFetcher {
989
+ constructor() {
990
+ this._defaultPageSize = 100;
991
+ this._templateByQuery = new Map();
992
+ this._searchListenersByDataUnit = new Map();
993
+ this.buldTemplates();
994
+ }
995
+ buldTemplates() {
996
+ this._templateByQuery.set("search", DataFetcher.dist.gql `query($entityName: String! $argument: String $criteria: InputSearchCriteria $options: InputSearchOptions) {
997
+ $queryAlias$: search(entityName: $entityName argument: $argument criteria: $criteria options: $options){
998
+ value
999
+ label
1000
+ }
1001
+ }`);
1002
+ }
1003
+ loadSearchOptions(entityName, argument, criteria, options) {
1004
+ var _a;
1005
+ const cleanText = (argument === null || argument === void 0 ? void 0 : argument.toString().trim()) || undefined;
1006
+ argument = isNaN(Number(cleanText)) && cleanText ? `%${cleanText}` : cleanText;
1007
+ criteria === null || criteria === void 0 ? void 0 : criteria.params.forEach(param => {
1008
+ if (param.dataType === core.DataType.OBJECT) {
1009
+ param.value = JSON.stringify(param.value);
1010
+ }
1011
+ });
1012
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, options);
1013
+ const values = {
1014
+ argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
1015
+ entityName,
1016
+ criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
1017
+ options: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || options,
1018
+ };
1019
+ if (values.options) {
1020
+ (_a = values.options) === null || _a === void 0 ? true : delete _a.dataUnitId;
1021
+ }
1022
+ return new Promise((resolve, reject) => {
1023
+ DataFetcher.DataFetcher.get()
1024
+ .callGraphQL({
1025
+ values,
1026
+ query: this._templateByQuery.get("search"),
1027
+ })
1028
+ .then((result) => {
1029
+ resolve(result);
1030
+ })
1031
+ .catch((error) => {
1032
+ reject(error);
1033
+ });
1034
+ });
1035
+ }
1036
+ loadAdvancedSearch(entityName, argument, criteria, searchOptions) {
1037
+ var _a, _b, _c, _d;
1038
+ const listenerResult = this.applySearchListener(SearchListenerType.beforeSearch, entityName, argument, criteria, searchOptions);
1039
+ const values = {
1040
+ argument: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.argument) || argument,
1041
+ criteria: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.criteria) || criteria,
1042
+ searchOptions: (listenerResult === null || listenerResult === void 0 ? void 0 : listenerResult.searchOptions) || searchOptions,
1043
+ };
1044
+ const serviceName = "PesquisaSP.getSuggestion";
1045
+ const externalCriteria = {
1046
+ query: {
1047
+ $: (_a = values.criteria) === null || _a === void 0 ? void 0 : _a.expression
1048
+ }
1049
+ };
1050
+ if (((_c = (_b = values.criteria) === null || _b === void 0 ? void 0 : _b.params) === null || _c === void 0 ? void 0 : _c.length) > 0) {
1051
+ externalCriteria.params = {
1052
+ param: values.criteria.params.map(param => {
1053
+ let value = param.value;
1054
+ if (typeof value === "string") {
1055
+ const match = /CTX\{([^}]+)\}/.exec(value);
1056
+ if (match) {
1057
+ value = core.ApplicationContext.getContextValue(`__SNK__APPLICATION__FILTER__CONTEXT(${match[1]})__`);
1058
+ }
1059
+ }
1060
+ let type = param.dataType;
1061
+ if (type === core.DataType.OBJECT) {
1062
+ value = value.value;
1063
+ type = "S";
1064
+ }
1065
+ else {
1066
+ type = convertParamType(param.dataType);
1067
+ }
1068
+ return { $: value, type };
1069
+ })
1070
+ };
1071
+ }
1072
+ const options = searchOptions != undefined
1073
+ ? Object.assign(Object.assign({}, searchOptions), { "pkFieldName": searchOptions.codeFieldName, "label": searchOptions.descriptionFieldName, "fieldName": searchOptions.codeFieldName, "useDescriptionOptions": false, "enableRowsCounter": true }) : undefined;
1074
+ const reqBody = {
1075
+ "serviceName": serviceName,
1076
+ "requestBody": {
1077
+ "criteria": Object.assign({ "entityName": entityName, "compacted": false, "ignoreEntityCriteria": false, "limit": this._defaultPageSize, "query": { "$": values.argument }, "orderByDesc": false, "externalCriteria": externalCriteria, "localEntityName": (_d = values.searchOptions) === null || _d === void 0 ? void 0 : _d.rootEntity }, { options }),
1078
+ "clientEventList": {
1079
+ "clientEvent": []
1080
+ }
1081
+ }
1082
+ };
1083
+ return new Promise((resolve, reject) => {
1084
+ DataFetcher.DataFetcher.get()
1085
+ .callServiceBroker("PesquisaSP.getSuggestion", JSON.stringify(reqBody))
1086
+ .then(result => resolve(result))
1087
+ .catch(error => reject(error));
1088
+ });
1089
+ }
1090
+ addSearchListener(entityName, dataUnitID, listener) {
1091
+ var _a;
1092
+ const dataUnitSearchListeners = this._searchListenersByDataUnit.get(dataUnitID) || [];
1093
+ const entityListener = dataUnitSearchListeners.find(currentListener => currentListener.entity === entityName);
1094
+ if (!entityListener) {
1095
+ this._searchListenersByDataUnit.set(dataUnitID, [...dataUnitSearchListeners, { entity: entityName, listener }]);
1096
+ }
1097
+ else {
1098
+ for (const type of Object.keys(listener)) {
1099
+ if (type in entityListener.listener) {
1100
+ const listenerFunctionIsEquals = ((_a = entityListener.listener[type]) === null || _a === void 0 ? void 0 : _a.toString()) === listener[type].toString();
1101
+ if (listenerFunctionIsEquals)
1102
+ continue;
1103
+ entityListener.listener[type] = listener[type];
1104
+ }
1105
+ }
1106
+ }
1107
+ return () => {
1108
+ const newListeners = dataUnitSearchListeners.filter(currentListener => currentListener.entity !== entityName);
1109
+ if (!newListeners.length) {
1110
+ this._searchListenersByDataUnit.delete(dataUnitID);
1111
+ return;
1112
+ }
1113
+ this._searchListenersByDataUnit.set(dataUnitID, newListeners);
1114
+ };
1115
+ }
1116
+ applySearchListener(listenerType, entityName, argument, criteria, searchOptions) {
1117
+ var _a;
1118
+ const dataUnitId = searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.dataUnitId;
1119
+ if (!dataUnitId)
1120
+ return;
1121
+ const entityListener = (_a = this._searchListenersByDataUnit.get(dataUnitId)) === null || _a === void 0 ? void 0 : _a.find(({ entity }) => entity === entityName);
1122
+ if (!entityListener)
1123
+ return;
1124
+ const { listener } = entityListener;
1125
+ if (!(listenerType in listener))
1126
+ return;
1127
+ return listener[listenerType]({ argument, criteria, searchOptions });
1128
+ }
1129
+ }
1130
+ function convertParamType(dataType) {
1131
+ //Alerta: Cuidado pra não contaminar o DataType com a implementação
1132
+ //atual da pesquisa... em geral, somente inteiros,
1133
+ //data (com ou sem hora) e string são realmente relevantes
1134
+ switch (dataType) {
1135
+ case core.DataType.NUMBER:
1136
+ return "I";
1137
+ case core.DataType.DATE:
1138
+ return "D";
1139
+ default:
1140
+ return "S";
1141
+ }
1142
+ }
1143
+ var SearchListenerType;
1144
+ (function (SearchListenerType) {
1145
+ SearchListenerType["beforeSearch"] = "beforeSearch";
1146
+ })(SearchListenerType || (SearchListenerType = {}));
1147
+
724
1148
  exports.DataUnitFetcher = DataUnitFetcher;
725
1149
  exports.InMemoryLoader = InMemoryLoader;
1150
+ exports.PesquisaFetcher = PesquisaFetcher;
1151
+ exports.PreloadManager = PreloadManager;